Tuesday, August 01, 2006

Magical MapReduce

My lunch today with, as my cube-mate calls him, "big boss," went well except for the fact that we went to the wrong restaurant (wasn't specified which location, so we assumed the one closer to us) and were a half hour late. I spoke at a decent rate though keeping the conversation flowing (moreso than the other co-ops, I think) and the food was great. Even better though, I finally purchased an external hard drive! It was a real steal, too, so I'd recommend it to anyone needing a hard drive. I have to geek out today because I thought it was so cool that Joel Spolsky covered the issue of functional programming on his blog, and I just love how he led into it, which only requires basic programming knowledge (as in a semester of begininer's Java, even) to understand if you read it. The rest of this paragraph assumes that you've at least skimmed the article. What's funny is that I just learned Haskell in the Spring in a really cool CS course at UT, and the stuff he's describing is what totally blew me away about Haskell. We actually learned about stuff like map and reduce exactly as he presented it in the latter part of his article, and it just feels cool to have my education validated like that. I think it's the little things you learn in school like that that will help you come up with better ideas in the real world, even though you may not do the exact kind of stuff you did back in school, if that makes sense. Again, it reforms your way of thinking of things. I love picking apart code and figuring out how it can be more elegant and less wasteful, which I've actually done several times before just here at TI this summer. Now that we're entering the era of dual cores, being able to call a function in parallel is so much easier to implement quickly than a loop, which is considerably more tricky for a compiler to turn into fast machine code. Multiple cores is just something to keep in mind because you always want to place yourself ahead of the curve. I believe C++ has much of the functionality that Joel describes as necessary for this stuff (not sure about anonymous functions), and you can learn C++ in a crash course over here quite well if you'd like to.

I'm back on net neutrality again, and I just have to point out more lies the telcos' puppets are spewing out. I assure you that Google's bandwidth is far from free. I can't believe they think they can get away with claims that are so blatantly ridiculous. Even worse, Senator Ted Stevens is trying to get cloture on the bill countering net neutrality (so no more debate can be heard on it) before the Senate goes to recess, and I just hope and pray that he doesn't get it. I'm actually starting to hate that man. CNN and Cartoon Network have added some pretty good content to iTunes, which is just building up Apple's legitimacy as an engine for digital content delivery. They're not near having a monopoly on television show distribution though, so you need not fear that yet. After AOL's disappointing second quarter, they've finally decided to move to an ad-supported subscription model. I'm not sure how well this will work for them though since Netzero kind of tanked, but I guess it's better than them doing nothing. I think they need to focus more on their site as a portal and video content and the like. Firefox has now reached 200 million downloads, which I think is a pretty impressive accomplishment. If you don't already use Firefox, download it already! You know you want to. Lastly, if you use PHP then you'll definitely find this list of templates useful. I didn't even know what a template was until now (click through to Smarty and to the nutshell section to learn about it, too), and it sounds really useful, but not my style for the site I'm currently working on. Maybe on whatever my next project is I'll try one out.

Aside from comparisons between HD-DVD and Blu-ray DVDs, in which HD-DVD seemed to win the most often, all I have today are trailers. Unfortunately, they're still loading, but I want to finish up this post, so I'm just going to link you to them. One is for Tideland, Terry Gilliam's (of Monty Python fame) upcoming movie, and it sounds pretty weird so far, but I have faith in Gilliam's judgement. The other one I have is for Al Pacino's next movie called 88 Minutes (though it has been mysteriously delayed for a while) where Pacino's character is told that he has 88 minutes to live, and the story unwinds from there. It looks pretty good from what I've seen so far, so I don't know why the studios would have doubt in marketing it.

Before I conclude, this PostSecret postcard was just too awesome for me to not post here:

Click to enlarge

Now for some Tuesday Twosome action:

1. Do you check your email once a day or more? Explain:
At work, Outlook pops up new e-mail notifications, so I constantly check that, but I check personal e-mail every half hour or so as well. Even at school though, I'll check e-mail several times a day.

2. When you receive SPAM emails, do you just delete them or take the time to mark it as SPAM? Explain:
I mark them as spam. I think in Gmail that it actually helps Gmail in general, that's why I do it.

3. When a friend/acquaintance emails you a "forward" email like a joke or chain letter, do you forward it to your friends or just delete it? Explain:
Delete it. Very very rarely are they actually funny enough to pass on, and I think those inspirational things are too girly and corny to pass on through e-mail. It'll just end up annoying the people who get it.

4. Who are two people you look forward to their emails? Explain:
I guess my client at work because it's a response to something I've asked him and I guess that's about it. There aren't people I consistently receive e-mails from that I enjoy reading, and I don't keep in touch with people through e-mail on a regular basis much at all except for greeting cards.

5. Do you believe that email has completely replaced other forms of communication?
Not by a long shot. I think that IM is growing, but in person and one the phone are still at the top. E-mail is just used for different things.

No comments: