Sunday, December 5, 2010
Sunday Afternoon Walk
Felt the need to get out of the house on Sunday afternoon. Tom and I took a walk around the neighborhood and out into some fields on the edge of town.

Tuesday, November 16, 2010
Measureable Progress
On my home machine I've managed to install, configure, and generally get running all libraries that my chosen web-development framework uses. Some dependencies were rather obscure, a few required compilation from source, and one gave me a configuration headache that took two days to solve. Well that's two days at two hours at a time. So realistically it was half a day's worth of work lost simply because I misunderstood the nuances of configuring an Apache webserver which uses named virtual hosts. There is one other problem that I still have to solve, basically how to create a stand alone start and stop script so that a Lisp program can run in the back ground as a service. That should not be overly difficult since my chosen Lisp implementation, SBCL, has truly excellent technical documentation.
A happy day.
A happy day.
Labels:
Lisp,
Programming
Tuesday, October 12, 2010
Falling into October
Haven't posted for a while. Work has been keeping me busy, along with other things. After several months away from it, I've re-started my efforts to develop my website. It's not just work that's been keeping me away. For a bit my computer was misbehaving, turns out that a partially corrupted filesystem was to blame. The experience taught me a lesson that I should have already learned a long time ago. That being to have a back up and a rescue disk. I took some effort to recover my system and to not lose any of my data. The system can easily be replaced, but the data isn't easily replaced. The other roadblock keeping me away was my friend's website had to be PCI compliant and the deadline was in the middle of my business travels. From that episode I learned quite a bit about Apache security configuration and how SSL, TSL, and security certificates work from a practical perspective. Now my goal is measured, disciplined, cumulative development of the site. I'll keep this blog posted on my progress.
Labels:
Programming
Friday, August 13, 2010
A Summer Gone By
Work has kept me very busy, and I've been traveling to a client site repeatedly for the past month. The hours I've worked in the past month are easily double what I would have worked during an ordinary month. As you can imagine, this has left me little time for ordinary chores, being with my family, taking care of my garden, let along blogging. During a brief respite during a stay on a client site, I'm posting this. As I write, as song from my late teens plays on my computer. Times like these make me wonder what the purpose of life is. More specifically it makes me wonder what the purpose of my life is and what exactly I want from it. The more I think about it, the clearer it becomes that what I most dearly want is to love and to be loved. There are times when I do feel that, even if only in fleeting moments. Traveling on business, while a necessary evil right now so that I can support myself and my family, certainly makes me acutely aware how far away I am from those whom I love, and who love me. A summer has gone by that I can't get back, autumn is coming as the seasons march on. I will change my circumstances so that I will not lose another summer, or any other season, away on business. The price is too high for the time lost is too precious.
Saturday, June 12, 2010
Local goings on
Well the local development environment on my machine is now working as expected. Virtual hosting is set up in much the same way that it is working on the production server. The basic web server set up is there, so now work on the applications can begin. Also now that the virtual sorting is set up, webapps that would run on a team's source control repo server can now run on my workstation. The same apps that a team would use for managing workflow, development planning, source code control, bug tracking etc are now potentially available in the local development environment. This will be a blast.
In other news, the gardens around the house are slowly coming into their own. The golden finches are back, as well as the robins and cardinals. Occasionally a bluejay visits and the crows are ever-present. Soon spring will be over and summer will begin.
The two younger boys and I've been to the pool on every day that the weather and our schedules allow. Karl improved his swimming this year. He's getting stronger and faster. Pretty soon he'll be more a young man than a big boy. Tommy is still all boy, but a few more years will change that.
Misce's been working on her quilts as always and she turned out several lately. They're all well made as always, she's very fastidious about her work. The all look good, and some are even spectacular. Over the years she's made quite a few and at times I really don't know where we will put all of them. As far as quandaries go, that is not a bad one to have.
In other news, the gardens around the house are slowly coming into their own. The golden finches are back, as well as the robins and cardinals. Occasionally a bluejay visits and the crows are ever-present. Soon spring will be over and summer will begin.
The two younger boys and I've been to the pool on every day that the weather and our schedules allow. Karl improved his swimming this year. He's getting stronger and faster. Pretty soon he'll be more a young man than a big boy. Tommy is still all boy, but a few more years will change that.
Misce's been working on her quilts as always and she turned out several lately. They're all well made as always, she's very fastidious about her work. The all look good, and some are even spectacular. Over the years she's made quite a few and at times I really don't know where we will put all of them. As far as quandaries go, that is not a bad one to have.
Labels:
Family,
Gardening,
Programming
Tuesday, June 8, 2010
Back into the swing of things
Since I last had posted a few things had happened. The kits in the rabbit nest grep up and eventually left the nest. Within a week or two four of them (most likely??) were trapped in our live trap. Three of those we relocated to the State Game Lands. Misce and I planted, mulched, weeded, and trimmed in the garden. The Municipal pool is now open for the season.
Those are all pleasant diversions but the most pleasant of all was a three day two night mini vacation Misce and I took at the end of May. We toured Frank Lloyd Wright's Falling Water and Kentuck Knob houses in western Pennsylvania. I've always been fascinated with architecture and design and this was a wonderful chance to see a true American master architect's work up close and personal. The encounter was both more and less than what I expected. The houses were far more interesting in real life than any sense that one can get from photos. If you are ever in western Pennsylvania, don't miss the opportunity to see these houses. The most disappointing thing was the height of the ceilings and the tight hallways and doors. It's as if he designed for hobbits. Tall people like Misce and I are clearly out of place in these houses. Overall Misce and I had a wonderful time.
As far as the side projects go, well my rummaging around looking for ideas and deciding what implementation approach I will use is now over. It's time to get some work done get at least a workable demo up and running. I'll update the blog as situation warrants.
Those are all pleasant diversions but the most pleasant of all was a three day two night mini vacation Misce and I took at the end of May. We toured Frank Lloyd Wright's Falling Water and Kentuck Knob houses in western Pennsylvania. I've always been fascinated with architecture and design and this was a wonderful chance to see a true American master architect's work up close and personal. The encounter was both more and less than what I expected. The houses were far more interesting in real life than any sense that one can get from photos. If you are ever in western Pennsylvania, don't miss the opportunity to see these houses. The most disappointing thing was the height of the ceilings and the tight hallways and doors. It's as if he designed for hobbits. Tall people like Misce and I are clearly out of place in these houses. Overall Misce and I had a wonderful time.
As far as the side projects go, well my rummaging around looking for ideas and deciding what implementation approach I will use is now over. It's time to get some work done get at least a workable demo up and running. I'll update the blog as situation warrants.
Wednesday, May 19, 2010
Server is settled down
Had a server OS upgrade (well more like an upheaval, when the auto re-image at the hosting provider continually failed ). Things are running on a more solid and more recent OS Centos 5 (2.6.18 kernel), Apache is now version 2.2.3 My SQL at version 5.0.77 and PHP at 5.1.6. It's certainly not on the bleeding edge, but it certainly is not five years behind the times. Also for now, it has an extra 20 GB from the conversion (the techs had to swap out a hard drive). This machine still has plenty of legs left. I'm definitely looking forward to having setting up my workstation for development of my site. Managed to get a decent domain name roamigo.com "Roam I Go" ... that matches the intent of the site. Started looking into how to best represent geographic data in a database, and also started wondering about database designs as well as database implementations. One intriguing possibility is to use a column store architecture (yes on an online database with continuous submissions !!). MonetDB is a good candidate. One reason for this would be speed of queries and especially joins. Another possible advantage would be the natural data partitioning that a column store database supposedly has. That would come in handy when parallel servers are needed. That of course would only be necessary if/when the site has a lot of growth. Of course ease of maintainability and ease of scaling should be considered when choosing an implementation. Cant wait to really get into all of it.
Labels:
Programming,
side projects,
Software Conversions
Monday, May 10, 2010
Finally
The conversion of the live site for my friend is finally done. Right now the site is working with the latest stable release of the software for it, and it includes all of the earlier custom software as well as the styling changes. What a pain that was to finally get it going. The final conversion took only a bit under an hour. The reason it took that long is in the middle of it I got a bit distracted and forgot a step along the way. I had overlooked the consequences of one of the conversion steps and for ten minutes or so the state of the server puzzled me. It was not acting as I had expected it should and the cause of that baffled me. Remembering a custom configuration parameter that I had set manually earlier in the week, I checked if the normal administration interface had overwritten it when I temporarily disabled the domain to do the conversion. Sure enough, that's exactly what it was. Plesk does not like it when you modify the Apache configuration files yourself.
All in all this process has taught me a few things about problem solving and how to mitigate risk. Unfortunately it also taught me that conversions are very very lengthy if there are only a couple of hours everyday to work on them.
What is left before I can begin development of my hobby site ? Well there is that whole upgrading of the base operating system on the server. The procedure is well documented by the hosting company but it is still fraught with danger. I have to think this one through, and perform it carefully. Of course I'll have to have a viable backup strategy, so that I dont loose any data.
Overall I'm happy with the results, I only wish I had managed to get them done a month earlier. That is in the past now. Time to move on.
All in all this process has taught me a few things about problem solving and how to mitigate risk. Unfortunately it also taught me that conversions are very very lengthy if there are only a couple of hours everyday to work on them.
What is left before I can begin development of my hobby site ? Well there is that whole upgrading of the base operating system on the server. The procedure is well documented by the hosting company but it is still fraught with danger. I have to think this one through, and perform it carefully. Of course I'll have to have a viable backup strategy, so that I dont loose any data.
Overall I'm happy with the results, I only wish I had managed to get them done a month earlier. That is in the past now. Time to move on.
Labels:
Programming,
side projects
Wednesday, May 5, 2010
Happy Day
Not only did I get to see my two youngest sons sing in the Spring concert today, but I've also reached a significant milestone in backporting customizations to that friend's site that I've been working on. Looks like the obstacle that has been in my way for the past two months will soon be behind me. Now for the conversion of the live database, and the installation of the latest stable, and customized, software for my friend.
The joy of hearing well played and sung live music, and the joy of completing a task long time coming. This is a day to savor.
The joy of hearing well played and sung live music, and the joy of completing a task long time coming. This is a day to savor.
Labels:
music,
side projects
Monday, April 26, 2010
Wildlife Report
Tom and I found this little guy and five of his brothers and sisters in the lawn underneath a picnic table in my back yard. Sooner or later I will have to trap them and relocate them to a place more suited to them.
Saturday, April 17, 2010
Partial Success
Late last night I found a debugging extension to the application server I'm using so that I could continue trouble shooting the conversion of a friend's site. Installed it today, configured it, started using it. In a matter of less than an hour after starting to use it, I found my errors, corrected them and got through the basic conversion. Now all that is left is back porting the customizations I had made in the original.
Proper tools are a wonderful thing
Proper tools are a wonderful thing
Labels:
Programming,
side projects
Sunday, April 11, 2010
Return From Hiatus
It's been a bit since I've last posted. I've been keeping myself busy with the garden, some reading, work and of course family life. An odd bit of news, seems like Karl as well as Tommy want to do some programming. I'll have to help them get started. First step was to get a copy of a decent IDE for them to use. Right now they are just writing simple web pages, but they get a kick out of writing them. Tom's taken to writing simple AppleScript routines for his computer. Mostly simple examples, but sooner or later he'll figure out how to do something he considers useful. Of course there is his BlockLand programming that he does. Programming objects in a virtual world to do something during gameplay.
After three weeks staying away from it, I'm back into fixing that conversion. Decided to use version control to help me track my progress in the changes that I'm making. Skills learned at work are helping out once again. Tomorrow I'll work through the full conversion, and try to figure out why the previous attempts faltered.
After three weeks staying away from it, I'm back into fixing that conversion. Decided to use version control to help me track my progress in the changes that I'm making. Skills learned at work are helping out once again. Tomorrow I'll work through the full conversion, and try to figure out why the previous attempts faltered.
Labels:
Family,
Gardening,
Programming,
side projects
Thursday, March 25, 2010
Second Trial Attempt
My earlier attempt at conversion of the legacy application was unsuccessful. I did manage to complete the conversion but the results were unsatisfactory. I'm set up to try again this weekend. Perhaps this time around it will be speedier and more successful. We'll just have to give it a try and see.
Labels:
Software Conversions
Thursday, March 18, 2010
Broke The Logjam
Well I've been away from working on that conversion, in fact no work on the site got done at all. Bewilderment while working on a unpleasant and unwanted task has a way of discouraging any attempts at finding solutions. In spite of this I finally managed to break through on an earlier problem. One problem solved inevitably leads to yet another one. The earlier problem had to do with a function call to close a database connection that when invoked would crash the process that called it. There is nothing like seeing the words
child pid 79089 exit signal Segmentation fault (11)
in a log file. Tracing the root cause is tedious and bound to mislead at times. I'm at another roadblock, but this one is minor, and I should be able to either solve it or circumvent it without too much hassle ... I hope. Well right now it's time to catch some shut eye.
child pid 79089 exit signal Segmentation fault (11)
in a log file. Tracing the root cause is tedious and bound to mislead at times. I'm at another roadblock, but this one is minor, and I should be able to either solve it or circumvent it without too much hassle ... I hope. Well right now it's time to catch some shut eye.
Labels:
Software Conversions
Monday, March 1, 2010
Backyard Weekend Visitor
An orange and white cat occasionally visits our backyard. I suspect she's hunting for food. She certainly doesn't look like a house cat or like some one's pet. The few times that we've seen her in the backyard she certainly hasn't behaved like a pet. This past weekend we came visiting once again, and we caught a photo with telephoto of her against the far hedge on the back edge of the yard.

She looks like she knows we are watching her. Perhaps she will visit again.
She looks like she knows we are watching her. Perhaps she will visit again.
Labels:
backyard
Saturday, February 27, 2010
Finding bugs ...
Looks as if I have a talent for finding software bugs, especially in other people's software. I find bugs in mine, and I fix them. Other people's software I just have to report it and wait until those who know that particular implementation inside out can fix it. In the past year I've found a bug in Sun Microsystems GlassFish application server. The server was stable, it just didn't do what the specification said it should. The bug was rather esoteric and had to do with default values when both annotations as well as deployment descriptors are used to configure multiple instances of an enterprise bean class. When we reported that bug it turns out our team at work were the first developers who came across that particular error. Today I just happened to come across an error that causes a segmentation fault in an Apache webserver child process. Still not sure if the error is caused by a misconfiguration or if it is a intrinsic error that must be corrected in the source code. We'll have to see later, right now I need sleep
Labels:
bugs
Wednesday, February 24, 2010
All Quiet
No progress on the conversion, had too little time to get anywhere after updating some software on my workstation. Need some extra sleep anyway
Tuesday, February 23, 2010
Conversion and Backporting
Well the steps I'm taking now will finally upgrade some of that ancient software. A trial run through the steps should give me a decent idea of how long this will take. Reading through the install and upgrade section in the documentation of the new version does leave me a bit worried. The conversion itself seems a bit lackadaisical and requires a fair bit of human intervention. The best approach might be to go through the whole upgrade on the workstation, take very detailed notes, carefully and methodically add those extensions that I had added to the original. After that attempt is successful, a conversion for a demo version of the site on the server is the next step. Once that is satisfactory, run the conversion for the production version of the site on the server. Of course, disciplined backups, careful and appropriate use of source control as well as viable rollback plan are all absolutely necessary should things somehow go awry.
Labels:
side projects,
Software Conversions
Monday, February 22, 2010
Inevitable Changes in the Seasons
As the days get longer it is easy to notice subtle changes that mark the inexorable cycling of the seasons. Soon enough spring will be here with the inevitable spring cleaning. Can't say I'll miss this winter much, a few more weeks I will have had my fill. There will be plenty of work ahead. The gardens will need a fair amount of work to ready for the next growing season. Don't know much yet about what we'll grow this year other than a lot of it will be pretty and some of it will be edible. There's still a bit of time to make up our minds but we shouldn't tarry too long.
Speaking of tarrying, a few days respite from my side project let me breathe easy for a bit. But now I'm anxious to get more done. Did a bit today, a test database conversion, a quick function test of the tagged production copy. All is working well and the situation seems to be fairly well under control. The scheduled backups chug along like clockwork. The production server is stable, has plenty of storage, bandwidth, and cpu capacity left for now, so when the side project goes to beta I should be alright. Next step to finish the prep work is to get the latest version of the shopping cart and back port the custom edits as well as test the migration path. That will start tomorrow. By the time spring comes I hope to have a beta version of the site up and running, even if it is a stripped down rudimentary beginning.
Speaking of tarrying, a few days respite from my side project let me breathe easy for a bit. But now I'm anxious to get more done. Did a bit today, a test database conversion, a quick function test of the tagged production copy. All is working well and the situation seems to be fairly well under control. The scheduled backups chug along like clockwork. The production server is stable, has plenty of storage, bandwidth, and cpu capacity left for now, so when the side project goes to beta I should be alright. Next step to finish the prep work is to get the latest version of the shopping cart and back port the custom edits as well as test the migration path. That will start tomorrow. By the time spring comes I hope to have a beta version of the site up and running, even if it is a stripped down rudimentary beginning.
Labels:
Gardening,
Programming,
side projects,
Spring
Wednesday, February 17, 2010
Found long lost modified files
Well they weren't really lost, I just wasn't sure which of the current 5812 files were ones that changed from the original software that I customized for a friend about three years ago. For the past three weeks or so I've been doing some forensics trying to recreate the sequence of changes, more or less, that I had gone through to customize the package involved. Turns out that just a bit more than one percent of the files we changed, more specifically it was 59 out of 5812. It took about an hour of poking around and some creative convoluted BASH one-liners to identify, isolate, correct and verify those files. Without the shell and without those one-liners the job would have been far more difficult. Now even the changes to those original files are captured in source control. Now I can safely proceed with the upgrading of the package for my friends site and the back-porting of my customizations.
Take this BASH, brother, may it serve you well ... or some other similar silliness
Take this BASH, brother, may it serve you well ... or some other similar silliness
Labels:
Programming,
side projects
Tuesday, February 16, 2010
Cleaning out the rubbish
Just finished clearing out some rubbish from a code repository. Duplicate files in slightly mangled and misnamed directories. Slightly off-topic, when scripting remember that names with spaces in them require careful handling, otherwise the shell will misinterpret your intent. ('doh, facepalm) Now the directory trees in source control and in production match both in shape and in content. Next step, migrate the local copy to latest release, back-porting the customizations I made in the original.
Labels:
Programming
Monday, February 15, 2010
Decisions
We've had some snowy weather in the past week. I all looks beautiful, until of course you have to shovel it or drive in it. Then it's not so much fun. The younger boys had almost a whole week off from school due to the weather. Even Misce's classes were canceled last Wednesday and Friday. Work is busy, and going fairly well. This is all well and good, but this is not what is most on my mind. In my current side project, I'm still upgrading the server and upgrading some long out of date software that runs on it. All this prep work is preventing me from working on the core problem that I want to solve and working on the main part of the project that I want to implement. The stuff I'm doing is tedious and it is taking me too long. Some of that is due to low motivation. Some of these tasks I really don't want to do but they can't be ignored or side-tracked any longer they need to be done. The update of the relatively ancient shopping cart running in production on the server is the most glaring example. Another part of it is I'm not really sure what approach I should be following during this upgrade and what particular step to take next. The indecision and lack of enthusiasm is slowing me down and costing time. I need to make serious headway on this by the end of the week. The upgrade must happen at the very least on my local development system. That way I can then relatively easily and painlessly upgrade the server and the production copy. The worst part of this is doing this a couple of hours at a time at night. Once again, that's where my trusty project notebook helps with the technical details. Also, this blog helps, even if it is just a way to vent a bit of my frustrations to get them out of my system and get going on the necessary work. By the end of February, I need to be once again be working on the project directly and not on ancillary tasks. It's been too long.
Labels:
Programming
Tuesday, February 2, 2010
Pacing
The past three weeks or so kept me busy both at work and on my personal projects. One of the less pleasant tasks I've had to do is update and upgrade the system that I help host. Normally this would be done on an ongoing basis, but I've neglected it for so long that some of the software is now past end of life and is no longer being actively maintained. All this effort is part of my pet project, a modern website for posting events. As I have only have an hour or two each day it is important to accomplish at least a little bit each time I find the opportunity. In the past I've had trouble with doing things this way. I preferred to work in long uninterrupted sessions sometimes long into the night. That's the way I got through my programming projects while at university, but that is difficult to keep up for long periods of time. One of the problems with relatively short sessions of work is the context switch at the beginning. Sometimes it takes as long as half an hour to get organized and get into the flow of things. To help me with this, I've been keeping a work log, so that even if I'm away from my project for several days when I read over the log it gives me a very good idea where I was at the last time. That way I can begin where I left off. Of course the log is very high tech, well not really, it's a simple paper notebook ...
Labels:
Programming
Wednesday, January 13, 2010
Another Step
Andy returned from visiting a friend in Belgium. It's good to have him home again. Karl won the school Geography Bee. It's his last year he's eligible. I'm keeping my fingers crossed for him. I wrote some backup scripts for the hosted databases. They seem to work correctly, but I'll have to monitor it for a day or two before I take the next steps.
Labels:
Family,
Programming
Wednesday, January 6, 2010
Friday, January 1, 2010
A New Year
Another year's gone by and another one begins. Here's hoping that this year is better than the last. Not that the previous one was terrible. My personal and family situation was stable a fairly easy. We had an actual vacation that we all enjoyed. Overall the past year was good, but we're all hoping for better.
Subscribe to:
Posts (Atom)