It’s 11 o’clock. Do you know where your data is?

I’ve been keeping track of interesting stories about security over the past couple of months for my intersession course, mostly ones that I have found through Slashdot, BoingBoing and/or Digg. As part of the process of selecting which ones will make it into the final week of the course and which ones will not, I thought I would put the whole list here, mostly without comment. If you notice anything that seems particularly interesting (especially if you happen to be in my course!) let me know and it will probably move up my list of things to discuss.

Avoiding a pun about “crashing”….

I’ve been saving up news articles about security vulnerabilities for my cyberattacks class, but I’m not quite sure where to fit in a discussion of potential vulnerabilities in Boeing’s New 787. On the crazy-cool side, the plane is going to have internet connectivity in the cabin for passengers. On the crazy-stupid side, the passenger’s network is connected to the cockpit network. Solutions are being discussed, but they do not seem to include just keeping the two networks physically separate. But software solutions can, and probably will, have holes, and Boeing is treating this as a software-debugging problem. I can’t imagine what the justification would be for wanting the networks to be connected. I am a big proponent of the “if it is absolutely vital, keep it unplugged from any network” school of security. Or, frankly, if you can’t do it safely, I’ll get by without internet access on my plane flight….

Or you could just let Pennsylvania go first….

I was having a discussion over dinner about the problems with current presidential primary process, particularly the scheduling of them – yeah, I know, it’s a controversial stance! Pretty much everybody you talk to has an idea for what could make the current scheduling better, and we were arguing the merits of various hypothetical plans when somebody observed that perhaps people with more expertise and who had actually analyzed the relevant data had looked at this question. So it was home to Wikipedia and their US Presidential Primary page, and the also good FairVote page on Presidential Primaries.
The major variations seem to involve either (1) group primaries starting with small states, and then working up to larger states towards the end of the process, (2) ordering the primaries to start with a random sampling of primaries but with structure imposed to start with “easy” primaries and work up to the larger, more expensive ones, (3) working through regions of the country in turn, or (4) pulling one state from each of a set of regions for each of a set of primary dates. FairVote has nice details on how each of these work with sample breakdowns/schedules.
The cynic in me thinks it likely, though, that any of these plans is going to lead towards a bias towards particular groups/regions and against others, and that saavy analysts will be able to work out which these are and the constituency with the best lobbying power is going to win (if anything ends up changing). To me, this calls out for a different plan (yep, despite what I said about listening to people who actually know what they are talking about, I’m going to throw in my ignorant two cents…) based on pure randomness. Let’s pick a set of primary dates, and then randomly order the states among those dates. In order to prevent a state from being consistently devalued by falling late in the process, if you are in the last quarter of the primaries in one cycle, you are guaranteed to be in the first half of the primaries in the next cycle.
Sure, in any given year, you could have a bad outcome – small states could get a disproportionate say, primaries could be located such that poorer candidates have a harder time competing, etc. But you would avoid systematic biasing and considering the long-range trends of presidential elections, these concerns ought to even out. Otherwise, the debate seems to focus on whether particular goals (giving larger, urban states more say, making campaigning easier on fringe candidates, etc.) actually is desirable or not. And as I like to remind my students when looking at various AI systems, you always want to ask yourself if your highly engineered system beats random chance….

Moving on to 2008….

I would not want to buck the weblogging tradition of posting some type of year-end wrap-up, and I was quite lax on the photography and book-reading this year so I thought I would tie up 2007 with a recap of some of the new technologies that I have started using in the past year.

  • RSS Feeds: My general websurfing habits had been to open folders of bookmarks into my Firefox tabs and click my way through them, but I finally broke down and tried out reading feeds and it’s an experiment I’m sticking with. I started out using Sage, a Firefox extension, but I’m pretty firmly wedded to Google Reader at this point. Sure, Google is harvesting what I read when, but I can keep up on my feeds anyway, including on my cellphone and it’s support for tracking new feeds and letting you star old entries for later references is great.
  • Eclipse: I had played with it very briefly before, but this year marks the first time I have really used it, and after a surprisingly shallow learning curve I feel like I’m pretty proficient with it. I’ve only tested out the Java support, and have heard that it is less ideal for C++, but it has all of the expected bells and whistles, I like the debugger, and I’m a fan of using a free tool that my students can continue to use after the end of the semester. I still think you ought to get started with a simple text editor and command-line compilation, but if you are going with an IDE this is a reasonable choice.
  • Facebook: I was talked into setting up a profile and, having never gotten on MySpace or Friendster or any of those things, it’s been interesting to play with. I’m invested enough that I even have opinions on the recent changes allowing your status to not start with “is” and emailing you messages you receive, and not just notifications (both great!).
  • New Toys: My laptop and lab computers all got upgraded, along with shiny new flatscreen monitors. Bonus on the laptop – all of my wireless networking problems went away, at home and in my office. I upgraded my cell phone and along the way learned to text message and access the internet using it. I think 2007 was the tipping point in my always-on accessibility.

This coming year, I’ve got modest technological innovation goals. I’m going to learn either Python or Jython. I would like to get my old laptop running Linux. And I’ll probably jump on a few other bandwagons along the way, just to keep current – so send me your recommendations of what I ought to be playing around with before next December rolls around.

the ultimate junk shop

I finally got around to watching this short documentary (split into five pieces) about a nuclear laboratory surplus shop in Los Alamos while baking cookies today, and it is pretty cool. Both the stuff that this guy has, but also the fact that this guy is living in Los Alamos, used to be a machinist at the lab, is currently repurposing what the lab discards, and is now quite outspoken against nuclear experimentation. It’s interesting to see the town reaction to him also.
If you haven’t seen that site, which I had not before this, it’s got some other interesting films there too. I think it is cool they figured out a fairly low-tech way to film inside a running dishwasher.

It probably even supports ArrayList….

I was chatting with a friend tonight about the fact that both of us are interested in learning Python, for slightly different reasons. He has noticed some job listings that indicate Python as being a particularly desirable skill, and theorizes that it would be pretty straightforward to pick up if you have a good understanding of Java. That theory is supported by the large number of books and articles written specifically to help the Java programmer learn Python. (See: Python for Java Programmers or Python for Java Programmers) In fact, if you have a background in Java, this Python & Java Side-by-Side Comparison does a nice job of not just laying out the differences, but in doing so describing what Python is. For me what is the most jarring is the lack of types. Which is weird, because I spent many years in grad school programming LISP, but I also spent a fair amount of time surrounded by proponents of strongly-typed languages. Between that and my current immersion in Java world, it makes me feel vaguely itchy to think about writing code without types. What if I try to add an int and a String? The world would end! Or at least it should!
For myself, my interest in Python comes from thinking about my upper level courses. With programming as a prerequisite, I can ask students to write Java programs, but Java can be unwieldy and I have wondered if I would be better off spending a couple of classes teaching Python and then have students write code in that. Or, even better, I could use Jython – an implementation of Python that runs via the JVM and lets programmers use the Java libraries in their Python code. I had never heard of this until my friend pointed it out, but it sounds perfect. Students can use the familiar and vast Java libraries, including nitpicky ones like Swing that take some practice, but avoid the complexity of writing a full-blown Java program. Assuming Jython works the way it sounds like it does – I guess I have a backburner project to work on now….

I guess the snow is pretty at least

The week before finals is the long dark teatime of the academic soul. When it corresponds with the first frigid, blowsy weather of the winter, the mind turns to piles of poofy blankets. Barring that, I end up wondering if we have enough laptops to relocate my small advanced programming class to be held around the campus center fireplace with mugs of hot chocolate…. I start thinking that a brain shawl would be cozy and timely. Or at least decide that I need to get serious about shopping for a new winter coat.
It is not too late to catch up on the 2007 X-Entertainment Advent Calendar, if you like odd stories acted out using Playmobile and LEGO characters, riffing off the contents of toy advent calendars. It’s like improv weblogging.

Appropriately, this will automatically post to Facebook as well……

Are you interested in Web 2.0? Maybe you are taking a course on the topic soon. Hell, maybe you are teaching a course on the topic soon ;) Whatever it is, last month the new-to-me but old-to-the-internet Journal of Computer-Mediated Communication had a special issue on social network sites. Besides just trying to tackle the problem of defining a “social networking site” – which at least is a more manageable task than defining the mostly meaningless in my mind phrase “Web 2.0” – there is a a somewhat interesting study of who, demographically, does and does not use social networking sites. There is also an interesting article on identifying what in practice causes a reader to react to an email as a flame that connects nicely with a recent article in the New Scientist Blogs summarizing research on why people flame online when they would not behave the same way offline. Good stuff to bookmark and read when some free time comes along….

How about drive-through legal advice – do they have that too?

It is slightly frightening that we have moved past saying that just having a high school degree is not enough, to just having a college degree not being enough to just having a law degree not being enough. Okay, that is an exaggeration, and these people definitely seem well employed, but this is an interesting look at the mind-numbing grunt work some lawyers are getting hired to do. It feels like the legal analog to programmer outsourcing – the good jobs are the creative jobs, and the competition for them is strong. Certainly this type of skilled temp/contract work is prevalent in both fields, particularly for new graduates.

I am nothing without a robot car…..

Over the weekend, the DARPA Urban Challenge took place, in which about a dozen autonomous vehicles navigated their way through desert and city landscapes in a timed obstacle race. I was bummed out that I wasn’t able to watch the livecast of the event, but a nice highlight video of the qualified round has been posted at the Urban Challenge page (you can see about two minutes in that at least one car took out a stop sign….) and they’ll be posting a highlight video of the finals soon.
In the meantime, there are videos starting to show up on YouTube and Google. Some of my favorites include:

But if you search around for DARPA Urban Challenge 2007 you can find tons of stuff in this vein….