Quotes from "The Rails Edge"

One of the more interesting things I’ve read today.

The Rails Edge: Quotes and Notes

Definitely lots of little morsels of goodness here. A few of my favorites:

“Java is the blunt scissors of programming” — Dave Thomas

“The key to metaprogramming is understanding self. Isn’t that the key to life” — Dave Thomas

“Unless you understand the SQL code that Rails produces, your app will suck.” — Chad Fowler

“Rails deployment made you feel dumb. It was hard and then it still didn’t work” — Mike Clark

“I’m running, like 7000 Mongrels right now” — Ezra Zygmuntowicz

“Do the dumbest, simplest thing that almost works” — Stuart Halloway

“If you can’t test it, then it’s not a beautiful design. If you can’t test it, it doesn’t exist” — David Chelimsky

Got the Ball Rolling

The weekend was a blur. It went by too fast.

I made a trip to Madison, Wisconsin, where I met up with Amir to get this feed reader project off the ground. We didn’t code all the time, of course. We got a chance to see Superbad while it was still in theaters (when I first saw the previews for this movie, I knew I wanted to see this with the big Manj himself). I finally got a chance to play Metroid Prime 3 as well (which was cool).

I was happy to get the ball rolling. In the end, we didn’t get a lot of code down, but I felt like a lot of the foundations were laid into place… So many things I felt like I took for granted while running through the Depot application using Locomotive

Deployment of Rails Applications

But alas, this weekend has really pushed me to even more topics I need to quickly learn. Deployment of Rails is an amazingly tricky issue, and I have yet to see a coherent blog post on it. Hence, I bought the eBook Deploying Rails Application. Looks like a very good resource for all things Rails deployment.

Currently, we’re using Dreamhost (because it’s free, since Alex was cool with us using it) with FastCGI and Apache2. I hear it’s not the way to go. Oh the choices run the gamut from Lighthttpd, Mongrel, Pound, Nginx, blah, blah, blah.

Looks like one of the good ways to go is: Pounding Mongrel Light(tpd)ly

Something about Lighttpd rocking Apache, minus load balancing, which is taken care of by Pound…

Yes, I’m still confused. Much to test and learn.

Naming the Darn Thing

I really liked names that had to do with water due to the phrase “river of news”. “Firehose” and “Fire Hydrant” were suggested. We even went the tongue-in-cheek route and tried to name it something to do with garbage… refuse, debris, detritus… Foreign words… Latin words… I mean, this wasn’t the first naming session for this project.

In the end, we decided to not really belabor this issue any longer, and ended up just coming up with a standard way of naming milestones. Of course, this had to be funny, since it would be used internally.

We ended up with: Words that have to do with Christopher Walken sketches on Saturday Night Live.

Yes, I agree. It’s hilarious.

Of course, the first milestone project name had to be called “Cowbell”, from the infamous Blue Oyster Cult sketch involving “Gene Frenkel’s” (Will Ferrel’s) hilarious usage of the cowbell in the song “Don’t Fear the Reaper”. And who could the producer be? None other than Bruce Dickenson (). Yes. The Bruce Dickenson.

Why is this man so funny? I don’t even know if he’s trying… I wonder if he… talks like that… in real… life.

Or was that too Shatner?

The Date

Heck, I don’t even remember when I got the idea to do something silly like this. But I do remember coming up with a cool looking launch date not based on anything but the fact that it was a cool looking date. (For those of you wonder, that date was 07.07.07)

Regardless of what might have come before, September 1st, 2007 it is. The day when “Cowbell” started.

Time to put my pants on, one leg at a time. Except, once my pants are on…

Another Reason for NetBeans and Ruby

As posted previously, I’ve been looking into other alternatives to doing Rails, other than the industry-standard TextMate, and it seems like NetBeans is a viable choice.

Now I have another reason to use NetBeans (although, it seems like it’s a little bit slow for my tastes): Collab.

Reading through some more XP documentation, I come across the lovely page on Pair Programming. This isn’t something new, but I didn’t know that XP stressed this so much. I just kinda thought it was something you do if you can… but hey!

All code to be included in a production release is created by two people working together at a single computer. Pair programming increases software quality without impacting time to deliver. It is counter intuitive, but 2 people working at a single computer will add as much functionality as two working separately except that it will be much higher in quality. With increased quality comes big savings later in the project.

Emphasis are mine.

Wow. If that’s the case, I better start doing some more pair programming somehow. And seeing how the three team members on the project (Amir Manji, Derek Remund, and I) who are all four or more hours apart… I need something that’ll give me this wonderful ability.

I’ll continue to write on this IDE as I get more chance to play around with it.

EDIT: Of course, if I was smart enough to think things through, I would have checked if the same was implemented on Eclipse. Turns out… it is. It’s called “Eclipse Communication Framework“.

Frick on a Stick. I have to sit through both of these impressive Java IDE’s? Netbeans vs Eclipse?

The More I Look Into the Past…

… the more I see the importance of what’s to come. And yet, it’s funny… I keep just staring into the past for more clues about the future.

I definitely had the case of the Tuesdays, if you get my drift. Things picked up at the end, but man, it just wasn’t a good day. Legacy code kills.

Just recently, I’ve been talking to a lot of people I’ve lost in contact with. I had mixed feelings whilst talking to them… a concoction of happiness and anger, intermixed with a twinge of bittersweetness.

My left wrist is definitely acting up. I feel like I should see a doctor lest I be crippled for life with carpel tunnel. And that wouldn’t bode too well with the career I have in everything Internet ever.

I’ve been voraciously reading up on the feeds. There are a few technical stories you should be on top of. Hopefully, my Google Reader feed is doing you guys a favor.

As with everything else that isn’t PHP or Symfony, I’ve not really had time to dive too deep into it. It might be because Rails was my first MVC framework or that Symfony is basically a not-so-perfect copy of Rails, but I feel pain every time I encounter a roadblock in programming in Symfony. Routing really annoying in Symfony, and the folders… they still annoy me. Maybe I’ll get used to it still.

I guess I should put something of interest with this post. I guess I’ll leave you with this picture from the Minnesota State Fair.

Deep Fried... Snickers Bar... on a STICK

Suffice to say, it was one of the most ridiculous things I’ve ever digested. I’m glad I just got to nibble on it, at least… so I could still be alive to tell the tale.

Yeap. It’s another random post.

Well, I'm going to sleep well tonight

I don’t know the exact number of hours spent on HanMeta today. I gotta keep better track of the hours spent. I mean, I read my feeds during my breaks, and do some other work related to finding a full time job. Regardless, It’s just been a very very hectic day.

I’ll try to be a little bit more detailed so that others that are trying to set up Rails, Subversion, and Capistrano won’t have to go through the craziness that ensued today. Just need to figure out Capistrano… followed by lots of tweaking.

Yes. I’m so happy the app is getting started. I set a goal for this Sunday night (a little leeway) to have all this process stuff out of the way. Which mean I need to:

  • People
    • Who’s in? Who do I want in at this early stage?
    • Who’s doing what?
    • Take inventory of the hours people have to put towards this project
  • Rails
    • FastCGI vs Proxing HTTP?
    • How do I even do the second (because I hear it’s the right thing to do) on DreamHost?
    • So many other questions just about deploying an app…
  • Subversion
    • Double check on user/passwords
    • Make documentation (very similar to what I did with UIUC’s College of Education) on how to connect to the servers
  • ActiveCollab
  • Capistrano

Oh, and as a bonus, I want to run through the tutorial in the Rails book again before the end of the week. That way, I’ll be completely prepared for the n00bage that’s going to start next week.

I really hope that this doesn’t turn out like the last time I set out to do this. Lesson from that failure: Do something. It’s so hard to get things rolling.

Nothing to See Here: Just a Tired Man

I’ve been dying to put something up here. Something eloquent. Something earth-shattering. I mean, if it took this kid like a month to post something, it’s bound to be nuggets of diamond-encrusted platinum, right?

But I come before you, a humble man: I’ve got really nothing to say. And since I’ve got nothing to say (at least… I’m not lying to you), I think this is the best time to return to the “blogosphere”.

I’m not trying to come up with excuses as to why this blog has been just wasting away (no… it’s not WoW or Ruby or other life changing… events…), but I think it’s good to kinda throw out some possibilities as to why this might have happened.


I think it’s safe to say this: I was slapped on the wrist for violating an NDA with Yahoo! during the interview process. I’m still not 100% sure what I did to break it (I’m about 90% sure). Whatever it was, I think it was settled. I complied and removed the offending posts. I really should have requested a hard copy of that NDA… but I really don’t care too much about Yahoo! at this point. A recent article on Ars Technica covered a story on something like this.

At least I didn’t pull a “Josh Kim” after getting a job. Whew.

Anyway, all that insanity made me question something about this blog: Who am I writing for? Yes, it is indeed, partially for me… but what about everyone else?

I just haven’t really realized how public my blog is. I mean… it’s just as easy to get to my site as it is to get to facebook or google. This is the beauty of the Internet, and one of the many reasons why I got into web development in the first place. (However, seeing how Dreamhost has been acting up in the last couple of weeks… I’m considering switching hosts.)

So what is to become of JoshKim.org?

I think I’m going to keep it just as open as before… but with more sobriety (and no drinking jokes here, please). I think I just need to keep straight that this blog, while frequent most by the loyalist of fans (i.e., friends I know in real life), can and will be visited by people I’ve never met before. (That “How to Hack Xanga, Kinda” is one of the few examples as to why this statement is… so very true.)

In general, I need to start posting less personal posts. I have a lot of “Lessons Learned” posts, but I need to make sure those are just vague enough so that the people that were involved in the incident would know, and only those people.

Link blog? I think I should start it up someday… I have too many links to share with the world. I should at least start with my starred items in Google Reader.


Ruby. Rails. I’ve started going through the books. And methodically, might I add. I forgot how much I learn by doing. I also forgot how much I love to learn by doing. Yikes.

Purpose. Without purpose… why even do it? Follow the examples…

Why do all my posts end up with some kind of universal life lesson? Oh, right. Metacognition.

Ugh.


Chicago, Illinois. Madison, Wisconsin. Fun.

Continuing the Fight

Realizing more and more how much I lack… but realizing how much more there is to gain.

Started the work week definitely strong. I don’t know how, but I got up 20 minutes before my alarm hit. It was an angry 20 minutes of sleep, but I guess it helped a bit.

From 7:30 to 3, I worked straight through, without a lunch break. Afterwards… wow… I definitely was tired. I caught up on some XMan (Korean Variety Show), and headed for WIMPE. All this week, Dan Sun and I will be doing some much needed cardio. I definitely missed out on that while Dean was here…

Derek, why don’t you return my facebook posts? Boo! I’m going to call this one after work tomorrow to see if he wants to hang out… oh wait, after WIMPE.

I wonder if I should go into work tomorrow or Wednesday. I feel very tired… I didn’t get my 20 minutes of happiness.

Ah, and so now we’re into the meat of the post.

As I dropped off Dan with his groceries, I stopped by Gil’s apartment. Gil was a roommate I had my senior year… it was a pleasure of having this older brother still on campus… And this is when I realized my lesson of the day: It’s not about crying about what you don’t have, or just making do with what you do have. It’s about being so utterly thankful for EVERYTHING, in lack of or in abundance of ANYTHING… It can’t be one extreme or another. You can’t just be down on yourself for what you don’t have… but also you can’t be satisfied with just what you do have, and never reach out farther than you’re used to. Okay, in that last sentence, I mistyped “your”. Oh holy crap I’m getting tired.

Right, so let’s keep going with the brain on autopilot and run through a couple of things.

Backs and shoulders day cannot go after biceps and forearms. There must be something in between. Legs should be the fourth day in the regimen, and could be used as a break in between these two. Tomorrow starts up triceps and chest… Maybe the new schedule should be…

Chest/Triceps, Biceps/Forearms, Legs/More Abs Than Normal/Rest, Backs/Shoulders. For each day, have abs and cardio. Alternate between distance running (either on elliptical or track) and short distance (1 mile) per day.

Hooray for lifting gloves. Not only was WIMPE $130, but the gloves $10. More reason to go lifting… use that inner stingy Asian man!

And… I have nothing to report for today. Man… I need to get some time to myself and start writing some technical stuff.

Oh, and, MacWorld is tomorrow. It’s gotta be iPhone and iTV, but less so the iTV. Meh.

Might as well continue with the list.

I’m falling behind on the Bible reading. Gotta catch up slowly but surely.

Starting up back again for foreign languages. Daily… just like the Word.

Oh freaking rails… how much more I want to learn you.

If you’ve read this until now… wow, I feel loved. But really, you didn’t have to do that…