A change of focus

Thursday, February 6th, 2020

This blog was originally created as place for me to talk about my programming projects in general, but I have let it languish for over five years. At the time I created it, I was working primarily on web development projects for Indiana University. I have since moved on from IU to focus on starting a career in the aerospace industry.

I am starting to develop other interest areas, such as nuclear power and exploring open source operating systems and software. I will try to keep this blog going when something software engineering-related comes up.

A Brief History of ClarisWorks

Wednesday, September 4th, 2013

I really liked this story told by Bob Hearn about Spartacus Software and the origins of ClarisWorks. For those who do not recall, ClarisWorks was a suite of productivity applications written for the Macintosh in the late 1980s and early 1990s. It lived on as AppleWorks into the 2000s before it was ultimately replaced with iWork.

ClarisWorks on System 7

I just loved the idea of two former Apple employees taking off from their employer, starting their own company, and pursuing the projects that interested them. They were trying to build the best software that they could and the program they wrote as Spartacus Software ended up living on, in various forms, until 2007.

While I am looking forward to the day when I am doing more science than coding, there is something romantic about quitting one’s job to go off and do what you want to do. As Hearn stated, nerves frayed at times, but they kept at it and ended up selling a great program to Claris. I have no doubt that starting one’s own business and trying to be an independent developer can be harrowing at times.

I have been involved in projects that lasted longer than anticipated, as well as projects that turned out something awesome that lasted for years. Unfortunately, they were never projects that I was that interested in. I would love to find a friend, buy a couple of new computers, and get to work on some awesome piece of software that will make others’ lives easier.

The story was published by former Mac team member Andy Hertzfeld in his book, Revolution in the Valley, and then retold by Derek Warren on his podcast, Macintosh Folklore Radio.

No color pictures

Friday, October 26th, 2012

I know as soon as I put a color photo on this blog, the illusion of a grayscale GUI will be destroyed.

My philosophy on front-end development

Friday, October 26th, 2012

When I graduated from college two years ago, I had back-end development in mind as a career path. When I started working at MediaSauce, I was suddenly thrust into the role of a front-end developer. I learned more about HTML5, CSS, jQuery, and IE testing than I really wanted to know. Over a year and a half and work on about two dozen websites has left me with some habits and ideas about front-end development.

If your users’ internet connections are probably going to be fast, you still do not have an excuse to be sloppy. I have heard the argument from other developers that because most people who use their sites have broadband internet, they do not have to worry about things like optimization. This pisses me off, frankly. What if they do not have broadband? There are still over 3 million people on dial-up internet connections.

If I were to use too many images in my site or it might increase the page load times and bog down the site. Now, we live in the first world in 2012 and most people on the internet have broadband and most modern browsers cache page assets like images. It is not much of an issue anymore. Still, I think it is good form.

For buttons that change appearance, use CSS3 or sprites. One of the most important HTLM4/CSS2 techniques that I learned for making buttons change appearance is the sprite. In a nutshell, a sprite is an image file that has all of the different appearances for a button or other element right up against each other and uses CSS to change which button state is shown.

For example, a button’s normal state would be showing as the element’s background-image. When the user hovers their cursor over it, the element’s :hover pseudo changes the background position instantly to show the “hover” state. The same goes with :active or :visited.

Why would you do things this way? It makes the switch between button states smoother. All of the button states are loaded at the same time because they are in the same image file. If the button states were all in different image files, then the new button state would have to be loaded every time, which would cause a lag. It’s a small thing that can make a big difference when it comes to the quality of your website.


I do not know if I have a specific point to make here. I suppose that if I did, it would be to seek out and adopt techniques that will make your website’s front end look nicer and be more useable.

I know people who have no interest in front-end development and, frankly, I do not blame them one bit. I am not that interested in doing front-end development. It is not the focus of my career, but I acknowledge how much more powerful a website can be when it loads quickly, looks nice, and works with users’ intuition.

Hello world!

Friday, October 19th, 2012

This is a new project that I am working on. Rather than putting development stuff on my main blog, I will put it here. I may cross-post but this site is exclusively for all of the big and little programming projects that I am working on. Read more »