Log in

entries friends calendar profile My Website Previous Previous


Continuing to work on the hydra that is supporting vVALIDCDKOBJECT for my CDK_Textfield widget. Nothing that can be shared yet, as the changes I need to make do not yet compile. rxl_cdkscreen.h and rxl_cdkscreen.cpp for the most part. _rxl_newCDKObject(...).

Tags: , ,

Leave a comment

Grandma, Jenna, and I went to Twohey's for brunch, then visited Vincent Lugo park for a few hours. Was a really nice time with both of them.


Leave a comment

Had a 2hr one-on-one MBO meeting with my manager yesterday.

After the usual pleasantries, mentioned that for me, it was time to go learn something new. That, after 10yrs of EDI/X12834v5010 coordination, being the SME for it, that I wanted a change of environment.

Asked for his support, if I sign up for classes in leadership, applied for other positions within and external to the organization, and such.

Tags: , , ,

Leave a comment


Refactoring and bugfixing CDK_Textfield::injectCDKTextfield(chtype input). Currently working on the key handling (massive switch/case) section.


Okay. Started the full-blown major refactoring of CDK_Textfield today. Removed the includes for CDK_Mentry. CDK_Textfield refactoring goal will be to make it a 1st class object, not a wrapper of cdk_mentry, and the refactored object will use minimal "pure C" ncurses and minimal "pure C" CDK API calls.


CDK_Textfield now refactored as a 1st class CDK object. All references to cdk_mentry have been removed. Now there is CDKTEXTFIELD to use when working with the CDK API calls. Source code updated to website.

Next round of refactoring will be to code up placeholder methods, and debug in DDD sessions.


Added exception handling to CDK_Textfield. Created CDK_bad_alloc exception to be thrown when calls to cdk's newCDKObject(...) return 0. Updated makefile. Uploaded code to the website.

Need to finish coding up CDK_Textfield::initialize(CDKTEXTFIELD * pCdkTextfield).


Okay. I am actually a bit angry at the designers of the CDK (Curses Development Kit) API. This will be a full-blown rant.

I am creating my own C++ CDK widget, CDK_Textfield, because the CDK widget set available from Debian Stable does not have one.

I assumed, and I think my assumption is, and should be valid in the open source world, that Open Source developers would want to extend an existing API, or create their own custom widgets, and that the API would be designed to support such efforts.

As of the is writing, CDK is designed to lock-in the use of only widgets that are part of CDK. It actively inspects widget's in a list, and blocks use of some API calls if a 'valid' widget was not on the list.

The only recourse someone like myself has, is to:

1. Design a new widget fully with the CDK API, 
and get the maintainer to accept the code updates

2. Try to fake out the validator checks

3. Write their own local version of one of the CDK libraries, cdkscreen.h/cdkscreen.c

Here is the offending code, in cdkscreen.c,


 * $Author: tom $
 * $Date: 2008/11/01 14:27:23 $
 * $Revision: 1.88 $


static boolean validObjType (CDKOBJS *obj, EObjectType type)
   bool valid = FALSE;

   if (obj != 0 && ObjTypeOf (obj) == type)
      switch (type)
      case vALPHALIST:
      case vBUTTON:
      case vBUTTONBOX:


      case vMENTRY:
      case vMENU:
      case vRADIO:
      case vSCALE:
      case vSCROLL:
      case vSELECTION:
      case vSLIDER:
      case vSWINDOW:
      case vTEMPLATE:
      case vUSCALE:
      case vUSLIDER:
      case vVIEWER:
	 valid = TRUE;
      case vTRAVERSE:		/* not really an object */
      case vNULL:
   return valid;

I would like to see the CDK API get re-factored. It should, instead of listing each widget to be 'allowed', that an Open Source developer creating their own widgets, have a vVALIDCDKOBJECT they can use.

The idea that CDK wants to be open source, and used, yet not allow people to create their own custom widgets, as a supported default in the API, just seems wrong.

Lastly, I am going to put my Big Boy Pants on, and actually contact tom, with the proposal to update cdkscreen.c to have a vVALIDCDKOBJECT (or some equivalent), to support programmers like me, that want to use the CDK API to make our own custom GUI widgets. (Email sent!)


Created rxl_cdkscreen.h and rxl_cdkscreen.cpp, updated makefile. Any functions, enumerations, or such that I need to create custom copies of, I preface with RXL or rxl_, so they will not collide with the original CDK API. Updated source code to website. Making progress. Feeling happy.


Starting to adjust CDK_Textfield. Need to see how the CDK populates all the CDKMENTRY* pointers that are used as function callbacks, and are populated via newCDKMEntry(...). Doing so by running DDD debugging sessions.

Setting breakpoint in Ncurses834v5010view::displayFileInfoGUI(...), line 783. As I start to see what I will need for CDK_Textfield, then I can make informed adjustments to the structure of CDK_Textfield's my_funcs, as well as rxl_cdkscreen.h and rxl_cdkscreen.cpp

Tags: , , , , , ,

Leave a comment

Ever since I was little, my favorite genre has been Science Fiction

Science Fiction tends to have Epic premises. Big "what if's." ...and that's why I love it. I greatly enjoy wondering about "what if's", what I might experience, what I might be able to bring about with participation, advocacy, and dissemination.

When I was young, I assumed that by the time I was Old, many things would exist that I had read about, or watched in movies, that were in the Science Fiction genre.

Some have come true. The Internet, some advances in science, some advances in laws.

Some things, I worry about being a miss, and it affecting civilization in a big way, a civilization Critical Point, as it were.

It seems that, in order to get civilization to get to Kardashev scale Type1, and/or that humanity is actively venturing to new planets, and solar systems with planets that could be new worlds inhabited by us, there needs to be a change in how we govern ourselves, and allocate energy and resources (both mental and physical).

Currently, we have self-organized globally into the concept of countries. Countries tend to form alliances, yet still inter-compete for resources and mindshare.

Almost all of humanity's focus is mutual competition, political, mental, physical. Almost none of humanity's focus is on mutual collaboration.

If humanity is ever to expand beyond this Pale Blue Dot, it seems that a change in self-governance would need to occur. I doubt I will see it occur in my lifetime, but I still hope it occurs before resources get depleted to the point that the chance to go beyond Earth is no longer possible.

The change in governance would be that the next step, that the planet self-organizes to the next level, and has a real, single, planetary government.

It seems that, only with a single planetary government, could humanity start to look at things with global focus, global laws, global goals, global collaboration.

It is my hope that with a single planetary government, collaboration for space exploration, space travel, SETI, and such, could get adequate funding, for them to make a real impact.

Without a single planetary government, I fear resource exhaustion will occur such that the Critical Point is never reached, and humanity will never expand beyond this one planet. We will Begin and End here, which for me, brings a feeling of Loss.

Tags: , , , ,

Leave a comment

The Hunger Games by Collins

Received the three book set as a gift. Good read. Target audience seems middle school, but topic adult enough to be compelling, just as the Harry Potter series was.

What must it be like, I wonder, to live in a world
where food appears at the press of a button? How
would I spend the hours I now commit to combing the
woods for sustenance if it were so easy to come by?

Tags: , ,

Leave a comment


Spent many hours researching cdk_mentry, preprocess callbacks, postprocess callbacks, and keybindings of CDK.

Read /usr/include/cdk/mentry.h, as well as man newCDKMentry, many times.

So, by trial-and-error, I created a preprocess callback function for my cdk_mentry, the one that I want to behave like an HTML textfield, and it almost seems to work.

But, I am stuck. I figured out how to substitute User pressing ENTER key and have the preprocess function convert them to newlines. Works.

Figured out how to advance the cursor to the next row down, and to column 0. Works. But any subsequent typed text stays invisible. Stuck.

So, now that I put a good 4hrs into this, am finally asking Stackoverflow. Maybe one of the programmers that participate on the site will know CDK or ncurses better than me, and will share a solution, or path towards a solution *fingers crossed*.


Could not get the cdk_mentry preprocess function to do what I wanted. The Stackoverflow folks did not give any suggestions. Now trying another Plan of Attack: create a wrapper to CDK_Mentry, and override any methods that do not respect newlines to carriage-returns with my own that do.

HUZZAH for open source software. HUZZAH I say.

cdk_mentry is defined by /usr/include/cdk/mentry.h and mentry.c

Spent a few hours researching these two files, and realize that there is one method that I need to create my own version for, void drawCDKMentryField(CDKMENTRY *), and then write my own versions of it, and the methods that call it, to use my own, that will respect newlines-to-carriage-returns.

So, now I have started CDK_Textfield, that is a wrapper/helper for CDK_Mentry. It will have custom methods for those that I need to override, but only the minimum that I have to change. Since I have access to all the CDK sourcecode for cdk_mentry, I have a plan of action to a solution. ...HUZZAH

Added CDK_Textfield.h, CDK_Textfield.cpp, and updated the makefile to compile CDK_Textfield.


Since CDK is based on ncurses, and I am trying to write my own CDK_Textfield widget using the source code, which uses ncurses, time to learn more ncurses.





In trying the new CDK_Textfield, the program was segmentation faulting, and dumping core. Found a bug in CDK_Mentry::CDK_Mentry(CDK_Mentry & cdkMentry), in that I had forgotten to initialize an attribute of the new class instance, that of course was critical. Added the missing:

pCdkMentry = cdkMentry.pCdkMentry;

...and that bug is now fixed.


Need to debug the while loop in CDK_Textfield::activateCDK_Textfield(). Currently I get the character typed from the User back from input = (chtype) getchCDKObject(ObjOf(mEntry), &functionKey) just fine, but I am missing subsequent functionality that stores the character into mEntry->info and/or the strInfo.


DDD to the rescue today. Debugging, stepping through, and refactoring CDK_Textfield::injectCDKTextfield(chtype input) to use std::string instead of char* strings. It's also one big function, with nested if/else, and 100s of lines long. Part of refactoring might also be to convert the chunks into functions.


Created CDK_CursorPosition. Updated makefile. Refactored CDK_Textfield's handle_KEY_LEFT and handle_KEY_RIGHT methods working nicely. (Progress. Feels. So. Good. Huzzah!) Updated source code to http://mrflash818.geophile.net/software/nc_834v5010generator/

Tags: , , , , , , ,

Leave a comment

The Prince and the Pauper - Mark Twain

Was a fun read. Everyone knows the idea, but I had never actually read the original story, until now.

Mistaken identities, allies and foes. Kid-friendly read.

Tags: , ,

Leave a comment

Now that I realize I want to do something new for a job, I am putting all my free time into job hunting.

Doing daily searches on LinkedIn, Dice, and Careerbuilder. Doing daily networking with colleagues Present and Past, via LinkedIn and regular email. Letting it be Known that I want a new gig, and if they think I might be a good fit for openings where they are, to let me know.

I know what color my parachute is. Have emailed myself my expected pension at retirement. Know my vacation hours (that I will get as a big fat check when I quit). Know my current official salary. Resume is up-to-date. LinkedIn profile is up-to-date.

DevOps seems the 'hot button' now. Friends that do System Administration mentioned they have good job security.

The job market has changed for C++ and J2EE programmers since I last job hunted, 10yrs ago. 10yrs ago, I jumped from WBOL to my current gig within one week. J2EE was the 'hot button,' and I was immediately courted and brought in.

I have been looking, at low intensity, for months. Most of the J2EE and C++ jobs being offered are short term contract work, many that require relocation, or the 'contract to hire' offerings. Rare are the offers that are full-time, non-contract work, which is what I want.

Now, I have upped my job hunting to high intensity. Daily job searches. Active calling back contacts and recruiters, same day or next day, for gigs.

Studying SysAdmin with what I find online, and my own library of Linux books. Researching taking some SysAdmin classes, or DevOps classes (if offered), at the local university, maybe even getting certifications, to maybe transition into that space.

I am trying to devote more hours each week to my open-source c++/linux/CDK project, nc_834v5010generator, too, which keeps my mind sharp, and in programmer mode.

Lastly, I have a feeling of being "a leaf in the wind", meaning that, if I find a job I like, even if I never did that job before, but the pay is good enough, I apply. It's kinda fun and liberating. I do not feel limited by my own self. It's just a matter if a prospective employer will find that they like me, and what I offer to bring to them in personality, my geekness as it were, skillset, and if they are willing to do training to bridge any gaps.

Tags: , , ,

Leave a comment

Have never been to any Comic Con before.

Went to the Long Beach Comic Con, as our 1st one.

Long Beach Comic Con

Parking was a pain, a victim of Comic Con's popularity, I expect. Even though we had prepaid tickets, had to wait in line for 90min just to get them scanned to get wristbands, to walk the event.

Lots and lots of comic book vendors, and toy vendors. Was like a big swap meet in that respect. Some celebrities were there, for signing their autograph. Never knew people were into paying for autographs, because there were prices for it.

Did lots of walking around. Tried to see what things Ben might be into from what he saw, but I didn't see him get excited about anything the vendors were selling, except for LEGO, which I knew already he liked.


Jenna, Ben, and his friend Lucas walked around with me for a few hours, looking at all the booths, while Julia and her mom did the Girl Scout event.

Jenna Ben Lucas

Julia and wife did a Girl Scout event there, were presented with their badges by a celebrity that was also a Girl Scout. They thought it was an awesome experience.

Exercise wise, walked for about 4 to 6hrs while we were there.

Tags: ,

Leave a comment