Explanation of a Flash chip’s storage management routine

August 8th, 2009

Hats off to Louis Gerbarg on his excellent write-up of how a Flash chip manages reads, writes, and most interestingly – deletes.  I have a relatively comprehensive understanding of how file systems work from classes back at CMU.  But back when I was taking those classes, Flash storage was basically non-existent in a file system context.  This post is definitely eye-opening and if you’re at all interested in how this stuff works, I highly recommend checking it out.  Here’s a quote that’ll get you interested in this stuff:

Okay, so lets assume for a second we have a 1MB flash device with 2 512KB blocks. This would be sold to the consumer as a 512KB flash drive, because some amount of the internal storage needs to be used for bookkeeping as we shall see.

And another quote:

Flash is a relatively complicated storage medium, and has its own view of the world. It works in terms of pages and blocks. Usually a page is the smallest amount of space you can reasonably read or write to a a flash chip (for our discussion, 4K), and a block is the smallest chunk of space you can erase at a time (for our discussion 128 blocks). With a fresh (unwritten block) all the bits are set to “1″, and during a write they can only be transition to “0.” That means in order to rewrite a page you must erase it first. This is a super important point, you can’t just go and erase a page of the flash, you need to erase the 128 contiguous pages contained in a whole block at a the same time.

And I thought tuning a filesystem to provide the best contiguous access to large files was interesting.  By comparison Flash garbage collection and bookkeeping algorithms must be fascinating.  In any case, I guess I’m just a little nostalgic reminiscing about CMU’s 15-412 Operating Systems course.

Nobody (even Jonathan Abrams) remembers sixdegrees.com anymore

July 23rd, 2009

I was just pointed to an article where Jonathan Abrams pretty much claims that he invented friend requests and possibly even social networking.

He takes pride in his claim to inventing the idea of requesting and accepting friendships online. But because he’s been around it longer than anyone, he’s also getting sick of all the friend requests.

“I’m a little burned out, to be honest. I get maybe five friend requests on Facebook per day,” Abrams said over lunch in San Francisco recently. “I invented this stuff, and now I’m paying for it.”

Then because of the backlash on twitter about him being a pompous ass, he writes in to correct the context of his quote.

Twitter is now covered with embarrassing “Jonathan Abrams: I Invented This Stuff” headlines, which is a quote taken out of context and definitely a distortion of our discussion.  The part about my girlfriend is also a joke that is presented seriously and does not come across the way it should.

Honestly, please, now everybody is just going to think that Jonathan Abrams is a pompous ass and a cry-baby.  Take it like a man, everybody gets misquoted, at least have the decency to post an official reply somewhere and explain what you were trying to say, etc, etc.

And seriously, does nobody remember sixdegrees.com anymore? (quoted from wikipedia):

SixDegrees.com was a social network service website that lasted from 1997 to 2001 and was based on the Web of Contacts model of social networking.

Friendster.com was registered in 2002.  Unless, Jonathan means the whole Six Degrees pattent thing.

The U.S. patent, which was awarded June 27, is extremely general, and would seem to cover the activities of many other sites, especially those like LinkedIn that allow people to connect within a certain number of degrees of separation.

Naming Friendster founder Jonathan Abrams, who has left the company, as inventor, the patent refers to a “system, method, and apparatus for connecting users in an online computer system based on their relationships within social networks.”

Six Degrees of Separation, another failed social networking startup, had obtained a patent on social networking technology in 2001. It was bought at auction in 2003 by the founders of LinkedIn and Tribe.net.

Bah – the whole thing is ridiculous, but people sure do get whipped on twitter nowadays for saying the wrong thing at the wrong time.

As a side question, why does a commandline “whois friendster.com” return the following to me:

Domain names in the .com and .net domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.

FRIENDSTER.COM.ZZZZZ.GET.LAID.AT.WWW.SWINGINGCOMMUNITY.COM
FRIENDSTER.COM.MORE.INFO.AT.WWW.BEYONDWHOIS.COM
FRIENDSTER.COM

I guess whois info for friendster.com got hijacked by subdomain pollution?

Official Wordpress App for Blackberry

July 12th, 2009

Wow, I was just stuck on a train from Philly to New York, and for lack of anything better to do, I looked up the progress of the official Wordpress App for the Blackberry. And I’m proud to report that its out, works great, supports multiple blogs, and looks great!

You can download and install over the air at:

http://blackberry.wordpress.org/install

It even has nice little html-helpers (for instance, a prompt came up when I started adding in the anchor tag for the link above.

Also it looks like it supports photo uploads, although I haven’t tried it yet.

Sweeet! Now Wordpress is an equal opportunity blogging platform with both an iPhone and a Blackberry app.

Wow, just tried the Preview and Category support stuff – Preview couldn’t fetch my theme but showed me a completely reasonable plain preview. The Category support is fantastic!

A different kind of Twitter timeline

June 7th, 2009

twitterIts been about a month since I started using Twitter, and I have to say the thing I’m most disappointed with is the fact that its so easy to miss interesting information.  Depending on how busy I am, I may have the time to spend half a day catching up to stuff on Twitter, or I may have the chance to load my Twitter client for just 5 minutes to look for new direct messages or @replies.  Regardless of how much time I put into it, I always wind up missing something, I’m absolutely sure of it.

This is the difference between RSS and Twitter – RSS clients tend to collect everything from a particular feed and preserve it until I either mark things read and ignore them or actually read them.  This is what I want from a Twitter client, except I think there’s a way to make this sort of thing even nicer with Twitter.

I want to be able to see the most relevant tweets in my Friends Timeline.  For instance, for those friends that announce new blog posts, I want to be able to see those – all the time.  I want to prioritize retweets and @replies lower than original posts.  Moreover, I want to prioritize certain friends’ posts higher than others.

Basically, once you follow a certain number of people, the signal-to-noise ratio becomes so low that the chances of you missing out something really interesting and relevant are just horrendous.

I’m proposing an alternate view of your Twitter feed – a prioritized timeline.  First you’ll need to priority-order and assign numerical priorities to each of the people you follow.  After that tweets will be shown in this prioritized timeline ordered by a relevance value.  Lets say you order @ivantumanov as 50 and @engadget as 5.  Then a new post from me (posted at the same time as the post from @engadget) will show up first.  After that the two posts’ position in this prioritized timeline will decay according to how old they are.  However, the relevance value for my post will decay 10 times slower than the relevance value for @engadet’s post.  In this way, it’ll stay closer to the top of this prioritized timeline longer and thus I’ll be more likely to read it.  Because posts may move around as time goes by (@engadget’s posts will continue falling down in relevance and moving down in this list while my post will fall down 10 times slower), a “seen” flag will need to be shown.  Additionally, a filing system (To Read, To Save, For Reference folders) would be nice.  And finally, thumbtacks that keep a post at a particular place in the timeline – basically freezing their relevance value so it doesn’t decay with time.

The source of the tweet is obviously the easiest thing to use for determining relevance.  But how about the content of the tweets?  Anything that starts with RT or @ can be assigned a penalty or a promotion as far as the relevance value / priority value of that post.  Things with “New Blog Post” for instance, or any other specific string can be assigned a penalty or bonus value.  And for those of us who use Tweetie, anything with “(via …” can be prioritized in a specific way as well.

Is there something like this out there already?  If not, I’m gonna have to get my hands dirty and fiddle with the Twitter API some this coming week to make this happen.

Sustainable business models, and why ABC has LOST their way

May 27th, 2009

lost-logoIf you’re wondering about sustainable business models, bear with me while I rant about ABC’s free episode streaming, or just skip the first bunch of paragraphs to the Sustainable Business Models heading.  Ohterwise bear with me, I’ve got a couple lung-fulls to spend talking about why I’m not having the best time I could be having finally watching LOST.

After years of resisting, I finally decided that I should watch LOST and catch up on everything I’ve been missing (that damn near everybody’s been telling me about).  I’m watching it straight through from Season 1 on ABC.com – and I’m afraid I have a few complaints about how they’re handling their free episodes.

Read the rest of this entry »