iPhone Review
September 4, 2007
My gal got an iPhone, which means I’ve been playing with it nonstop and she’s been begging to use it. The iPhone is fantastic. It is insanely great. For the record, I’m not an Apple fanboy. The only Apple product I own is a 1st gen iPod I got as a gift. So here are the few things that are less than perfect with the iPhone:
IT does matter
August 30, 2007
A few years back Nicholas Carr wrote an incendiary article stating “IT doesn’t matter“. He concisely describes the idea here: “My point, however, is that it is no longer a source of advantage at the firm level - it doesn’t enable individual companies to distinguish themselves in a meaningful way from their competitors. Essential to competitiveness but inconsequential to strategic advantage: that’s why IT is best viewed (and managed) as a commodity.” Another quote: “we’re at the point where any technological improvement in the management of information will be quickly and broadly copied, rendering it meaningless for competitive advantage.” Read the rest of this entry »
Git - distributed source control
August 29, 2007
I watched Linus Torvalds rant on Git and distributed source control management (SCM). First of all, Torvalds is a hard-core jerk. He is stunningly obnoxious and egotistical; the very embodiment of the poorly socialized nerd stereotype. As for the talk, he takes a lot of credit for some fairly well known ideas (much like Linux OS).
Good Judgement
August 28, 2007
In a recent interview, Barack Obama deflected weak criticisms of his lack of experience by suggesting that he has demonstrated good judgement. If I may toot my own horn, I believe I have pretty good judgement, too. Though there are many, many people who are smarter or more knowledgeable about particular subjects, I still seem to make better decisions. The reason is that I am so obsessively aware of cognitive biases, such that it’s an effort to make a decision. Even though I still make some cognitive mistakes, I make fewer mistakes than most other people and arrive at good decisions more often. I believe Obama is right. The challenges facing the next President will no doubt be new, unexpected events where experience won’t really help. He’s obviously smart enough to absorb the background information provided by experts in the field. The important trait, however, is whether a President can exercise good judgement in unforeseen situations. Bush failed miserably. Maybe Obama will do alright.
Musclehead Review
August 27, 2007
I began strength conditioning in June and July using this algorithm. I went traveling at the end of July and had a low-level flu that sapped my energy for a few weeks. So I only did this steadily for 1.5 months. In that time I went from 136lbs to 142lbs. On nearly every machine, I doubled the amount of weight I would lift. This is to be expected because I was starting from such a weak position. I now have a few small, visible muscles. One unfortunate side effect of getting “huge” is that my pecs jiggle when I go down the stairs. I can actually feel the weight of my muscles jerking around. It’s like a woman bouncing without a bra: it’s a mild annoyance. My flu appears to have dissipated, so I’ll get back to the gym today. But will I need a man-bra, aka “The Bro” from Seinfeld?
Air Traffic Futures Market
August 27, 2007
This article explains a bit about why there are so many flight delays in the US. It seems planes fly prescribed routes at set distances between each other. Therefore, there are a finite number of slots available. When bad weather disrupts a route, then all those planes must be rescheduled, but there aren’t any spare slots in the very tight route schedule. Some of those slots are taken up by private jets. Planes pay the FAA a fee based on weight(!!); therefore, private jets pay much less than a commercial plane for the same traffic slot. The obvious solution is to have a futures market for airplane traffic slots. Airlines will bid for all the slots they need for their schedule, thus paying the real market price for those scarce slots. If there’s bad weather or other mishaps, then those slots are lost. Too bad, though they can hedge in the weather futures market (yes, there’s one in Chicago). Airlines can buy new slots in the market to reschedule their flights. There’s more certainty in this market then there is in the existing system, which is ad-hoc and poorly managed. There’s a dude at Stanford that’s already worked out the details.
[edit: this problem is not solved when they switch to GPS instead of ground beacons to keep track of planes. Instead, the issue reasserts itself because a limited number of planes can take-off or land at airports, where they have a small number of landing strips and airport gates. It's still competition for a limited resource.]
Compile-time vs. runtime-time checking
August 23, 2007
The primary benefit of static type checking is that a compiler can catch a wide variety of bugs at compile-time. With dynamic languages, on the other hand, some bugs aren’t revealed until they actually blow up in your code. Between run-time and compile-time, however, there exists “binding-time”. This is when you actually load all the libraries you are using into a runtime to begin execution. It might be useful to delay type checking until this point to allow runtime manipulation of modules and environments. I can generate code and interfaces at binding-time, then run the type checker and report errors. This gives you most of the flexibility of dynamic code, but preserves most of the safety of statically typed code. You won’t discover the error until you load everything into a runtime. I know of some early static checking tools for C that did this, but I don’t know of any statically typed languages that move checking to this phase of development.
Creating comparative advantage
August 22, 2007
The theory of comparative advantage says that two countries can mutually benefit by trading that which they are good (or not so bad) at producing. This easily explains trade in natural resources: I’ll trade some coal for your tasty corn. But this doesn’t quite explain [to me, at least] how one acquires an advantage in non-natural things, like high tech [read more here]. There is no natural nerd mine that one country can exploit, while others lack it. Instead, nerds can be manufactured with a decent educational system. Similarly, governments can produce industries that have a comparative advantage over other producers by protecting them while they are in the development stage. However, there is no guarantee of success. These companies are still competing in a world market where advanced countries have a huge lead. The best bet is to commoditize older industries that aren’t too profitable in Western countries. For example, developing countries should target polluting industries like chemical plants because Western countries are slapping more restrictions on them. They are all aiming for IT because it requires much lower infrastructure costs. Whatever it is, once you build a base that pulls in money you can expand into other areas. You can’t leap into nuclear power plants, but you can start with textiles, furniture, call centers, IT, chemicals, steel, etc. There are other external serious problems that will still prevent poor countries from developing, but at least it won’t be their fault.
Inventing a new PL
August 21, 2007
I’d like to implement a new programming language for my personal use. Here are some qualities I’m interested in:
- small: It should be as small as possible, like lambda calculus.
- extensible: All syntactic sugar added here. Also, must support compiler extensions.
- concurrent: need abstract notion of concurrency built in.
- typed: static is better than dynamic typing, but it should support both.
- lazy: the implementation can still be strict, but lazy gives more freedom to programmers
- modules: need a simple, yet reflective, module system.
- FFI: should be able to easily access foreign code, preferably C-like.
It seems like I could build my language on top of Clean. I’ll try writing some programs in Clean first.
Rousseau is a religious nut
August 21, 2007
Jean-Jacques Rousseau wrote the creationist’s argument for an intelligent designer. That is, if you find a watch, you recognize that this thing was created and it is not natural. So, too, are birds and people and whales marvelous machines that must have been created by God. He also made the argument that God must be the first cause that set the universe in motion. Two absurd religious arguments found in Book IV of Emile (read it here). Religious nuts quote these arguments, but they avoid the rest of that section where Rousseau says he does not believe in organized religions. Instead, he’s a theist who thinks organized religions are scams (he’s much too verbose). That’s why his books were burned at the time by Christians. I’ll have to bring that up the next time some moron preaches about creationism to me.
I was lead to Rousseau’s writings by this excellent article by Mark Lilla, who wrote of this book: “It is the most beautiful and convincing defense of man’s religious instincts ever to flow from a modern pen.” Frankly, that’s bull. If you read that section where the Savoyard Priest rambles on and on, you’ll see that it is full of holes and logical leaps. He argues for the existence of God by a thought experiment. But without any real data, thought experiments can go anywhere you want. It would be like asking a senile Senator to describe how the Internet works. He might describe it as a “series of tubes” because he is forcing a limited set of facts into his existing mental frameworks (i.e. plumbing). It sounds convincing to other ignoramouses, but it’s completely wrong. Rousseau is forcing his limited knowledge of physics to fit his preferred idea of a God. Like every crackpot conspiracy theory, a few facts can be a dangerous thing.