Finally, a good Subversion client for Mac OS X

If you don’t have a Mac, or don’t know what SVN is, please accept my apologies for this very directed post. To the one guy remaining, rejoice:

For the longest time, there has been no good SVN interface available on the Mac. Windows folks had TortoiseSVN, and Linux folks wouldn’t be caught dead using anything other than command line tools (or, git, for that matter). So, everybody was happy but us Mac folks.

A program called “Versions” has been available for a while, but it, sadly, epitomizes the style over substance sin that is so prevalent on the Mac. It’s got a beautiful interface, but it’s an interface to very little. Namely, it doesn’t support merging or branching, which is pretty much the most important reason for using a versioning system like SVN. If you’re not branching and merging, you might as well just use a good backup system, because that’s pretty much all you’re using SVN for at that point.

So, I was very excited to find “Cornerstone,” which was recently upgraded to support the slickest SVN interface I’ve seen on any platform. It’s as pretty as “Versions” and as powerful (if not moreso) than TortoiseSVN. It’s merge facility is the best approach I’ve seen, for example. It’s intuitive, and as you adjust the settings it automatically performs a trial merge and gives you the results in real time. Awesome.

They have a two-week trial, which is more than enough to get a feel for the product, it’s so simple and well-executed.

(By the way, they aren’t giving me anything for this. I wish they were, but I don’t have that kind of juice.)

Getting the most data speed out of your cell phone

You may have noticed there have been very few posts here. There’s a reason for that. The first and foremost is that sending my rants in to the void has not been as personally cathartic as I’d hoped. My other goal for the blog, which actually has been somewhat successful, was to simply provide a vehicle for putting information out on the web that I thought might be useful for people, and that I couldn’t find elsewhere. Based on the traffic stats, those posts have actually been worthwhile, and my only reason for not doing more of this kind of post has been that I’ve been too busy playing with my son, finishing up my projects at MIT, and trying to get a job (in that order).

So, going forward, I’m just going to focus on the second category of posts (though I reserve the right to devolve to the first occasionally). This blog was getting too negative, anyway. In that spirit, here’s a particularly useful trick I just figured out while sitting in a coffee shop working remotely.

I recently gave up my nice window office since I was feeling guilty about taking up a nice spot but only working part time. So, I’ve been doing a lot of work remotely, usually from a coffee shop given that working at home just isn’t very productive when there’s an adorable toddler running around begging to be hugged. So, I splurged and decided to start paying the extra $20 a month to use my phone as an internet connection for my computer. This is becoming a pretty common thing, and Sprint even offers phones that will create a WiFi network on the fly (I use Bluetooth with my iPhone). I expect this will become even more common once the iPhone hits Verizon, as Apple will reportedly allow this version of their phone to create WiFi hotspots, too.

I would typically just leave my phone laying flat on the table next to my laptop. However, giving it a minute of thought, this is actually pretty dumb, for two reasons. First, having the phone so close to the laptop is probably not smart, as computers are notorious spewers of electromagnetic interference at pretty much every frequency imaginable. In theory, they should be shielded, but nothing is perfect and between the memory data rates and the processor clock speeds, a computer pretty much has the cell phone spectrum covered directly, if not with overtones. So, keep the cell phone away form the computer at least a foot or so.

Most importantly, however, leaving the cell phone flat on a table is a bad idea because it puts the antenna horizontal, whereas cell phone signals are polarized vertically. (What this means, if you’re not a fan of electromagnetics, is that the electrons in the cell phone tower antenna are being shaken up and down, not side-to-side. Radio waves are really just a way of keeping track of how electrons interact with each other. Without anything interfering, the electrons in your cell phone’s antenna will be wiggled in the same orientation and frequency as those in the cell tower antenna. However, antennas are designed for their electrons to be wiggled in a certain direction (it’s almost always along the long axis of the antenna) and a cell phone’s antenna is oriented with the assumption that the user is holding it upright against their ear.) Once I realized this, I put my phone up against a nearby wall so that it was standing straight up and down (as if somebody were holding it) and my data rates nearly doubled.

So, if you’re using your cell phone as an internet connection, keep it a bit away from the computer and prop it up so it’s vertical. Keeping it vertical in your pocket probably isn’t a great idea, since your body is pretty good at blocking radio. If you find this helps, please let me know in the comments. Right now my experience alone isn’t very statistically significant, to say the least.

Progressive is as progressive does: A quiz.

Consider the generics of the following US political debate I read about in the New York Times in the recent past: Group A wants to change something about US law to affect something we’ve been doing for a long time. Group B wants to keep things exactly as they have been, and suggests those who wish to make the change are “Un-American” and that the change is ill-advised. Group A is hoping to increase the scope of federal government, and Group B is, of course, claiming that this oversteps the constitutional bounds of lawmakers.

Obviously, this sound like a classic fight between progressives and conservatives. For 100 points, what was the specific change and who desires it?

(a) the abolishment of the death penalty by progressives
(b) the increase of the debt ceiling by Republicans under Bush
(c) the increase of the debt ceiling by Democrats under Obama
(d) the abolishment of birthright citizenship by conservatives
(e) all of the above

If you answered (e), you are correct.

Why you should stick with AT&T if you have an iPhone

It was just announced that Apple will finally port the iPhone over to Verizon’s network early next year. The conventional wisdom being that AT&T is an incompetent foil to Apple’s engineering genius, the only thing holding back the iPhone from true greatness, virtually everybody I know with an iPhone (and many waiting) say that they can’t wait until they can get a Verizon iPhone.

Let me pour a little rain on this parade. I’m tempted to say nothing (and let’s be honest, writing on this blog is pretty close to doing just that) because I’d love to have everybody run away to Verizon to clog up their network while those of us staying with AT&T enjoy the highest speeds we’ve ever seen. However, I suspect anybody moving from AT&T to Verizon will be sorely disappointed, for a few reasons.

First, it’s now widely acknowledged that the reception problems with the iPhone 3G, and to some extent the iPhone 4, are entirely the fault of Apple. It’s pretty clear from comparisons with AT&T network performance on other brands of phones versus the iPhone that Apple had a lot of learning to do about writing baseband wireless software. Apparently making a good cell phone is more than just sourcing a few million chips from Infineon and then treating the rest of the phone like a small laptop. Apple was way behind on the RF engineering needed to make a reliable cell phone. Even now, this is evident in the poor (albeit improved) performance of the iPhone 4, which can’t seem to figure out how to keep connected to a good signal and requires frequent cycling of the wireless chip to maintain a good connection. So, unless you live in an area just not well-served by AT&T, you will likely find slower speeds on Verizon. While Verizon does cover more physical space with their network, AT&T’s network is provably faster where it actually exists.

The above brings me to the second point: if Apple had a bit of a learning curve to figuring out how to write firmware for a GSM phone, it stands to reason they might have a few initial hiccups with a CDMA phone. Verizon’s network operates on a fundamentally different standard than AT&T’s, and Apple will be using wireless chips from a different company (Qualcomm) in their Verizon-compatible phones going forward. Given Apple’s propensity to punish the hell out of early adopters, and having paid my dues in that regard, I have no intention of seeing how they manage to screw up connectivity to Verizon’s network.

Finally, if the problem really is, to some extent, AT&T being overloaded by iPhone users, it would seem to me that the last thing you want to do is be part of the stampede over to Verizon. Just as things are finally speeding up for us sticking with AT&T, the poor existing Verizon folks will be waiting to check their e-mail as millions of iPhone users clog their networks. Verizon’s network may be the biggest, but my guess is that users in major cities will find out that biggest and fastest are two completely different things.

You can send me my check now, AT&T.

Google saves the world five seconds at a time

Google just announced new technology that will cause search results to be predictively presented to the user as they type each letter of their search, saving the user from having to type their entire search, or hit enter after each search. According to Google’s Vice President, this will save the user an average of “two to five seconds…” from each search. This is what they have been working on as their next generation of search. It’s impressive, to be sure.

But does it strike anyone else as odd that we, as a society, are putting our technological efforts and resources into developing technologies that save us seconds each day when we can’t, as a society, get it together to develop infrastructure and transportation technology that will save us hours from commuting? It seems perverse that most Google engineers probably sit in California traffic for over an hour each day so that they can come into work and make sure nobody has to wait more than 15 seconds for a search result.


In the coming months, I’m going to be leaving MIT. I’m not sure how long my access to my computer account will last, so I’m starting the process of moving everything over. For those of you that access this blog via an RSS feed, nothing will change. However, if you have this blog bookmarked, please change the bookmark to point to For now, that will still put you here. In the future, who knows?

Interesting article on high frequency trading patterns

The Atlantic recently carried a fascinating article on the odd patterns in stock market data caused by mysterious high frequency trading algorithms which post and remove bids and asks on stocks with no intention of ever buying the stock in question. My best personal theory is that these mysterious bids and asks are simply ways of “pinging” the market electronic infrastructure for information about the speed and timing of the hardware running it. High frequency trading has become so fast that firms do their best to but their computers as close as possible to the exchange’s servers.

My guess is these bid patterns are just acting as clocks. To quote one of the experts in the article, the speed of light actually starts to matter. Given that the timing of trades can mean millions in profits for some of these firms, it stands to reason they would try to keep close tabs on the speed of their connection to the exchanges. By sending in a sequence of false bids (bids so far away from the current price and retracted so quickly they will never result in a buy) they can safely figure out how long it takes an order to go from their computer to the exchange’s computer. They use a sequence (ramp) of increases prices simply to keep track of all the different orders and their timing. (If they used the same price repeatedly, they’d have no way of knowing which order was which.)

My next best theory is that they are probing the HFT algorithms of other firms, trying to either reverse engineer other trading programs (which would give them a decided advantage) or search for some way to induce other programs to act in a way that can be exploited, like a big robot battle played with real money. They are trying to see if they can predict what others’ programs will do in a way that doesn’t require them risking any money. Frankly, I don’t see this as too likely, given that it would be very poor programming for anybody to let their HFT algorithm respond to ludicrous bids.

A final, rather crazy possibility, is that these false bids are a way to communicate between market participants over public, non-traceable channels. If encrypted information were embedded in the timing or changes of the bids, it would be a good way for firms to collude in a way that would be nearly impossible to trace: everybody is allowed to post bids, and every is allowed to read them. Unless you knew how to decode the information encoded, you’d have no way of proving information was being exchanged between parties. And what better avenue of communication between financial firms than the stock market’s public quote system?

One thing that is certain is that this frenetic activity, with hundreds of quotes a second being generated and cancelled, is clearly meant for the “benefit” of other computers, either at the same firm or another. It’s a fascinating phenomenon. I’m not sure what it portends for the markets, however. As people leave the market in droves (as evidenced by 13 straight months of mutual fund outflows) I wonder what will happen when the only people left aren’t people.