This is old content! The catacombs are a snapshot of content created from 2005-2007. For new stuff, visit Maniacal Rage.

maniacal rage

Garrett Murray lives here. He's the senior developer at Blue Flavor by day and an amateur writer and comedian by night. You can read more about him or
Garrett Murray's hCard
photo

Since releasing Leaflets, we've received some feedback regarding the Safari 3 requirement. Generally, there have been two types: First, people wanted to try the demo and were frustrated that the browser check wouldn't let them if they weren't using Safari 3, and second, people were upset that we had designed for only one browser.

The first issue (demo browser-sniffing) was both an accident and a quality-control issue. It was an accident because I wrote the sniffing code late at night just before launch and I completely forgot that, hey, other browsers use WebKit. So searching the user agent string for Safari is pretty stupid. I fixed this a few hours after launch—users can now view screenshots of the various Leaflets and then try the demo, although they'll be warned before it loads the first time if they're not using Safari. The whole reason for the browser requirement in the first place, though, was related to the quality-control issue.

We didn't want to have people without Safari 3 trying to use the demo, because without Safari 3, Leaflets looks odd in places. We rely heavily on Safari 3's CSS3 support and when you view the site with another browser, parts of the navigation are rendered as blank or squares and are unclear (thus, it's difficult to use).

Aside from the use of -webkit-border-radius, which is not a valid CSS property, we aren't using any special hacks or tricks to style Leaflets. In fact, the primary feature of CSS3 we use throughout the site, and which is vital to the display, is multiple background support. Sure, we could design the site without using this (and, thus, support more browsers without visual quirks), but there's a huge benefit to using this feature: Bandwidth savings.

Each of our Leaflets that uses the common top navigation bar has a different color scheme. Some have different button configurations and differently sized breadcrumb elements. We use multiple backgrounds to share a few images to create many differently sized buttons and shapes. And because they're all transparent, we can change the background color of the bar to alter the shade of the images. Not having to download multiple images saves the user bandwidth. And by using multiple backgrounds, we can also cut down on the amount of code structure on each page, adding more to bandwidth savings.

A few complaints were along the lines of "if you had just written Leaflets in standards compliant code, it would work perfectly in every browser." And, of course, we did write it using standards compliant XHTML (validate it yourself). Leaflets does work in other browsers and older phones, it just doesn't look so hot without CSS3 support (see it running on an older Samsung A900). And, to be fair, we all know that writing things using web standards does not ensure things will work in every browser. I wish it did.

We didn't choose to limit Leaflets to Safari 3 because we're elitist jerks or to make it iPhone-only. It's just that iPhone is the only device on the market that has a really modern, nearly fully-featured browser. Javascript, CSS3, full-scale rendering—it all adds up to a great experience, and we wanted to create something that was more than just the average mobile application. Our goal was to take web services people were already familiar with and modify them to fit the mobile context. Fast downloads without compromising user interaction and experience. iPhone allowed us to do that quite well, we think.


I've been pouring most of my free time into SimpleLog 1.1, which is nearly ready for release. Remember all that talk about it being a pain to upgrade from 1.0? Yeah, well, you can forget that. I've written a few rake tasks that take care of all the hard work for you.

In fact, you won't really have to change anything when upgrading (unless you've made modifications to files other than the views, like adding features to controllers or such).

The process will be as such:

  1. Place a rake task called simplelog_themer into your current SimpleLog install and run it. This will create a theme from your currently customized views, change configuration references to the new preference methods, and even convert image paths to relative in your CSS and JavaScript.

  2. Copy that theme, config/site.rb and config/database.yml from your current install to the new SimpleLog version directory.

  3. Replace your current install with the new version entirely.

  4. Run rake simplelog_upgrade

Then you've got a fully-upgraded install of SimpleLog 1.1, and you can go and customize your preferences (now in the admin section, and includes many new prefs), including selecting your theme (which will be aptly titled OnePointOh). You can also choose from the two built-in themes (a new default theme has been added in 1.1).

I'm hoping to release version 1.1 as early as next week, as soon as we finish testing (I'm currently making sure the app works in postgres and sqlite). It's been a lot of work, but the app has really been shaping up the last few weeks and I'm excited to release it.


I've been working on SimpleLog 1.1 for a few days now, and I'm getting close to releasing it for testing (see more on that below). What started out as a simple (no pun intended) update turned out to be a fairly massive one—in addition to moving preferences into the database (and also creating a preferences page in the admin section), fixing issues for Window users, and simplifying the post form, I've also put a basic theme system in place, based on the theme_generator Matt McCray wrote and released.

Don't get nervous—it's not a theme system in the sense that you need to learn a new language or any of that. Everything is exactly how it was, it's just easier to modify your site because all the layout/views/javascript/stylesheets/images for your site are in one place.

The good news is that this means future upgrades will be easy to manage—you'll simply overwrite all of your SimpleLog files and then copy your "theme" back into the themes folder.

The bad news is that upgrading from 1.0 to 1.1 is going to be a pain for some people who have customized views and such. Not in the sense that I've switched to a template system, but more in the sense that the move of the configuration to the database required that I change a lot of the references to configuration in the views. Also, I've changed nearly every other file of the package with this change.

So it might be a bit of a pain.

But it will be worth it—this version of SimpleLog will effectively future-proof adding preference features (right now, if I add a preference, you'll have to add it to your customized site.rb file by hand when upgrading—yuck!), and make it easy to upgrade without having to recreate your views. Plus, down the road, you could share your SimpleLog templates as well.

And hell, this is only 1.1. There are plenty of other little things coming after this release, but the pain is necessary to make the system better.

I'm going to be in need of some testers again for 1.1. I'd love it if you only contact me if you're sincerely interested in testing SimpleLog—you'll need to at least install it and let me know how it goes. Interested individuals should send an email to garrett at maniacalrage.net with the subject "Test new SimpleLog."

Update: Have enough testers now, thanks!


I've been receiving lots of great feedback about SimpleLog, and I've been working on the next version a little here and there. Time has been tight since I got back from vacation, but I should be finished with a new version in a few weeks.

Some things planned for the next version:

  • Database-agnostic
  • Preferences (now stored in config/site.rb) will be in the database and managed in the admin tool
  • Little bug fixes (mostly for Windows users)
  • Tweaks to the post admin tool to make it even simpler

Keep your feedback coming, and be sure to let me know if you're using SimpleLog on your site. I'm compiling a list of active sites and will link to them from the website soon.


Okay, so let's say I'd spent a little bit of time writing a simple and efficient weblog application using Rails, and I wanted to release said application, but I wanted to run a quick private beta test first to make sure it works for everyone. What would I do?

Perhaps I would ask anyone interested in testing this Rails weblog application to send an email to garrett at maniacalrage dot net, with the subject "I want to test your app," and then I would send this app to those people and they would play with it for a few days and report everything was fine and then I would release the app under the GPL and such.

Right. And in case anyone was curious, I would tell them that the app is basically a better version of the app I built to run this site, made easier to configure and install and use.

Update: Wow, okay, we've got enough. Thanks!


It's two-for-one Monday! First, we've just released the fourth episode of The Garrett Murray Podcast. It's just over twenty five minutes long and, I think, probably the best episode yet. And, on top of that, I've finally finished the full podcast website and released that as well. There are a few interesting things about the new website:

  • I'm using Typo, a Ruby on Rails CMS, but I'm realizing that it's a waste of time since I pretty much stripped everything out of it anyway. I initially chose Typo because I found a theme for it that I liked (see below), and now that I've customized that theme so much, I think I might eventually just strip this down to the theme on top of a simple engine that I build myself. In the meantime, Typo it is.
  • The theme I started with was Hemingway, by Kyle Neath. I tweaked nearly every page, changed colors, removed and added features before arriving with the final version on the site now. Still, most of it is Hemingway, which is a really great theme.
  • It was very important to me that people be able to submit feedback easily, so every page has a button on the upper-right that allows the user to fill in a form and submit feedback right then and there, without leaving the page or opening an email client. On top of that, I took the idea behind Lightbox's display (which I use here at Maniacal Rage) and abstracted it to make the feedback form look prettier. It looks best in Safari and Firefox on the Mac, but it "works" in all browsers. Submit feedback to your heart's content (hint!).

There are a few things missing from the site (mostly meta data like the bio pages), but it's up and running for the most part and presents a much prettier and more logical home-base for the podcast from here on out. If you haven't subscribed yet, now's your chance!


This is a new version of Maniacal Rage, built in Ruby on Rails. The old stuff is gone (well, technically, it's still available in the graveyard—look there if you want to). Things are about 95% simpler. There is no archives page. There are no monthly archives. You can find things by tag or by permalink, or by searching. Find all those options in the small information area on each page (you can get to it quickly by clicking the site's title up there).

You'll need to update your feed subscriptions, sorry. See below for new addresses (or use the auto-detected link in your browser [most have this now]).

There are no comments yet. They might come back, I don't know. For now, let's do it old school and you use the email link on the page to send me any feedback you have. I'll respond, probably.

Yeah.