Posted by knorby on February 21, 2008 under Events, Microsoft, google, internet, personal, uchicago |

Bill Gates came to the GSB today to speak about random crap.I was one of the 400 “lucky” students who got to see it. There was a lottery that was supposed to be randomized, but it definitely wasn’t. Extreme preference was given to CS people; it seemed like half of those from the department who applied got a ticket. I know at least 13 people from our department who got tickets, and I know just a couple on non-majors who got in. Business students likely also got preference. I had no complaints, and it does makes sense to give preference to us (maybe more if people actually used M$ crap in the department, but that is besides the point), but it was supposed to be random.
The talk touched on a lot of random. The talk was framed around the fact he was leaving M$ to work at his foundation full time. He had some “comedy” video made with lots of big names (Al Gore, George Clooney, Bono, Brian Williams, Hilliary Clinton, Obama, Warren Buffet, etc…); it seemed like it had a fairly high production value. He drives a Ford Focus in it, which just strikes me as strange since he is loaded; maybe it was meant to be funny. At one point, he is in a recording studio, where you can clearly make out a Mac in the background. Perhaps it was just a tactic to ease the audience into the ensuing bullshit.
He talked about his foundation a decent bit, which was somewhat interesting. I think he has picked a lot of very good and important things to fund, but I do not think it a great act of humanitarianism. I think it would have been near a crime to not give most of it away; it is only his duty. Besides, I do not thing the non-merits of his career give him the right to decide how much of the world’s philanthropy. Apparently, he is pulling many of the same games with the foundation as he did at Microsoft. I think that, in large part, Gates has hurt the software industry far more than he is helped it. The main thing that I think Microsoft has done for the computer revolution is make computers cheap; without Windows, the cheap knockoff would have probably never been successful.
As far as his other comments, I thought he made far more points against Microsoft’s role in the future of technology than for it. At one point, he discussed rich, intuitive graphical interfaces on the web; he started to list things: “computer maps, computer Earth…” I think he continued, but it was clear, I think including to him, that if he had said Google instead of computer, it would have made more sense. I forgot many of the other lines, but it just struck me Gates knew Microsoft was being beaten by the likes of Google, Amazon (at one point, he described a device like the Kindle as being part of the future), etc… I cannot remember much of what else he said along these lines, but it was along these same lines.
It moved onto questions after that….

I was hoping to ask something about the OLPC, but I ended up not after he addressed enough to invalidate the question. I wish I had gotten up though. Most of the questions were either about the foundation, some random computer thing (some confused, some boring), and then it got to the obligatory open source question. The person asked something along the lines of “open source something something business something something future.” Essentially, Gates said that business and open source are incompatible, and there are only a few circumstances where it made sense, etc…. I don’t remember a lot of it as I just started getting pissed. One of my friends just got up and left. He made it out to be some weird, anti-social thing. He compared the GPL to a virus. The best comment, however, was something about how open source developers cut hair during the day and work on software at night. My CS friends and I all think that various barber jokes should circulate the CS department for a while to follow. I couldn’t help but think of Stallman after hearing it. It was really just infuriating that he just lied so blatantly like that to us. Borja, a CS grad student, wrote up a better summary than me. Such is Gates.
SG had some dumb thing that was consistent with my opinion of it.
It would be nice to believe that the rest of the audience came away thinking that he was as much of a toolbag as I did, but there is definitely a reason that the talk was hosted the business school and not the CS department. My roommate Alex, who got in with a press pass, said most of the reporters there ate it all up. They were happy to give all sorts of free press to Gates and MicroSense (thats a joke, laugh).
I suppose it just reinforced what I already knew. I just had never really encountered it so first hand.
Posted by knorby on February 9, 2008 under Python, coding, design |
While working on our project for software construction today, my partner and I started to work out an implementation of interfaces in Python. Fortunately, we didn’t end up needing to go to this extreme (it’s a weekend assignment). Interfaces have been proposed for python before, but the changes were never made. Anyway, we worked out a basic strategy to implement interfaces in python. The most common approach for this sort of thing is to just make a base class with methods that raise the NotImplementedError if they should be overridden. For the most basic implementation of an interface, this approach works, but what if we want to put contracts or a docstring test on this method? There is essentially no way to go about such an implementation with standard methods in python. Instead of using the traditional syntax to express inheritance, some function would be needed to implement interfaces. Really, most of we want to get from the interface could be considered “shell” around another function. We just want to put in the guts part of the method, and if the guts are not put in, python should raise an error. The easiest way to implement something like that would be to just maintain two methods. So, for every method foobar(self, arg1, arg2, ...), there would also be a function __foobar(self, arg1, arg2, ....). Perhaps a different convention, such as __Interface_foobar(self, arg1, arg2, ...), would be appropriate as to not interfere with one’s ability to assign __foobar to something else, but these are points are trivial. Ideally, I will come up with some sort of nice interface metaclass or base class and a set of function decorators that would take care of much of the work involved, but written out if full, it would look like
class Foobar(Interface):
#===============================================================================
def __init__(self):
raise NotImplementedError, "__init__ must be implemented by a subclass"
#===============================================================================
def foobar(self, aArg):
"""
This is a function is the shell of an interface method
"""
if not isinstance(aArg, BarType):
raise TypeError, "aArg must be a BarType"
return self.__Interface_foobar(aArg)
#===============================================================================
def spam(self):
"""
Just some regular method.
"""
return 3
Then after defining some class that implements this interface Foobar, do something like this
Foobar.implementedBy(eggs)
I will probably have to make some changes once I start banging away at python. I know python well, but I don’t know every bit of trivia.
One of the consequences of this setup is that everything is done at runtime, and some external testing procedure would be needed to verify that everything follows the interface. On the plus side, these would be something unique from interfaces as well; these thing really could be used for a whole bunch of things beyond the scope of normal interface. Also, everything needed to implement this sort of thing could be done without any changes to the language itself or use of modules outside of the python standard library. So, I will work on this thing sometime when I have time, which is never…
Posted by knorby on February 8, 2008 under blogs, humor, internet |
Inspired by the fail blog, some friends of mine decided to make the success blog. On it, we post pictures of “successful people being successful.” Essentially, the point is to put up pictures of tools feeling good about themselves, high-fiving each other and such. In general, the site is meant to show off any instance of this skewed sense of success. I suppose it is the sort of humor that appeals to those who think the inspirational posters are as funny in some ways as the parody despair ones. I also registered thesuccesblog.org and thesuccessblog.info. If you have any submissions, send them to me or to thesuccessblog@gmail.com. We will eventually try and get it some publicity (hence wordpress.com), but we need to post more first.
Posted by knorby on February 5, 2008 under Chicago, design, rants, uchicago |
I pass a sign every morning that reads “no trespassing violators will be prosecuted,” only with each word on a new line. I walk through the place as it blocks off my street. I don’t think I should have to walk through a sketch ally turned road that is without a sidewalk just because some construction group bribed some local politicians. The place’s location makes next to no logical sense without considering graft or “patronage.” Back to the point, the place seems like the type that would definitely want to go after trespassers, though I don’t think UofC students are exactly the target audience. I always find this sign curious as it does nothing to separate “no trespassing” and “violators will be prosecuted,” which I assume is what it meant as that message is the norm. Regardless, the full statement clearly says that no one will be prosecuted for trespassing. I don’t know much about what the legal meaning of sign even is, but I would think that if they meant anything, the apartment complex might have a hard time going after trespassers in court if the trespasser just pointed out the sign. Perhaps the usual meaning would win…
I noticed the same problem on a sign outside the botany pond. The sign read “keep off thin ice.” If there was a separation, the intended meaning would come through. I of course am assuming that the UofC would generally prefer people to stay of a possible hazard…
I just don’t get why companies who do nothing but make signs would have gotten the concept of separation down at this point.
Posted by knorby on February 2, 2008 under Chicago, food, personal |
I went to the Med today, which I have been frequenting for take out recently, and I decided to get an old love of mine, but with a new twist… For a long time, my favorite sandwich, perhaps my favorite food, has been a grilled cheese sandwich from the Med with blue cheese on rye bread. When I was a vegetarian, I would always get it. Since I went back to eating meat, I have tended to get burgers. I have never regretted a Med burger, but I had forgotten how great the blue cheese grill cheese is. This time, I got it with bacon, which made it just that much better. Bacon really makes everything better… It is really hard to get it by take out and have it be decent, so I suppose the moral is that I need to eat in at the Med more.
Posted by knorby on February 1, 2008 under coding, internet, personal, uchicago |
Some friends of mine from the maclab and I are planning to go into a startup of great hilarity. We just got the domain names, so hopefully we will have something we can be more public about soon.
Posted by knorby on under Chicago, internet, personal |
Since my roommates and I first moved into our apartment, we have left our wifi access point open. No security al all. None of the other people in our apartment building strike me as the type to break any sort of security. Besides, some of my roommates were having some trouble getting it setup with security on their computers, and I really didn’t want to have to configure their computers or deal with problems that came up. Really, I liked the idea of leaving an access point open. I knew the security was weak to begin with, and it can be a lifesaver for others at times. Bruce Schneier wrote a piece on why he keeps his wireless network open that follows this same line of reasoning. Unfortunately, there is a very real problem with open wifi in apartments. Some people moved into the apartment a floor above ours, and it appears they never bothered to get an ISP; they just leached off ours. I would think that few people would mind someone using their connection while waiting to get their own. The connection started to really slow down. I suppose one way to solve the problem would have been to talk to them, but I decided to implement MAC address filtering instead. I suppose such things were to be expected, but I always hate when I end up being disappointed by human nature.