In Favor of Network Neutrality Regulations

I just posted the following as a public comment to the FCC’s proposed rulemaking to ensure neutrality of internet network services: Unless and until broadband providers are forced to provide real competition by providing best-service sharing of the last mile infrastructure at cost to competitors with separate divisions to handle technical service, there can be no real competition in broadband services. Each technology has its own local, government-created monopolist who has extracted rents from the American public through the value of a government-enforced monopoly on last mile infrastructure for that given technology.

Since each technology effectively creates a new tier of service (DSL at the bottom, Cable in the middle, and, where not blocked from negotiating a new franchise with a locality by pressure from an existing monopolist, fiber at the top), the competition among them is not apples-to-apples. Beyond the limit for DSL, only cable and fiber can even service some areas. Satellite can only provide download speeds and the nature of network applications make the POTS (Plain Old Telephone Service)-based outbound channel unsuitable for the kinds of interactive applications expected by consumers. These, quite frankly, are apples-to-oranges “competition”, no matter what certain network providers would like the FCC to believe.

Until Congress moves to undo the harm it did to broadband competition, the FCC has no choice but to issue reasonable regulations to ensure that any packet of IP information is treated the same as any other packet, with appropriate exceptions for calls on wireless telephone networks and emergency information, or for packet-neutral limitations on individual use for purposes of quality-of-service assurance.

The FCC must do this to support existing legislation designed to guard against fraudulent advertising. “Internet service” inherently assumes that all services are equally available at the access levels sold to the consumer. This means that a broadband provider may advertise 5 megabit download speeds as long as all internet-protocol-based services receive that 5 megabit capability from the broadband provider. Anything else may be electronic network access, but it is not “internet” access and should be forbidden starting on these grounds. Additionally, such regulation should enforce transparency so consumers know exactly what restrictions and realistic expectations of service they may be purchasing.

The broadband providers should not be prevented from creating alternate, private, non-internet networks to which they may sell access and manage under any terms they see fit. But if they are to sell “internet” access, they must abide by the principles that caused the Internet to win out over the private networks such as CompuServe, AOL, or Prodigy in the early 1990s.

These regulations themselves should be as simple and neutral as possible to ensure a level playing field for all entrants to the internet service or provider market. Additionally, the FCC should recommend legislation to Congress establishing ways to: 1) either break up local last-mile technology monopolies or enforce equality of access and equality of cost so competing providers are not second-class citizens on a given technology, 2) ensure standardized and rapid franchise agreements for new entrants with new or existing broadband technology, and 3) ensure any limitations on service are clearly communicated to consumers so they may know what they can reasonably expect from the service in day-to-day operation, as well as any quality-of-service actions the access provider may undertake.

Above all, any regulations should ensure that no provider may, under cover of “network quality of service management,” manage their network in a way that favors a service owned or somehow affiliated with themselves over a competing service unaffiliated with that provider, nor may they impede access to any legal service with whom they may have a dispute or with whom they disagree.

Eclipse Works With Preexisting Code, But Not Well

[Cross-posted from the Forum One Tech Blog]

I recently upgraded Eclipse PDT to the most recent version, and I decided to figure out something that had been bugging me: why couldn’t Eclipse use a project I’d already checked out via the command line to the same workspace?

A colleague suggested that I could indeed do it, and that I just needed to start a new project but check “Create project from existing source.” This does work, but it has a couple of restrictions that explain why I was having so many problems and why it’s kind of useless for me.

  1. Projects from existing sources cannot be in your workspace. I have no idea why this restriction exists. I could understand why starting a project inside another project would be bad, but all Eclipse has to do is add a couple of extra files to a directory. Nonetheless, all the sites I’d set up in my workspace and had been using other text editors to edit were unusable. Coda, by contrast, will happily take over an existing project, no matter where it is or what is in it. Interestingly, you can set up a workspace inside another workspace, so I could get around this by creating another workspace that pointed to a subfolder of my current workspace that contained the source code I wanted to use.
  2. If using subversion, Subclipse will not be able to work with your checked out copy if the versioned files are in a subdirectory of your project. This is also strange to me. In Drupal, for example, we only version the sites/all directory and use Drush to update the main application. In other projects, we have versioned code outside the public root and create the public root from a tarball we keep in the repository. Since these files have configurations that shouldn’t be versioned, I want to be able to edit them in Eclipse while using Subclipse to control the versioned part. Sadly, this restriction means I can’t do that.

So my workflow is still to create subdirectories, including a public root, in my workspace by hand, and then importing the project from Subversion with Eclipse’s Import function. These seem like pointless restrictions to me. If anybody knows a workaround, I’d be grateful.

CodeWorks 09 DC

CodeWorks 09Thought I’d give a few overall impressions from CodeWorks DC while they’re fresh in my mind.

The community

What really impressed me was just how great the PHP community is. There were some Big Names there, but everybody was really approachable and happy to share what they knew and ready to listen to others. They were really friendly, and I had some great conversations in the hall and after hours, both with other attendees and with speakers and staff. Get a sense of this over at Dawn Casey’s blog.

The tutorials

I had expected the tutorials to be somewhat interesting, but otherwise expected the meat to be on the second day with the more traditional talks.


The code review I attended in the morning was very educational, and Keith Casey was quite sporting about letting his project be dissected by ze Germans, as they came to be known. Best line: “Well, think of how many people are in this room, multiply it by our billing rate, and see how much it cost us just to figure out what the hell this piece of code does.” But the Advanced OO Design talk was really valuable. The lower crowd size coupled with the length of the presentation made it very easy to ask substantive questions and get serious responses. It helped me get over a number of mental blocks I’d been having with the implementation of MVC in web apps and better ways to do Dependency Injection.

None of this takes away from the second day’s talks. I’ll highlight some of them in coming blog posts. But the tutorials were an unexpected gem.


Microsoft appears to be making a really big effort to reach out to the PHP community, and I appreciate it. They were a big sponsor of the event, including an open bar the second night. I also appreciate what they’ve been doing to improve PHP’s performance on IIS. I hope they follow this effort up by taking steps to make themselves really interoperable with other systems, so it doesn’t feel like going Microsoft is an all-or-nothing choice.

The Organizers

Even though it was small enough to handle informally, CodeWorks felt very well-run. Despite a truly grueling schedule (two teams leapfrogging across the country, one day on, one day off), everybody seemed in good spirits and there was comparatively little confusion. When a mixup or a technical glitch occurred, they were able to adapt quickly, even ready to get a speaker to throw in an extra talk.

If they decide to to this again, I highly recommend this conference. If they’re in town again, I’m going to lobby to get the whole Forum One team there–it was really that good.