Follow Your Passion

Wednesday, December 28, 2005

Bye Bye Crutches


Now that school is on a hiatus, I decided to move on from the bookstore example and begin to develop my own application. At the moment, my idea is to have an online site to organize your information, but we'll see how that evolves as time goes by.

One of the things I was afraid about when I first got the book "Agile Web Development with Rails" was that it would be out of date by the time I really wanted to start programming. But luckily, it wasn't too bad. Actually, the only big thing I've come across that wasn't in the book was the whole migration thing: where you're able to create tables and columns in Ruby instead of the SQL language of the specific database installation. But the only way I found out about that was by watching the new screencast. So come to think of it, there are probably many other new things added that I have not come across. Time to check out the change log...

The most satisfying aspect of developing my site has got to be when I integrated Ajax. Don't worry, I realize that unnecessary use of flashy things on a site does more harm than good. Ajax was definitely a plus, honest. But anyways, when I saw the page update asynchronously, it was a big accomplishment. I felt like I had finally caught up to the forefront of internet technology. I was doing things that only "cutting edge" websites are now starting to do. And Ruby on Rails made it just too easy to do. Especially with the Prototype framework, soon everybody and their mom will start taking advantage of Ajax. But by then, I'll move on to the next cool thing :-).

But for now, I'm focusing on finishing a prototype of my application, so I can put it up online. Then we'll take it from there.

Tuesday, December 27, 2005

Aardvark'd Shmardvark'd


So I got this DVD called "Aardvark'd: 12 Weeks with Geeks". It's a DVD about the summer internship of four guys at the Fog Creek Software company. What makes their internship cool I guess is the fact that they got to develop a product from start to finish. I bought the DVD since I thought it would get me a prospective into the inner workings of a start-up like atmosphere. But in the end, I was disappointed. Maybe the aim of the movie was to make people realize that geeks do more than just program, that geeks can be funny, and that geeks are real people. I guess it does a good job of that, but it doesn't make for entertaining content.

Probably one of the main reasons I decided to get the DVD is because I saw that Paul Graham was in it. And I love that guy as I've said before. But he ends up just talking for a few seconds. Damn... So after the movie, I decided to get Graham's book "Hackers and Painters". We'll see how that turns out.

So back to the movie. Out of five pocket protectors I give it... two pocket protectors. I slightly regret buying it, but in the end, I'll probably end up watching it one more time... with the director's commentary... when I'm really bored...and it's raining outside.

Monday, December 26, 2005

Anthony on Ruby on Rails


After setting up my awesome Linux server, I dabbled with some web programming. Being that I was comfortable with Python, I decided to play around with the CGI module. Once I realized I didn't know what the heck I was doing, I thought I'd get a book on CGI programming in Python.

I couldn't find one anywhere. Okay, let me be more accurate. There is not a single corner on the face of this planet where you'll be able to lay your eyes on a book with the words "Python" and "CGI" both on the cover. But seriously, I was saddened at the lack of literature on the subject. The fact that there are so few books on the subject correlates to the fact that there are so few people interested in it. So... what to do?

Ruby on Rails. Damn you. All this hype about you. I wanted to stick to my Python. Not to have to use this cool new language called Ruby that is supposedly a "pleasure to program in". Yes, there's TurboGears, but that seems just like patching together a bunch of unrelated pieces. From what I read on Ruby on Rails, it seemed like a nice, smooth platform. So guess what? I gave in. I got the book on Ruby on Rails... and it was awesome.

Ruby on Rails is the shiznit. Yes, I know I'm new to this whole web programming thing. But I had to do a programming project using PHP, and it was such a pain compared to RoR. I went through the whole tutorial in the Ruby on Rails book on how to build an e-commerce website with a shopping cart and everything. It was just too easy. And now, I'm hooked. Especially considering the RoR has now reached 1.0, I'm confident that it'll be a good enough framework to accomplish my goals.

Now I can fill in another piece to the puzzle of creating my own site.

Friday, December 16, 2005

Like a Sponge


I think the actual education you receive from a good university isn't much different from an average university. The true perks of attending a prestigious institute is the environment that surrounds you. The few years that I've been here, I've had the opportunity to hear talks from CEO's and founders of some pretty sweet companies. There's no bigger motivation to starting your own company than having someone in front of you whose already done it. And best of all, they all made it seem as though the opportunities are out there waiting to be taken. The most important theme they all seemed to share was the idea of Web 2.0. Man, that's just an awesome name. Lets go over it.

‹Web 2.0›

Considering how advanced technology has evolved over the last few years, the internet has some major catching up to do. We've probably gotten prettier layouts with CSS, or cute graphics with DHTML, but it's all pretty much the same. It's all just a bunch of html pages linked together. Every time you need to do something, you have to click, wait, and continue. The 'wait' part hasn't been a big deal with the sort of applications available so far. You don't really care if it takes two or three seconds to place an order on a website. But for anything that required multiple user interactions, that 'wait' is killer! Look at Yahoo maps. If you wanted to move the map around to see past the edges, you'd have to click on the arrow, wait, and then continue. But if you wanted to scroll more, you'd have to keep repeating. Pain in the ass.

But soon that'll be history! Like mice with rubber balls. Google (ah... precious Google) came along a little while back with a revolutionary idea. It went a little like this: Get Rid of the Wait. Genius. The technology has actually been there for a while, but only Google has taken full advantage of it. With their Google Maps, they asynchronously send server requests, meaning you dodn't have to refresh the whole damn page just to see a change in a small square. This simple removal of the 'wait' has opened up the internet to scores of web applications that can now take in successive user inputs without pissing the crap out of users. And like every cool, new, hip thing, this idea was given a name: Ajax.

‹/Web 2.0›

Now I am making sure to attend every talk and presentation that I can. Every time I hear a new interesting idea, I think how I can apply that technology. I'm making sure to absorb as much of this info as I can. Slowly I'm molding my idea. Hopefully, with all this advice, I'll be able to come out with something interesting for people to use. Only time will tell.

Tuesday, December 13, 2005

A Journey of a Thousand Miles...


begins with a single Linux installation. I had some free time from classes (actually, I was trying to find a way to procrastinate) so I decided to install Linux on an old desktop computer. It's something I've been meaning to do for some time since it's one of the requirements of being a geek, and geeks are awesome. But in reality, I already have been calling myself a geek ever since I bought a Zaurus, but that's probably cheating. Installing on a desktop is the real thing.

So the question was... which distro? There seemed to be so many of them, and to tell you the truth, I still wasn't to sure what they all meant. So I just stuck to what I knew: Fedora. I used it at my summer internship and it seemed pretty cool. So off I went to download the three-disks worth of data (yes, I know, I should also download the fourth "recovery" disk but I like to live life on the wild side). It was already pretty late, so I decided to just let it download while I slept.

It felt like Christmas morning when I woke up. I was finally going to begin my journey. But then the Grinch came by and stole it all away: I had accidentally downloaded the 64-bit version. No one ever said the road to geekdom would be an easy one. So my Linux installation would have to wait until afternoon.

It took hours to get it to work. I had to run around everywhere to find drivers. I pulled parts out of the computer and had to switch it with newer parts. And I finally gave up when it asked me to find Bin Laden. Okay, honestly, I did the whole thing while watching a football game. It was a piece of cake! I had heard all these horror stories about installing Linux, but Fedora Core is just so awesome. It was as easy if not easier than installing Windows.

After the install, I spent the rest of the day playing with it. It's pretty awesome how good of a personal desktop Linux can be. It has all the desktop applications you would want, and they're all free! So I asked myself "Hey, Anthony, why don't you use this as your primary computer?" and after some thought I answered to myself "Internet." After being annoyed at the short answer I gave to myself, I had to ask myself "What the hell do you mean by that?" But now I think I know what I meant. The vast majority of the internet nowadays is targeted toward Internet Explorer. Most of the sites work for Firefox and (my favorite) Opera as well, but not all. And the sites that don't work for them are sometimes the really cool ones, like Launch.

So for now, I'll just stick to the original reason I installed Linux: to run my own webserver.

Monday, December 12, 2005

In the Beginning


So lets see. I've been interested in computers for a while now, but I never knew exactly what I wanted to do. I thought I'd find out in college but so far... I'm still confused. Or at least, until I heard Paul Graham.

At that point, I didn't really know who this guy was. I knew he must be some sort of a big deal if he was being brought to talk, and I had some free time so I thought I'd stop by. That day he talked about how hiring is obsolete. His idea was that undergrads are just as capable at starting companies as anyone else. And most importantly, attempting to create a startup isn't as crazy of an idea as it might first sound. After graduating, or even during college, we have no real responsibilities. No big mortgages, car payments, wives, kids to support. That's the time when we can take risks and go for that idea we've always had in our heads. And if it fails, it's not all that bad. There's still something you can put on your resume that can impress future employers. That speech opened my eyes.

I came out of there realizing I had imposed invisible barriers on myself. "I can't start a business yet, I don't know anything." "Where will I find the time?" "I don't have any ideas." Well, after that speech, I realized I was wrong about all that. Many businesses in the past were started by people who didn't know exactly what they were doing. To actually get a working prototype doesn't really take that much time. It's about that size of a project in one of my classes. And most importantly, I did have ideas. "Man, I just wish that was something that #{ insert idea here }!" Well then, why don't I just make it? And that's exactly what I have set out to do.

Sunday, December 11, 2005

Hello World

Hello internet world. Allow myself to introduce...myself. My name is Anthony, and I'm a computer-holic. Okay, okay, it's not that bad I guess. Well, actually, maybe it is. At the present time, I'm in the middle of my third year at college studying computer science and electrical engineering. School is fun I suppose, since I get to program for homework (as oppose to writing essays, oh those horrible essays!). But yet, I feel unfulfilled here.

How can I be truly excited about what I'm learning in my classes when it's all at least five years old? In computer terms, that's practically the Ice Age. All around me, there's new technologies and innovations popping up. Things I'll actually be using in my future job. And this is the point of this blog... following my passion.

It's time for me to stop just sitting around and see the internet world pass me by. This blog will be my diary as I jump onto the internet train, and see where it takes me. I might end up closer to where I want to be in life, or it might just be a big waste of time. But no matter what, it'll be a heck of a ride. So here we go...