kmod's blog

31Jan/100

Worth more than you’ll pay?

I remarked today to someone that a PS3 is "worth more than I'd pay for it".  (Specifically, receiving a PS3 as a gift is worth more than I'd pay for it.)  What I really meant to say is "worth more than the maximum I'd pay for it".  So the question is, is that true, and are there are things for which that statement is true?  Or the reverse, something that's worth less than the maximum I'd pay for it?

I think it's true, which means that I'm irrational about PS3s.  Or that the standard concept of "rationality" fails to capture some sorts of value, such as the value in terms of how I received something, not just what I received, and that there may be non-monetary forms of value.  Another example that I've thought of is airport food: It's probably worth the price to me, but I'm not going to pay it out of principle.

I feel like these are pretty classic cases of (economically) irrational decision-making.  I don't want to pay the airport prices since I feel like vendors are being too greedy; this is similar to the ultimatum game where people don't accept small amounts of money because it shows that the other person is being too greedy.  And received the PS3 must hook into some other suitable irrationality.

I haven't, though, been able to think of something that's worth less than the maximum that I'd pay for it, except for things that I buy by mistake, or things that turned out to be less valuable than I expected them to buy when I bought them.  I might be missing something, but if this is true, it means that my irrationality is asymmetric: I'll hold off on buying things that I probably should actually buy, but I (seemingly) don't buy things that I shouldn't buy.  Perhaps it's just that when I buy something, I'll automatically inflate the perceived value of the item to match what I pay, even if it wouldn't be worth that separately, and then later when it resets I interpret that as "discovering" it wasn't worth as much as I thought, instead of "realizing".

Filed under: Uncategorized No Comments
29Jan/100

Conservation Cores (ASPLOS ’10)

I read (part of) an interesting paper today out of UCSD.  The main premise of the paper is that "the rate at which we can switch transistors is far outpacing our ability to dissipate the heat created by those transistors."  The rest of paper is then devoted to describing a system they have of determining energy-intensive parts of the application, and then running them directly on hardware to make them more energy efficient.

I don't have any experience in this area so I don't know how to evaluate their proposed design, but I found the premise very interesting (and I would assume that anyone knowledgeable of the field would find it very unsurprising).  I never really thought about how the first order design constraint on a chip is the power budget that it has, not so much the size or other physical properties.  Apparently only 7% of a chip can be run at full frequency at any given time (I'm not sure exactly what that means, ie what "full frequency" is), which is very surprising to me.  It seems so...wasteful, that there is so much potential power in the silicon, but we can't use all of it because of heat constraints.

Filed under: Uncategorized No Comments
25Jan/100

Chrome vs Firefox: Extensions

One of the reasons that I haven't switched my main browser to Chrome is the lack of extensions.  Chrome has been great for running JS-intensive web apps, but for everyday stuff it just can't keep up with all the functionality that Firefox gains from having extensions.  This is actually the main reason I haven't switched; the main other one is poor SSL client certificate support, which is important because MIT uses that a lot.

Well, now that Chrome has extension support and extensions are starting to come out, I've decided to see what extensions are available, and how well they can replace my Firefox addons.  First, a list of the Firefox addons that I use a lot (also, made into a collection at https://addons.mozilla.org/en-US/firefox/collection/kmod ), roughly in order of their importance:

  • TabKit -- probably the greatest addon I use.  It completely changes the way tabs are displayed by putting them on the left and organizing them into trees.  Seriously, if you're using a lot of tabs in Firefox, check it out.
  • AutoPager -- I'm really glad I stumbled upon this.  I find it very annoying when sites paginate their content excessively.  Also, loading up the next page of Google results is annoying (but who does that?).  What AutoPager does, is it automatically loads the next page of results/content as you scroll down.  It's usually fast enough that you don't notice any lag between scrolling down and seeing the content there.  Again, this is an extension that you should have if you do a lot of browsing in Firefox.  You won't know that you need it, but once you have it you'll be consistently impressed by how much nicer it makes things.
  • Flashblock -- I wasn't sure for a long time that I'd want to block all flash on all pages, but once I tried it, it's really nice.  Usually the one thing that slows my Firefox (or Chrome) to a halt is all the flash that gets running, even if I close all the tabs with flash!  Now, I really don't trust Adobe enough to write good software (neither should you), so I have no problem blocking them.  And my browsing experience is now much cleaner (and no more stealthy flash cookies either)
  • AdBlock Plus -- Browsing with ads?  I don't think so.  Some people say that it's unethical to block ads, since that's how sites make money.  But given that 1) I've never clicked on an ad, and 2) I'm not going to buy something based on seeing an ad, I don't see what anyone is losing.  I'm getting a better browsing experience, which is good for me and for the sites that I'll visit more, and it helps advertisers save bandwidth.
  • Xmarks -- I don't know, I don't feel like this is a good piece of software, but the service it provides (bookmark syncing) is just so useful that I find myself using it.  Perhaps I'm just blaming it for bugs that they've had in the past (that they may or may not have fixed), but if a better bookmark sync tool came out I'd use it.
  • Firebug -- Not part of my daily workflow, but when I need to debug websites, Firebug is invaluable.  But I'm sure that if you need it, you already know about it

Alright, so those are my main Firefox extensions.  They almost all now have Chrome versions; how do they stack up?

  • TabKit -- no Chrome version!  And likely won't for a while, until Google/Chromium greatly increases the extensibility of Chrome
  • Autopager -- the Chrome version seems pretty good.  Maybe it doesn't support all the sites the Firefox version does, but I haven't been able to notice.  [Update 5/14/10 -- I've had to disable this, because it excessively slows down doing Google searches, which is unacceptable.]
  • FlashBlock -- also seems pretty good.  I think it's missing some of the Firefox version's features, but I don't use them anyway.  [Update 5/14/10 -- I now use this version instead, though they do the same thing.]
  • AdBlock -- again, seems to work pretty well.  I haven't tested if it blocks everything that the Firefox version can, but it seems good.
  • Xmarks -- Oh god, even buggier than its Firefox version.  The nice thing is that it uses the same database, so your Firefox bookmarks should (in theory) sync down to Chrome as well.  I've had a lot of problems with this extension; only use it if you really need your Firefox bookmarks, or Xmarks has gotten its act together.  [Update 5/14/10 -- They've fixed the early bugs with the Chrome version, and now I find it on par/perhaps better than the Firefox version.]
  • FireBug -- I've heard there's a Lite version for Chrome, but I haven't had reason to use it yet.  I would speculate that it's a decent version of FireBug, but it's missing some core features of FireBug on Firefox.

So in summary, most of the extensions I use in Firefox have shown up in Chrome.  I'm sorely missing the presence of TabKit, but the browser is noticeably faster, even with the plugins.  So I've changed my workflow now so that I spend most of my time in Chrome, but I still do have to switch back into Firfeox fairly often.  I'm not going to get into which browser is "better", but so long as Chrome can't do everything that I've come to expect Firefox to do, it will never be elevated to the status of a "primary" browser (even if I do make it my default).

Filed under: Uncategorized No Comments
14Jan/101

GNOME Shell: it’s awesome, but I won’t use it

I attended a talk today from some of the developers on the GNOME Shell project.  I have to say, the stuff they're doing is pretty visually impressive.  They seemed to have some pretty solid design ideas from a UX perspective.  And watching how easy it was to add extensions was really cool.

Basically, they have brought web programming to the desktop.  Except instead of controlling your browser, you're controlling OpenGL elements.  It was pretty neat watching them write javascript code, restart the shell, and all of a sudden they had new effects.  Like the first time I started using a javascript library and saw all the visual effects in it, but this time not such a performance suck.

It's (unofficially?) part of their design doc to make GNOME Shell "f***ing amazing", and I think they're doing a good job of getting there.

There are some things I don't like about it, though.  They moved the level at which you can configure the system by swapping modules.  They make it really easy to create (somewhat) superficial effects by creating modules, or changing the source.  But they took some of the things that are modules in GNOME 2.x and baked them into the GNOME Shell architecture.  In particular, they made metacity (the window manager) an integral part of their architecture.  So no, it does not look like GNOME Shell will ever support other window managers.  Which sucks, because right now I use xmonad with GNOME, which I like a lot.

I suppose it doesn't really matter, though.  A lot of the work that they're doing in GNOME shell is to make workspace and window management more intuitive for nontechnical, casual, users.  So I'm guessing that if you're technically inclined enough to switch out your window manager, then you're not going to need most of the functionality in GNOME Shell.

Filed under: Uncategorized 1 Comment
11Jan/100

Google vs Wolfram Alpha: Control

There's a new dimension that I've started judging computer tools and software on: how much control I have over what it does.  There aren't many things more frustrating than a program that you're trying to use, that you know it should be able to do the right thing, but you can't convince it to do it for you.  I think a very good example of this is Wolfram Alpha -- WA is an amazing tool that can do a lot of things, but my complaint (and many others') is that it is very hard to know when it is going to do what you want.  WA is great for typing in random queries and seeing what kinds of things it can do, but if I ever actually want something from it (which has happened on occasion) and WA doesn't guess what I'm asking on the first try, it's extremely frustrating to try to figure out what magic words I need to use to make it do that.

The problem is that WA tries to guess what I mean.  That wouldn't be a problem by itself, but combined with the fact that it doesn't always get it right, makes the experience frustrating.  What do I need to enter to make WA guess correctly?  I really don't know.  I suppose that if you use WA enough, you can figure out its quirks and know exactly what you need to type to get what you want.  But assuming you haven't spent a lot of time with it, the fact that you can't say things like "Please treat this as a Mathematica expression" makes it very hard to get what you want.

Contrast this with Google.  Google does a lot of things to figure out what you're trying to search for (shopping sites, images, news results, etc), but in general it is much easier to know what kinds of things Google is going to give you for a specific query.  Perhaps this is due to my greater experience with Google, but to me Google is just more understandable.  I might not know all of the guts of what it's doing for search rankings or how exactly it's deciding that I want to search for news articles, but I at least feel like I am in control.  And that's what's lacking in WA.

To be in control of my tools, I feel like I need to have a good mental map of input->output.  For Google, I have a fairly good idea of what kinds of results I'll get for what kinds of queries; for WA, not really.  This makes it very hard to find a good input that will map to the right output.  Having this map isn't the only way to be in control, I suppose: if the tool is good enough that it can always guess your desired output, then you don't really need to know how it's guessing.  But the problem is that no program is at that point, and I think fundamentally, no tool ever will.  That's not a statement about the future of NLP, but rather the fact that the computer has to do an impossible task: create a unique mapping between what I say and what I mean.  And I think people just have too many ways of saying the same thing, and more importantly the same thing can mean too many things, so the computer will never be perfect.  So you need some amount of canonicalization, which by nature has to be dictated by the program.  But if you have no idea what the program has decided the canonicalization is, the experience is frustrating.

I suppose there's also the other alternative, that you don't really care what the output of your programs are.  There are plenty of tools that I use, that I'm sure have very advanced configuration options; I just don't know about them, and I don't really care.  It wouldn't be any different to me if my CD burner burned in a different format, as long as it's readable; so in this case I don't really need that control.  Though if I burned a lot of CDs, I probably would.

Anyway, in summary, my point is that until computers are completely able to take over the driver's seat from the people using them, there needs to be understandable consequences for every action that the user can take.  Programs may get to the point that they can completely guess what we want (though I doubt it), but until then they need to remain as tools and nothing more.

Filed under: Uncategorized No Comments
4Jan/101

Rosetta Stone

I did a bunch of traveling over winter break.  And there are a few things that are a constant about traveling: the first is the hassle, which I partially deal with by taking trains whenever I can instead of flying.  The other is seeing large displays of Rosetta Stone boxes.  It's to the point that I get annoyed seeing the same ads of the farmer boy going after the supermodel, but at the same time I think they made a pretty smart move in deciding where to advertise.  By targeting travelers, they tend to get the people that travel the most, who are the most likely to want/need to learn another language.

I mean, I know that advertisers will advertise on channels that have the right audiences for their products, or in the right magazines and so on.  But it's never as in-your-face as with Rosetta Stone in airports and train stations.  Kudos, I suppose.

Filed under: Uncategorized 1 Comment