Fighting with My Wireless Network

So, I moved into a new office at a nicer location, it’s in downtown Evanston. I had been looking or a single office a few weeks ago, but I stumbled upon a good opportunity to rent some space in downtown Evanston @ 626 Grove across the street from the Italian Coffee Bar. Location makes a difference, my last office was tucked away in the back of a poorly constructed building near Main and Chicago. While Main and Chicago is a great place to live, it’s a somewhat depressing place to work (there’s nothing there).

Spent the majority of this last week struggling with a network. It took the AT&T DSL guys two visits to get the line functioning properly, but that was only the beginning of my trials. I was trying to get the wireless network to work for a colleague renting an office down the hall, and I’ve come to the realization that wireless networks are too much rocket science….. too many options, and some fairly annoying problems with standards.

1. IBM Thinkpads with the Intel3495ABG wireless have this setting called Roaming Agressiveness that is incompatible with sanity. The idea is that if you configure the card to agressively roam, it will drop your current network whenever it sees another network with a stronger wireless signal. In other words, if you work anywhere where there are lots of companies packed together, your computer is going to constantly try to switch signals and drop your existing signal. To the user, this means that even though you might be perfectly happy with your two or three bar wireless signal and ongoing Skype conversation, as soon as the office next to you turns on the Netgear router that you have nothing to do with, your Thinkpad is going to drop your connection and try to get on the other network. Long story short, it took me hours to figure out that Roaming Agressiveness was the problem – deactivate it if you are having intermittent connectivity problems. This feature might have made sense when there were very few wireless networks, but, these days, there are at least 50 access points in a 100 foot radius.

2. Wireless B support, turn it off. Wireless B is essentially worthless. Disable B and go with G. As soon as I did this, performance of all the wireless clients on the network improved dramatically. If G is so much better than B, then why does everything try to connect as a B client before it tries G? Ugh.

3. Wireless N routers – now this is the thing that is the most annoying. Airport Express will attempt to connect to the wireless router as a B, but there is no setting to tell the Airport Express to connect as a G-only. The only way to get Airtunes to work was to run the N router in G mode only. This is fine because all of the clients are running G, but well (throwing hands up in the air) why did I bother buying an N router if I have to run it as a G router.

I hate everyone.

Making Maven less "curse-worthy" (Porter’s terse branch)

Brett has some good ideas to create a newer POM format that relies more on XML attributes, I’m also thinking about different representation formats. Why not start thinking about allowing people to innovate and support even leaner alternative formats like YAML? Eric wrote something of a preprocessor, but why not open up the code that reads the model and make it pluggable? Isn’t this the point of using something like Plexus? And, even if it doesn’t fall into line with what Maven’s leadership wants, wouldn’t it make sense to allow someone to scratch this particular itch.

Just proposing the idea of pluggable POM parsers provokes general disdain. Jason would never want to allow “Scripting” or “Ruby-specific” formats for POMs as it would be a “disaster”. (Nevermind YAML is a hierarchical data structure that has little to do with scripting. It can be parsed in C, Java, Python, Ruby, Perl, Javascript.) Michael McCallum doesn’t want to allow POM innovation because allowing for POM innovation would make it more difficult to know if the people you were hiring really knew what a POM was. (Open source driven by corporate HR, that’s exciting!) Several arguments about how allowing for new POM formats with break Universal Understanding.

But the discussion is interesting… there’s little discussion of Brett’s code. The thing to realize about open source development lists is that maybe something like 25% of the subscribers have ever even bothered to checkout and build the code, the remaining 75% of readers are there to feel important. In the interest of contributing to the discussion, here’s some feedback for Brett.

Feedback on Brett’s Branch

Brett’s changes start in DefaultMavenProjectBuilder he introduces a ModelReader which takes care of reading both 4.0.0 and 4.1.0 models. Instead of handling the Xpp3 parser errors, this new ModelReader throws a import if there is a problem parsing some POM XML.

1. ModelReader makes sense, and it’s a change for the better to move remove the code to check the model version from the DefaultMavenProjectBuilder. To see what this class used to do, look at DefaultMavenProjectBuilder (from trunk) and search for “checkModelVersion”. Yikes, good move to get rid of that.

2. Make ModelReader an interface, move the current ModelReader to DefaultModelReader. Even though the majority of Maven overlords don’t want people to innovate wrt POM format, there’s no reason to close the door on the idea entirely.

3. (I know this won’t happen) but it would be useful if DefaultMavenProjectBuilder didn’t have to catch an XML parsing exception. Maybe a ModelReadException that contains the underlying exception that caused the problem.

4. (I also know this won’t happen) move everything related to XML parsing (“ReaderFactory.newXmlReader(file)”) into the DefaultModelReader implementation.

In general, I think Brett’s terse branch is a move in the right direction, it would make the process of customizing the format easier, and starts to tackle the problem of tight coupling between the Modello parsers and Maven core.

There is hope (from Atlassian)

Don Brown chimed in:

“Whether an attribute-based design is “proper” is a less important question than what makes Maven more usable. Form should follow function. What users care about is more readable POMs, less typing, and less clutter. I’ve been really impressed with the Maven team adopting a more programmatic approach to Maven recently, and this change will go a long way to making Maven more usable and less curse-worthy.”

Couldn’t have said it better, “what users care about is more readable POMs, less typing, and less clutter”.

MSFT takeover YHOO? Irrelevant?

It’s my industry, so my ears perked up today. It appears that Microsoft is about to try to acquire Yahoo, and they’ve sent a letter that essentially leaves the door open for a hostile takeover.

On that same New York Times story, you’ll see a comment from “Hugo D”:

“use Yahoo as my homepage, search engine, and for my newsgroup. If Microsoft pursues a hostile takeover, I am switching to another host.”

If Microsoft follows through, I think you’d see something of a user exodus from Yahoo. MBAs might have another opinion, but my gut feeling is that Yahoo users are unhappy with the offering, a Microsoft acquisition would be the last straw. I’ve had three people in the last week ask me how to get away from Yahoo! Mail.