1st Corinthians Project CD Cover Design 3

Posted by Mike on October 22, 2008

My pastor asked if I would design a cover for a CD that our church is producing. Always up for a challenge, and having been employeed as the layout editor for my high school’s newspaper, I accepted. This was a fun project, but not one without troubles. I have learned much from my mistakes, and look forward to doing more print design in the future.

The first problem I ran into was my lack of software. Never fear, I thought — GIMP to the rescue. I quickly learned that GIMP was not designed for print design, however. The fonts looked awful. I forged ahead nonetheless, though. After consulting with Jason, he managed to salvage my 72 dpi (mistake number two) GIMP produced images into something worthwhile using In Design CS3.

When I looked at what Jason had wonderfully created for me, though, I just wasn’t satisfied. The 8 pt font that he placed in the document using In Design looked so much better than the 42 pt font I placed using GIMP. This is when I learned that GIMP must never ever be used for anything other than photo manipulation.

So I decided that I must start from scratch using software that was designed for desktop publishing. A Google search for an open source In Design alternative led me to Scribus. After installing Scribus and the GhostScript library (to assist with PDF creation), I set to work. It took a little bit to learn the software, but once I got rolling, I managed to produce the final design in just a few hours.

So, without further ado:

The album cover

The track listing page

The cover uses a wordle which was generated using the entire text of 1st Corinthians. I used Good News Publisher’s RSS feed to get all 16 chapters of the Apostle Paul’s letter from the English Standard Version and shoved it into wordle. After randomly generating a dozen or so arrangements, I figured I would have enough to work with. I like the final arrangement of the cover — it looks a bit like a factory with a smoke stack, but the factory is 1st Corinthians, and the smoke is comprised of the words found most commonly therein.

A Corinthian column that I found on Flickr seemed an appropriate backdrop for the track title page. It was provided by these kind folks via a Creative Commons 2.0 license.

Employer: Self

Skills used/gained: GIMP, Scribus, general desktop publishing knowledge

Time invested: 15 hours

Ruby on Rails and Unfuddle: So Good Together

Posted by Mike on October 14, 2008

Yesterday I started making a website for my church. I basically want to create a glorified address book where church members can go to update their contact information and look up the contact info of others. Nothing to write home about, I know, but it is a good excuse to learn Ruby on Rails and to use a new programming project management suite I found called Unfuddle.

First, Unfuddle.

Unfuddle is a project management tool developed specifically for managing programming projects. I have yet to explore it completely, but it looks to be very promising. It has milestones, tasks, timesheets, svn/git hosting, and some wiki style pages. It’s basically a perfect integration of trac/svn/mediawiki that is already setup and hosted for you. Plus, it’s API exposes nearly every aspect of the system so you can build widgets and mashups until your heart is content.

I hope to be using Unfuddle a lot in the future (hopefully I can convince my employer to make the switch), but for right now I’m just taking advantage of their free 200MB of SVN storage.

Now onto everyone’s favorite buzzword, Ruby on Rails

I’ve had a number of false starts into the RoR world over the past few years (I even developed a plugin a few years ago), but I have never completed a project using RoR. Hopefully now I will have the motivation to do so. I’ll jot down a few of the things I learned yesterday (even the horribly embarrassing ones)

  1. Don’t forget the = after <% if you want to output. I spent about 1 hour trying to figure out why my layout wouldn’t yield.
  2. There is no built in email model validation, but there’s a pretty sweet plugin named validates_email_format_of. RFC 2822, RFC 3696, yada yada yada.
  3. If you want to use the flash scope, but don’t want your variable hanging around for the next request, use flash.now().

Using jQuery to Facilitate Default JavaScript Function Arguments 1

Posted by Mike on October 13, 2008

I’m not a very good JavaScript programmer, but today I decided to try and become a little bit better. My usual JavaScript methods involve a lot of hackery. One of the things I have never found a good solution for is passing arguments to a function. With the help of jQuery, today I found what I think to be a pretty good solution.

The technique is pretty simple: pass an options object to the function you’re calling (or don’t), create a default arguments object at the top of your function in question, and use jQuery’s extend function to merge the two.

Here’s some code to help explain:

/*
 * call the function with some options
 *
 * will alert:
 * option1: whatup
 * option2: false
 * option3: 2
 * option1: "andhow"
 */
mySweetFunction({
   option1: "whatup",
   option2: false,
   option3: 2
});
 
/*
 * call the function without any options
 *
 * will alert:
 * option1: sillystring
 * option2: true
 * option3: 100
 * option1: "andhow"
 */
mySweetFunction();
 
// the function in question
function mySweetFunction(options) {
   // establish the default values
   var args = {
      option1: "sillystring",
      option2: true,
      option3: 100,
      option4: "andhow"
   };
 
   // use jQuery's extend function to merge
   // args and options, modifying args.
   $.extend(args, options);
 
   alert("option1: " + args.option1);
   alert("option2: " + args.option2);
   alert("option3: " + args.option3);
   alert("option4: " + args.option4);
}

SGCC Statement of Faith Wordle 1

Posted by Mike on October 03, 2008

SGCC Statement of Faith Wordle

SGCC Statement of Faith Wordle

I have been a member of Sovereign Grace Community Church in Roanoke, VA for about 2.5 years now. This is a wordle created using the text of my church’s Statement of Faith.