While our son was growing up, though, the idea of spending a summer away from my family really didn’t appeal. He’s now graduated from high school and is off in the world, so this has become a fairly realistic option. Consequently I’m talking to various friends, alums, and industry types in an effort to identify plausible opportunities.
I’m pretty flexible on this, but I’m definitely interested in doing development rather than R&D (the activity that my degrees and experience would tend to suggest). I’d probably prefer to be a member of an agile team rather than working primarily solo on a task. It would also be important that the job really just be a summer gig; my job here is more than enough to keep me busy, so I’m not looking for something that will bleed into the school year.
Anyone out there know of any opportunities that might make sense? Feel free to leave a comment or contact me directly (mcphee AT morris DOT umn DOT edu).
Many thanks!
P.S. In case you stumble here and have no idea who I am, a very brief synopsis: I’ve been programming since the late 70’s, and teaching computer science here at the University of Minnesota, Morris, since 1991. I have lots of experience with Java, also quite a lot of Ruby, Python, and Groovy. I’m useful with JavaScript and Grails, and have experience with Rails but it’s a little rusty. I was once quite competent at C and then C++, but haven’t used either in years. Most of my dissertation work (mid- to late- 80’s) was in Common LISP; more recently I’ve been teaching Scheme and Racket a lot, and also have some experience with Clojure, Erlang, and Haskell. I learn new languages, tools, and systems pretty quickly, as that is often required in my job. My primary research area has been evolutionary computation (EC), and I’ve led or assisted in the design and implementation of numerous EC systems over the years. I’m experienced in experimental design, data collection, and statistical analysis and data visualization. I’m an experienced writer and public speaker; my research is heavily cited and has won several best paper awards.
]]>Segregating information by its mode of production, convenient and profitable for software houses, too often becomes a corrupting metaphor for evidence presentations. Why should the intellectual architecture of our reports and evidence reflect the the chaos of software bureaucracies producing those reports?
— Edward Tufte, Beautiful Evidence, p. 61
]]>It’s interesting to see in what ways various organizations do and don’t “get” these changes. Sadly, the U in general and the Morris campus in specific, for example, aren’t generally real on top of things when it comes to modern web technology. What’s particularly frustrating is the U’s unwillingness to work with and empower their users to help generate and manage content and value. Big Web 2.0 successes like Google and Amazon, Twitter and Flickr are all about leveraging user generated content. The U has its little fits in that direction (the U of M wiki, the UThink blogs), but they’re always peripheral to the life of the University, always in the back alleys instead of on the front page.
The ThoughtWorks discussion runs about an hour, and they divided it up into three chunks for podcasting. Unfortunately they haven’t released a new podcast since last July, so it appears that I’m late to the party and the party may be over. I look forward to listening to their other podcasts, and I certainly hope that they start making new episodes sometime soon.
If you’re interested you can find all their podcasts on the ThoughtWorks What We Say page through either RSS or iTunes.
]]>I was debating whether to install this software (which in theory supports Mac OS X), so I did some Googling first. There wasn’t anything very concrete, but there were some suggestions that Apple had included this kind of software in OS X at some point, and that Apple’s was much better than APC’s.
So I plugged in the provided cable that ran from the battery backup to a USB port, and Lo! and Behold! it immediately recognized the battery backup and nifty new options appeared in the Energy Saver panel of System Preferences! I set it to shutdown when the battery was down to 95% of capacity, and unplugged the battery backup from the wall, and it shut down beautifully. Without APC’s software.
Problem solved!
Thanks to all those that contributed to the many technologies great and small that allowed me to figure this out quickly and without having to call people, or post questions, or any of those annoying things.
]]>
You know what this means right? It means that there are 14 year olds that are more connected than our president is currently.
Not to mention 8 and 10 year olds.
Yup, this whole no-e-mail thing seems pretty messed up. You’d think that the full resources of the United States ought to be able to do better than sending the poor fellow into the IT stone age as his reward for being elected to the highest office in the land. What I’d really rather see is some of that “Yes we can” attitude applied to this problem, both because I think it makes sense for the way that Obama works and because it has the potential to improve the security and sensibility of everyone’s IT usage.
At the moment, for example, most people’s use of e-mail is pretty haphazard and insecure. Almost no one is using digital signatures, so forging e-mail is all too easy, which then makes certain kinds of phishing scams far easier to perpetrate. Widespread use of a proper signature system would in fact make large quantities of e-mail spam trivial to identify, as messages that didn’t bear a certified signature could be discarded without further consideration. Similarly, there are quality (if greatly underused) tools that allow us to encrypt important e-mails in such a way that they can’t be (easily) read by anyone other than the intended recipient.
What better opportunity, then, to do better?
A politician (including a President) has many important roles, and one of those is to help inform and educate the public on matters of significance. And this isn’t a matter of elitism, it’s a simple matter of access to resources. There are lots of things that I recognize are probably “important”, but don’t have the time or resources to become expert on. One would presume that if the President labeled something as “important” whole staffs could pop into existence to study the issue, generate summary reports and recommendations, etc.
Here, then, we have a chance for Obama to say that he doesn’t want to lose his electronic tools, and bring the scientific and technological resources to bear to secure and archive those transactions as required by his office. The process itself should be transparent, as the best security is obtained through transparent use of high-quality algorithms and tools, which then means that many of the benefits of this analysis and research can be shared more widely. If, for example, the President started using digital signatures on his public messages, you can bet that all the hip kids (i.e., the people that will be running the world in 10 years) would be installing the software needed to check those signatures at warp factor 9. Then they’d start signing their messages, and the snowball would be off down the mountainside.
These sorts of technologies depend heavily on a perceived use — people aren’t going to adopt X until they perceive that enough other people are using X to make it worth their while. As a small fry, I can adopt all I want and rant ’til I’m blue, but I don’t have the necessary weight to pull much of anyone along with me. Obama, on the other hand, can have a profound influence through fairly simple actions.
This could also open up a wonderful public discussion of security in general, which impacts everything from Facebook to ATM PINs to electronic voting machines, things that are woven deep into the fabric of our social, economic, and political lives. Things that matter, but which we take for granted or ignore.
So now’s the time — likely the best time ever — to move us all forward instead of holding our newly elected President back.
Yes we can.
]]>
Today I got an e-mail with the receipt. As an attachment. In “.MDI” format. Whatever the hell that is.
I was pretty sure we were going to find out that this was a M$ format before I’d even bothered looking, as it’s almost always people that have been sucked irretrievably into the M$ vortex that blithely send out files in annoying proprietary formats without considering the possibility that not everyone has sunk loads o’ dosh and a major organ into M$ software. I was right. It turns out that it’s Microsoft Document Imaging format, which apparently scans physical documents and converts them into TIFFs. But instead of then using the open, nigh on universally supported TIFF, they wrap (I’m guessing) that in their own goofy MDI format so people like me can’t open the documents.
Charmed. I’m sure.
Nothing I tried (and I tried quite a lot of things) would open this MDI file up, so I (nicely) wrote back and asked if he could re-send the file in an open format, like plain text or PDF. A model of restraint, I was. Really.
They promptly sent a second message with a new attachment in “.doc”. Good on the promptly. Less winning on the “.doc”, since that’s clearly not an open format. Happily, however, NeoOffice was able to open it up, sparing me a second round of e-mails with this nice person.
And what, after all this fun, did this remarkable M$ Word document contain?
A single, small image.
The image looks like a scan of a small bit of a spreadsheet. A small bit. No names (theirs or ours), dates, or any other standard “invoice” information. Just 10 lines of text, four of which are labels, four of which are actual entries (the rental amount, VAT, etc.), with the rest being sub-totals and totals.
In other words, a ton of machinery to obfuscate a quite small bit of information.
I just hate it when that happens…
]]>
I can’t really imagine that anyone’s going to want one of these, but just in case…
As a Xmas present for our various family members we used Blurb.com to create a photo book of some of our images from 2007. But hey, you can join the family by purchasing one as well :-). It’s 127 photos on 38 pages, and they have a PDF preview so you can see what you’re getting into before you put your money down.
This was our first use of Blurb, and their software was pretty decent. Amazing, really, how easy it is these days to publish books that no one really cares about. It used to be hard to publish books no one cared about; they regularly gave people degrees for it.
]]>open… has some nice thoughts on the role of open source in a process like this:
]]>These are precisely the kind of innovations that free software makes so easy: hacking together a quick prototype and then polishing it. Let’s hope that other simplified versions follow, since an “Easy” Office would be useful far beyond its original target market, education.
It would also be a nice riposte to never-ending complexification of Microsoft’s own products, which are forced to add more and more obscure features – whether or not users what them – in a desperate attempt to justify yet another paid-for upgrade. Free software is under no such pressure, and can therefore downgrade applications when that might appropriate, as here. Microsoft, by contrast, is trapped by its ratchet-based business model.

One way this has often played out has been in debates over programming languages and development tools. Students are (quite legitimately) concerned with their near term employment prospects, and so they tend to focus what they’ve heard of, and what they see in the job web sites. Unfortunately that is almost always an exercise in looking backwards in time. When I started in 1991, the problem was getting students out of Pascal and C and start thinking about objects. Now we’re working to add things like Ruby and Python to our Java-heavy toolkit. Constant throughout has been the difficult task of getting them to take (semi-) functional languages (Scheme, Haskell) seriously or, in fact, any language doesn’t have a “For dummies” book at their local mega-bookshop.
I need to be fair, though, and make it clear that we’ve always had students who could see the bigger picture, and have often pushed us faculty to open some important new doors. I suspect that we’ve actually been luckier in that respect at UMM than many other programs. That said, you still get groaners (often very vocal) who never seem to be happy unless you’re emphasizing whatever tool or language they’re firmly convinced is their only road to employment.
This is one of the reasons that it makes me so happy to see the list of programming languages used in the One Laptop Per Child project:
We will support five programming environments on the laptop: (1) Python, from which we have built our user interface and our activity model; (2) Javascript for browser-based scripting; (3) Csound, a programmable music and audio environment; (4) Squeak, a version of Smalltalk embedded into a media-rich authoring environment; and (5) Logo. We will also provide some support for Java and Flash.
OK, we can debate the details (and I’m sure people have and will), but let’s skip all that shall we? Let’s instead note that none of these was a “heavy hitter” 5 or 10 years ago, and there are plenty of people who would (wrongly in my opinion) argue that none are terribly important today. How many data structures classes in the U.S., for example, (a key “bread and butter” course in most computing curriculums) use any of these languages? I’m sure there are a few (especially Python), but proportionally I bet it’s pretty tiny. (Try searching either Amazon or the web for textbooks for such a course, for example.)
It’s also worth considering impact here. Sure, I doubt that anyone’s likely to start building inventory control systems in Logo, but should that be the issue? What’s the real opportunity for impact here? How do I change the world? By building accounting systems? Or by contributing to a project that plans to put computers and software in the hands to millions of kids all around the world?
You want to make the world a better place? You want to really fight terrorism? Then give people hope, a chance to grow and make their world better. Give them something to protect. Contribute to a project like this.
And, if you’re contributing to this project, you apparently program in Python, JavaScript, CSound, Squeak and Logo.
So let’s put an end to the whining about these not being “real” programming languages and nobody building “real” programs with them. I’ve written a crapload of Java code in my day that only a handful of people will ever use. Some bright bulbs used Squeak to build Scratch, which I suspect will be used by millions. Hmmm … which do I find more impressive?
]]>