Why root matters

John Gruber speculates on the forthcoming details of the iPhone SDK and makes the following remark with regard to security: And the hysteria over the iPhone’s current “everything runs as root” situation is overblown. Applications on your Mac don’t run as the root; they run under your user account. But all of your data – your email, your address book, your documents, everything your apps can read or write without administrator authentication – is vulnerable to any sort of hypothetical buffer overflow exploit on the Mac, and would be on the iPhone, too, even if iPhone apps didn’t all run as root. Sure, root privileges allow an exploit to do anything, but the most important thing on your system is your personal data, and an exploit doesn’t need root privileges to access that. ...

October 19, 2007

Fun with saving things in Ruby on Rails

I’m running into a bit of a conundrum when it comes to designing objects in a Ruby on Rails application, and thought I’d toss it up here for discussion. I have an application with two persistent objects, User and Address. Address is a child of user, and user holds a pointer to their current address (so that a history of addresses can be maintained. So users has an ID column and a current address ID coumn, and addresses has an ID column and a user ID column. As you might imagine, this leads to a bit of a chicken and egg problem. ...

October 18, 2007

iPhone and network neutrality

Why is the iPhone a closed platform? Even though Apple is going to allow third party applications next year, it’s apparent that they’re going to exercise some control over who’s allowed to deploy applications for the iPhone and what those applications will be allowed to do. The degree of control Apple will exercise remains unknown. Steve Jobs has a reputation as a control freak, and a lot of people believe that he doesn’t want to allow third party iPhone applications because he doesn’t want crappy applications to ruin the experience that Apple has created. There’s also the argument that Apple is being forced by carriers to control which applications are deployed on the phone. That’s the argument that interests me, because I think it illustrates the importance of network neutrality. ...

October 18, 2007

iPhone SDK in February

Apple has announced that they’ll be releasing an SDK for the iPhone in February. There’s talk of digital signatures and no talk of how much the SDK will cost, so we still have no idea whether open source software for the iPhone will be legitimately allowed or will be for outlaws only. I’m sure you’ll be able to find a lot more details in the usual places.

October 17, 2007

Amazon.com one-click patent rejected

Blogger Peter Calveley petitioned the US Patent office to look at Amazon.com’s one-click patent again, and this time they rejected nearly all of its claims. That patent has always struck me as particularly egregious, but it also turned out to be tough to get rid of. It was awarded back in 1999, and a lot of people were deeply offended at the time. Here’s O’Reilly’s archive of articles about the patent. The one-click patent was the driving force behind the creation of BountyQuest by Tim O’Reilly (and, oddly enough, Amazon.com CEO Jeff Bezos). BountyQuest was a site that enabled people to post bounties for prior art needed to invalidate specific patents, and Tim O’Reilly started by putting up a bounty for the one-click patent. In the end, BountyQuest died without collecting the prior art needed to invalidate, and Tim O’Reilly quit pursuing Amazon.com because they weren’t suing anyone for violating the patent. ...

October 17, 2007

code.nytimes.com

The New York Times is releasing open source software. Their database abstraction package, DBSlayer looks innovative, clever, useful, and deceptively simple. One of the things I love most about the rise of open source is that it has given organizations a framework to show off the creativity that dwells inside their walls. Companies have always had the opportunity to do so, but not the justification or rationale.

October 17, 2007

Some thoughts on testing

I’m working on a couple of different Ruby on Rails applications which have me thinking about testing. One has an insufficient number of tests, and the other has no tests at all. Why write unit tests? The first thing I’ve come to realize is the degree to which I depend on unit tests in getting my job done. Implementing features is a whole lot faster when you get serious about testing. Let me give you a simple example. In a content management system, I added a field to hold a short description to a table that already had a description field. Because the new field is not populated for any existing records, I needed a method that would show the short description if it is populated, show the full long description if it’s small enough, or cleverly truncate the long description if it’s too long to be a short description. ...

October 16, 2007

LinkedIn vs Facebook

Thomas Van Der Wal compares LinkedIn and Facebook (with a bit of Twitter thrown in). Here’s the upshot: Michael Arrington writes about Facebook has LinkedIn in their Crosshairs, but I have been finding Facebook becoming increasingly less valuable the more people I have connected in it. The converse is opposite for me, LinkedIn becomes incredibly more valuable the more people I have in it. The reason for my derived value is simplicity. ...

October 15, 2007

The Nobel Prize for Blogging

The day the Nobel Prize for Economics is announced is one of my favorite days to read blogs. You have to assume that everyone who becomes an academic in the field of economics at least ponders the idea of someday being a Nobel Prize winner, and so the day the Nobel Prize is announced is a big day for economists and for economics blogs. Every year when the prizes is announced, economics blogs are abuzz. ...

October 15, 2007

Evidence-based scheduling in FogBugz 6.0

Scott Rosenberg writes about the new evidence-based scheduling feature in FogBugz 6.0. FogBugz has long supported enabling developers to enter estimates for how long it will take to resolve issues, and to enter the time spent resolving them as well. The problem was that once you did that, there were no really easy ways to mine that data and make inferences based on that information. The other problem is that it’s difficult to get developers to enter estimates for bugs and even more difficult to get them to enter the elapsed time. (Most developers I know don’t even keep track of their time on a per-issue basis.) ...

October 12, 2007