Archive | Tech RSS feed for this section

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…)

Snow Leopard Fresh Install

7 Sep

Mac OS X Snow Leopard

Just finished a rather lengthy fresh install of the the latest and greatest Mac OS X Snow Leopard upgrading from Leopard. Snow Leopard is considered a maintenenace release that packs few new features instead focusing on beefing up core functionality. By “fresh install” I mean that I didn’t just upgrade from Leopard to Snow Leopard or use Time Machine as part of the install process to speed up an upgrade, but started with a true clean install and then meticulously installed Apps, configuration files, development websites, etc all from scratch. I was hoping the fresh install would help to clear up some restart and latency problems I have been seeing over the last three months.

The results have been great.  System boots faster, runs faster, consumes less resources, has a smaller foot print and in general seems a bit more stable. I’ll post in another few months what the overall Snow Leopard experience is like but so far I am loving it!

Firewall Reset

19 Aug

For the last seven years running I have been in overkill mode with my home firewall.   In my desire to learn more about networking I went overboard, as usual, and immersed myself into my own DIY home firewall project.  The objective was a solid firewall built on the tenants of modern network engineering. Basic hardware/OS setup was as follows with number one being the exterior and bigger numbers moving towards the LAN:

(more…)

Selling three Soekris net4801s

10 Aug

I plan to upgrade and simplify  my current firewall stack and am selling off three Soekris Engineering net4801s. All machines are working and undamaged.  I would prefer to sell all three at once if possible.  $300 and all of them are yours!  Buyer pays shipping.  Pictures of them in action below the specifications.

(more…)

Back Online

8 Aug

As promised the site was down for a few days and now back up!  I have decided to go with bluehost.com which was very easy to get set up and rolling.  Their fees are cheap due to the bulk hosting and I am hopeful the pipe throughput is decent however long I stick with this host. Ideally I would buy my own rack mount hardware and have it collocated at a data center.  This gives the greatest control (i.e., I am a known control freak) but adds the usual system administration headaches.

An example of the upshot of having your site on a host like bluehost.com with a tool like CPanel is typical OS, CMS, and various other software updates are all handled automatically behind the scenes or at the most with a mouse click. Not to mention that they take care of all the hardware, redundancy, faileover, etc… issues.  Sometimes, it’s just easier to pay for it and be done!