Archive | Tech RSS feed for this section

Whose world order?

27 Jun

 

Gulliver, as the system, washes ashore to be tamed by the custodians.

 

Warning, this is a an article by a software geek for said geeks. Rapid boredom will probably ensue even for the target audience. Most of us at one time or another have worked on a Big Ball of Mud. For a less seasoned hacker the first tour or two of such a haphazard system may go unnoticed due to a number of circumstances the least of which being naivety. But, over time, the imprints of sloppy, duct tape, spaghetti code jungles come to be recognizable. By no means complete a few standout examples from my career:

(more…)

Quote Panel

26 Mar

Yesterday while looking at the new blog header I decided to have a hand at adding a quote mechanism. I have always been fond of the hilarious tongue in check The Tao Of Programming series – the first self titled book being best by far. My initial notion was to put it in the footer which seemed vacuous. Puzzled I gave up for a few hours and wandered to a tangential stream of thought. Later, while talking with my wife just before bed an idea hit me like a ton of bricks.  Why not put a sliding quote panel in the header animated by jQuery? Nearly sick with excitement I “uhm”-ed my way through the rest of the talk with my wife and then stole off the first chance to get to a computer to hammer out some initial code before the ephemeral concept evaporated from my mind.

(more…)

Nothing to Say

25 Mar

It was an arid posting week here at the blog trying to come up with something fresh to say. In the process of looking around at the ship shape of the blog the realization that the header and logo look squirrelly occurred. So I fired up Photoshop, vim and git and changed things around to a more streamlined, recognizable and social/web 2.0 header area.  Also, the archive layout issue was fixed yet again. Now if I could only come up with a good idea to blog about.

Nikon D90 Learning Tools

15 Mar

In have been eying the Nikon D90 DSLR for the better part of three months. At the start of March, 2010 Nikon Rumors reported some deep online discounts were in the works and with my birthday pending at the end of the month I pulled the trigger and purchased a D90 camera kit including a Nikkor 18-200mm f/3.5-5.6G ED VRII all around lens from B&H Photo Video. Much to my joy even my wife approved the purchase. Now that the easy part is done it’s time to learn how to use this interface monster.

(more…)

GoF Design Patterns

10 Mar

As a programmer and all around nerd dating back to my teen years I have covered a fair bit of computing terrain. However, at a recent job interview requiring Java skills I completely floundered when asked, “Talk to us about design patterns and illustrate some instances where you have applied them?”  Baffled and not one to beat around the bush I admitted my naivety immediatley. In a gesture of kindness the interview panel threw a few classic design patterns at me like singleton and abstract factory both of which I was aware of, but only had a vague grasp of. One guy on the panel suggested I read up on a famous engineering design pattern book by a group referred to as the Gang of Four. I took him up on that offer a few days later and ordered a used copy of Design Patterns: Elements of Reusable Object-Oriented Software from Amazon.

(more…)

Math Combinations, RDBMS and Perl

8 Mar

Recently, while developing a web charting application I ran into a problem involving combinations and permutations. The application mimics an existing paper charting method with it’s own meta language to describe certain visual biological markers.  One subset of the meta language defines eight shorthand notation character codes:

  • B = Brown (or Black) Bleeding
  • C = Cloudy (white)
  • C/K = Cloudy/Clear
  • G = Gummy (gluey)
  • K = Clear
  • L = Lubricative
  • P = Pasty (creamy)
  • Y = Yellow (even pale yellow)

Each code can be selected once with any other combination of codes.  Some examples of possible code string combinations with dash separator(s):

(more…)

Design tweaks

4 Mar

About a month ago I revised the website look.  Today I fixed a few subtle things:

  1. ‘Featured Posts’ widget images in the sidebar now link directly to the post.
  2. Padding between all the sidebar widgets (e.g., ‘Featured Posts’, ‘Recent Posts’, etc.) is now even.
  3. ‘Archives’ sidebar widget is now collapsible. Note, there is a bug in IE6-8 and I am not sure when I’ll have time to fix it. My recommendation is to switch your browser to Firefox, Chrome, or Safari.

Design Reload

22 Jan

This is probably the third site re-design in the last six months or so, but for the first time I can honestly say this one just might stick. First, let’s give due credit to WooThemes design team for this fabulous free Bueno theme. In the future I’ll be using almost exclusively free and premium themes from ad hoc design shops like WooThemes due to the time saved and my lack of design skills.

Bueno is a simple modern theme that puts the focus squarely on structure and typography that fits well with my general post style. The only theme switch  hassle was resizing all of the larger images which is typical. The only old design element lost was the roll up archives which I’ll make an effort to reinstate at a later date when I tidy up this new theme.  For now we are ready to roll!

Website Redesign

4 Nov

It’ pretty obvious thing have changed. The old is out and in it’s place a new bright blue look is born based on the WordPress Stripey theme.  Really, there are only a few key changes with the new look:

  1. Header logo and binary code which adds a cleaner more professional feel.  I plan to add a maltese cross, but ran out of time on this effort.
  2. Better search box.
  3. Subtle post header meta data changes.
  4. Archive posts in the right sidebar are rolled up by year and counts listed for each month.

Shot me an email or drop a comment if you find any bugs or simply can’t stand it!

Optimizing WordPress Websites

22 Oct

Website Speed

Website Speed

Recently a web client asked me if I could figure out why their page was loading so slowly. Simple enough question on the surface. Like any sensible web engineer I immediately opened Firefox enabled the Firebug plug-in and went to Net Panel. It was clearly evident after poking around for a few minutes that the WordPress site in question, which I built but didn’t do the design and image work for, was sized at just over a megabyte of which ~50% was images. In the scramble to get the site up and running I just took the images the designer handed me and plugged them in without any further thought then “Hey, those do look very good!” I informed the client that the images were hogging up a good bit of bandwidth and they should have a graphics expert put the  images on a diet via PhotoShop.  However, that other 50% of overall slowness that was not related to the images nagged at me.

Within the hour I had mentally resolved to figure out why the rest of the site was slow and apply anything learned to improving current and future site builds. My basic game plan after googling for a few hours and discovering YSlow was as follows:

  1. Serve the HTML gzip’ed and cached
  2. Serve the CSS/JS gzip’ed and cached
  3. Reduce the number of overall requests by combining CSS/JS files where possible
  4. Add Expires Headers
  5. Move as many images as possible externally

(more…)