Learning Ruby!

December 3rd, 2005

I’m learning Ruby! It’s fun to do simple things in a new (for me) language. Hello worlds are always fun. Here’s what I just did!


lyric1 = " bottles of beer on the wall"
lyric2 = " bottles of beer"
lyric3 = "take on down, pass it around, "
beers = 99

while beers > 0
    puts beers.to_s + lyric1
    puts beers.to_s + lyric2
    puts lyric3
    beers = beers - 1
    if beers == 1
        lyric1["bottles"] = "bottle"
        lyric2["bottles"] = "bottle"
    end
    puts beers.to_s + lyric1
end

Pretty basic, I know, but I’m having fun. Soon I’ll be moving on to Ruby on Rails and writing kick-ass web apps.

Here are the resources I’ve been using (the one thing I’m missing is an exact language reference – like, do I need semi-colons? do both ” and ‘ work for string literals? does indentation matter (like in python)?):

I started here – try ruby! (in your browser). This one rocks! Try it out in your browser, you can’t say no to learning when it’s this easy!
I’ve also been using Learn to Program, by Chris Pine and Programming Ruby: The Pragmatic Programmer’s Guide. The former is the one which had me write my 99 bottles of beer on the wall generator.

Ok, next up, I need to answer my own questions and report back with a good lexical reference!

update Here are my answers – semi colons are only needed if you have more than one command per line, indention doesn’t seem to matter (code works either way) and the same for double versus single quote.

Lazy Explanation of Blogging

December 2nd, 2005

I get asked about blogging quite a bit. i.e. What is blogging? How do I get started?

Here’s the short answer – if you’re more on the novice side of things (or just want simple no-fuss blogging) use Blogger. If you have your own (shared) hosting, and want one or two blogs, use WordPress. If you want to host several blogs for several people, use Roller Weblogger.

I could go on about what blogging is and why it’s so great, but other people have done that already (hence this is my lazy explanation). Here are some links to really get you started (and of course, I’m leaving out quite a bit).

Good overview/info on what blogs are:

http://en.wikipedia.org/wiki/Blogs

Resources for finding blogs

http://technorati.com/
http://top500.feedster.com/

Resources for reading blogs (rss aggregaters)

http://sage.mozdev.org
http://www.bloglines.com
http://reader.google.com
http://my.yahoo.com

Resources for creating your own blogs

http://blogger.com
http://wordpress.com

Resources for hosting your own blog

http://wordpress.org
http://sixapart.com
http://rollerweblogger.org

This is just the beginning. Read these and immerse yourself into the world of blogging! And maybe later I’ll do the non-lazy version of this post and add some detail, descriptions and in-depth recommendations.

Blogging Roller: Roller 2.0 ships!

November 24th, 2005

Blogging Roller: Roller 2.0 ships!

Great news! I’ll be installing this at work (tomorrow maybe?) and I’m hoping that we can really take advantage of the group blogging.

five years

November 20th, 2005

Today is my five-year anniversary at my current job. w00000t!

Wow, ruby on rails

November 19th, 2005

rails_take2_with_sound.mov (video/quicktime Object)

I was sold on wanting to try it out within a few seconds of this video. Hopefully more on this later (after I learn it and start using it – that’s the hope).

Ownership

November 18th, 2005

Let’s say you work at Ford or some major auto manufacturer. You bust your ass designing and building (yeah, I know they’re not hand-built, work with me here) dozens of car models or maybe you work specifically on some internal aspect, maybe the engine itself. And, you are keeping abreast of new developments from your part suppliers, the people who design the smaller aspects of the engine, like the fuel injector, always knowing when great innovations happen that can make your over-all design and performance of the engine so much better. And, your engine is in several car models and running ok. But, you have no power to demand that your new engine designs get a priority in the test cycle or pushed to be included in the next year model of all the cars. All you can do is be the squeaky wheel and hope that people who can make the decisions listen. You would get a little tired of working on engines and feel a bit burnt out. — Instead, what if you owned one line/make/model and were in charge of the engine for that model. You were emotionally invested in it and had the power to decide if it should have an upgraded fuel injection. And, you had instant (well, as instant can be in the auto industry) gratification – your changes went out with every new model! You don’t have to wait for the political garbage to work through the system and allow your changes to happen. I’ve basically had this happen to me at work. I have the ability now to focus on one individual site and guarantee that it has the most kick-ass fuel injection system we have available. And, since I have a bit of ownership on the site, I can make the decision to do the improvement, I can do the actual work and I can catch hell for it if it goes wrong. I have the responsibility and ownership and thus, greater pride and satisfaction in my work. Instead of being in a position where I knew what was wrong but couldn’t do anything but talk about it in general — I can now take action and get results (at least in this one area). Net result – I leave the office Friday evening feeling happy and satisfied (and I’ll spend the weekend thinking about what else I can fix – maybe there’s a new revolution in brake pads that I don’t know about). Kick Ass. Have a great weekend, ya’ll.

And then there were three news readers

November 16th, 2005

It all started with Sage. That was when I really grasped the awesome power of rss (and by rss I mean all syndication formats, atom, etc.). It changed my life. I could now keep track of an exponential number of sites and be up-to-date on so many news sources. Life was great. Pretty soon though, I started getting tired of having to mark items as read at home that I’d already read at work, not to mention having to coordinate subscriptions. For the time being, I just dealt with it, until I went on a trip and was completely away from my feeds crack. Then I added Bloglines. Bloglines is web-based, so I can access it anywhere from any machine and it always has my most recent state of unread items and my feeds are in one place. Rejoice! And, I can still have Sage for internal (e.g. corporate network) feeds (or feeds that actually are machine and location specific). Google Reader came along (note: I intended to do this post long ago when reader came out) and was added to the mix of my newsreaders. As of yet, I haven’t really used it much. My main problem with reader is that I subscribe to several feeds where I don’t care about 80% of the updates. Reader basically has one flow of news, an aggregate of all my feeds, whereas Bloglines has several folders that I’ve setup that allow me to have several flows of news which I can gate as I please. I sort of think of Bloglines as my personalized newspaper and of Google Reader as a friend telling me news (in Bloglines I can jump between the sections of interest and with Reader I trust that what my friend wants to tell me most is probably of interest to me as well). The beautiful thing about all of this is OPML and open standards! Switching back and forth between newsreaders is as easy as can be! So, whenever the next leap in news reader evolution occurs, I’m just an export and import away from giving it a whirl. Anyway, such has been my life and times with news readers — hope you enjoyed the tale.

Sage, Bloglines and Reader

Technical Interview Resources

November 16th, 2005

Here are some resources I highly recommend if you’re in a position to be interviewing candidates for engineering positions. Hiring Technical People is a great blog precisely about this topic. Subscribe to it. Also, read Joel‘s post, The Guerrilla Guide to Interviewing. These two resources (plus maybe read How would you move Mt. Fuji) and you’ll be interviewing like a pro. Also, don’t stop with just these two places, read other tech blogs, there are plenty of great posts on interview questions and techniques. Just don’t be a dick and ask about amortization (or anything else you had to look up immediately before the interview) — your coworkers (once they’re hired) will punch you in the gut.

Yahoo! Hollywood

November 16th, 2005

Interesting, I saw this on Ken Norton‘s blog – This is what being a “media company” means? He comments on this LA Times article, among others commenting on Yahoo! dealing with a Hollywood/Silicon Valley culture clash — mainly manifested in the big egos of hollywood execs. It’s pretty funny. Hard to say how much of it is true. Is this the same for other tech companies in LA? I will say that there are a lot of reserved parking spots where I work.

Google Analytics

November 14th, 2005

Awesome! Google Analytics. Just the other day Shadow was telling me about how awesome Urchin is for site analytics and we were hoping that dreamhost would consider setting it up for shared hosting. Well, no need for that now! (Google bought Urchin and now offers the services for free) Now I just need to sit back and wait for traffic so I can start the analysis! Can I get a w00t?