Delays, more delays, success, back on track (but delayed).

After lots of scheduling with Google Calendar I ended up reviewing everything I’d put in the Google Calendar and ticking off most of the events as complete.  I even managed to produce enough “artwork” myself for my product installer, the product UI, and for the company website that I’ve started to develop again.

I didn’t test the main case study I’d established for my software before I branched from the trunk of my source code repository to versions 1.0.0 and 1.0.1 [1].  I’d use this case study both as documented examples in the product documentation and as screencasts that would be available either via YouTube, the company website, or perhaps even to purchasers of the software (haven’t decided which or any/all of those yet).  Not testing the case studies was a mistake.  A huge mistake.  It is in large part why my last blog entry was almost a month ago.  You see, I finally did get around to testing my case study and the sofware just didn’t work in proving the case.  At all.  Not even close.

I spent that evening sipping a glass or two or three of wine while reviewing potential changes to the source code for Product 1.  I spent the next couple of days procrastinating and moping, partially because I knew that I should’ve implemented things differently the first time (instead of the way I ended up doing them) and partially because implementing changes for Product 1 to prove the case would require a lot of work and substantial changes to the code as I’d written it.  Plus I’d have to regression test everything after I made the code changes and as a result there would be major delays in moving forward with the website and all the other important details of incorporation.

I ended up doing lots of code rewrites over a 2-day period.  At the end of the second day everything seemed to be working, well, unless you consider my encryption code was completely non-functional and I was getting UI crashes where there were formerly no UI crashes.  A friend was coming over to dinner on Saturday so while he chatted with my wife I pounded away at the encryption code (like a gorilla) for another 1-2 hours.  In the end, the encrypted hashes matched up but authentication was still failing.  I called it a day on Saturday and decided to revisit fixing things entirely on Sunday — but this time at my leisure, when I was ready.

After a Saturday night of heavy fun, our friend stayed in the guest bedroom, and stayed around for a bit on Sunday.  For my part, I watched a little bit of football (and when you follow the Buffalo Bills as I have my entire life, a little bit of Buffalo Bills Football these days is more than enough), hung out with wife and our friend, played some Wii, and ate leftovers.  I didn’t really start coding/fixing again until about 8pm on Sunday.  At first I was feeling anxious that I hadn’t started working earlier in the day, but lo and behold having a break from code, code, code, coding turned out to be a really good idea.  I introduced further changes to the extent that my encryption started working again (always check your salt, people, in particular if you’ve changed the naming scheme in your directory.  That is all.) and the UI was stable overall by around 11pm or so.  There were still some UI quirks to address, but I decided to watch mindless stuff on YouTube instead and backburner further code fixes until Monday.

I slept in a little bit on Monday, until 6:30am, then started to sip on coffee and re-run Product 1 tests to re-acclimate myself as to where the pain points existed in the UI code/behavior as of 11pm last night.  I did some more code fixes to both accommodate UI changes that came as a result of the previously mentioned 1.0.0 code changes and to address UI issues that came up as the result of cms’s UI testing in the previous week.  By the time I left for work, things seemed to be in decent enough shape.  I asked cms to retest and am waiting to hear results.

[1] I decided not to touch the source code in the trunk anymore.  If I really needed to integrate changes back into it, I’d do so at my discretion but without branching now using common code for Product #2 would be near impossible.  1.0.0 and 1.0.1 initially were the same exact code after the branch.  1.0.0 would be the first version of the product I’d sell.  1.0.1 would incorporate minor bug fixes and improvements that weren’t worth rolling into the next major version of the product (that I’d sell).

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.