Learning XHTML and CSS

a few of my co-workers wanted to know XHTML and CSS a little better, and I got asked to teach them some of what I know. I put together a little presentation, and I thought it might be worth sharing.


had to convert it to PDF thanks to wordpress.com not accepting open document presentation format (Boo – hiss!)

Flattr this!

Bazaar vs. Git

We have been evaluating Git and Bazaar at work, so I thought I would write up some of my thoughts so far.

Bazaar has some real positives going for it. For example, I now plan to use Bazaar for version control with websites I maintain on a remote shared server that I don’t have SSH access to, and who won’t install Git or Subversion for me. All Bazaar needs is FTP access and away it goes – very nice!

The other things that seem good about Bazaar over Git are windows compatibility, (though I haven’t been able to test this actually,) and a lot of familiarity, similarity, and compatibility with SVN. In fact, I can’t think of any advantages SVN has over Bazaar other than popularity and lots of mature tools.

Lastly, Bazaar has some nice tools in Ubuntu which makes sense because Bazaar is a Canonical backed project – so easy to install, and very easy to just use it on simple projects without it getting in the way much. It also works with the new notification system in 9.04 which has some potential coolness for tracking commits on a repository. If you were wanting to contribute to Ubuntu in anyway BZR and hosting code on Launchpad would probably be the way to go. I haven’t worked in collaboration with others or had to deal with merges, conflicts, or patches, so I can’t speak to any of that, but the Bazaar teams goals seem to be making those things very easy.

Git wins out for me based mostly on the fact that I prefer its underlying system. One major difference between Bazaar and Git that it took me a while to understand is that in Git a directory is a branch collection, and in Bazaar a directory is a branch. This is an important difference. Turns out that is the case with a lot of concepts in these two version control systems, and I am still trying to understand the different ways that Bazaar and Git use certain key words like ‘repository’, ‘tree’, etc.

One of the things that initially won me over to Git was cheap and easy branching or merging. The way those things work in Git meshes very well with agile development methods. New or experimental features can be worked on in a branch and merged back in when they are ready. Bazaar can do this sort of thing as well, it’s just not as fast and not as easy.

Git has some real downsides. Nothing huge, just lots of little gotchas, like how it doesn’t track empty directories, or the CRLF/LF issue that happens between Unix and Windows machines, but so far these things don’t outweigh the positives for me.

My tenative conclusion is that when working on solo projects that are straigtforward and don’t require much experimenting BZR might be my new choice for source control. However, working on projects that require a more agile development stategy I will prefer Git.

Flattr this!

Why this blog?

Just setting up up a place to blog specifically about web development, and open source stuff. Maybe more specifically Iwill attempt to make posts here about doing web development using open source tools. I use Ubuntu and associted software to do most of my work, and I feel like there are often things worth pointing out to others in the same situation or to convince others that this is a good way to do development. Realistically I probably won’t be posting stuff all that often.

Sure I could host a wordpress blog myself, but that is more than I want to worry about. Hosting it here on wordpress.com lets me worry less about maintaining a blog. I will use the time and effort saved to try to write stuff worth reading.

Flattr this!

Linux Mint 6 on HP laptop

Thought I would log my experience setting up my laptop with Linux Mint 6.

About the Hardware:

I got a pretty good deal on this from Best Buy on a Black Friday sale. The model number is dv4 1114nr if you’d like to look up the hardware specs. I quickly had Ubuntu 8.10 running on it. Most things worked out of the box. The webcam, the wireless internet, the graphics card, and all the touch buttons up by the screen. the microphone and the neato little remote control were less cooperative.

A Little History:

As time went on a few things were starting to annoy me because I couldn’t manage to fix them. One was that the hibernate and suspend features were not working. A little research and I narrowed this down to a BIOS issue. Basically what that means is there is no way I could fix that with out a special update from HP. Unfortunately they do not provide any BIOS update files that play nice with Linux. I got in touch with them and after they reiterated a few times that they don’t support Linux they sent me a recovery disc. So, backed up my home directory, reinstalled Windows, preformed BIOS update, noted how slow and heavy Windows was, then put in my Linux Mint CD and started over.

Installing, Updating, and Customizing Mint:

The install time was less than 30 min. In contrast it took over 3 hours to run those recovery discs. after the install was complete I connected to my wireless right away, and installed the available updates. about 170MB of them. While that was going on I moved the bottom panel to the top of the screen, changed the wallpaper and theme, and fixed the buggy sound issue that these laptops are known to have.

To do that I opened a terminal the Gnome-Do way (just press “super + space” and start typing “term…” and press enter. In the terminal:

gksudo gedit /etc/modprobe.d/alsa-base

and add this to the end of the file:

options snd-hda-intel enable_msi=1

I did a little customizing of my top panel such as:

  • removed – windows list,
  • added – desktop switcher, sysyem monitor, search files and folders, weather
  • hid – gnome do icon (right click and select preferences…)

By now my updates were complete. I decided I wanted to play with the new MintInstall feature so opened that up and hit refresh. Maybe it’s just a first time thing, but it took a looong time to get ready. Maybe a part of that was the screenshots it was loading.

I like to have my windows roll up when I double click the title bar, so while that was loading I went into Menu -> Preferences -> Windows  and set the “Titlebar Action”. Mint Install was still loading, so I also set my location in the weather applet I had added to the top panel

Mint Install was ready so I went to start installing all the stuff I wanted. The screenshots, ratings, and reviews are all neat features, but I wished I could have installed more than one application at a time. While I did abandon MinstInstall in favor of Synaptic Package Manager pretty quickly, I do appreciate its simplicity. And better yet, my list of things to install is much shorter than in Ubuntu because Mint, in my opinion, has a much nicer set of default applications – GnomeDo, PulseAudio, SunJava, Thunderbird the Medibuntu package, etc. Of course part of that is because they ignore certain license issues, but it doesn’t bother me as I own all of those lisences already anyway. Plus I am more and more persuaded that intellectual property is an illegitimate concept idea altogether.


I still haven’t been able to get my built in mic to work. If I plug a mic in to the jack that does work, though even that took a little messing around with the sound preferences/ pulse audio settings. Skype needed to be adjusted to use pulse, and blocked from auto adjusting mixer levels. Even then the mic is very very quiet (Part of it might be the crappy mic I was using).

I tried to run a shell script to install Groovy/Grails syntax highlighting by double clicking. That didn’t work. Odd, and couldn’t figure out how to get it to go. I am no terminal jockey, this much is true

Flattr this!

Intellectual Property Debate

I recently have become very interested in this topic. I read this review which lead me this free book. So far I have only read the introduction, but I am eager to continue. A few months ago I read Against Intellectual Property which was very intriguing, but left me wondering about practical application

This new book makes a bold general claim:

Since there is no evidence that intellectual monopoly
achieves the desired purpose of increasing innovation and creation,
it has no benefits. So there is no need for society to balance the
benefits against the costs. This leads us to our final conclusion:
intellectual property is an unnecessary evil.

Flattr this!

Marriage and the State

Watching a little Leno the other night, not a normal thing for me. Ellen was a guest, and I guess it was news that she recently married some woman. California allows that now I guess. She made a comment that made me think. People are raising money to help do something to get the California gay marriage thing overturned, and she made it seem like that was a bad idea considering the economic crisis that is going on. What made me think was what if proposition 18, or whatever it was – I can’t remember, did pass, and gay marriage in Cali was overturned. If the state comes in and says, “sorry, you are no longer married”, other than making them mad what does that really accomplish?

Here is my point, if the government showed up at my door tomorrow and burned my marriage certificate thingy, I would in no way cease to be married in reality (though I might have issues with lawyers and insurance companies and stuff like that who don’t believe me…). I think most people, at least the happily married ones, would feel the same way, and what that means is that governments role in defining marriage is bogus. As a disclaimer, I am not advocating homosexuality, or saying gay marriages should be allowed. I am just saying people need to think more about the definition of marriage and who has the right to change it.

I see marriage having two levels, a theological or spiritual level, and a social contract level. The state has jurisdiction over one but certainly not the other. I think a lot of the controversy over the whole gay marriage thing has to do with people missing this distinction and not understanding definitions, the government seizing to much of a role, and the people not questioning the government enough in that. Share your thoughts but keep it a friendly exchange please.

Flattr this!

Open Debates

opendebates.org logo

The Presidential debates that took place last week were a waste of time in my opinion, and I know many who would say the same. McCain and Obama bickered back and forth, but never really got at substantial differences in their political philosophy. A good example is how they went on about nuances of interventionist foreign policy, but the question of whether we can afford to maintain such a world empire, the ethical objections, and the political repercussions of such a policy never made a blip on the radar.

The debates didn’t used to be so meaningless. OpenDebates.org, a site pointed out to me recently by a friend, presents some incredibly interesting history. True like much of the non-mainstream political stuff it does smack of conspiracy theory a bit, yet they provide enough facts and references to be actually alarming. Their goal is basically to break the stranglehold of the two party regime, or at least its stagnation, by reopening the debates. I encourage you to check it out, tell friends, and in general become less apathetic. While you’re at it consider voting for a third party candidate.

Flattr this!

Best internet Radio: Last FM or Pandora?

I often listen to music while working. It’s a common practice I think, and while the traditional approach has been to use the trusty FM and AM signals broadcast by local radio stations more and more people are opting for internet radio. There are two main types of internet radio that I know of. The first kind is just like your traditional radio station. You don’t really interact with what you hear you merely tune in. The main difference is that you use a URL to tune in instead of a frequency. The advantages of this are greater selection and maybe fewer advertisements.

The other type is streaming audio that is dynamically determined by your interactions and preferences. Pandora and LastFM are the two most popular examples of this that I am aware of. A major difference between these two very cool applications that isn’t readily apparent is the way they decide what music to play for you. Other more obvious differences have to do with user interface.


Pandora Logo

Pandora’s recommendations are based on the intrinsic qualities of the music. Give Pandora an artist or song, and it will find similar music in terms of melody, harmony, lyrics, orchestration, vocal character and so on. Pandora likes to call these musical attributes “genes” and its database of songs, classified against hundreds of such attributes, the “Music Genome Project.”

Pandora runs in your web browser. Which means to use it all you have to do is go to their website. They have a really nice interface, the only downside of which is that it requires a flash plugin (this isn’t an issue for most people, and as a side note Pandora actually uses a open source alternative to Adobe Flash called Open Laszlo. Well done Pandora development team!). Pandora’s methods for letting you add stations, and for mixing up different genres and artists is very intuitive and has made for some interesting mixes for me. The downside is that if you have a somewhat slow connection it may take some time to load up. In the era of tabbed browsers it is no problem at all to leave a tab with this running. The drawback of this browser dependent approach is that you are going to have to come back to the proper browser tab if you want to rate a song, change the volume independently of other sources, or just figure out whats playing. I have heard a rumor about a desktop widget type of thing that can control Pandora, and if not that there are bound to be browser plugins that show up to deal with this inconvenience.


  • intuitive fun user interface
  • good method for building stations
  • good information on artists
  • information on your friends listening habits
  • fast initial setup
  • good for finding music with very specific sound


  • advertisements, (not in the music though)
  • stuck in the browser
  • seems to play a lot of repeats on some stations

Last FM:

LastFM Icon
Last.fm is a social recommender. It knows just a little bit about a songs’ intrinsic qualities. It just assumes that if you and a group of other people enjoy many of the same artists, you will probably enjoy other artists popular with that group.

LastFm can be run from your browser, from a lastFM program that you install, or from plugins within many popular music programs. and using a plugin lastFM can learn about your music preferences from any music you listen to, not just what you listen to in lastFM itself. This is a pretty powerful way to get worthwhile music recommendations. The upside of the plugin and independent player are that you can control the music without having to navigate back to the proper tab in the browser. You don’t get some of the flashy effects and animation that are so impressive on Pandora, and the initial set up can take a little longer, but in my opinion the trade off is totally worth it. The Last FM player, and plugin are also open source, which I am obviously a fan of. Another advantage is the lack of advertisements. Of course there are adds on their site and well placed links to click if you want to buy music but other than that you won’t be solicited in any way.


  • no browser lock in
  • great new music suggestions!
  • good information on artists
  • even more information on your friends listening habits!
  • open source
  • good for finding music you like in wide variation of styles and sounds


  • take more time and effort to get going
  • no frills, just music (potentially a good thing…)


Both Pandora and LastFM are amazingly cool tools that help people enjoy and discover new music. Both are well executed, and both have unique advantages. I prefer LastFM for the variety and types of music that it recommends and for the way I interact with the player. I still use Pandora from time to time, and would recommend it especially for more casual users.

Flattr this!

Linux Mint

I have switched to a new distro on my laptop. I have been quite impressed overall with this Ubuntu derivative called Mint. I use my laptop for web development and all the more common/less geeky things like editing photos, browsing the internet, listening to music, and doing office work. Mint has performed beautifully in all areas. While it doesn’t do much that Ubuntu can’t, its many steps closer to the ‘just works’ OS, and that makes mint my current top recommendation for anyone considering giving Linux a try

mint logoLinux Mint has some important advantages over Ubuntu. A number of them have to do with appearance, some are functional, and others have to do with system stability.

First up is appearance. Compared to Ubuntu’s dull defaults Mint comes with a more visually appealing theme and a nice selection of desktop backgrounds. For users accustomed to Linux those are very minor conveniences which wouldn’t really be worth the switch. I am no expert with customizing Linux look and feel, but I thought I had a pretty decent handle on it. That said, Mint has improved a number of small touches to the look and feel that are beyond what I knew how to do – boot and login screens are examples of this. Good fine grain aesthetics are hard to describe, but my opinion is that the polish is pretty good, definitely superior to any distro I have seen out of the box.

Beyond looks Mint feels a little smother once you get to working with it. Some things work better, and others are just slightly more convenient. For example:

  • It comes with a simple configuration interface for Composition installed. You can get this and better on Ubuntu too, but since it doesn’t come installed its one of those things that many people stumble over when they are new. It took me hours to get the cube going the first time I installed Ubuntu!
  • an all in one menu with some nice built in filters
  • less frequent updates
  • “open as root” is just a nice option for those who like to use the gui file manager, but still want to be able to do power user tasks.
  • The terminal is more friendly to my eyes as it comes with some nice color coding, and there are fun fortunes to boot! (if you enable them during the install…)
  • numerous codecs pre-installed
  • gnome-do pre installed
  • installing new programs – most of the time I use synaptic, but for less experienced users mints customs system would pretty nice I think
  • I don’t know why but my javascript animations in Firefox are just smoother and certain things print anti-aliased that didn’t with Ubuntu – like Dia projects.

Part of the ‘just works’ idea is that you don’t have to constantly fiddle with things to keep it working. Its why a friend of mine loves Macs, less time tinkering with the system, more time doing real work. Some people think the tinkering keeps them sharp and in a good state of mind regarding their machine… I digress. Mint requires less tinkering, but like any open source software will still let you if so inclined. An important contributor to this stability is that Mint uses a custom update system that rates updates on the likelihood that they will cause problems. The result is a more stable, but half a step behind environment. So long as you aren’t concerned with having the latest software the day it comes out this shouldn’t be an issue. I myself run a development build of Ubuntu on another machine, and while I like playing with the bleeding edge stuff, I also have come to really appreciate the stability of Mint. As a disclaimer I am not at all entering the discussion of mint as a server. I think it is meant to be a desktop not a server, and the stability I am referring to is all about the desktop.

With Ubuntu 8.10 due out in days I am eager for the release of Mint 6 that will follow shortly after. I hope to add an article on customizing the desktop and maybe another on setting up a Groovy and Grails development environment after that release.

Flattr this!