Thursday, May 7, 2009

Long time no post

Hello all.

Well, shucks. I've been pretty bad about updating the site or the blog but just wanted to leave a quick note to let you know I'm still here.

I've been working away on chapter 4 of "Awesome Kitty Kingdom". That's the good news.

The bad news (you knew it was coming), is that my website is currently in disarray so I can't share any of the art with you yet. I'm working to remedy that soon.

Ta-ta for now!

Sunday, January 11, 2009

Luffy and Life

I got to thinking again today about one of my favorite comics, One Piece, by Eichiro Oda. Oda is only 3 months younger than I am but is prolific in his comics. But much more than the volume of comics he has written, I am continually impressed by the powerful messages he presents in his comic work, One Piece.

The basic plot of One Piece might be stated as follows: "Young man, Monkey D. Luffy, inspired by his childhood hero, decides to set out in search of the famed treasure of all treasures, the One Piece, and become the King of the Pirates."

What is incredible about the story, however, is the characters and how they stay true to themselves. Specifically, the main character and captain of the "Straw Hat Pirates", Luffy, is absolutely unwavering in his thoughts of who he is. Whenever anyone asks Luffy for his name, he replies, "I'm Luffy, the man who will be King of the Pirates" (in Japanese, it's "俺はルフィ、海賊王になる男だ").

Now, what's interesting about this is that Luffy not only knows who he is but he acts like it to. He has a certain concept in his mind of what it means to be a King of the Pirates. That concept includes valuing freedom, friends, love, and life by always living 100% in the present moment. That concept of who he thinks the "Pirate King" is drives him to be fierce and strong, yet fair and good. My point here is that this inner concept that Luffy has of who he is profoundly drives him, gives him strength, and adds strength to those around him.

What's more interesting is that this fundamental concept that Oda's character displays appears to be echoed in some of my favorite works.

For example, Shakespeare had this to say in Hamlet:

This above all:
To thine own self be true,
for it must follow as dost the night the day,
that canst not then be false to any man.

Mahatma Ghandi had this to say:

Be the change you want to see in the world.

I even see some of this thinking echoed in the philosophy of functional programming, a type of computer programming I am currently studying. In functional programming, there is no dynamic state--the core doesn't change. That is, something that is defined always is that definition and acts accordingly. If we define the following function:

f(x) = x + 2

then if I apply the function f to the value 3, I always get 5. That is, f always knows exactly what it is and when applied to a new situation (in this case, a number), it acts accordingly by natural consequence of its definition. That is, when f is given the number two it gives back the number five since f is the relationship that adds two to a number.

Another way we could understand this is with the game of chess. The rook can only move straight, the bishop diagonally, the knight in an "L" shape, etc. If we were missing one of our chess pieces, let's say the knight, we could substitute a bottle cap and the knight would still move in an "L" shape. Why? Because that's who a chess knight is, that's what he does.

Where am I going with all of this? Well, all of these things come back to a simple yet profound thought. If we truly know who we are, then we will act according to who we are, and change happens to us, through us, and around us all because we hold true to this static and solid concept of who we truly are and who we truly are is beautiful.

So who are we really? Who am I? And who are you? ...and do we act with that knowledge?

Tuesday, January 6, 2009

Chapter 3 Uploads!

Well, I've started moving the beginnings of Chapter 3 of Awesome Kitty Kingdom up to the Flickr site. I owe you folks at least one more (I'm supposed to be posting one per week but I lost count over Christmas break). I'll post up to page 4 this week and we should be even! Ta ta for now!

Friday, January 2, 2009

Frankenstein Brings in the New Year

First of all, Happy New Year!

I took it upon myself to update my online presence in this first week of the new year. I have been using the Django framework to manage my website/blog/photos/comics etc and I really enjoy it but things were starting to get crazy in terms of spending too much time working on my website instead of using it. My initial thought was to turn to Google Apps, Blogger, and Picasa Web Albums.

The idea was for Google Apps to handle my website with Google Sites, my e-mail with gmail, and my events and planning with Google Calendars. Blogger would then handle my blog and Picasa Web Albums my photos and comic art. I also investigated Pastebin and Code : Keep as a means of holding computer code snippets.

Here are the results:

I am extremely impressed with Blogger and in-fact, that is what I'm using for my blog engine. It has all the bells and whistles I'd like in a blog (including the ability to add Google Gadgets) plus the ability to customize the skin and the URL. Exactly what I was looking for.

Picasa Web Albums was nice and I went ahead and created an account but I soon realized I was going to need more space than was available for the free account. I then looked into Flickr and also came to the conclusion that I'd probably have to upgrade my account to a paying one which I did. Despite having to pay for it, I was more impressed with Flickr than Picasa mainly due to my familiarity with the product, and my sense of it's larger popularity. I also liked the interfaces slightly better and thought the sets and collections were a bit nicer that what Picasa has to offer for the time being. I was sad that neither Picasa nor Flickr lets you skin the site look and feel like Blogger.

I was largely pleased with the Google Apps suite. It allows you to hook into your domain using DNS overrides and so I was able to set up gmail and SPF records fairly easily. I was also able to set Google Sites to run on www.okeefecreations.com just by setting the CNAME in the DNS override for the www subdomain.

However, as I began fiddling with Google Sites (the web-page creator part of Google Apps), I began to see there was a problem. Google Sites is basically a wiki engine bundled with support for Google Gadgets and some very limited templating. It just wasn't going to cut it in terms of setting the look and feel as I liked and it was a huge step back from the dynamic content generation I had achieved with Django. Therefore, I decided to stick with Django and nix Google Sites (while keeping the rest of Google Apps: gmail, calendar, etc).

I dropped the blog, photo post, and comics applications on django (that functionality being handled by Blogger and Flickr respectively) and rewrote the django code to be less subject to change and just pass off the heavy lifting to Google Calendar, Flickr, and Blogger.

The new revamped website is available here:

http://www.okeefecreations.com

If you'd like to see the Google Sites attempt, it is here:

http://gs.okeefecreations.com (I may take it down in the near future)

Note, after I had switched back to django, I ended up coming across another website building site called SynthaSite. They have all the right qualities (free, no adds, custom skinning, custom URL corresponding to your domain), but I haven't put their service through the paces to be able to say anything about them yet. They might be a future possibility.

As far as pastebin and codekeep, I ended up sticking with my custom pastebin app instead of going with these code repositories (they just didn't quite cut it versus what I already had).

So, in summary, O'Keefe Creations is now a cute Dr. Frankenstein's Web Monster consisting of:
The advantage is that each of the individual functions has become much easier to manage. I'm hopeful that I can actually be able to start using these functions instead of coding them. And of course the great motivation behind all of this is to have more time to draw comics. My new year's resolution? We'll see.

Cheers!

Wednesday, December 31, 2008

It was nice to forget, it was nice to remember...


Well, I'm back from my wonderful vacation down in sunny southern Arizona. I went down for Christmas to visit friends and family. The photo is from my parent's house out in Elephant Head, AZ. The mountain is Elephant Head -- can you see the elephant?

It just struck me how really nice it was.

Gone were all the stresses of adult life, any stress associated with my job, etc. Only the good things of my life here in Colorado remained and they rolled off the tongue when people asked how I was.

But being home also brought back memories -- memories of when I was a child; remembering how much I love the desert; playing with my sister's cats and the kittens my dad "adopted"; eating mom's good home cooking; attending our family church in Tubac, AZ; heading to the Arizona Sonora Desert Museum with my Dad (he had actually never been!!!).

Ahh, for a week I was truly home and the feeling still permeates my heart.

Monday, December 8, 2008

The Comics are Here!

Well, the comics are finally uploaded (and the crowd rejoiced). Actually, at the moment I only have Awesome Kitty Kingdom Chapters 1 and 2 up. I'm figuring that I'll add one page a week to Chapter 3 (which is complete) to give me time to finish drawing Chapter 4. I may intersperse that with uploads of some of my other stuff (24-hour comics, sketches, T-shirt designs, etc.)

Anyhow, it's nice for the site to have the comics back. Comics, you were sadly missed ;-)

Tuesday, December 2, 2008

Hello Ruby!

Although I'm historically a Python guy, I've been having fun playing around with Haskell lately. I've also been curious about two other scripting languages: Ruby and Lua. I thought the best way to compare all of the languages would be to write a bit of code to compare all three head-to-head -- same functions, same functionality, tested and with a GUI. I want to also incorporate some functional programming techniques into the Python, Ruby, and Lua code as well as I'm really getting to really love FP and I'm hoping this comparison will be a nice way to highlight how cool Haskell is -- but I'm trying to stay objective (really!).

At any rate, I thought I'd post a bit of Ruby code today.

Today I'm just going to post the code with no particular explanations. When I get sources finished for all the target languages, I plan on walking through the code and explaining it at that point.

Just to give you the basic idea, I'm trying to get some numerical array processing going in Ruby similar to what I can do with NumPy in Python or the product Matlab (or Octave if you'd rather). Here's my attempt plus the subsequent unit testing code:

OK, so today just code only without discussion but hopefully I'll be posting more later. Stay tuned for the big boys: Python and Haskell!