After seeing this post by Kottke, I decided that a logical way to spend my time in the middle of studying for midterms would be to create the program requested!
Of course, the author had already found people to code it for him, but I thought it would be an easy way to play with some python.
Here's the code. Feel free to use it for whatever, just let me know if you do.
Depending on my time and effort (what doesn't?), I may modify this program to be more sentient. We'll see.
Happy Thanksgiving!
Wednesday, November 26, 2008
Friday, October 31, 2008
Deal or No Deal?
Don't worry, I haven't yet sold out to The Man, so this isn't an advertisement for this awful show (read up if you haven't heard about it). Rather, I wanted to share this video, which is currently making the rounds on the internets.
I'll save you the time of reading the comments on this video from digg, reddit, etc...they basically sum to "OMG that guy is such a fool!!"
Of course, I have to agree. However, I feel that this situation opens up an interesting psychological question. My parents watch Deal or No Deal on occasion, and they always complain of "stupid" people who get "too greedy". I always laugh at this, because due to the nature of the game, you're really being greedy as soon as you eliminate a briefcase. (In fact, this judgment has been passed on many others, e.g., the characters in the movie 21. Some say when viewing the movie, "why didn't they just quit while they were ahead?!?!?")
Allow me to explain: Deal or No Deal is a game of 100% luck. There is absolutely no strategy involved in picking which case you want to be eliminated, nor is there a way to "outsmart" the bank. Interestingly, in my one quick viewing of the show, I thought that the bank offer was a straight average of the remaining cases.
As it turns out, the average is weighted, and as the game progresses, the average approaches the straight average. In other words, the bank will offer a "bad" deal in the beginning of the game, and a relatively "good" deal at the end.
Anyway, back to the story. I always find it funny when people judge the decisions of people on the show, saying something like "I can't believe it! Just take the deal and walk away! You have (insert amount here) already!"
Of course, this is not sound logic. At what point is it silly to not take the deal? Since each deal is worse than a straight average of the remaining cases, is it ever really silly? Of course, the deal is worse because it is a balanced alternative to risk. But I digress- imagine this:
play while cases > 0:
------>if logicalToDeal then return
------>eliminate case x with $y in it. //This raises/lowers my overall average, and thus, my bank deal.
At what point does logicalToDeal become true?
If you imagine playing a game, what determines the value of logicalToDeal?
Probably the only way to play the game is similar to generic smart money strategies: set a limit and stick to it. I will determine a money value X, where X is enough to make the game worthwhile. If I ever get a bank deal >= X, then I will stop playing.
Two things:
1) What is X?
2) What if you never reach X?
#1 is interesting in this case because you cannot lose money in this game. Unlike setting a limit for yourself at a casino, where you really have to set both an upper and lower bound, in Deal or No Deal, the worst that can happen is you walk away with the briefcase with the least amount of money. For sure, that would be a disappointment relative to what you could've won, but nothing truly bad will happen if you play too risky.
(This goes back to the kids in 21- at what point should they just have walked away?)
My overall point is that it is meaningless to simply state that one is a fool for not making a deal, walking away, etc. There is no set point where one path becomes more logical than the other in games like these, so the point where one should give up is mostly arbitrary and personal.
PS: wouldn't it be nice to be a contestant on this show? You don't have to have any intelligence, because there is no possible way to strategize, and you always win money. Sounds awesome!
I'll save you the time of reading the comments on this video from digg, reddit, etc...they basically sum to "OMG that guy is such a fool!!"
Of course, I have to agree. However, I feel that this situation opens up an interesting psychological question. My parents watch Deal or No Deal on occasion, and they always complain of "stupid" people who get "too greedy". I always laugh at this, because due to the nature of the game, you're really being greedy as soon as you eliminate a briefcase. (In fact, this judgment has been passed on many others, e.g., the characters in the movie 21. Some say when viewing the movie, "why didn't they just quit while they were ahead?!?!?")
Allow me to explain: Deal or No Deal is a game of 100% luck. There is absolutely no strategy involved in picking which case you want to be eliminated, nor is there a way to "outsmart" the bank. Interestingly, in my one quick viewing of the show, I thought that the bank offer was a straight average of the remaining cases.
As it turns out, the average is weighted, and as the game progresses, the average approaches the straight average. In other words, the bank will offer a "bad" deal in the beginning of the game, and a relatively "good" deal at the end.
Anyway, back to the story. I always find it funny when people judge the decisions of people on the show, saying something like "I can't believe it! Just take the deal and walk away! You have (insert amount here) already!"
Of course, this is not sound logic. At what point is it silly to not take the deal? Since each deal is worse than a straight average of the remaining cases, is it ever really silly? Of course, the deal is worse because it is a balanced alternative to risk. But I digress- imagine this:
play while cases > 0:
------>if logicalToDeal then return
------>eliminate case x with $y in it. //This raises/lowers my overall average, and thus, my bank deal.
At what point does logicalToDeal become true?
If you imagine playing a game, what determines the value of logicalToDeal?
Probably the only way to play the game is similar to generic smart money strategies: set a limit and stick to it. I will determine a money value X, where X is enough to make the game worthwhile. If I ever get a bank deal >= X, then I will stop playing.
Two things:
1) What is X?
2) What if you never reach X?
#1 is interesting in this case because you cannot lose money in this game. Unlike setting a limit for yourself at a casino, where you really have to set both an upper and lower bound, in Deal or No Deal, the worst that can happen is you walk away with the briefcase with the least amount of money. For sure, that would be a disappointment relative to what you could've won, but nothing truly bad will happen if you play too risky.
(This goes back to the kids in 21- at what point should they just have walked away?)
My overall point is that it is meaningless to simply state that one is a fool for not making a deal, walking away, etc. There is no set point where one path becomes more logical than the other in games like these, so the point where one should give up is mostly arbitrary and personal.
PS: wouldn't it be nice to be a contestant on this show? You don't have to have any intelligence, because there is no possible way to strategize, and you always win money. Sounds awesome!
Monday, October 27, 2008
Illusion of Security
Bank of America's SiteKey is vulnerable to a very simple man-in-the-middle attack. Who would've thought? By the way, this is similar to the most elegant way to defeat Captchas (via CodingHorror).
Man-in-the-middle attacks are a simple and powerful concept. The basic concept as it applies to the two cases mentioned above is to present the user with the image needing cracking under false authority. For Bank of America, it would be a phishing website posting your SiteKey, and for Captchas, it would be some sort of incentive website requiring a Captcha solve to view the content requested.
Pretend that I want to hack into your credit card account. In the good old days, I would send you an email claiming that I, the President of Bank of America, require you to change your password using this link: http://bank0famerica.com. Then I would grab your password out of my website, and use it to log into the REAL http://bankofamerica.com, and I would be rich. Hurray!
Then, Bank of America instituted a SiteKey, which is an image and a title that you pick to recognize when you try to login to their site. The idea is that my bank0famerica wouldn't know your SiteKey and thus you would immediately unplug your computer to protect yourself from the nasties. (Ignore the fact that most people probably glaze over their SiteKey...these are, after all, the people who have already clicked on a link from an email to do something important, failed to notice the wrong website domain...etc)
Unfortunately, if I'm going to go through the trouble of setting up bank0fAmerica, I think I'd figure out in short order how to defeat the SiteKey. Namely, I ask you to enter your online-ID, just as BankOfAmerica does, and then send that ID to the real website. When I get the SiteKey back from the real website, I feed it to the fake website presented to you. Then you think it's really BankOfAmerica and proceed.
In fact, the SiteKey is so easily defeated, it may actually be worse for security! I could be convinced that it provides a false security blanket, such that Joe SixPack's one last vestige of alertness was assuaged when the impenetrable SiteKey verified my site as legit.
So, what's the better option? Well, unfortunately, it's a tough balance to strike between user effort and security. Here's a good place to start if you're looking for more on security. I'll be thinking about an easy way to really secure BankOfAmerica, and if genius strikes, I'll be back to post!
Man-in-the-middle attacks are a simple and powerful concept. The basic concept as it applies to the two cases mentioned above is to present the user with the image needing cracking under false authority. For Bank of America, it would be a phishing website posting your SiteKey, and for Captchas, it would be some sort of incentive website requiring a Captcha solve to view the content requested.
Pretend that I want to hack into your credit card account. In the good old days, I would send you an email claiming that I, the President of Bank of America, require you to change your password using this link: http://bank0famerica.com. Then I would grab your password out of my website, and use it to log into the REAL http://bankofamerica.com, and I would be rich. Hurray!
Then, Bank of America instituted a SiteKey, which is an image and a title that you pick to recognize when you try to login to their site. The idea is that my bank0famerica wouldn't know your SiteKey and thus you would immediately unplug your computer to protect yourself from the nasties. (Ignore the fact that most people probably glaze over their SiteKey...these are, after all, the people who have already clicked on a link from an email to do something important, failed to notice the wrong website domain...etc)
Unfortunately, if I'm going to go through the trouble of setting up bank0fAmerica, I think I'd figure out in short order how to defeat the SiteKey. Namely, I ask you to enter your online-ID, just as BankOfAmerica does, and then send that ID to the real website. When I get the SiteKey back from the real website, I feed it to the fake website presented to you. Then you think it's really BankOfAmerica and proceed.
In fact, the SiteKey is so easily defeated, it may actually be worse for security! I could be convinced that it provides a false security blanket, such that Joe SixPack's one last vestige of alertness was assuaged when the impenetrable SiteKey verified my site as legit.
So, what's the better option? Well, unfortunately, it's a tough balance to strike between user effort and security. Here's a good place to start if you're looking for more on security. I'll be thinking about an easy way to really secure BankOfAmerica, and if genius strikes, I'll be back to post!
The Misapplication of Technology
Believe it or not, there are some things in life that don't need touch screens.
I simply cannot fathom the point of using a touch screen voting system. I'm all for eliminating paper ballots, but this is just so poorly done, it's almost amusing.
You all know about the security compromises in these machines, and the corruption of the company itself, but added to all of that, the machines don't even work properly?
Looking at the interface in the CNN video (I vote absentee so I haven't used one of these yet, thankfully), it's frightening how poorly designed it is. As anyone with an iPhone knows, when you have two small selections bordering each other, your intent can really go either way. Now imagine a less accurate touch screen, mis-calibrated, and you're not used to the specific quirks. Now imagine you're a senior citizen who doesn't even own a computer. Geeeez.
I'm waiting for a good argument FOR touch screens in voting machines. Even if a properly secured system were designed by an impartial company and proven to be zero-defect (an amusing, if inaccurate, list of complaints), what's wrong with putting a few physical buttons on the machine? I just cannot fathom how touch screens are better in any aspect.
The absolute least effort you could do is have a Democrat and Republican button. Use nice, big labels for the elderly, and it's cheaper and more effective! Too easy for the government, I guess. And don't get me started on making November 4th a national holiday...
I simply cannot fathom the point of using a touch screen voting system. I'm all for eliminating paper ballots, but this is just so poorly done, it's almost amusing.
You all know about the security compromises in these machines, and the corruption of the company itself, but added to all of that, the machines don't even work properly?
Looking at the interface in the CNN video (I vote absentee so I haven't used one of these yet, thankfully), it's frightening how poorly designed it is. As anyone with an iPhone knows, when you have two small selections bordering each other, your intent can really go either way. Now imagine a less accurate touch screen, mis-calibrated, and you're not used to the specific quirks. Now imagine you're a senior citizen who doesn't even own a computer. Geeeez.
I'm waiting for a good argument FOR touch screens in voting machines. Even if a properly secured system were designed by an impartial company and proven to be zero-defect (an amusing, if inaccurate, list of complaints), what's wrong with putting a few physical buttons on the machine? I just cannot fathom how touch screens are better in any aspect.
The absolute least effort you could do is have a Democrat and Republican button. Use nice, big labels for the elderly, and it's cheaper and more effective! Too easy for the government, I guess. And don't get me started on making November 4th a national holiday...
Sunday, October 26, 2008
Unit Bias
Here's an interesting article about the unit bias of food. This article finds, through various experiments, that the amount of food consumed has some correlation to the unit size presented.
In other words, for some reason, we are conditioned to consume more food if it is presented in a large serving size, i.e., if we can consume a large amount with just one "take". The article presents various plausible explanations, including social pressures and what I would like to label "expert pressure".
Expert pressure is the influence that any authoritative-seeming person has on a person's beliefs. Perhaps the simplest explanation would be a combination of herd instinct and something I couldn't find on the cognitive bias page (a wonderful thing to browse), namely the observation that the illusion of knowledge is enough to influence decisions that haven't been made up already.
In this case, expert pressure is the irrational notion that the packagers/presenters of food know the right amount you should consume. Of course, this is not the case, not only because some foods are meant to be shared, but because unit sizes are chosen on purpose.
Logically, I want to say that serving size does not affect how much I eat. However, even if you feel no remorse repeatedly going for chips at a party, don't you feel much more comfortable with a large bag in hand, so you only have to make one trip?
Personally, I feel like small serving sizes can reduce the amount I eat, but I believe only in cases of over-indulgence. If I'm at a restaurant and I get a dessert far larger than I want, I'll probably make a bold effort to finish it anyway because it would go to waste. But at Bowdoin, where the food is all-you-can-eat, and thus largely under my control, I have no such problems.
I eat a lot at each meal, perhaps even over-eat, but I do it consciously, because I know roughly how much food I need to make it to the next meal. Of course, snacking regularly is a healthy way to combat this, but in the end, I'm eating the same amount anyway. Plus, snacks are less healthy and more expensive than Bowdoin meals.
In fact, ever since freshman year, I have kept tabs on how much I eat at each meal. Every once in a while, I consciously eat less than I usually do, to make sure I really need that extra bit. Every time, I end up starving by the next meal, which results in over-eating, or have to snack on whatever is available in my dorm. In fact, I tried this tonight, because I didn't really like the dinner, and sure enough, I'm hungry now.
Well, I feel like this post made very little sense. Sorry about that. I can promise that you will be entertained if you just follow the links I've provided, though.
Till next time...
In other words, for some reason, we are conditioned to consume more food if it is presented in a large serving size, i.e., if we can consume a large amount with just one "take". The article presents various plausible explanations, including social pressures and what I would like to label "expert pressure".
Expert pressure is the influence that any authoritative-seeming person has on a person's beliefs. Perhaps the simplest explanation would be a combination of herd instinct and something I couldn't find on the cognitive bias page (a wonderful thing to browse), namely the observation that the illusion of knowledge is enough to influence decisions that haven't been made up already.
In this case, expert pressure is the irrational notion that the packagers/presenters of food know the right amount you should consume. Of course, this is not the case, not only because some foods are meant to be shared, but because unit sizes are chosen on purpose.
Logically, I want to say that serving size does not affect how much I eat. However, even if you feel no remorse repeatedly going for chips at a party, don't you feel much more comfortable with a large bag in hand, so you only have to make one trip?
Personally, I feel like small serving sizes can reduce the amount I eat, but I believe only in cases of over-indulgence. If I'm at a restaurant and I get a dessert far larger than I want, I'll probably make a bold effort to finish it anyway because it would go to waste. But at Bowdoin, where the food is all-you-can-eat, and thus largely under my control, I have no such problems.
I eat a lot at each meal, perhaps even over-eat, but I do it consciously, because I know roughly how much food I need to make it to the next meal. Of course, snacking regularly is a healthy way to combat this, but in the end, I'm eating the same amount anyway. Plus, snacks are less healthy and more expensive than Bowdoin meals.
In fact, ever since freshman year, I have kept tabs on how much I eat at each meal. Every once in a while, I consciously eat less than I usually do, to make sure I really need that extra bit. Every time, I end up starving by the next meal, which results in over-eating, or have to snack on whatever is available in my dorm. In fact, I tried this tonight, because I didn't really like the dinner, and sure enough, I'm hungry now.
Well, I feel like this post made very little sense. Sorry about that. I can promise that you will be entertained if you just follow the links I've provided, though.
Till next time...
Sunday, September 21, 2008
Save The Day
Well, you all are about to get a little view into my number one hobby of the last two years: baseball!
For those who don't know the game, baseball seems extremely dreary, drawn out, and rather lacking in athleticism. To prevent re-hashing the same old arguments, I won't even address those concerns. Instead, I want everyone to know that behind the face of baseball, there is perhaps the most advanced math of any sport, and lots of smart math and CS people are making their careers in baseball nowadays.
Since this isn't a baseball blog, I will keep this short. Essentially, the entire way that baseball was analyzed up to the 70's was completely wrong. Given the long history of the sport and it's tradition of keeping accurate statistics, you may be surprised, or even offended, by that statement.
I assure you, it is true. Bill James is sort of the Knuth of baseball- he basically analyzes numbers. This was all brought screaming into the light by Michael Lewis with Moneyball, and the baseball world really didn't like it. I won't bother trying to convince you of anything here, but it's a little like a more believable quantum mechanics: everyone denies it could be true, but experiments bear it out.
Among the central tenets of sabermetrics (a fancy word for investigating the inner workings of baseball) is that closers are overrated. If you don't follow baseball, closers are the teams best relief pitcher, who will typically only pitch in a save situation, which nowadays means only the last inning when their team is ahead by 3 or less runs.
A rather important event this year was Francisco Rodriguez (K-Rod) breaking the all time saves record. Of course, the numbers guys say that although it's a great achievement, it is way overblown. Basically, the Angels this year got K-Rod into an enormous amount of save situations, so he got the record not by any other extraordinary feat of pitching, but by being in the right place at the right time.
Again, the fact that he actually executed this is still very impressive. But if you need any proof that saves are overrated, take a look at Joe Borowski. He had 45 saves in 2007, even though his ERA, at 5.07, was way below average for a reliever, not to mention a closer. In 2008, he's out of baseball.
The evidence doesn't end there, though. Check out this rather amazing comparison between Boston's closer, Jonathan Papelbon, and K-Rod.
What you're seeing here is a ridiculous similary between K-Rod and Papelbon. Papelbon's save situations have been far less, and he hasn't quite executed as well in some of them, but his total numbers are either identical or significantly better!
Why did this happen? The common critiscm of modern stats analysis is it reduces the players to robots. In that light, it happened because of sheer luck: Papelbon's earned runs (ER) came at a bad time. (In fact, anyone who watches the Sox knows that Papelbon has been a victim of a lot of bloops and errors this year) But there is more to it: players are not robots.
The basic misunderstanding of numbers analysis is what the statisticians throw away as "noise" or "luck". When a player is on a hot streak, hitting .450 for the past 10 games, a statistican will tell you "yes, but his batting average on balls in play (BABIP) is unsustainably high and will go down". Does that mean that the player has definitely just been lucky?
No.
What it means is there is no way (yet invented, anyway) of telling for sure whether the player has been lucky or just extremely good for the last 10 games (probably a mix of both...). Even further, there is absolutely no way (and this probably won't change) of predicting when the player is going to end his "hot streak". The hot streak may be due to a fight resolved with the player's wife, or a sleep condition rectified, or any number of factors we simply can't know about. The player has not simply been unsustainably good for the past 10 games- he may have really put his swing mechanics together and is just seeing the ball really well.
The key to baseball analysis, though, is realizing that those factors change so much that you may as well call them statistical noise. If the player defies a statistician's expectations and actually hits .450 for the whole season, it's not like the stat guy will be afronted and angry- he'll be amazed, since that has never happened. It may be possible to happen, but based on the long history of baseball, it probably won't.
Well, I know that was a lot of rambling about baseball, and I may write some more posts about it in the future, but it is quite difficult to introduce a subject to an audience and then talk about a specific part of it. If anyone has suggestions for making any part of this clearler (it is hard to write clearly, since I know all of these things as basic knowledge now, but I surely didn't 2 years ago!), please tell me and I'll work on it.
For those who don't know the game, baseball seems extremely dreary, drawn out, and rather lacking in athleticism. To prevent re-hashing the same old arguments, I won't even address those concerns. Instead, I want everyone to know that behind the face of baseball, there is perhaps the most advanced math of any sport, and lots of smart math and CS people are making their careers in baseball nowadays.
Since this isn't a baseball blog, I will keep this short. Essentially, the entire way that baseball was analyzed up to the 70's was completely wrong. Given the long history of the sport and it's tradition of keeping accurate statistics, you may be surprised, or even offended, by that statement.
I assure you, it is true. Bill James is sort of the Knuth of baseball- he basically analyzes numbers. This was all brought screaming into the light by Michael Lewis with Moneyball, and the baseball world really didn't like it. I won't bother trying to convince you of anything here, but it's a little like a more believable quantum mechanics: everyone denies it could be true, but experiments bear it out.
Among the central tenets of sabermetrics (a fancy word for investigating the inner workings of baseball) is that closers are overrated. If you don't follow baseball, closers are the teams best relief pitcher, who will typically only pitch in a save situation, which nowadays means only the last inning when their team is ahead by 3 or less runs.
A rather important event this year was Francisco Rodriguez (K-Rod) breaking the all time saves record. Of course, the numbers guys say that although it's a great achievement, it is way overblown. Basically, the Angels this year got K-Rod into an enormous amount of save situations, so he got the record not by any other extraordinary feat of pitching, but by being in the right place at the right time.
Again, the fact that he actually executed this is still very impressive. But if you need any proof that saves are overrated, take a look at Joe Borowski. He had 45 saves in 2007, even though his ERA, at 5.07, was way below average for a reliever, not to mention a closer. In 2008, he's out of baseball.
The evidence doesn't end there, though. Check out this rather amazing comparison between Boston's closer, Jonathan Papelbon, and K-Rod.
What you're seeing here is a ridiculous similary between K-Rod and Papelbon. Papelbon's save situations have been far less, and he hasn't quite executed as well in some of them, but his total numbers are either identical or significantly better!
Why did this happen? The common critiscm of modern stats analysis is it reduces the players to robots. In that light, it happened because of sheer luck: Papelbon's earned runs (ER) came at a bad time. (In fact, anyone who watches the Sox knows that Papelbon has been a victim of a lot of bloops and errors this year) But there is more to it: players are not robots.
The basic misunderstanding of numbers analysis is what the statisticians throw away as "noise" or "luck". When a player is on a hot streak, hitting .450 for the past 10 games, a statistican will tell you "yes, but his batting average on balls in play (BABIP) is unsustainably high and will go down". Does that mean that the player has definitely just been lucky?
No.
What it means is there is no way (yet invented, anyway) of telling for sure whether the player has been lucky or just extremely good for the last 10 games (probably a mix of both...). Even further, there is absolutely no way (and this probably won't change) of predicting when the player is going to end his "hot streak". The hot streak may be due to a fight resolved with the player's wife, or a sleep condition rectified, or any number of factors we simply can't know about. The player has not simply been unsustainably good for the past 10 games- he may have really put his swing mechanics together and is just seeing the ball really well.
The key to baseball analysis, though, is realizing that those factors change so much that you may as well call them statistical noise. If the player defies a statistician's expectations and actually hits .450 for the whole season, it's not like the stat guy will be afronted and angry- he'll be amazed, since that has never happened. It may be possible to happen, but based on the long history of baseball, it probably won't.
Well, I know that was a lot of rambling about baseball, and I may write some more posts about it in the future, but it is quite difficult to introduce a subject to an audience and then talk about a specific part of it. If anyone has suggestions for making any part of this clearler (it is hard to write clearly, since I know all of these things as basic knowledge now, but I surely didn't 2 years ago!), please tell me and I'll work on it.
Wednesday, September 17, 2008
90 miles per hour, girl, is the speed I drive
I was directed towards this article about removing traffic signs and creating a "shared space" to reduce accidents. I had read this article many times in the past, and sure enough, a quick check on Wiki confirmed- Bohmte, the town in question, enacted this policy in 2007. By all accounts, it seems to have succeeded so far.
Ah, well, it's not the first time that my attention has been diverted towards a rehashed topic. In fact, I've thought quite a lot about traffic in the past couple of years, and I'd like to share my thoughts in a couple of blog entries.
The pith of the shared space concept is that signs are less effective than properly designed intersections. I can see several intuitive reasons for at least the initial success of this program.
First of all, I strongly believe that informational signs are becoming part of the ignored content that the brain automatically filters out. Much like ads on a frequently visited web page, which are so glossed over by the reader that the authors may as well remove them (more on this another time, I hope), signs just aren't read by most commuters. Apparently, this problem is worse in Europe.
Second, there may be a correlation between the amount of information provided and the responsibility felt by the commuter. By responsibility, I don't mean that commuters literally feel that they are absolved of accident guilt. It is more of a responsibility to pay attention and not drive on autopilot.
Personally, I sometimes drive for minutes on my home town roads without really thinking about anything. I know each turn, each blind driveway, and each intersection, so I know where I have to worry about cars coming, and I know where I can pass bikers safely...right?
Not necessarily. Most accidents happen due to unexpected events. The less I have to think about the act of driving, the slower I am to react to out of the ordinary events. If an animal wanders into the road, I'm sure I would be able to react better if I had been scanning the road for bikers and pedestrians and other cars actively than if I had been driving on autopilot.
This is sort of like a theory some of my high school teachers followed: move the kids around the classroom throughout the year, and they pay better attention. I may write a full post on this sort of subject, so I'll keep this tangent brief, but I absolutely believe that humans are far more alert in new situations than in ones done a hundred times before.
So, should we start tearing down signage across America? No, I don't think so. First of all, the concept of shared space relies on efficient road design, which is sorely lacking in America. Removing signs is not enough: you have to redesign the traffic flow to allow for the actual use cases. Shared space suggests rotaries, something that Americans (or at least New Englanders) struggle with quite a lot. Plus, I feel like this idea would completely break down in cities.
Still, I can't help but wonder. Part of my driving philosophy is to aggressively yield and maintain large gaps, so I'm all for anything that encourages such conscious effort by everyone. Again, this is a whole other post, but a lot of traffic problems could really be solved with a simple change in driving style.
What do you think? Should we start implementing the shared space plan in some rural towns? Or even throw it into a section of, say, downtown Portland, Oregon?
Ah, well, it's not the first time that my attention has been diverted towards a rehashed topic. In fact, I've thought quite a lot about traffic in the past couple of years, and I'd like to share my thoughts in a couple of blog entries.
The pith of the shared space concept is that signs are less effective than properly designed intersections. I can see several intuitive reasons for at least the initial success of this program.
First of all, I strongly believe that informational signs are becoming part of the ignored content that the brain automatically filters out. Much like ads on a frequently visited web page, which are so glossed over by the reader that the authors may as well remove them (more on this another time, I hope), signs just aren't read by most commuters. Apparently, this problem is worse in Europe.
Second, there may be a correlation between the amount of information provided and the responsibility felt by the commuter. By responsibility, I don't mean that commuters literally feel that they are absolved of accident guilt. It is more of a responsibility to pay attention and not drive on autopilot.
Personally, I sometimes drive for minutes on my home town roads without really thinking about anything. I know each turn, each blind driveway, and each intersection, so I know where I have to worry about cars coming, and I know where I can pass bikers safely...right?
Not necessarily. Most accidents happen due to unexpected events. The less I have to think about the act of driving, the slower I am to react to out of the ordinary events. If an animal wanders into the road, I'm sure I would be able to react better if I had been scanning the road for bikers and pedestrians and other cars actively than if I had been driving on autopilot.
This is sort of like a theory some of my high school teachers followed: move the kids around the classroom throughout the year, and they pay better attention. I may write a full post on this sort of subject, so I'll keep this tangent brief, but I absolutely believe that humans are far more alert in new situations than in ones done a hundred times before.
So, should we start tearing down signage across America? No, I don't think so. First of all, the concept of shared space relies on efficient road design, which is sorely lacking in America. Removing signs is not enough: you have to redesign the traffic flow to allow for the actual use cases. Shared space suggests rotaries, something that Americans (or at least New Englanders) struggle with quite a lot. Plus, I feel like this idea would completely break down in cities.
Still, I can't help but wonder. Part of my driving philosophy is to aggressively yield and maintain large gaps, so I'm all for anything that encourages such conscious effort by everyone. Again, this is a whole other post, but a lot of traffic problems could really be solved with a simple change in driving style.
What do you think? Should we start implementing the shared space plan in some rural towns? Or even throw it into a section of, say, downtown Portland, Oregon?
Friday, September 12, 2008
And, Back
But first, a non-technical post! Well, sort of...
This experiment in revealing detail was recently posted by the excellent Design with Intent, which I found a long while back as a neat explanation of how architecture can be used to influence desired behavior. Since then, the author has done a simply fabulous job making his topics accessible, especially since they usually aren't.
Anyway, back to the experiment. It is still an interesting application of the web for content delivery (I really like sites/pages that show ideas that can only be shown on the internet), so I suppose it is technological...but the main concept is merely an in-depth examination of everyday life. Writing one of these pages would be a good exercise for a creative writer or poet, I would assume, although I am neither.
I like clicking on the words in different orders. It is somewhat like a limited choose your own story in that sense...
But seriously, I think this experiment emphasizes a couple of interesting things:
1) The amazing amount of decision making, judgment, and coordination involved in every day life
2) The fact that this is made almost entirely unconscious by our brain's amazing powers (which I will hopefully write about later). This makes human-level A.I. so hard to imagine at this point.
3) What level of detail is appropriate? In writing, details can be lauded as so realistic that the reader is transported into the scene...but can also be entirely boring. In memory, we subconsciously choose which details to remember (and usually, it's only a small bit of the total detail).
Actually, my Classical Music professor did a nice demonstration of typical detail memorization while trying to illustrate the limitations of oral tradition (versus writing down songs/stories). She rattled off an absurdly detailed story about nothing really important, then asked a student to recite it. He managed to remember almost the entire outline of the story, but had to make up words to fill in the details.
This was entirely expected, of course, but I still came away impressed by our ability to remember the essential details of life. If you want to try a similar exercise, just try to remember the details of the tea story from before- I bet you can't!
Well, that's it for now. My schedule for the semester is intense:
Algorithms (CS theory)
Artificial Intelligence (CS theory/application)
Analysis (Math)
Classical Music (yay!)
I will also be learning Ruby on Rails (to start...perhaps Django on Python) with my friend Seth, who worked at YouTube this summer and absolutely rocked their socks off. Check out his mugshot!
Point is, you may be seeing quite a few posts regarding the 5 topics above. I hope to finish up the posts I had in mind over the summer, as well.
This experiment in revealing detail was recently posted by the excellent Design with Intent, which I found a long while back as a neat explanation of how architecture can be used to influence desired behavior. Since then, the author has done a simply fabulous job making his topics accessible, especially since they usually aren't.
Anyway, back to the experiment. It is still an interesting application of the web for content delivery (I really like sites/pages that show ideas that can only be shown on the internet), so I suppose it is technological...but the main concept is merely an in-depth examination of everyday life. Writing one of these pages would be a good exercise for a creative writer or poet, I would assume, although I am neither.
I like clicking on the words in different orders. It is somewhat like a limited choose your own story in that sense...
But seriously, I think this experiment emphasizes a couple of interesting things:
1) The amazing amount of decision making, judgment, and coordination involved in every day life
2) The fact that this is made almost entirely unconscious by our brain's amazing powers (which I will hopefully write about later). This makes human-level A.I. so hard to imagine at this point.
3) What level of detail is appropriate? In writing, details can be lauded as so realistic that the reader is transported into the scene...but can also be entirely boring. In memory, we subconsciously choose which details to remember (and usually, it's only a small bit of the total detail).
Actually, my Classical Music professor did a nice demonstration of typical detail memorization while trying to illustrate the limitations of oral tradition (versus writing down songs/stories). She rattled off an absurdly detailed story about nothing really important, then asked a student to recite it. He managed to remember almost the entire outline of the story, but had to make up words to fill in the details.
This was entirely expected, of course, but I still came away impressed by our ability to remember the essential details of life. If you want to try a similar exercise, just try to remember the details of the tea story from before- I bet you can't!
Well, that's it for now. My schedule for the semester is intense:
Algorithms (CS theory)
Artificial Intelligence (CS theory/application)
Analysis (Math)
Classical Music (yay!)
I will also be learning Ruby on Rails (to start...perhaps Django on Python) with my friend Seth, who worked at YouTube this summer and absolutely rocked their socks off. Check out his mugshot!
Point is, you may be seeing quite a few posts regarding the 5 topics above. I hope to finish up the posts I had in mind over the summer, as well.
Thursday, August 28, 2008
The Next Big Application
Another quick post, just because I cannot delay any longer.
People, get your Firefoxen over to Mozilla Labs and download the prototype of Ubiquity.
If you need convincing, watch the short video.
In a sentence, Ubiquity uses the power of web APIs and some clever behind the scenes coding to deliver an easy to use application that can automate, blend, and extend the functionality offered by separate Internet applications.
Even though Ubiquity is in the very early stages, it won't wreck your computer, and it's already hitting me with a revolution like the first time I used Launchy. Which is not easy to do.
I insist everyone give it a shot. You'll like it.
People, get your Firefoxen over to Mozilla Labs and download the prototype of Ubiquity.
If you need convincing, watch the short video.
In a sentence, Ubiquity uses the power of web APIs and some clever behind the scenes coding to deliver an easy to use application that can automate, blend, and extend the functionality offered by separate Internet applications.
Even though Ubiquity is in the very early stages, it won't wreck your computer, and it's already hitting me with a revolution like the first time I used Launchy. Which is not easy to do.
I insist everyone give it a shot. You'll like it.
Vacation Continues...A Random Fact
Well, I'm heading back up to school next Tuesday, so I should get some more posts done in about a week. For now, here's a random fact from Scientific American:
Ever wonder why Europeans don't refrigerate their milk? The answer is both obvious and less offensive than you think!
According to SciAm, some organic and most European (boxed and unrefrigerated) milk is pasteurized differently than "regular" American milk. While the milk I drink is pasteurized using a fairly lame 145F for 30 minutes or 160F for 15 seconds cycle, there is another level called Ultra High Temperature (UHT) pasteurization.
UHT heats the milk to 280F (well above the boiling point of water) for a few seconds. I imagine they're using some sort of flash boiling, but I'm not sure. This extreme heat kills almost all the bacteria in the milk, so it can basically sit on the shelf for six months.
For an American, this sounds pretty sketchy, but the milk probably contains less bacteria than my refridgerated milk. So why not use UHT on all milk products?
SciAm explains that "UHT sweetens the flavor of milk by burning, or caramelizing, some of its sugars", which is apparently not the taste Americans are accustomed to. I imagine it tastes like a stronger version of when I try to make hot chocolate, but end up heating the milk in the microwave for too long and it begins to bubble.
Funny, because caramelizing is a crucial step for a lot of my cooking. Well, in any case, this should allay any traveler's fears about drinking European milk :)
Ever wonder why Europeans don't refrigerate their milk? The answer is both obvious and less offensive than you think!
According to SciAm, some organic and most European (boxed and unrefrigerated) milk is pasteurized differently than "regular" American milk. While the milk I drink is pasteurized using a fairly lame 145F for 30 minutes or 160F for 15 seconds cycle, there is another level called Ultra High Temperature (UHT) pasteurization.
UHT heats the milk to 280F (well above the boiling point of water) for a few seconds. I imagine they're using some sort of flash boiling, but I'm not sure. This extreme heat kills almost all the bacteria in the milk, so it can basically sit on the shelf for six months.
For an American, this sounds pretty sketchy, but the milk probably contains less bacteria than my refridgerated milk. So why not use UHT on all milk products?
SciAm explains that "UHT sweetens the flavor of milk by burning, or caramelizing, some of its sugars", which is apparently not the taste Americans are accustomed to. I imagine it tastes like a stronger version of when I try to make hot chocolate, but end up heating the milk in the microwave for too long and it begins to bubble.
Funny, because caramelizing is a crucial step for a lot of my cooking. Well, in any case, this should allay any traveler's fears about drinking European milk :)
Thursday, August 21, 2008
Microsoft listens!
According to Lifehacker, Photosynth is finally open to those with a windows Live ID!
I'm sure my angry rant about them not updating promising products had everything to do with that ;)
I will probably check this out when I get back from vacation.
I'm sure my angry rant about them not updating promising products had everything to do with that ;)
I will probably check this out when I get back from vacation.
Wednesday, August 20, 2008
Games!
I just watched an episode of Numb3rs, which is an FBI detective show with a healthy dose of math/CS. I used to watch a lot of it, but the math has somewhat soured in recent episodes. Coincidentally, my fantastic high school math teacher's father did math consulting for the show after his blog about the show gained some attention with the producers. Cool!
Disclaimer for real math-heads: Numb3rs is best when taken as entertainment, and as discovery of math topics. Often, in the translation from math to exciting real life application!!1, the math is distorted a little.
Anyway, this episode (which happens to be the one on the home page of Numb3rs linked above right now) mentioned the Chinese Room thought experiment and the perfect information game of Chomp (or Munch, etc). Chomp is a fabulous game because it is both utterly simplistic and a neat window into mathematics and game theory. Try it out at the previous link after you read this quick description.
(As an aside: the Chinese Room thought experiment, like most thought experiments, is a great read. I may write about it later, because it seems to be a very interesting statement on Artificial Intelligence that, with apologies to one of the greatest men in history, goes beyond Turing Tests.)
I mentioned that Chomp is a perfect information game, which is a fancy mathematician way of describing games like checkers or chess, as opposed to the prisoner's dilemma. In other words, in a perfect information game, the entire layout or "state" of the game is out there for all players to see. In the prisoner's dilemma, the strategy comes from the lack of perfect information, as it does in most games, like poker or, more abstractly, life. Although I, like most people, have played a perfect information game and thought nothing strange of it, I now find it kind of interesting that some games can have strategy and be interesting without withholding information.
Okay, back to Chomp. I mentioned that Chomp is simple- the players alternate taking blocks of items from a grid. These blocks are created by picking an item and taking all of the blocks to the right and down from that item. This is a lot easier to visualize with the sample game I linked above, called Munch. With that online version, you can play against a computer that always plays optimal moves.
Now comes the interesting part of Chomp: with perfect strategy, the first player always wins. In Numb3rs, Charlie claims that although this can be proved, the winning strategies cannot be proved. I don't think that's true at all. According to the W-God, the first player always wins because of strategy-stealing. The strategy-stealing argument claims that the proof does not constitute how to win every time, because it is non-constructive, i.e., a mere statement of existence. This may be why the show claimed that the winning strategies cannot be proved, because intuitively, I'm sure that you can reason out winning strategies for Chomp, if only by brute force. I may examine this later.
So, if you haven't yet, play around with Chomp online, and then play with your friends. See if you can always win as the first player. To be honest, I haven't figured it out yet!
I'm a big fan of simple games like these that hold the key to interesting mathematical concepts. Feel free to post any others you know of. I once attempted to learn Go, but after a few hours, I was still pretty mediocre. I think mastery of the game is beyond my reach. Go is interesting because it is fairly simple, but incredibly complex to play in practice. In fact, in CS terms, the depth of the search required to play well is so large that computers will probably never solve it in brute force (like they did Chess with Deep Blue).
Disclaimer for real math-heads: Numb3rs is best when taken as entertainment, and as discovery of math topics. Often, in the translation from math to exciting real life application!!1, the math is distorted a little.
Anyway, this episode (which happens to be the one on the home page of Numb3rs linked above right now) mentioned the Chinese Room thought experiment and the perfect information game of Chomp (or Munch, etc). Chomp is a fabulous game because it is both utterly simplistic and a neat window into mathematics and game theory. Try it out at the previous link after you read this quick description.
(As an aside: the Chinese Room thought experiment, like most thought experiments, is a great read. I may write about it later, because it seems to be a very interesting statement on Artificial Intelligence that, with apologies to one of the greatest men in history, goes beyond Turing Tests.)
I mentioned that Chomp is a perfect information game, which is a fancy mathematician way of describing games like checkers or chess, as opposed to the prisoner's dilemma. In other words, in a perfect information game, the entire layout or "state" of the game is out there for all players to see. In the prisoner's dilemma, the strategy comes from the lack of perfect information, as it does in most games, like poker or, more abstractly, life. Although I, like most people, have played a perfect information game and thought nothing strange of it, I now find it kind of interesting that some games can have strategy and be interesting without withholding information.
Okay, back to Chomp. I mentioned that Chomp is simple- the players alternate taking blocks of items from a grid. These blocks are created by picking an item and taking all of the blocks to the right and down from that item. This is a lot easier to visualize with the sample game I linked above, called Munch. With that online version, you can play against a computer that always plays optimal moves.
Now comes the interesting part of Chomp: with perfect strategy, the first player always wins. In Numb3rs, Charlie claims that although this can be proved, the winning strategies cannot be proved. I don't think that's true at all. According to the W-God, the first player always wins because of strategy-stealing. The strategy-stealing argument claims that the proof does not constitute how to win every time, because it is non-constructive, i.e., a mere statement of existence. This may be why the show claimed that the winning strategies cannot be proved, because intuitively, I'm sure that you can reason out winning strategies for Chomp, if only by brute force. I may examine this later.
So, if you haven't yet, play around with Chomp online, and then play with your friends. See if you can always win as the first player. To be honest, I haven't figured it out yet!
I'm a big fan of simple games like these that hold the key to interesting mathematical concepts. Feel free to post any others you know of. I once attempted to learn Go, but after a few hours, I was still pretty mediocre. I think mastery of the game is beyond my reach. Go is interesting because it is fairly simple, but incredibly complex to play in practice. In fact, in CS terms, the depth of the search required to play well is so large that computers will probably never solve it in brute force (like they did Chess with Deep Blue).
Sunday, August 17, 2008
Face Swapping
This is a great implementation of automatic face swapping in digital photographs. I hadn't thought of it before, but I suppose it is a natural extension of the face-detection algorithms in even budget cameras today.
In fact, I remember seeing a new point and shoot that has a special burst mode for group shots, where it takes 3 pictures which can be merged in software later to get a photo with everyone's eyes open. I can't find the link now. However, I used to do a similar thing at family parties, with a tripod and the camera's timer. I would take a few shots, and try to combine them later in Photoshop.
I tried this software from Microsoft, which unfortunately looks like it was abandoned. When I used it, it didn't work amazingly well, but I suspect that was due to each shot being of ~30 people, which is tougher for the algorithm than a few. I would've been interested to see this or similar photo software develop at MS- they do seem to know what they're doing. Photosynth was another promising example- which hasn't been updated in a year. What's going on, Microsoft?? I've heard some mutterings about Seadragon (navigation of arbitrarily large photo sets!), which Photosynth is based on, but nothing else. I guess Microsoft would rather spend their enormous resources pushing out Silverlight, which has shown me absolutely nothing and is a shameless repackaging of Flash so that MS can control the market, than on two truly innovative ideas.
Tangent over- back to the original software. It's pretty clear that this face switcher is useful, and there are good examples on their page. I'm interested in where we go from here- what's the next big thing in photo manipulation? Between face detection and seam carving, there's been some cool things lately, but what comes next? And will it be an in-camera revolution, or a post production enhancement?
Face detection is interesting because it is probably the only new feature since digital was invented that truly takes advantage of digital- i.e., something that wouldn't have happened in film cameras. Everyone can be happy with a feature that reduces the amount of photos with the wrong piece of the scene in focus! In addition to face detection, there have been plenty of other enhancements, which have mostly revolved around making it easier to take good photos. I'm thinking of horizon guides, live histograms with blinking highlights, scene modes, and moving object tracking. Even the adoption of image stabilization has done wonders for blurry photo syndrome. So, what else can digital do to create a new feature set?
You know, I really can't think of anything right now. I hope I will later, but for now- any ideas?
In fact, I remember seeing a new point and shoot that has a special burst mode for group shots, where it takes 3 pictures which can be merged in software later to get a photo with everyone's eyes open. I can't find the link now. However, I used to do a similar thing at family parties, with a tripod and the camera's timer. I would take a few shots, and try to combine them later in Photoshop.
I tried this software from Microsoft, which unfortunately looks like it was abandoned. When I used it, it didn't work amazingly well, but I suspect that was due to each shot being of ~30 people, which is tougher for the algorithm than a few. I would've been interested to see this or similar photo software develop at MS- they do seem to know what they're doing. Photosynth was another promising example- which hasn't been updated in a year. What's going on, Microsoft?? I've heard some mutterings about Seadragon (navigation of arbitrarily large photo sets!), which Photosynth is based on, but nothing else. I guess Microsoft would rather spend their enormous resources pushing out Silverlight, which has shown me absolutely nothing and is a shameless repackaging of Flash so that MS can control the market, than on two truly innovative ideas.
Tangent over- back to the original software. It's pretty clear that this face switcher is useful, and there are good examples on their page. I'm interested in where we go from here- what's the next big thing in photo manipulation? Between face detection and seam carving, there's been some cool things lately, but what comes next? And will it be an in-camera revolution, or a post production enhancement?
Face detection is interesting because it is probably the only new feature since digital was invented that truly takes advantage of digital- i.e., something that wouldn't have happened in film cameras. Everyone can be happy with a feature that reduces the amount of photos with the wrong piece of the scene in focus! In addition to face detection, there have been plenty of other enhancements, which have mostly revolved around making it easier to take good photos. I'm thinking of horizon guides, live histograms with blinking highlights, scene modes, and moving object tracking. Even the adoption of image stabilization has done wonders for blurry photo syndrome. So, what else can digital do to create a new feature set?
You know, I really can't think of anything right now. I hope I will later, but for now- any ideas?
Thursday, August 14, 2008
Starting Fresh, Part One
In this Starting Fresh series, I will document how I wiped my hard drive clean and started fresh. In this part, I'll talk about drive imaging. Upcoming posts may include the best applications to install, portable applications, and the like.
Imaging is a very simple concept: take a snapshot of a fully set up computer and use it to easily set up other computers with the same hardware or the same computer in the future. At work this summer, we used Clonezilla to image machines for the workers. Once the image for a specific hardware was created, we simply loaded Clonezilla in a Live CD (the easiest way to run handy Linux-based tools), hit a few buttons, and we had an almost fully set up machine in just a few minutes. The speed was incredible the first time I did it, and I knew I had to try this at home.
Clonezilla is great for corporate use, but I knew my requirements were a little less stringent. Clonezilla is a superset of PartImage, so that's not a bad place to start. Of course, commercial applications such as Norton Ghost exist, but I'm somewhat comfortable with Linux, so I thought I'd save some money.
It took me a short time to figure out how I was going to create the image: at work, we used an SSH server (essentially another computer that hosts files, in this case for Clonezilla to grab and use), but I wanted to go much simpler. At college, I typically only have one machine, this laptop, so I needed a way to store the image locally. While it is possible to use an external hard drive to store the image, I didn't want to finagle with Linux's external drive mounting. After the fact, I've realized this was probably a mistake; it would've been a good, simple solution.
In any case, I also wanted to make at least two partitions on my laptop drive, to keep my data separate from Windows and my applications. Partitions are a nice way to divide one physical hard drive into several virtual hard drives that Windows sees as different devices.
The two main advantages to multiple partitons are adding a simple layer of protection from dumb viruses, and having a little less backing up to do when I want to wipe Windows again. One downside to this is having to resize partitions when you realize you need more space on the application drive.
In this case, a data partition is a good enough place for PartImage to save your main Windows image to. I used SystemRescueCd to run PartImage, which was dead simple. I followed a few of the good guides on the internet, notably this guide for Ubuntu (no difference), which handily showed how to mount my data partition and show PartImage where it was.
After imaging the partition, I booted into Windows, played around for a day or so, and then used PartImage again to wipe back to my saved image. It worked like a charm, and I had my known-working install back. I will continue to perfect my Windows install, and make periodic images. Then, when the inevitable Windows slowdown occurs, I simply wipe back to a good one, and have a fresh, fast, stable OS again.
PartImage does not take the place of backups- I do not reccommend you create images that include your data, because they'd be huge. However, combining proper data backups with Windows backups is great, and anyone can do it with a little guidance.
I will write about why I wiped my hard drive and what applications I installed on my image later.
Imaging is a very simple concept: take a snapshot of a fully set up computer and use it to easily set up other computers with the same hardware or the same computer in the future. At work this summer, we used Clonezilla to image machines for the workers. Once the image for a specific hardware was created, we simply loaded Clonezilla in a Live CD (the easiest way to run handy Linux-based tools), hit a few buttons, and we had an almost fully set up machine in just a few minutes. The speed was incredible the first time I did it, and I knew I had to try this at home.
Clonezilla is great for corporate use, but I knew my requirements were a little less stringent. Clonezilla is a superset of PartImage, so that's not a bad place to start. Of course, commercial applications such as Norton Ghost exist, but I'm somewhat comfortable with Linux, so I thought I'd save some money.
It took me a short time to figure out how I was going to create the image: at work, we used an SSH server (essentially another computer that hosts files, in this case for Clonezilla to grab and use), but I wanted to go much simpler. At college, I typically only have one machine, this laptop, so I needed a way to store the image locally. While it is possible to use an external hard drive to store the image, I didn't want to finagle with Linux's external drive mounting. After the fact, I've realized this was probably a mistake; it would've been a good, simple solution.
In any case, I also wanted to make at least two partitions on my laptop drive, to keep my data separate from Windows and my applications. Partitions are a nice way to divide one physical hard drive into several virtual hard drives that Windows sees as different devices.
The two main advantages to multiple partitons are adding a simple layer of protection from dumb viruses, and having a little less backing up to do when I want to wipe Windows again. One downside to this is having to resize partitions when you realize you need more space on the application drive.
In this case, a data partition is a good enough place for PartImage to save your main Windows image to. I used SystemRescueCd to run PartImage, which was dead simple. I followed a few of the good guides on the internet, notably this guide for Ubuntu (no difference), which handily showed how to mount my data partition and show PartImage where it was.
After imaging the partition, I booted into Windows, played around for a day or so, and then used PartImage again to wipe back to my saved image. It worked like a charm, and I had my known-working install back. I will continue to perfect my Windows install, and make periodic images. Then, when the inevitable Windows slowdown occurs, I simply wipe back to a good one, and have a fresh, fast, stable OS again.
PartImage does not take the place of backups- I do not reccommend you create images that include your data, because they'd be huge. However, combining proper data backups with Windows backups is great, and anyone can do it with a little guidance.
I will write about why I wiped my hard drive and what applications I installed on my image later.
Wednesday, August 13, 2008
The Idea Factory
There was a nice article in the Globe Magazine that I read tonight about startups in Kendall Square. Seems like there's a great place called the Cambridge Innovation Center (CIC) where Tim Rowe gives entrepreneurs a place to grow their company.
I love this idea simply because I love the idea of encouraging smart people to do smart things in the Boston area. Cambridge, home to MIT, has some very smart people with presumably great ideas. The CIC attempts to keep those people close to home, instead of in Silicon Valley.
I'd like to focus on Conduit Labs, the makers of LoudCrowd, a new type of social videogame centered around dance. At first glance, I must say, Conduit Labs really can't go wrong here: Guitar Hero has paved the way for social videogames entering the mainstream of "cool", and LoudCrowd is probably hoping to pick up where Dance Dance Revolution left off.
Unfortunately, this article exposes a fairly serious weakness in the Conduit team: usability testing. Here's one example:
Conduit Labs [See edit below] If you are in this situation, you have failed. Do not be swayed by the success of your product in these tests, because your tests are useless. You should never be lurking over your users while they test the program, and actually telling the users what to do is so fundamentally against the entire idea of the test that I'm amazed Hyatt didn't realize it.
It seems crystal clear to me that if you have to tell your users what to do, if you're confusing your users as to the entire point of the game- there's your usability test. Go back and start over.
Steve Krug is considered to a god of usability testing, so maybe picking up a copy of his book would do Conduit some good. I haven't read his book, but it looks absolutely great, and I plan to pick up a copy soon. The great Jeff Atwood of Coding Horror agrees about Steve.
In closing,Conduit Labs some people really need to re-examine their usability testing. I think they definitely have an idea worth pursuing, and it would be a shame to see it come out in a half-baked, confusing format. Hyatt is not going to visit each user's house and explain the functionality when the software releases, so it better be clearer than it was when the article was written. If they make their idea clearly presentable and it is as catchy as it seems, they will be successful. Good luck, guys.
EDIT:
Conduit comments that the article was embellished. See below.
PS:
Sorry for the lack of posts lately. I just reformatted and reinstalled (by choice, thankfully), so I've been setting up for the past few days, and that will continue for the rest of the week. I'll do a writeup of what I've discovered when I'm done.
I love this idea simply because I love the idea of encouraging smart people to do smart things in the Boston area. Cambridge, home to MIT, has some very smart people with presumably great ideas. The CIC attempts to keep those people close to home, instead of in Silicon Valley.
I'd like to focus on Conduit Labs, the makers of LoudCrowd, a new type of social videogame centered around dance. At first glance, I must say, Conduit Labs really can't go wrong here: Guitar Hero has paved the way for social videogames entering the mainstream of "cool", and LoudCrowd is probably hoping to pick up where Dance Dance Revolution left off.
Unfortunately, this article exposes a fairly serious weakness in the Conduit team: usability testing. Here's one example:
"Conduit Chief Nabeel Hyatt stands over one of the LoudCrowd testers, Lise Caldara...[who says]
"I like the background. It's awesome," she says. But then she hesitates. "I don't know how to start," she says. "This looks cool. Very confusing, but . . . nice."
...
Hyatt prompts her. "Click for dance," he says."
It seems crystal clear to me that if you have to tell your users what to do, if you're confusing your users as to the entire point of the game- there's your usability test. Go back and start over.
Steve Krug is considered to a god of usability testing, so maybe picking up a copy of his book would do Conduit some good. I haven't read his book, but it looks absolutely great, and I plan to pick up a copy soon. The great Jeff Atwood of Coding Horror agrees about Steve.
In closing,
EDIT:
Conduit comments that the article was embellished. See below.
PS:
Sorry for the lack of posts lately. I just reformatted and reinstalled (by choice, thankfully), so I've been setting up for the past few days, and that will continue for the rest of the week. I'll do a writeup of what I've discovered when I'm done.
Sunday, August 10, 2008
Quis custodiet ipsos custodes?
First, I want to mention that cops have extremely dangerous jobs, and have to deal with unruly people all day. I have no doubt that the nature of their job contributes to incidents like this recent horror show, and the absolute ridiculous outbreak of taser incidents lately. No doubt, I hope, the cops we see on internet videos are just the exception.
But the fact that their job is difficult and violent by nature does not at all excuse the many violations we have seen on the internet, and the many that go undocumented. Something must be done to reign in the power of the police. What can technology do to help this problem?
The main issue here is making those in power feel accountable. People should not be afraid of their governments; governments should be afraid of their people. Going back to the Latin title (Who will guard the guards?), Plato's solution was the noble lie: instill a false sense of superiority amongst the rulers, such that they believe it is their moral duty to rule the "lesser" population. They do not rule because they want to; they rule because it is right for them to do. He believed that if this false distinction between people was believed, society could exist peacefully.
At the risk of doubting a far smarter man, I doubt that placing the police above the civilians will work; in fact, I think it is precisely this false belief among some police that lead to abuses of power. So, what can technology do to help this problem?
To address the critical issue of accountability for the police, I take inspiration from the fact that it has already begun: the proliferation of video cameras and YouTube allows any percieved civil rights violation to be seen by millions. And my, how the greater internet loves to watch police screw up! On a positive note, I do recall this instance of Digg sending letters to this cop's supervisor and flooding his RateMyCop profile with positive comments. The guy did a legitimately good job (according to the short video), and was rewarded.
So, perhaps a RateMyCop style solution is the answer? I would like to think so, but I think an even more formal implementation is necessary. The internet is wonderful, but it is far too subject to the whims and mob mentality that can get a good man fired. RateMyCop and YouTube are good starts, but can't go much further than raising awareness.
I'm sure most cops will hate me for suggesting this, but I think a formal review board with random video audits of the police is necessary. One of the best features of American government is the system of checks and balances, and I just don't think we have the proper checks in place for the police. Of course, most officers would say it's not that they have something to hide, but they still do not support this invasion of the police procedure. This is an ironic argument, because it is exactly the argument of civilians against wiretapping and spying. I believe it is a strong argument for civilians (privacy comes first, and the Constitution is pretty important), but not for a government agency charged with protecting the people.
This audit would have to be careful not to interrupt police procedures- I do not want to reduce effectiveness of our already ineffective police force. Nonetheless, it is extremely important to start setting a precedent for our police: they should be accountable and afraid for their jobs. So, what do you think? How can we guard the guards?
But the fact that their job is difficult and violent by nature does not at all excuse the many violations we have seen on the internet, and the many that go undocumented. Something must be done to reign in the power of the police. What can technology do to help this problem?
The main issue here is making those in power feel accountable. People should not be afraid of their governments; governments should be afraid of their people. Going back to the Latin title (Who will guard the guards?), Plato's solution was the noble lie: instill a false sense of superiority amongst the rulers, such that they believe it is their moral duty to rule the "lesser" population. They do not rule because they want to; they rule because it is right for them to do. He believed that if this false distinction between people was believed, society could exist peacefully.
At the risk of doubting a far smarter man, I doubt that placing the police above the civilians will work; in fact, I think it is precisely this false belief among some police that lead to abuses of power. So, what can technology do to help this problem?
To address the critical issue of accountability for the police, I take inspiration from the fact that it has already begun: the proliferation of video cameras and YouTube allows any percieved civil rights violation to be seen by millions. And my, how the greater internet loves to watch police screw up! On a positive note, I do recall this instance of Digg sending letters to this cop's supervisor and flooding his RateMyCop profile with positive comments. The guy did a legitimately good job (according to the short video), and was rewarded.
So, perhaps a RateMyCop style solution is the answer? I would like to think so, but I think an even more formal implementation is necessary. The internet is wonderful, but it is far too subject to the whims and mob mentality that can get a good man fired. RateMyCop and YouTube are good starts, but can't go much further than raising awareness.
I'm sure most cops will hate me for suggesting this, but I think a formal review board with random video audits of the police is necessary. One of the best features of American government is the system of checks and balances, and I just don't think we have the proper checks in place for the police. Of course, most officers would say it's not that they have something to hide, but they still do not support this invasion of the police procedure. This is an ironic argument, because it is exactly the argument of civilians against wiretapping and spying. I believe it is a strong argument for civilians (privacy comes first, and the Constitution is pretty important), but not for a government agency charged with protecting the people.
This audit would have to be careful not to interrupt police procedures- I do not want to reduce effectiveness of our already ineffective police force. Nonetheless, it is extremely important to start setting a precedent for our police: they should be accountable and afraid for their jobs. So, what do you think? How can we guard the guards?
Labels:
accountability,
police,
privacy,
v for vendetta
Saturday, August 9, 2008
Working Efficiency
Here's an interesting article from the IGDA. It details the false promise of the long work week, which, while quite relevant to IGDA's topic of game development, crops up in almost every industry. This article ties in to an greater, central idea I hope to elucidate in the future- but for now, a quick summary.
IGDA claims that the 40 hour workweek is the standard for a reason: while a few bursts of 60 or 80 hour weeks raise productivity in the short term, they quickly result in less total productivity. The Work Less Institute is quite vehement that industries that exploit workers for no real purpose (since the productivity is lower than a normal work week) are ignoring the facts because of a conspiracy against non-profit knowledge. I'm not sure if I would go that far, but it is clear that some industries stick to their patterns of work, despite evidence to the contrary.
First, my experience. All else held constant (interest in the subject, other activities), I absolutely agree that there is a limit of the amount of "school time" I can perform in any given week. During a particularly busy week at school, I may have to stay up late a few nights in a row and not take many breaks, and it is very obvious that the quality and quantity of my work decreases. Of course, this is exacerbated by a lack of quality sleep, which may be an even more significant factor.
In general, I try to avoid these weeks of solid work and little sleep, because I have come to accept that I simply cannot be productive after a certain amount of work. Unfortunately, time crunches still happen, because I am certainly not perfect at planning and not procrastinating. I am even more serious about getting the proper amount of sleep: I will often simply quit a project when working late because I know that if I get the rest I need, I may have a better chance of completing the work later, even if I have to turn it in late. I do this most frequently when I study for tests, as I try to optimize towards the least amount of memorization necessary to do well. I often feel that people who stay up all night studying for a test actually work against themselves, because their recall will not be anywhere as good on the test day.
Clearly, the effectiveness of this depends on the understanding of the professor and your willingness to take a reduced grade. I feel strongly that the purpose of my time in college is twofold: to learn how to learn and to get the most knowledge I can about interesting things. Grades have very little to do with either of those objectives at this level, but they are unfortunately still a factor to leave my options open after college. Still, I try to balance my life and my grades to get the most out of my college experience, and I'm happy with how I've done so far.
Now, what about the rest of the world? Can it really be that Company X, forcing its workers into 80 hour weeks, can actually cut the hours to 40 and maintain output, or even increase it?
Personally, I think there are some areas where this is possible, and some where it isn't. In my limited experience developing software, I absolutely need the sharpest version of my mind to tackle hard problems, and usually when I work late, I end up having to re-write or work around the terrible code I've written. Considering the software industry's propensity to deliver late and over-budget, such a shift to lower hours should be considered.
I can think of two famous examples of long hour workers: lawyers and sweatshop labor. In the case of the lawyers, I think that some of their work is simliar to software development in that they may be better off with their full mental capacity rather than a few more hours worth of rote memorization. On the other hand, the intensity and monetary value of their job may require 80 hour work weeks, and perhaps the best lawyers are selected out of those who can withstand the long hours better.
What about sweatshops? Most of the jobs are repetitive and mindless, so perhaps mental acuity is not as important as simply plugging away at the job for the maximum amount of time. Of course, there comes a point where even a factory worker will not be able to produce quality examples often enough and the boss must let them rest. Unions exist partly to balance the abuse of long hours, but do they really work?
So, what do you think? Is it really possible to work less and produce more? What do we have to do to make this happen in the working world? Are unions the answer? Are there some industries exempt from the long hour paradox? What about industries that are especially vulnerable?
In any case, I strongly suggest that you read the article. It is long, but extremely well written and covers quite a lot of topics. Stay tuned for more on this train of thought.
IGDA claims that the 40 hour workweek is the standard for a reason: while a few bursts of 60 or 80 hour weeks raise productivity in the short term, they quickly result in less total productivity. The Work Less Institute is quite vehement that industries that exploit workers for no real purpose (since the productivity is lower than a normal work week) are ignoring the facts because of a conspiracy against non-profit knowledge. I'm not sure if I would go that far, but it is clear that some industries stick to their patterns of work, despite evidence to the contrary.
First, my experience. All else held constant (interest in the subject, other activities), I absolutely agree that there is a limit of the amount of "school time" I can perform in any given week. During a particularly busy week at school, I may have to stay up late a few nights in a row and not take many breaks, and it is very obvious that the quality and quantity of my work decreases. Of course, this is exacerbated by a lack of quality sleep, which may be an even more significant factor.
In general, I try to avoid these weeks of solid work and little sleep, because I have come to accept that I simply cannot be productive after a certain amount of work. Unfortunately, time crunches still happen, because I am certainly not perfect at planning and not procrastinating. I am even more serious about getting the proper amount of sleep: I will often simply quit a project when working late because I know that if I get the rest I need, I may have a better chance of completing the work later, even if I have to turn it in late. I do this most frequently when I study for tests, as I try to optimize towards the least amount of memorization necessary to do well. I often feel that people who stay up all night studying for a test actually work against themselves, because their recall will not be anywhere as good on the test day.
Clearly, the effectiveness of this depends on the understanding of the professor and your willingness to take a reduced grade. I feel strongly that the purpose of my time in college is twofold: to learn how to learn and to get the most knowledge I can about interesting things. Grades have very little to do with either of those objectives at this level, but they are unfortunately still a factor to leave my options open after college. Still, I try to balance my life and my grades to get the most out of my college experience, and I'm happy with how I've done so far.
Now, what about the rest of the world? Can it really be that Company X, forcing its workers into 80 hour weeks, can actually cut the hours to 40 and maintain output, or even increase it?
Personally, I think there are some areas where this is possible, and some where it isn't. In my limited experience developing software, I absolutely need the sharpest version of my mind to tackle hard problems, and usually when I work late, I end up having to re-write or work around the terrible code I've written. Considering the software industry's propensity to deliver late and over-budget, such a shift to lower hours should be considered.
I can think of two famous examples of long hour workers: lawyers and sweatshop labor. In the case of the lawyers, I think that some of their work is simliar to software development in that they may be better off with their full mental capacity rather than a few more hours worth of rote memorization. On the other hand, the intensity and monetary value of their job may require 80 hour work weeks, and perhaps the best lawyers are selected out of those who can withstand the long hours better.
What about sweatshops? Most of the jobs are repetitive and mindless, so perhaps mental acuity is not as important as simply plugging away at the job for the maximum amount of time. Of course, there comes a point where even a factory worker will not be able to produce quality examples often enough and the boss must let them rest. Unions exist partly to balance the abuse of long hours, but do they really work?
So, what do you think? Is it really possible to work less and produce more? What do we have to do to make this happen in the working world? Are unions the answer? Are there some industries exempt from the long hour paradox? What about industries that are especially vulnerable?
In any case, I strongly suggest that you read the article. It is long, but extremely well written and covers quite a lot of topics. Stay tuned for more on this train of thought.
Thursday, August 7, 2008
The downfall of Kuro5hin
Anyone remember Kuro5hin? I certainly didn't. I ran across this article about the downfall of K5, written in 2005.
One of the best things about reading old articles is that you know which predictions came true, as well as those that failed miserably. This article is perhaps even more revealing.
Kuro5hin tried a new model, where users voted on articles, to promote a better, more democratic selection of articles. However, they ran into some trouble:
Sound familiar? The massively popular Digg attempted a similar revolution of news posting, and, I have to say, they seem to have succeeded where Kuro5hin failed. Digg is a classic example of a successful Web 2.0 company- started by a techie, the first version written by contract on the cheap, and now worth lots and lots of money.
Digg's algorithm is probably the reason it has done better than Kuro5hin. It has been refined many times, and has evolved from what was probably a very simplistic votes*time style algorithm to one that handles gaming relatively decently (depending on how you ask).
However, I have to draw some parallels between K5 and Digg. The most obvious is the quote above about technology news being diluted by "ordinary" news. Digg handled that by creating different sections for different posts, which is probably better than trying to fight it.
Nonetheless, many (including me) have grown weary of Digg's childish top page, which only occasionally has a nugget of interesting technology news. I find reddit's programming section orders of magnitude better than Digg nowadays.
So, let's assume Digg doesn't completely fall off the cliff in the next year or so (which won't happen, considering the huge momentum it has already found). What made it work better than K5? As I mentioned, the algorithm is better. In addition, it came out later, to a more experienced market of users.
What do you think?
One of the best things about reading old articles is that you know which predictions came true, as well as those that failed miserably. This article is perhaps even more revealing.
Kuro5hin tried a new model, where users voted on articles, to promote a better, more democratic selection of articles. However, they ran into some trouble:
"the focus of the site ended up not being about technology mainly because it is harder for people to write technology articles than write about everyday topics that are nearer and dearer to their hearts."
Sound familiar? The massively popular Digg attempted a similar revolution of news posting, and, I have to say, they seem to have succeeded where Kuro5hin failed. Digg is a classic example of a successful Web 2.0 company- started by a techie, the first version written by contract on the cheap, and now worth lots and lots of money.
Digg's algorithm is probably the reason it has done better than Kuro5hin. It has been refined many times, and has evolved from what was probably a very simplistic votes*time style algorithm to one that handles gaming relatively decently (depending on how you ask).
However, I have to draw some parallels between K5 and Digg. The most obvious is the quote above about technology news being diluted by "ordinary" news. Digg handled that by creating different sections for different posts, which is probably better than trying to fight it.
Nonetheless, many (including me) have grown weary of Digg's childish top page, which only occasionally has a nugget of interesting technology news. I find reddit's programming section orders of magnitude better than Digg nowadays.
So, let's assume Digg doesn't completely fall off the cliff in the next year or so (which won't happen, considering the huge momentum it has already found). What made it work better than K5? As I mentioned, the algorithm is better. In addition, it came out later, to a more experienced market of users.
What do you think?
Wednesday, August 6, 2008
A Humble Manifesto
Hello World!
Here's what you need to know about me, what I'm going to do with this blog, and what I want out of this blog.
I'm Chris Murphy. I'm a Computer Science major at the small, liberal arts school known as Bowdoin College in Brunswick, Maine. Bowdoin has a very small CS department, consisting of mostly shockingly good Robocup nerds and brilliant GIS folk.
I am neither. While my interests vary over time, they have always centered around computers. The course of this blog will describe my current interests.
Speaking of this blog...
In my mind, this blog is still a murky cloud; a cloud that may form into one of many ideas, or may float on as a confluence of my varied interests.
I figure that by admitting to the Internet (and myself) up front that this blog has no predestination, I may actually end up with something worth reading.
As I envision it right now, this blog will document my learning process. Although I'll try to stay focused on technology related items, who knows what I'll end up learning.
Now, what do I want out of this blog? I want more knowledge. I want to sharpen my writing skills, which have largely been neglected since high school [despite the best efforts of my liberal arts education...;)]. I want to display my work (in all subjects) and be shown why it's horribly wrong.
I don't have any aspirations of anyone ever reading this blog. But perhaps some day, I will write something that someone reads. And when that someone reads it, I hope they post a comment politely describing what's wrong with it.
Why do I want to do this? I love learning. I strongly believe that everything in the world has some facet of interest, and I hope to find the tastiest facets and share them with the world. Also, while I largely love the professors at Bowdoin, I think I need more than one person giving comments on my work, or guiding me on how to solve problems. With the help of the Internet, maybe this blog can provide that, and I can get better. As they say, evolve or die.
That's all for tonight, folks. See you when I learn something cool.
Here's what you need to know about me, what I'm going to do with this blog, and what I want out of this blog.
I'm Chris Murphy. I'm a Computer Science major at the small, liberal arts school known as Bowdoin College in Brunswick, Maine. Bowdoin has a very small CS department, consisting of mostly shockingly good Robocup nerds and brilliant GIS folk.
I am neither. While my interests vary over time, they have always centered around computers. The course of this blog will describe my current interests.
Speaking of this blog...
In my mind, this blog is still a murky cloud; a cloud that may form into one of many ideas, or may float on as a confluence of my varied interests.
I figure that by admitting to the Internet (and myself) up front that this blog has no predestination, I may actually end up with something worth reading.
As I envision it right now, this blog will document my learning process. Although I'll try to stay focused on technology related items, who knows what I'll end up learning.
Now, what do I want out of this blog? I want more knowledge. I want to sharpen my writing skills, which have largely been neglected since high school [despite the best efforts of my liberal arts education...;)]. I want to display my work (in all subjects) and be shown why it's horribly wrong.
I don't have any aspirations of anyone ever reading this blog. But perhaps some day, I will write something that someone reads. And when that someone reads it, I hope they post a comment politely describing what's wrong with it.
Why do I want to do this? I love learning. I strongly believe that everything in the world has some facet of interest, and I hope to find the tastiest facets and share them with the world. Also, while I largely love the professors at Bowdoin, I think I need more than one person giving comments on my work, or guiding me on how to solve problems. With the help of the Internet, maybe this blog can provide that, and I can get better. As they say, evolve or die.
That's all for tonight, folks. See you when I learn something cool.
Subscribe to:
Posts (Atom)