Another Design
It has already been a few years since this site has seen any kind of update (or much content for that matter). Every time I start this I think to myself keep it simple and by the time I'm done I have a style sheet longer than the constitution. Well that still may be the case, but at least this time I didn't write it.
As a huge fan of JQuery and the related user interface elements of JQueryUI , I decided to start off by only using these components. If the resulting layout was not to my liking then I would begin adding my own CSS. What happened next was a near miracle.
First I deleted my style sheet and removed all style markings from my templates. Then went through and updated the layout using YUI3's grids, strolled through the templates adding only the standard classes that come with JQueryUI, and added a few extra style helpers here and there for padding and margins. POOF Instant web site.
My style sheet remains empty which is about as low maintenance as you can get.
There are still a few items that need some attention. What fun would it be to get it all done at once?
I did have enough time to rollup all the css files into one in accordance with one of Google's Let's make the web faster tips. So instead of making 4 or 5 separate requests for files there is just one. Even if the files are cached the browser will still ask "Has the file changed?" which takes an additional round trip. Less round trips makes the page load faster.
For rolling up the files I created a really simplistic Makefile to help me out. In the Makefile I use Yahoo's YUI Compressor to minimize the files. It simply removes the comments and white spaces squashing everything into a big one line file. Less bytes! Here's the quick Makefile
yuic=java -jar ~/prod/lib/yuicompressor-2.4.2.jar -v
css/thesergents-combined.css: css/reset.css css/base.css css/grids.css css/pygments.css css/thesergents.css
cat css/reset.css css/base.css css/grids.css css/pygments.css \
css/jquery-ui-1.8.9.custom.css \
css/thesergents.css | ${yuic} --type css -o css/thesergents-combined.css
clean:
rm -f css/thesergents-combined.css
Not perfect, but it works.
No SQL Reading list
No SQL databases are all the rage lately. Been experimenting with Cassandra myself and became very interested in the theories and ideas behind this class of databases. Oh, more infomation you say?
- Brewer's CAP theorom - just read it.
- Amazon's Dynamo which is one of the first widely publicized instances of a no sql databse being used in a large production environment.
- NoSql Landscape (part 1) - a good summary of the current landscape. Lots of projects making lots of headway. It sure is fun to watch.
It might hurt your brain, but it's good for what ails ya.
Weightless threads in Python
This was definitely one of those "ah-ha!" moments in my programming journey.
Take a read of Implementing "weightless threads" with Python generators
Some ideas are so simple they're hard. I think this is one of those cases.
New Python mode for Emacs
Don't look now, but there has been a new release of Python Mode for emacs. I just happened to look by chance. First time in years and it appears as if it just came out! Loaded it up and - bam! Didn't really notice any difference. I guess that is a good thing.
So if you're the one person I know that develops Python and uses emacs make sure to update your stuff.
2009 Tech Wrap-up
Since it has already been hilarious to look back at the things I thought were cool in the past, I wanted to write up something about all the tools I find most useful today.
LaunchBar
What is LaunchBar? It's kind of like trying to describe how the Internet works. It's both simple and complex at the same time, yet all encompassing. Launchbar is an app launcher - simple. And then their blurb:
LaunchBar is a smart and powerful, keyboard driven productivity utility that lets you access and control every aspect of your digital life.
After the development of Quicksilver stagnated and I could no longer get it working (something having to do with perl and macports) I found LaunchBar. After a few weeks of retraining my fingers it is definitely something that I can't do without. The built-in help is excellent, but there are so many features that I can only seem to add about one a month to my repertoire. Very much like learning new vocabulary or any new key combination in Emacs.
Textmate
This text editor is second to none. Except maybe Emacs which I'm using to type this. I constantly alternate between Emacs and Textmate depending on the task at hand. Textmate has incredible bundles (modes) for almost all programming languages including many of the popular Javascript libraries.
A new version has not been released in years and a development seems to have stalled out. Though, considering Emacs hasn't changed significantly in 300 years there is really nothing to complain about. Textmate still works great!
Acorn
When I was looking for something a little more light weight than Photoshop yet powerful enough to do some fancy image editing I found Acorn. Some great built-in filters for some fancy effects. Simply a great little graphics editor for the price. This is one of those programs I don't use very often, but when I need it - I need it.
Omnigraffle
I can honestly say Omnigraffle is an indispensable tool in my arsenal of graphic design utilities. Actually, it is about the only one I use these days. I've done everything: logos, birth announcements, business cards, letterhead, web page mock ups, fancy pdf editing. It is so cool I find it hard to describe. Kind of like Visio meets Photoshop - except usable by normal humans. It tends to do the right thing most of the time. Impressive.