American Auto

What is it with American auto companies and so utterly failing with hybrids? Gas it $3.50/gallon and up right now as I post this. There’s a big green movement. In short, people really care about getting halfway decent gas mileage.

So American auto finally got with the program and offered a couple hybrids. The Ford Escape hybrid, for a long time, was the only one. Tree-huggers and penny-pinchers alike can…. uhh…. marvel at the utter contradiction that is a hybrid SUV.

Of course, Chevy didn’t want to be left out, so they joined. Except that seem to have missed the memo even more. Calling it the “Green Car of hte Year,” they introduced “America’s first full-size hybrid SUV.” It gas mileage is exactly the same as my non-hybrid Toyota Highlander: 20-22 MPG.

Seriously, guys?

Laws

A long time ago I coined Wagner’s Law: “While driving, the probability of encountering a bicyclist is exponentially higher when approaching a blind curve.” Why this is, I have no idea, but the world’s bicyclists always seem to be entering blind curves when I’m driving. I very rarely get to pass a bicyclist on a long stretch of straight road where I can see that it’s clear to pass. Instead, I’m entering a blind curve, where I’m forced to slow down and stay behind the bicyclist. This probably drives the people behind me crazy, but the only alternative would be to drift into the other lane, which is downright suicidal since I can’t see oncoming traffic.

Today, I’d like to coin Wagner’s Second Law: “As an organization grows, the percentage of unnecessary members rises.” By the time you’re a college, you probably have a lot of jobs that, frankly, aren’t necessary. We were joking yesterday about how the school ought to cut about 15 jobs and merge them into a single person’s job, with the title, “Director of Pointless Memos.” They can be the one that’s in charge of taking an e-mail sent to the whole campus and forwarding it… to whole campus… And the one in charge of sending us an e-mail informing us that the work order system for submitting maintenance issues is “now available,” even though it’s been available for at least two years and was not previously unavailable, and so forth.

Yesterday I got a notice in my mailbox informing me to make sure to update my mailing address with people sending me mail over the summer. We’ve been debating whether one line was a typo, or whether it was deliberate… One assumes the former, but after getting a sufficient amount of utterly pointless memos, we’re not entirely convinced that they didn’t mean to tell us exactly what it says:


The U.S. Post Office change of address form does not apply to our campus e-mail addresses.

Defaults

Fast Company has an interesting article talking about how the human race seems destined for laziness. Presented two choices, one the “default” (as in, it’ll happen if they don’t do anything), the other being far superior but requiring that they do something, most take the inferior default.

The main example is the “Save More Tomorrow,” where, in essence, most of your “raise” will be socked away into your 401(k) program, unless you request that your employer give you the money. (I assume there’s a lot more going on than them simply failing to give you your money.)

But he presents some other interesting statistics. Organ donors, for example. His example is Germany, but it’s the same deal here: you have to opt-in to being an organ donor. In Germany, 12% of people are organ donors.

Austria requires that you opt out of being an organ donor. What’s their donation rate? You could argue that it’d be close to 12%: for such a big decision, surely 88% of people don’t want to be organ donors. You could also take the other side of the coin: 88% of people were too lazy to check the box, so 88% of people would be organ donors.

But it’s a two-variable problem. In Germany (and the U.S.), the 12% is people who were willing to donate AND who cared to check the box. In Austria, you need the people who don’t want to donate AND who cared to check the box.

For this reason, 99% of Austrians are organ donors. Only 1% opposed being an organ donor AND took the time to opt out.

It’s interesting, then, to apply this to computer interfaces. How many sites, when you register, have “Sign me up for lots of spam!” checked by default? It always annoys me, but I bet they get a lot of people that way. They’re not militantly anti-spam, so they lazily leave the box checked.

When you leave a comment right now, please tell me what you think!

Geekery

Trying a different style for this post…

# # #

We held our “Rock Band Night” event tonight. The turnout wasn’t that great, but it’s a long weekend and gorgeous, so we were happy with the people we got. I brought my Xbox VGA cable, so we ran the Xbox into a projector at 1280×1024. We also pulled out an awesome sound system and hooked into that. What made things even more awesome, though, was that we realized that the projector not only has a Computer In, but a Computer Out, which just mirrors the input. So we hooked up a big monitor, and ended up with the band in front of the screen, facing the crowd, as if they were a normal band. That is how you play Rock Band. It was essentially like having a live band performing, minus the actual musical talent. The crowd was also just right, happily listening, periodically singing along, cheering good people and (good-naturedly) heckling those who missed strings of notes.

# # #

While listening, I spoke with a student who works in the admissions office, and she mentioned that she gets asked surprisingly often about video games at Bentley. We talked a bit about what we do, and then she asked if we had a website. We do, but the URL was long. So on a whim, I picked up bsgo.org.

# # #

The process of registering a new domain was interesting. It’s been a while since I went ahead with it. Initially, I inadvertently went to register.com, and merrily proceeded through the registration until it presented me with the total and asked for my credit card information. $79?! It was for a few years, but I forgot that they inexplicably charged a lot. I went to GoDaddy, which charges a more sane rate, but was constantly having to uncheck offers I didn’t want. I wanted to register the domain for one year, not several. I wanted to register bsgo.org, not bsgo.biz and bsgo.info and bsgo.tv. Every time I progressed to the next step, there were more offers for me to turn down.

On the flip side, a couple minutes later, it was live.

# # #

In the process of adding DNS records, I discovered that some of my existing ones seem corrupt / absent. www.ttwagner.com doesn’t resolve to an IP. If you notice any other assorted weirdness, let me know.

# # #

We’d talked before about making the webpage more than a barebones site with a couple of pages. Of course, then we get into all sorts of problems with preserving look and feel, and all that happens if we want to update navigation, etc. So I figured this was a great chance to try out SilverStripe, a spiffy-looking CMS. It looks very promising, although it uses some newer features in PHP that require me to update it, which has given me roundabout cause to do a lot of side-projects. (Like working on moving over to the VPS…)

# # #

I run a mailing list for the club on my machine, using Mailman. It works great, but as I graduate, I want to make sure that they’re not reliant on my server. I intend to keep hosting the list, but I’d hate for critical data to be in the hands of the aging server of someone that doesn’t even go to their school anymore. I wanted to back up the list, but Mailman lacks an “Export list…” feature. (Which annoys me almost enough to want to pick up Python just to add one in?) It turns out that it’s easy, but it took me some poking around.

Mailman, at least on Gentoo, keeps its stuff in /usr/local/mailman. There’s a lists/ folder, with a config.pck that seems to list all the members, as well as all the configuration. This might be good for backing up the list itself, but it’s pretty useless if you just want a list of members to pass on. I figured I could write a script to parse the file and extract the addresses, but I started to Google to see if it was done.

And then I found this page talking about it. And it turns out that there’s a tool to do it included with Mailman, in the bin/ folder. For me, then, /usr/local/mailman/bin/list_lists will list all of the mailing lists on the server. In addition to list_lists, there’s list_members [listname], which will do exactly what I wanted: provide a plain-text list of each member. I then redirected the output to my e-mail address….

./list_members BSGO | mail matt@example.com

# # #

I’m back in Ubuntu for the first time in a while, and I’ve got it upgrading in the background to Hardy Heron, the latest build of Ubuntu. I’m hoping that Xen will work in Hardy for me, allowing me to stay in Ubuntu permanently: I have too much Windows stuff I need to access. It’s hardly credible without data, but my dad has told me that he did some benchmarking and found that Windows running as a virtual guest on Linux actually outperforms native Windows in cases where you have a VT-capable chip. So I’m not concerned with performance, as much as whether it’ll work.

I’ve found that, for whatever reason, I’m just more comfortable in Linux than in Windows. As I was upgrading to the latest distribution, the process seemed to be slowing down. So I pulled up a command line and ran iftop, which showed me a list of my active network connections with a visualization of bandwidth on each connection. And little things like my ability to pipe the output of a command to an e-mail. This isn’t to say that one platform is “better” than the other, just that I feel more ‘at home’ when I’m on a Linux machine these days.

Running a Meeting

One thing I can’t stand is meetings where people have no sense of purpose. Today we had a group meeting for the final project for one of my classes. No one was really going anywhere with it. We discussed a few ways we could split the assignment up.

So I did something that worked even better than I expected. I took a copy of the project description and suggested that we go through each element, outline possible ideas, but with a twist: after one minute of discussion on each element, we’d have to move on to the next one.

As always happens, we’d brainstorm an idea and someone would try (perhaps inadvertently) to derail the process. Someone thought we might want to consider handling one of the events we were discussion differently. So I put his way down, too. The two somewhat contradicted each other, but they’re both on the list. Later on, someone suggested that we needed to look more into an issue before proceeding. I agreed. So I put, “Research this!!” on the list and kept moving.

Not ten minutes later, we had an outline of the whole project. Very rough, mind you. But I’m pleased, because in the twenty minutes before that, we’d essentially each sat around staring into our computers, making a halfhearted attempt to think of how to split up the project. Now we had an outline of the whole thing.

What’s most awesome, though, is that this way of thinking ended up being contagious. We got through the outline, and it was time to split the assignment up. And this time, instead of a theoretical discussion about all the possibly ways we could divvy up the work, someone got up and put a list of the sections on the board, and we rapid-fire split them up. No discussion of, “Well, I think those two sections might go well together given the current alignment of the planets…” He just took two sections and assigned them to someone.

I don’t profess to be the best meeting-runner of all time, but why can’t more people run meetings this way? A meeting should be a place where people come together to share ideas before going their separate ways to work on individual sections. So focus on the parts that affect everyone, and leave the individuals to handle the mundane details.

And this is what I think is so neat about management. You’d expect a management major to be a heavy-handed leader. But the secret is to be an invisible catalyst helping things run smoothly. Done right, you needn’t even be recognized as a leader.

UCWords

Every now and then I find that I need to do something that seems remarkably obscure, and am surprised to learn that PHP has a function to do it. I found myself cleaning up a really sub-par Wikipedia article, where someone had entered a massive list of things in ALL CAPS.

It’s easy enough to upper-case everything, or to lower-case everything. But what I really wanted to was to capitalize the first letter of each word, because they’re all proper nouns. It turns out that PHP has a ucwords function to do precisely this.

And thus this page, which I suspect will never be useful to anyone, was born. Enter text, and it’ll covert it to lowercase, but upper-case the first letter of each word. And in this case, the time required to write the script was less than the time it’d have taken me to change it all by hand.

Group Collaboration

A huge amount of the stuff I do here involves working, online, with other people. I’m surprised at how technology really isn’t where I expect it. Here are some things I do often, and how technology helps me–or fails me.

  • Communicating with persistent groups. I’ve got a board of people who are taking over the club I run here. It’s one group of people, and it’s a “persistent group” — it’s always the same people. I created a mailing list on my server allowing group discussions: we e-mail one address and it goes to everyone. It works great, but we all go to the same school, and thus use the same e-mail service. Why can’t I create a mailing list for all of us? I really shouldn’t be reliant on us e-mailing a “special” address on a server in Texas so that nine of us in Massachusetts each get a copy. A good mailserver for big groups, e.g. schools or companies, ought to let its users create these groups on the fly.
  • Collaborative document editing. This one has two solutions I use:
    • MS Word + Track Changes: Two problems with this one… The first is that most people don’t know how to use it, and trying to communicate how to do it just adds one more thing to go wrong. The second is that “Track changes” doesn’t deal with concurrent edits: if I take a document and work on it, and you take it at the same time and work on it, there’s nothing to even try to merge our changes.
    • MediaWiki: I use the same software that powers Wikipedia to keep notes and lists for myself, as well as to enable better groupwork. We can each track who’s changing what, and it kind of supports concurrent editing, although if we edit the same section, one of us will still get an edit conflict.

    The thing is, the concept of, “You work on Part A, I’ll do Part B, and then we’ll integrate them and make it flow” is very common. It’s kind of disappointing that it takes quirky web apps to do this effectively. I’m not sure this one is a failure of solutions: I can think of numerous things that do it. The problem is just that no one uses them, no one knows how to use them, and none of them have very good name recognition.

  • Calendaring. Exchange supports this in theory, but no one uses it, and I’m still quite disappointed that no one has made a competitor. Google Calendar integrates with GMail nicely, but that doesn’t help for people who don’t use GMail… I want to be able to say, “I want to meet with these 5 people” and have the computer find times that work for each of us within certain constraints. I’ve invented what I call “shotgun scheduling,” which seems to work fairly well. I identify about five times that work well for me and sound like they would be good for other people, and then list them and ask each person to tell me which of them they can do. It eliminates the, “Well I have soccer practice from 2 to 3 on Wednesdays…” headaches. But this is something that technology could solve very easily, and one of the things I want most.
  • Group voting. Again, this is something that Exchange supports but that isn’t used too much. I think we should change the time on one of our events, but I don’t want to do it without running it by the rest of the group. But it’s a pain to send out an e-mail to all of them and then wade through all the responses. (With nine people it’s not a big deal. Imagine if there were 200.) Some things aren’t meant to be discussed, so much as given a quick thumbs-up or thumbs-down. A good e-mail service should support this, and make the results a web-based thing hosted on the server, not an e-mail based thing.
  • Group document repository. SharePoint (?) does this, but it hasn’t been rolled out to students. For an arbitrary “group” of people, I want to be able to upload, edit, and collaborate on documents.
  • Task/project management. Not a to-do list, but a system that supports tiers (i.e., subtasks), deadlines, priorities, statuses, “next steps,” and assignment of tasks. The ability to link a given entry on it to an e-mail thread or whatnot would rock, as would integration with the calendar solution. Out of 50 million task management solutions, I have a big list on my whiteboard. Nothing I’ve found works quite as well. Everything is either too complicated (I don’t want a Gantt chart of my homework) or too simplistic (I don’t want a single-level checklist for managing my more involved projects).
  • Contact sharing. This one has the technology there 100%, but the usage has fallen short. I’d love to be able to automatically retrieve contact information from various contacts and send it to my phone. vCard and such does this, and Outlook will sync right to my Treo. But not many people use this.

I think there are two conclusions to draw from all of this. One is that, in some places, technology is still lacking for some reason. Nothing I do is anything that millions of groups and teams across the planet don’t do, so it’s shocking in a way that technology is still absent in some places.

But at the same time, in some cases, technology is ahead of people. I think organizations essentially need to require that people use the tools. When a manager tries to schedule a meeting and finds that people don’t keep a calendar on the computer, he needs to address the issue with them. When I try to pull down contact information for my coworker and can’t find it, that should be an issue I bring up with him with a, “I can’t believe you’re neglecting your duties” tone. Some of these features have great importance, but we get stuck in a sort of catch 22: no one uses them because, well, no one uses them. It’s the classic network effect: as long as people don’t maintain a group calendar, no one has reason to use a group calendar.

Digital Radio

There are a few different technologies commonly used in two-way radio. One is digital voice, a la Motorola ASTRO / Project 25’s CAI (IMBE), which is a 9600bps (9.6kbps) digital stream. Another interesting technology is trunking: a city might have 12 talkgroups (think “virtual channels”), but only 4 frequencies. One frequency is designated as a “control channel,” which is a digital stream announcing system status. When you want to transmit, your radio will go out to the controller and get assigned one of the frequencies, and the system will then announce that you’re transmitting on one of them, and all radios in your group will switch over and listen. This allows much greater spectrum utilization: rather than needing a new frequency for every group that might want their own channel, you just need to license enough frequencies for however many simultaneous conversations you expect.

I’ve been thinking that it’d be interesting to merge the two technologies. Technologies like Speex will let you process audio at exceptionally low bitrates, seemingly as low as 3.4kbps. (And they have some neat technology, like variable bit-rate encoding and even further drops in data transfer in between words, dropping quite low for when it’s just background noise.) So I think it’d be neat to start a “data network” at 32 kbps, which could be done with relatively low bandwidth. You could keep one frequency, and yet fit as many as 7 or 8 simultaneous conversations on it. (And you can take its VBR support one step further, and have it scale to fit system capacity: on a system with minimal activity, allow 8-16 kbps, but when the system is starting to fill up, drop down to 4 kbps.) HE-AAC (also known as AACPlus) looks promising too, although it’s a proprietary technology.

And since it’s now a 100% data network, you can do what I’ve always thought mobile radio systems, especially those used by public safety agencies, ought to do: put a GPS unit in each radio, and have them embed GPS coordinates in each transmission, as well as periodically announcing their coordinates in the background.

The net result is insanely efficient (radio) bandwidth usage. For example, Boston PD has 16 frequencies licensed, but it’s rare for more than 2 or 3 to be in use at any given moment. They could get more efficient by switching to a trunking system, maybe with 5 frequencies (plus a control channel). Of course with an established system, there’s really no incentive to, but I digress. But if they could get entirely usable digital audio at 3-8 kbps, they could actually move to a single frequency and support multiple, simultaneous conversations.

Another neat side-effect is that linking the systems would get quite easy: the entire system, with multiple conversations, could even fit over a single dial-up modem link. And you can have better “emergency” support, although most trunking systems seem to do it anyway: public safety radios carry an “orange button,” which will signal an emergency to the radio system. Analog systems do this by basically making the radios “obnoxious”–they’ll just keep transmitting a distress signal over and over, increasing the odds that they get through. With an all-digital system, they can just send packets indicating an emergency, and have the network make way for them, going so far as to terminate existing conversations if needed.

Oh, and another novel benefit is power management. If I’m on a handheld radio and I’m standing twenty feet away from the tower, I can dial my power down as low as it goes and still make it in fine. But if I’m a few miles away, I need to be using the highest power I can to make sure I’m making it. Of course, no one in the field fiddles with power settings. (In fact, most radios don’t make this something the user can do.) But if you just exchange a bit of signal strength info in the data flowing between radios, you can make this automatic. As I talk to the tower, it’ll be periodically confirming that it’s hearing me. But when it does that, rather than just using a boolean, “Yup, got it,” it can send me signal strength data, and my radio can dial down power until it’s at a, “I’m still getting 100% of your packets but I wouldn’t go any lower in power…” point. The net result is longer battery life. (And potentially, less interference to distant users of the same frequency.) As a really obscure benefit, if you’re transmitting this information, and also embedding GPS coordinates in your transmissions, the system could silently log all of this and generate coverage maps, which would get more and more detailed over time.

Naming

Fark.com reports that a group of people in San Francisco have started a petition to, well… I’ll quote them.

Kennedy had a stadium named after him. Reagan has an airport. Where will George W. Bush have his name emblazoned? In San Francisco, it looks like that honor will go to a sewage plant.

Of course, my understanding is that this is just something one group is proposing, versus a city initiative.

Sit in the Corner

I started a blog post about this, but it talked about terabytes NASs, HDTV DVRs, VoIP / SIP, LDAP, DNS caches, NTP strata, and a bunch of acronyms.

So instead I’ll be incredibly precise. This PC, seemingly sold only at Walmart, is really cool. It’s not that fast. Its specs are bad any way you look at them. Unless you look at power consumption. 20 Watts peak power, 2 Watts average. By comparison, my desktop machine has a 300 Watt power supply. For someone who wants to set up an always-on Linux server, this thing is screaming your name. I’m strongly attracted to the idea of setting this thing up with handful of 500 GB drives, to build a network fileserver with a terabyte or two of capacity. And doing software RAID across them. (I’m fairly certain that the hard drives would draw more power than the whole system… Although you could set up power-saving features, since a home fileserver could surely power down the drives periodically.)

There’s also a cheaper one that seems to be the same, except it comes with 512 MB RAM instead of a gig, and comes with gOS instead of Vista. I’m dying to play with OpenFiler, a Linux-based “appliance” software package for some superb fileserver tools.