I stumbled across the css Zen Garden today. This site lets web designers upload their own external css stylesheets to be applied to the site with the goal of attracting graphic artists to the wonder that is css web design. I found this one and this one particularly appealing out of the handful of designs I’ve viewed.

I’m wondering if I should make a stylesheet for css Zen Garden. I have been learning quite a lot lately about css and web development in general, but I don’t think my focus has been on the design aspect as much as the technical.

Also, I think I’d like to design this blog’s stylesheet. I’d like to put my personal touch on it, and I think it would be fun! Before I do that, though, I’ll need to get my own server space to host the blog, and I don’t have the time at the moment to look for a hosting provider.

I can’t count the number of times iSQL Viewer has come to my aid at work; it’s such a handy tool. It’s written in Java and “implements … features of the JDBC API”. I’ve used it with MySQL, Oracle 9i/10g/Express, IBM’s DB2, and Microsoft SQL Server 2005, and it works great. One of my favorite features is the ability to bookmark SQL queries for later use. iSQL Viewer is available for Windows, Mac OS X, and Linux, so try it out!

For quite a while now, I’ve been using the Vi IMproved (vim) extension of vi for text editing.  Many people cringe at the mention of vim or any other modal editor.  I have a vivid memory of a friend recoiling in disgust as I mentioned using it at work.  It’s true — vim has a bit of a learning curve if you’re not familiar with modal editing.  But once you get the hang of it, it’s indispensable.

A modal editor separates insertion keystrokes from commands.  For instance, if you were to open vim and press the “j” key, you would not see a “j” inserted into the file.  Instead, vim would interpret this key press as a command and move the cursor to the left.  In order to actually insert a “j” into the file, you must first enter insertion mode by pressing “i”.  While in insertion mode, key strokes are interpreted as additions to the file, not commands.  To exit this mode, press the escape key.

I know, I know — this seems like a lot of work just to add some text to a file.  In truth, vim is overkill for quick, simple writing tasks.  In my opinion, vim’s true calling is programming.  Its ability to move around a file with ease, searches and substitutions, the concept of multiple buffers for storing text — these are just a few of vim’s more powerful functions.  And let’s not forget that all of vim’s functionality is accessible from the keyboard, so there’s no need to involve that pesky mouse :)

I don’t have a favorite tutorial or documentation site, but you can always check out vim.org for more information.  Or just google it.  Also, check out gVim for a GUI version.

Extreme Programming

November 7, 2007

Years ago, a friend in the software development industry introduced me to the Extreme Programming software development methodology, or XP. Since then, I’ve noticed many of XP’s principles creeping into my own office. Some of the main points of XP include:

* breaking a project lifespan into iterations
* frequently producing small releases
* programming unit test cases first
* using simple, streamlined design
* only adding functionality that meets a requirement of the current iteration
* frequent code refactoring
* constant customer interaction

Many believe that XP’s principles are not effective unless they are all applied to the development process. Some of these ideas, though, seem to me like general good practices. For instance, heavy customer involvement in the development process could help in many stages — requirements gathering, testing, scoping the level of effort, to name a few — whether or not any of the other practices are used.

I had a discussion with a coworker the other day concerning XP’s usefulness for maintaining existing code. He argued that some of XP’s practices don’t make sense for maintenance tasks, particularly programming unit test cases before making code changes. I can see his point; it seems wasteful to spend time writing unit tests for components that apparently already work properly. But what if we started a unit test for a component that needs a bugfix, adding tests to illustrate the component’s failure. Then we can consider the bug fixed when the component passes its unit test. As additional bugs pop up for the component, we add to the unit test for that component. Not only can we be assured that the bug is resolved, we can also be certain that our fix hasn’t broken previous fixes.

It’s true — XP’s practices are less useful for maintenance compared to new development. But I still believe there’s value to using some of its ideas in software maintenance.

YellowBot.com

November 6, 2007

I’ve never really been a fan of business directory listing types of websites; they tend to seem poorly designed, and I’m never sure about trusting the reviews. YellowBot.com has my interest for the moment, though, with its nice, clean interface and handy google maps. You have to register (it’s free) to write reviews or recommendations, but you can use the service to find a business and read reviews without doing anything special. YellowBot’s thing is that it’s a “local” search site — I’m not entirely sure how that makes it different from other business directories. In true Web 2.0 style, it also supports tags for each business. Give it a try!

NerdBooks Online Bookstore

November 6, 2007

The next time you’re in need of a tech book, you should check out nerdbooks.com.  I’ve found that this online bookstore has some really good deals on topics ranging anywhere from desktop publishing to programming languages.

If you’re not willing to actually buy a book, check out freetechbooks.com.  This site hosts links to freely-available tech books — a very useful tool for students :)

Damn Small Linux

November 1, 2007

If you liked the post about Firefox running from a USB drive, you’ll love this one.  Damn Small Linux, or DSL, is a linux distribution capable of booting from a USB drive.  This tiny operating system can run completely within your system’s memory, requiring only 128MB of ram.  Pretty cool, huh?  It comes with command line utilities, media apps, Firefox, and office apps, among other things.

I’ve actually used DSL from a bootable cd to recover data after a hard drive crash on multiple occasions — what a handy tool.  It sure beats paying someone else to recover your data :)

Firefox on a USB Drive?

October 15, 2007

That’s right — it’s PortableFirefox! This would be handy if you’re ever using a firefox-less computer that you don’t own/can’t install software on. Nice. I know there are some Linux distributions that can run from a USB drive … I wonder what other apps there are out there for portable media?

w3schools

October 10, 2007

This is a fantastic site for HTML and CSS reference. You should bookmark it. It also has other web development topics, including XML, SOAP, and AJAX reference. Give it a try the next time you can’t remember a css property’s options.