Archive for the ‘Programming-CS’ Category

Network Neutrality Nonneutrality

Saturday, September 8th, 2007

I’m encouraging you to read up and support Network Neutrality for the Internet. It’s definitely a complex issue, but I encourage you to take a stance and write your elected representatives to tell them to support Net Neutrality.

Recently, The Department of Justice issued a report arguing against any type of network neutrality regulations saying they would ultimately be anti-competive and hinder the free market. In my mind, Network neutrality is about protecting consumers and ensuring non-discriminatory pricing and equal access for all data on the Internet. The same Internet which has been funded by citizens and conceived through research in public institutions. Up to this point, the Internet has been network neutral and we have seen the rise of some amazing things happen on the Web and Internet from virtually little upfront investment. Without net neutrality its easy to imagine circumstances in which customers and companies are essentially levied tolls for what they ‘use’ or offer in addition to the current ISP charges for access.

Another argument from the report that urks me is the claim that if end-consumer broadband ISPs aren’t allowed to charge application and content providers directly (who aren’t necessarily their customers), they won’t be able to keep up with the Internet’s growth in regards to capacity and service needs, passing undue costs to the end-consumer. Companies and consumers already pay the operators of their respective networks for these costs of growth and maintenance, and sometimes citizens even subsidize the expansion of broadband networks through tax dollars (to the private sector for the greater good of the public Internet access).

The fact is, the telecommunications industry is already one of the most monopolistic industries in America today. It’s like the DoJ was so deluded as to say there’s healthy free market activities in the airline industry where major airlines often take corporate welfare bailouts when in the throws of bankruptcy. When’s the last time that there was individual consumer choice over your cable provider? It wasn’t until the recent past that people were given a choice over their long distance providers. The DoJ’s free market rhetoric is disingenous in the face of the industry’s current state for end-consumers. Recent reports that Comcast is shutting off broadband subscribers from their ‘unlimited’ service due to ‘overuse’ without stating any solid policies is the brash behavior of a company enjoying the fruits of too little consumer choice. If network neutrality is not maintained, the only free market that will be fettered is the one which via the Internet has created thousands of jobs and spurred countless innovative technologies and services in the past 15 years.

There’s a thought-provoking column at ArsTechnica proposing that no regulation might be better in the short term because it keeps the network operators under their best behavior and various other reasons. It’s got some weight behind it, but the DoJ report stating that there are studies showing that network operators must charge content providers (web sites) fees directly to keep up with the capacity needs of the Internet suggests they are leaving an open legal door for operators to be on their worst behavior.

As an aside, I would actually be interested in an extensive list of emerging network computing technologies threatened by potential Network Neutrality legislation (e.g. features of ipv6 like flow labeling would be under scrutiny in its application). Legislation does pose the risk of trampling network layer innovation but it’s good to understand what the value of these technologies are, and if they are simply necessary for the future success and progress of the Internet or an overzealous solution to a neutral alternative. From what I’ve read, most deal with providing guaranteed quality of service to the Internet for real-time applications like video streaming.

I read the op-ed article by David Farber and Michael Katz that talked about the real-time needs of a heart monitor application, but my initial thought was ‘Isn’t that was Internet 2 was for?’ and ‘Are you really relying on the Internet cloud for a heart monitor?’ It wasn’t a compelling example for me (I don’t have a hard time imagining a seperate network of networks for life supporting services like health care, fire, emergency response, etc…), but perhaps I’m not taking into account the technical and cost benefits of evolving a single internet to support uses like telemedicine by leveraging the Internet’s (*huhem*) network effect.

The definition of network neutrality suffers from many overloaded meanings in the face of technical topics such as providing quality of service and traffic prioritization (it doesn’t suffer in the face of existing standards for transmission rates and limits because those are widely accepted). Opponents of NN will often point out this ambiguity in the definition arguing that it is against NN to provide QoS and prioritization of traffic since it violates treating all packets equally. Henning Schulzrinne calls this argument a red herring as Network Neutrality does not restrict QoS features as so long as they remain content neutral. So technology offerings for QoS or the prospect of such should not be subject to pricing models or carrier policies that simply take into account the type of application or content data being delivered to consumers.

More content on Net Neutrality:

Can you keep the .NET beast out!?

Saturday, May 27th, 2006

In the Server-Side post Java Succumbing to .NET in my Organization, too much choice was cited as a major reason why .NET may be beating Java in the Web application technology space. It seems Java is too “flexible” and has too many choices for IDEs, frameworks and other ever evolving tools. In other words, there are too many ways to hang oneself.

I believe there’s a lot of truth in this. Choice creates complexity in addition to flexibility. We can look to the principles of good UI design to reason why choice many times is bad. A UI that offers two or more ways of doing one thing is seen as a detriment in the interface design world. It may lend itself to more flexible and powerful ways of doing things (although it very well may not), but it ultimately confuses the end-user, often times killing their memory of how to do the action or hurting how well they can perform the action repeatedly over time. As a caveat to the rule, it might be more reasonable to say that if you’re going to offer another more flexible (ie. powerful) way of doing something, that it stays “hidden”, out of the way from the average user or use case.
(more…)

The Story’s in The Unique Name

Thursday, May 11th, 2006

I think the saddest part about leaving UM will be that I’m going to lose my Umich IT account, and with it, the uniquename that I got almost ten years ago as a college freshman (although for records purposes, it will probably stay with me for some time). That sounds a bit cheesy since most people that go to school at UM eventually lose theirs as well. Most all of my friends from school have long since lost theirs. But I went and got a job at UM after I graduated, so I kept it and it has grown on me.

It was my first computer account of any type, and the assigned name ‘adamjk’ was too catchy and easy to say to not use for almost every other account username (except maybe when ‘adam’ was available). Adam Just Kidding. The name stuck with some people. UM is where I started computers, now it seems to be strange leaving it. Typing a-d-a-m-j-k has been ingrained in my physical memory like riding a bike or swimming. These things stay with you because they were learned during formative years, as a kid.

I really learned to type during my freshman year. I was a blank slate when it came to personal computing. Many nights were spent hogging Jeremie’s PC keyboard when I should have been studying. Jeremie rightfully kicked me out of his dorm room a few times. That year it was mostly IRC, ICQ, Quake, HTML and CGI. And I can’t forget the Chupacabra in ‘96 presidential Web campaign. My GPA suffered, but I don’t blame Jeremie and Ben’s Room of Procrastination. In fact, I should really thank them for starting my insatiable interest in making all things electronic. I didn’t even own a PC.

I don’t know how long I’ll consider myself an Engineer. For now, I like it. I like to create things that work. But interests change. Maybe I’ll be a Planner or Scientist one day - maybe a fast-food worker. One things for sure though, I’ll always be adamjk.

WTF Post Hits Close To Home

Tuesday, March 21st, 2006

Today’s WTF post sounds eerily like some of the verbiage I’ve read at work and in industry propaganda. So eery, it’s funny, eerily super-WTF funny.

In yesterday’s post (Bitten by the Enterprise Bug), we learned how vital enterprise application are for proactive organizations leveraging collective synergy to think outside the box and formulate their key objectives into a win-win game plan with a quality-driven approach that focuses on empowering key players to drive-up their core competencies and increase expectations with an all-around initiative to drive up the bottom-line.

Friends RSS Aggregator 0.3.1 Release

Monday, February 6th, 2006

Man! I was doing so good consistently posting here, but then real work happened. Anyway, I just made another release of the Friends RSS Aggregator.

Changes in this version include:

  • fixed problem with certain atoms feeds (like those from livejournal.com) not registering dates or content, related to magpierss not fully supporting atom 1.0
  • added a more user-friendly error message when a link category is missing any visible links rather than indiscernable ‘foreach’ error
  • fixed problem of magpierss re-including another snoopy class php file, looks to wp-includes dir for snoopy
  • fixed retention of URL parameters in next-previous navigation link generation, thanks to vanbrandwijk at creighton dot edu
  • added plugin ‘wp-cron-refresh-cache.php’ for periodic cache refreshing with WP-CRON plugin

Friends RSS Aggregator 0.3 Release

Tuesday, January 3rd, 2006

Happy New Year! Friends RSS Aggregator 0.3 Wordpress plugin has been released. FRA was built to enable a Wordpress installation to have a livejournal.com-like friends page.

Changes in this version include:

  • Administrative option field for (MagpieRSS) output encoding. Includes UTF-8 for internationalization support.
  • A new php script for periodically refreshing the RSS cache directory, so web requests don’t trigger a cache refresh and respond slowly.
  • Added new display function, fra_display_feed_headlines, that displays only the headlines of one RSS/atom url.

NetBSD Beer Fridge

Thursday, December 8th, 2005

It’s not too often that a friend creates something that is impressive yet insanely dorky. But it happened.

Paul bought the first controller for his project this summer and completed the work less than a month ago. This work has converged into Der BrewMeister 0xF-Thousand. Yes, “0xF-Thousand.” Der BrewMeister is a beer brewing machine! No! Really! It’s a machine that brews beer. Simply put, it consists of a NetBSD PC, sensors, temp controllers, a beer fridge, wires and custom scheduling software written by Paul that orchestrates the virtual automation of the brewing process.

I’m sure Paul can do Der BrewMeister more justice, so check out his project page and be amazed at the BSD Beer Fridge.

Named Parameters Not Simple Enough

Saturday, December 3rd, 2005

I recently wrote something using php. I haven’t paid much attention to the language up to this point, as my daily life calls for mostly Java-specific thinking.

To write this Wordpress plugin, I’ve been faced with encapsulating display code into a function call. It got my skin crawling as soon as I started adding the ability to customize what the function actually displayed. The ideal situation for a plugin is that you provide something that requires little to no modification of actual code but rather configuration in the UI. But reliance on a function call to display HTML output is thwarting this goal pretty effectively due to the growing number of parameters in my display function.

(more…)

Friends RSS Aggregator 0.1 Released

Monday, November 28th, 2005

The first release of a Wordpress plugin to allow for the creation of a Livejournal-like friends page has been released. It should be fairly stable, but since I’m the only one to test it so far, I’ll consider it a beta plugin. Friends RSS Aggregator can aggregate any group of links with RSS feeds in a particular link category.

Download it here. Instructions and more are at its project page. See my friends page for a running example.

CS learning tools for Kids

Monday, October 24th, 2005

After looking at this boardgame, I murmured to myself ‘wow, this is awesome.’