Estelle Getty 1923–2008

I’ll let you in on a little secret: I always loved The Golden Girls. Who couldn’t love old women telling dirty jokes? Seriously.

Moment of silence for Estelle Getty.

P.S.: Let the obituaries titled “Thank you for being a friend” begin.

Why I’m Building My Own Site

I should preface this post by saying that this will be the first of many very nerdy posts. This site isn’t completely done because I’m building it from scratch using CodeIgniter. By programming the site myself, I can make exactly what I want and hopefully apply it to future projects. I will be documenting some of my bigger A-HA! moments here on the blog. You have been warned.

I want to hone my skills as a programmer, but the truth is: every off-the-shelf CMS out there tends to be overkill for what I want to do or is too blog-centric. In the case of my portfolio, I want a CMS that presents me with a place to put my description and a place to put files, and be done with it. Another CMS would require me to shoehorn how I want my portfolio to appear into a template that I have to fill out, and then that content becomes harder to reuse later. That’s why I have a portfolio controller and a portfolio model in CodeIgniter, as well as separate portfolio and files tables in the database. I could completely redesign the portfolio section a year from now and not worry about having to change any of the content.

This weekend, I found myself needing to bend CodeIgniter to my will. That I was actually able to showed me how much I like its malleability over other frameworks.

I created a new pages database for all of that static content that every site has, like the About ARLOdesign® page. I created a page controller, put the code to pull the appropriate page in the index function, and then made a route:

$route['about'] = 'page/index/about';

That worked dandy, but it got me thinking: What if I add a new page? Does that mean I have to add a new route every time? I can’t expect another user who might want to use my application to edit their own routes; that’d be silly. Shouldn’t everything be a page unless I specifically create a controller to do something special? Wouldn’t it make more sense if:

  1. CodeIgniter checks to see if a controller exists.
  2. If a controller doesn’t exist, send the request to the page controller.
  3. If the requested page doesn’t exist, send a 404 message.

It took awhile, but I ultimately came up with the solution.

Obviously, CodeIgniter has to see if a controller exists: it’s in the Router.php library. I found this post. Now I have MY_Router.php sending requests to the page controller with:

return array('page', 'index', $segments[0]);

Problem solved, right? Except for one caveat: I wanted a custom 404 page, and I wanted that page content to also be editable from the pages database table. Now it gets fun. It was easy to have page controller return the 404 page if the database query returned zero results, but what about the portfolio controller? I can’t just redirect the user to a 404 page because the URL in the browser would change, preventing the user from saying, “Oh, there’s a typo” or something.

Ultimately, the answer was to create MY_Exceptions.php and extend the show_404 function. I copied my code from the page controller and loaded the 404 page. Sure, there’s probably a better way than having to copy and paste code like that, but it seemed like a great, quick hack to accomplish what I needed. It also required an even uglier hack to actually display the views, invoking the output class manually. It worked, but I think it can be improved. UPDATE: It became a library.

The point of all this: I learned more about how my site will operate than I did before. I learned some new skills, and I have more to be proud of on this site than just the content. That’s pretty damn satisfying. That’s why I’m building my own site: because when it’s exactly what I want it to be, it means I learned a lot on the way.

FYI: The blog is running in WordPress, but that’s temporary. I seriously plan to replace it, as WordPress really is more than I need.

Our First Anniversary

Yesterday, Mrs. Guthrie and I celebrated our first anniversary. Since we are both graphic designers, it only made since that we should make gifts for each other in honor of the paper anniversary.

Mrs. Guthrie’s Gift for Mr. Guthrie

We both approached the projects very differently. To her, content was king, and she went to great lengths to generate a massive amount of content.

Our Anniversary Gifts

Mrs. Guthrie made a page-a-day calendar. Every weekday shares something she loves about me. The notes range some personal behaviors I never noticed – like how I look over the top of my glasses when I’m saying something serious – to personal appreciation for how I treat her (which is like a princess, thank you very much) to, uh, dirty stuff. Since I know you’re going to ask, the weekends in the calendar are devoted to dirty stuff.

I do help her friends with their technical questions. A lot.

I read through every single page aloud and, as is my wont, cried like a baby. It was overwhelming to read over 200 reasons why I’m special to this amazing woman, and I just couldn’t keep it together.

I also appreciate the Futurist/Constructivist slant she gave the design, knowing my affinity for those styles. A perfectly executed design from the best designer I know.

I love you, sweetie. Thank you.

Mr. Guthrie’s Gift for Mrs. Guthrie

I wanted to emphasize craft. After all, it’s the paper anniversary, so I was determined to make this gift about the paper.

I am so amazed at how quickly one year went by. In thinking about the past year, I wondered if I had forgotten anything that happened. That’s when it occurred to me what I should make for my gift.

Front view of open box

What you see is 51 individual booklets representing our wedding and 50 separate anniversaries, meant to serve as freeform diaries of our marriage, all scored and trimmed by hand. The booklets fit in a slipcase that stays shut with a magnet. The magnet isn’t strong enough to grab the spent X-Acto blade glued underneath the bookcloth on the lid, so I threw that bulldog clip on the front to hold it shut. It was a temporary solution, but fortunately Mrs. Guthrie liked it; she can use the clip to hold a photo when the box is closed.

The Furniture Anniversary

Each booklet has a number stamped on it to represent the anniversary. When there is a traditional gift for that anniversary, I added a drawing to represent that gift. (The 25th anniversary and the 50th anniversary, in lieu of drawings, have glued-on PMS 877 and PMS 871 chips, respectively.) The pages have a simple grid of dots for writing, sketching, or even gluing on a photo. The inside-back cover has a pocket to hold photos, concert tickets, locks-of-hair – whatever she wants to hang on to. While it may appear that the booklets are in there tight, the cover stock on the booklets is not folded too flat, making the booklets springy enough to fill the slipcase. There is still plenty of space for it to expand with photos and other items.

Oh, and those stamps? Carved by hand:

10 Hand-Carved Rubber Stamps

I wanted the type to match the font we used in our wedding invitations, and I’d always wanted to try my hand at carving my own stamps. Seemed like a perfect opportunity to give it a chance.

By the way, if you’re making your own stamps, try this: print your artwork on an ink jet printer to vellum or tracing paper. Then, while the ink is still wet, rub the artwork onto your block. You’ll get pretty good transfer of what you want to carve. Just be careful when you’re working – it will smear.

All in all, I wish the box had turned out a little better. I hadn’t allowed myself enough time to make it, and frankly, I took a risk making it anyway since I’ve never had much luck making boxes. But Mrs. Guthrie seemed happy, I had a lot of fun making it, and that’s all that matters.

Future Celebrations

The Mrs. and I decided to create a book. We’re going to design a page for that book to commemorate every holiday and celebration that we share together. The box will serve to chronicle the events in our lives; the book will track our work as designers. Of course, I will share those here.

Now, if you’ll excuse me, I have to go reread over 200 reasons why someone thinks I’m awesome.

(Updated on 7/2/08 to correct some grammar and to share this link to the photos on Flickr.)