-
March 22, 2008
This is Probably Slightly Unhealthy…
It all started as a joke. A RickRoll. Following a link like “Starcraft 2 leaked trailer!” and instead being presented with a video of Rick Astley's “Never Gonna Give You Up.”
But you have to admit. The song is pretty damn catchy. You know, with the whole peak of the chorus at “say goodbye!” The mp3 version of this song is much better quality than the youtube encoding.
Also, this past week something legendary happened. The first ever “real life” RickRoll via singing telegram. In the long term this kind of internet meme crossover is dangerous (imagine a real life Goatse.cx or a real life flash thing with the ghost popping out at you), but I approve of the creativity of the real life RickRoll.
Anyway, I should probably stop listening to this song. But I can't. Like the title of the song states, I'm never gonna give it up… (never gonna give, never gonna give!)
-
March 09, 2008
2003: The Missing Blog Year
So for some reason I was looking at the archives of my blog today. I noticed that there was a gap between the years of 2004 and 2003. I obviously didn't stop blogging completely in 2003, so I figured something was up.
I've been blogging for a number of years now. The earliest protoblog I had was probably on ujournal.org. After that I switched around a lot, to places like Xanga, livejournal, Myspace (ugh, yeah, I know) and finally to my own domain where my blog resides today. I've made it a point to export all my old blog entries though, so I was kind of pissed to see that 2003 was nowhere to be found. Sure enough, I checked out my old livejournal (which still exists!) and exported all the posts from 2003 into my blog this afternoon.
A few notes on my blogging style of 2003:
- I used exclamation points in my titles a lot.
- I mostly blogged about news events. Unfortunately, Yahoo News links die fairly fast.
- All links referencing my UNM webspace are seriously borked
- For some reason I wrote about Ebay a lot!
- In 2003, my blog really sucked.
There are a few noteworthy posts from that year, including the self imaging post (which links to a broken site now…), the Ebay commercial post (which links to a working video!!!) and my rant about Humpty Dumpty.
You can see all the missing posts here. If you really wanted to. Which you probably don't.
-
March 08, 2008
A Tale of Two Facebook Apps: Viral Vs. Non-Viral Growth
For my SI 508 Networks class last semester I did an analysis of one of my Facebook applications, Notecentric. Notecentric was a social network that I had written during the Summer of '06 and I had recently ported it to the Facebook Developer Platform in Summer '07 shortly after the platform had been launched.
The growth of Notecentric isn't what I had hoped it would be. Not too many people use it, probably due to network effects of Facebook promoting a competing app (note to Facebook: if you want to promote a level playing field, don't play favorites!) and other general performance issues (the application is pretty barebones and the RFacebook library I used to write it is pretty damn slow. It times out a lot!).
More … -
March 06, 2008
Fire Eagle Invite Get!
Thanks to LordElph, I got an invite to Yahoo's newest thing, Fire Eagle. I feel as though there's enough fire stuff in the world with Firefox and its eternal enemy, Firedog. But oh well.
Fire Eagle is a centralized location information service, basically. You can use its built-in APIs to set user location information and grab user information from it (assuming you have the correct permissions).
This is cool because in the past, applications have had to do this location stuff on their own. For example, if I wanted to set up a Twitter clone that knew a user's location, I'd have to be able to take the information and process it, and retrieve it later. Fire Eagle handles a lot of stuff like figuring out exactly where a user when things might be ambiguous (I typed in “University of Michigan” and it gave me a choice between the main campus and the Dearborn one).
I'm planning on coding up some location aware applications at some point soon, so I think it'll be fun to try and see what I can do with the help of this Fire Eagle thing. Yahoo has definitely done something unique and I give them some props for working on this service!
-
February 27, 2008
Fun With Rails and High-Performance Caching Mechanisms (Memcached)
Since it's Spring break for University of Michiganers, I've had some free time to mess around with learning stuff I don't have time for when school is in session. Something I've been meaning to try out is memcached, which is an uber-efficient way to cache stuff in memory so you don't end up hitting the database a lot for redundant queries.
I installed memcached on my mediatemple machine using some directions I found online specifically for centos. I don't have yum or rpm or whatever people use for putting new stuff onto their linux boxes. I just wget, untar, and make/make install. I had to make a symbolic link for the libevent thing that I installed as well since the path wasn't set up correctly. I'm still trying to get memcached to run automatically as a daemon when I boot up. I tried sticking a line in the /etc/init.d/ or something rc.local but it hasn't really worked. Oh well.
I'm using memcached right now along with a rails gem called “Cached Model” that does a pretty good job of automating the caching process. What's important to know is that the gem only caches Active Records that are found via a simple find on id. It won't cache more complex queries. Right now I have it running on my Animenano site caching a bunch of objects. I've seen a small though noticeable difference.
Memcached isn't without its caveats, however. For one thing, your initial db hit is going to take longer than normal since you're going to be checking memcached, then grabbing the data from the db, then saving the data into memory. From reading the logs, this doesn't really take that much extra time. The time saved is likely more worthwhile.
I'm always trying to squeeze more performance out of my sites. Periodically I'll go check out my log files and see if there's anything taking an insane amount of time to render (like, .1 seconds or so). I've caught a few bad algorithm decisions that I had made in the past, and I think for the most part my sites run pretty efficiently. Memcached is a pretty fun way to slice some time off of the page rendering times for Anime Nano.
If you have a few spare hours to kill and a rails app that seems to be a little slow, it might be worthwhile to install memcached and see if caching your Active Record objects will speed things up. I'm seeing a speedup of maybe 1/2 (it takes half as long to load a page) vs running without memcached. That's totally non-empirical observation, though.
