Friday, November 30, 2007

potential

Anyone who has used the Internet for any length of time knows that ninety percent of web pages are full of personal tripe and pictures of cats; in other words, this site has only realized half its potential. Today is the day I reach for the stars and make this a real first-class web site.

We've named him Dwight.

Labels: ,

lipstick

Those who follow the Supreme Court have been buzzing with anticipation since the justices announced that this term's docket would include DC vs. Heller, a case that will determine the constitutionality of our capital district's handgun ban. The SCOTUS blog has a good summary of the two positions being argued in the case, as well as the implications it has for other laws that restrict gun ownership. The hearing won't happen until March, but that hasn't stopped people on both sides of the argument from setting their propaganda machines to HIGH and doing everything short of calling the justices at home.

But despite all of the excitement over the Court's decision to tackle this controversial issue, the fact is that the ruling in Heller will not have the conclusive, clarifying effect that everyone is looking for. Because D.C. is a federal entity, the ruling will only affect the federal government's ability to limit gun ownership - it doesn't say anything about state or municipal legislatures, which is where most of the controversial gun laws are authored. At best, the ruling in Heller will inspire new appeals focused on state laws, but it will not have a direct effect on those laws.

I know it's hard for those at the center of the Second Amendment debate to do so, but I wish we could just admit that this case is not as groundbreaking as it has been portrayed and start talking about the real cause of this conflict, which is the irrelevance of gun laws written in 1789. No matter which side you're on, I think it's safe to admit that the Second Amendment suffers from limited imagination and poor grammar. Here is the text:
A well regulated Militia, being necessary to the security of a free State, the right of the people to keep and bear Arms, shall not be infringed.
Ignoring the awkward and unnecessary comma after Arms, this sentence has two reasonable but opposing interpretations:

  1. All individuals should be able to own guns in order to protect themselves and participate in government-sponsored militias. The weapons may be used for national defense, self-protection against criminals, or revolution against the government. Since threats against the individual exist today, this right is still valid.

  2. All individuals should be able to own guns in order to participate in government-sponsored militias. These militias were not wealthy or well-organized enough to provide soliders with weapons, and allowing citizens to own guns ensured that they would be equipped to fight when called upon. Because our country now has a very wealthy and powerful military, this right is no longer valid.

The tricky thing about the second interpretation is that it still doesn't restrict the right to own private guns - it simply says that the need for a militia is no longer a valid argument. The complexity of this statement is seemingly endless, which is why I find the hoopla over Heller so frustrating. Trying to make a real constitutional decision based on the Second Amendment is putting lipstick on a pig: either way you go, it's not very impressive. The vague text and lack of judicial precedent means that future justices could easily overturn your decision. The Second Amendment provides no real guidance in 2007, which is why I think it should just be repealed. This idea is not as radical as it sounds.

If the Second Amendment were stricken from the Constitution tomorrow, the Tenth Amendment ensures that we would be in a similar situation to the one we face now: state laws would govern who could own what kinds of guns. The only new possibility would be for a state to ban private guns all together; since the people doing the banning are subject to popular elections, I think it is unlikely that more than a few states would go through with a full ban. There is enough diversity of opinion in most states to prevent politicians who favor gun restrictions from going "too far". States like Oregon and Connecticut will probably ban guns immediately, but so what? You can still go to Kentucky and pick up a handgun and a carton of milk in the same trip. Right-leaning folks have proposed this same solution in the debate over Roe vs. Wade, and I don't think gun ownership is any less significant.

That said, I don't think that anyone who is invested in this debate could ever process the idea of repealing the Second Amendment as rationally as I have written it, so here is an alternative idea: nullify the Second Amendment by writing a new amendment. This is the same idea used by the authors of the Twenty-first Amendment, which made obsolete the alcohol prohibition of the Eighteenth Amendment. The new amendent could spell out the nation's policy on individual gun ownership, taking into account all of the technological and social advances that have occurred in the last two hundred and eighteen years. It could also respect the rules for using commas.

It's unlikely that George Mason could have imagined the kinds of weapons that humans would build in the years after the Constitution was ratified, nor could he imagine a world where a a miltiary superpower did not have to draft its male citizens. Even if you are a card-carrying member of the NRA, I don't think you could dispute that the Second Amendment does not take these things into account. It is incredibly naive about the role of guns in society. We simply cannot know what would have been written had Mason known that, in 2007, individuals would have access to weapons that kill dozens of people per minute, or that a rifle is no longer an adequate tool for revolution. Rather than waste time debating poorly-worded text written two centuries ago, we should amend the Constitution to clarify exactly what the country wants.

Proposing this new amendment would generate endless hype and debate, and getting Congress to agree on the exact text would be a monumental task. But hey, that's why they make the big bucks. This is a hard problem, and it's pretty clear that the original guidance given to us in the Second Amendment is not working. There shouldn't be this much controversy over one sentence. The right to keep and bear arms shouldn't hinge on a prepositional phrase that sounds more like musing than declaration. If we want to settle the debate and the majority is not willing to take the easy route (repealing the Second Amendment and delegating to the states per the Tenth Amendment), then a clarifying amendment is a must. Everything else is a waste of oxygen.

Labels: , ,

Sunday, November 25, 2007

synopsis

I'm a bit late, but here are the notes I took from the talks given last Thursday as part of ApacheCon Track 2, which had a focus on REST and the web development landscape. I considered morphing my notes into a more traditional narrative, but I think the minute-by-minute notes are more interesting.

Matt Raible - Comparing Java Web Frameworks

  • Gives us a choice between two presentations: one focused on older, more established frameworks (all of which he has used), and one focused on newer frameworks (half of which he has not used professionally). The audience votes for the latter.

  • The frameworks presented include Flex, Seam, GWT, Grails, Wicket, and Struts 2. Matt hasn't used Flex, Seam, or GWT, so analysis of those is not very in-depth.

  • Polling the audience shows that only a handful of people are using each of the six frameworks we discussed. The presentation seems to work off of this theme: each framework is good for certain types of apps, but there is no all-around winner.

  • This talk is kind of fluffy, but no one seems to mind because Matt has a lot of charisma and tells good stories.

  • Flex is a force, but in order to create the server side support needed for most apps, you need to buy very expensive products from Adobe or roll your own solution. This is not a full stack. Two audience members tell stories about difficulties with the "roll your own" approach.

  • Flex can't incorporate HTML content very well, so it's hard to integrate new, Flex-based content with older HTML/template content. Matt says Flex can only render about a half dozen tags. That seems pretty lame - even the JDK's HTML text editor can do better, and it's on HTML 3.0.

  • Groovy and Grails are not very popular outside of the echo chamber (and Zero!). Matt is a Grails fan and recently convinced a client to use Grails on a project, but it's his first professional project with the framework.

  • Because Grails is based on J2EE, many teams that might consider it will end up using Struts, since they already have those skills.

  • GWT allows one to create HTML and JavaScript-based UIs with Java. Matt believes that the job market for GWT will see the most growth in 2008-2010.

  • Struts 2 is far better than Struts 1. Never use Struts 1. The developers of Struts 1 drink kitten blood and are the bane of the open source community (or something - I'm not a Struts user, so I'm in the dark as to why Struts 1 is so bad).

  • Lots of graphs showing employment numbers for the various frameworks. Summary: if you're a freelancer, Flex and Struts 2 are Money.


Ora Lasilla - The Semantic Web, and Why The Open Source Community Should Care

  • This is today's keynote, and it's very well-attended.

  • I can't hear a damn thing in the back of the room. Other people are looking around, so I guess I'm not the only one.

  • The audio has improved a bit. I guess I'll manage.

  • Ora says that IT is not very automated - the computer is just a tool that you use while you do work. "You work, and the computer helps". It's like a hammer: it won't build anything on its own.

  • True automation requires an increase in structured data and standardization. He forgets to mention the need for enormous policy definitions and natural language processing.

  • So far this is just a review of semantic web, not why I should care. We've all been "waiting" for the Semantic Web for over ten years, so I'm not sure why this in-depth review is necessary.

  • Ora says that the open source community is:

    1. more accepting of new ideas,

    2. more innovative than traditional players, and

    3. more relaxed when it comes to finding a business model.

    to which I would respond:

    1. hahahahahahahahahahahahahahahahahahahahahaha

    2. Most large open source projects have contributors who work at medium to large-sized corporations (so they can obtain things like food and shelter). I think that if these corporate drones stopped contributing to open source, the community would be a lot smaller and less innovative.

    3. This can also be a negative: the reason there are so many dead or stagnant open source projects is that the code doesn't generate any money, and when push comes to shove, people have to do work that pays the bills first.

  • Ora continues to hammer on the business model point, saying that "before we get to the point where we make money, we need more experimentation and open-minded development". The Semantic Web has been "just two years away" for about ten years now - how much more experimentation do we need?

  • The guy next to me is typing on his laptop using the hunt-and-peck method. At ApacheCon! Jesus.

  • Here's what's ahead of us with regards to the Semantic Web:

    • "Let's try to get computers working for us"

    • "I'm after some kind of paradigm shift in personal computing"

    I wonder how long it's been since this guy wrote a line of code.

  • I just checked his web site - he works in Common Lisp. That's about right.

  • Now hunt-and-peck guy is making these deep, heavy sighs. Constantly. It's very distracting.

  • This talk has no answers. Big surprise.

  • Not that I'm bitter, or anything.


Roy Fielding - A Little REST and Relaxation

  • I arrive early to get a good seat. It's standing room only by the time Roy starts his talk.

  • The talk ends up being a history of the W3C and web protocol development. Towards the end, Roy says, "I wish I could spend more time talking about how to create a RESTful service." That's the whole reason I came, dude! Anger!

  • Roy says that refining server-side resource models is not as important as the hypertext-based navigation that guides users or client software; as long as you have the original URL to a site, you should be able to find anything else from the hypertext content. I think this is misguided based on how many of todays web applications are exposing public APIs that enable content sharing and mashups.

  • This talk gives me the impression that REST is just for applications that are primarily UI-driven. It's the same old REST doesn't work for enterprise software argument used by WS-* proponents, except it's coming from Roy Fielding. I don't know why he's so focused on hypertext and applications that operate within a single domain (host).


Sanjiva Weerawarana - WS-* vs. REST: Facts, Myths, and Lies

  • Some people leave after Roy's talk, but the room remains at 90% capacity. Sanjiva's talk is sure to ruffle some feathers, and that always puts butts in the seats.

  • I still hold a bit of a grudge against Sanjiva for the rigmarole we had to go through for Muse 2.0, but I will put that aside for today and try to listen to his claims objectively.

  • Sanjiva says that WS-Addressing is probably one of the worst things about WS-* and that it should allow for the use of a simple URI for people who don't need endpoint references or the implied resource pattern. Preach on, man.

  • He started with some WS-* negatives, but as the talk wears on, it's becoming more and more about the negatives of REST. I can't say that he's being unfair to REST - most of his points are reasonable - but he did kind of gloss over WS-*.

  • The talk was well-received, and he didn't get many questions afterwards. He was pretty harsh on REST, but not inaccurate; I still think the talk would have been more effective if he'd spent more time detailing WS-* negatives instead of using broad statements like web services aren't right for every project.


Dan Diephouse - Building Scalable, Reliable, and Secure RESTful Services

  • Dan is another WS-to-REST convert who spent some years implementing SOAP engines and WS-stacks and has moved on to Mule, which is an open source ESB; I don't know how an ESB is any less enterprise-y than WS-*, but I guess it makes him happy.

  • Dan has chosen to pack an incredibly large amount of information into a one-hour presentation. As time ticks away, I can't help but feel that this talk would be much better if it were a week-long session instead. Perhaps he doesn't have time for the kind of multi-day labs offered at ApacheCon, but it would make his presentation less overwhelming.

  • We're fifteen minutes in, and I've given up trying to summarize. There's a lot of good material here, but I'm just going to end up re-typing his bullets. If you'd like to see the presentation yourself, you can find it here.


Looking back, Day 2 Track 2 was definitely worth the $150 conference fee, but it wasn't worth giving up my no-vomit streak; when I threw up last Saturday, I was only a month away from the six year mark. Six years isn't quite as impressive as my previous no-vomit streak (nine years, one month), but it's nothing to sniff at. If I could do it all over again, I'd rather have the streak.

Labels: ,

Monday, November 19, 2007

ravaged

I was planning to post all of my notes from ApacheCon this weekend, but by Saturday afternoon I had taken ill; I spent the rest of the weekend lying prostrate and begging for death. It's a good thing that Bridgid was there to take care of me because I'm a real wuss when it comes to being sick. I can only hope that this episode hasn't ruined my mystique.

My notes will be posted shortly...

Labels: ,

Wednesday, November 14, 2007

dud

Today was discouraging. I hit a six-mile traffic jam just outside of Charlotte on my way to ApacheCon, and I didn't see one person on the other side of the highway with his hand out the window. In other words, all of the time I spent documenting our road rage prevention system was for naught. I was expecting the magic of the Internet to cause a new meme to spread rapidly across the land and save me from these kinds of experiences, but I guess that isn't going to happen. The Internet is too busy creating lolcats.

I wish I had a time machine so that I could turn back the clock and tell the inventors of the Internet to not even bother. What a disappointment.

Labels: , ,

Tuesday, November 6, 2007

cheaters

Cycling is a very popular hobby in Cary, but for all of the people riding around town in their ill-advised spandex outfits, we have seen little improvement with regard to cycling-friendly roadways and parks. Many of Cary's main roads are finally being expanded to meet the demands of last decade's population growth, but only a few of them have cycling lanes. I often encounter situations where people approach cyclists who are coasting in and out of the breakdown lane and then swerve around them at full speed, with barely a look to see what's happening alongside them. It's irritating and dangerous, all at the same time.

But unlike most residents, I'm not upset because our transportation department has failed to recognize the plight of the avid cyclist; I'm upset because I'm not a cyclist and I hate sharing the road with them. In fact, one of the things I hate most about sharing the road is the phrase sharing the road. I see this admonition on traffic signs and bumper stickers across Wake County, and it's one of the worst ideas I've ever encountered. The cyclist is traveling with a vehicle that he can lift off the ground with one finger; I am traveling with a two-ton steel bullet that's moving at twice his speed. We cannot share the road. Asking automobile drivers to share the road with cyclists is a red herring that pits cyclists against drivers and draws attention away from the fact that our civil engineers have dropped the ball.

Physics aside, there is another reason that I don't like sharing the road: cyclists are bad motorists. Every cycling enthusiast I've ever met[1] is quick to complain about automobile drivers that try to run them off the road, throw things at them, or otherwise treat them as second-class motorists. They talk about state laws that give equality to cyclists and other slow-moving vehicles, but they always gloss over the parts about cyclists being restricted by all of the same rules and signals. The same cyclists who want me to coast patiently behind their peloton as we try to conquer a hill at ten miles per hour are quick to pedal through a red light if there's no oncoming traffic. I also like it when they piggyback with cars that have been waiting at a stop sign; nothing says "responsible motorist" like hanging out in my blind spot through a busy intersection!

Ignoring traffic rules is fine for ten-year-old kids parading around town with their friends[2], but if you want equality in the eyes of the law, you had better sit at that red light and wait for it to change, even if traffic is low and you don't have a license plate. You had better wait your turn on the stop sign merry-go-round. And you had better hope I never run for office, because in Dan Jemiolo America, all cars will be equipped with high-powered lasers.

So much anger.

[1] An enthusiast is anyone who has one or more cycling-related bumper stickers on his car or wears cycling shoes to the office.

[2] Assuming they're smart enough to avoid my car.

Labels: , ,