Category Archives: General

Learning Computers

Playing with the Raspberry Pi has me thinking about it’s touted promise as an Educational Computer, one of its stated design goals. I actually think about what a good computer for learning about computers should be quite a bit, out of both personal and professional interest, and have been building a list. I hear an older generation talk about their Apple IIs and ZX Spectrums (and occasionally even access to mainframes through parents) as formative experiences, and I’ve come to appreciate that the stream of interesting old computers my parents kept me supplied with as a child were an amazingly formative experience, and one I can never thank them enough for, so it is interesting to think about what will fill this niche for children growing up now.

For the sake of brevity, we’re going to call this kind of computer a “Learning Computer.” My idea of a good learning computer is:

A Real Computer
A good learning computer has to be usable for the same kinds of tasks as contemporary computers, in the same general manner. It can be limited and inferior, but it has to be basically analogous. Little development boards and Microcontrollers and the like usually don’t make it on this point.

Not “The” Computer
A good learning computer will always be a second (or n-th) machine. No one wants to break the computer they use day-to-day, and learning on a machine people depend on restricts one’s ability to really tinker with it. It is especially important to have another machine with which to get help when things go wrong with the one you are tinkering with.

Cheap
A good learning computer will be both cheap enough to be given to or purchased by anyone curious, and cheap enough that the owner isn’t overly afraid of destroying it. This is fundamentally the same issue as the previous point.

Common, but not Ubiquitous
Truly obscure machines will lack documentation or community, so they will be hard to learn with. A good learning computer will be sufficiently widely distributed that there will be resources and a community available for it. Conversely, for truly ubiquitous computers there will be a canned solution for any problem, so one has to go out of your way to learn anything from it. There is even some value in it being a little bit weird, so that the owner can appreciate design distinctions.

Open
You need to be able to reach in and poke around at the software and hardware. Ideally, the entire boot process will be visible, and at least one operating system the hardware will run will be capable of introspection. The level of openness required is negotiable, but an iOS gadget isn’t going to do it.

Flexible
A good learning computer should be able to boot multiple environments, so that the owner can experience a variety of systems, and appreciate what is dictated by the hardware and what is not. It should also have hardware subject to tampering, swapping, and replacement for the same reason. Swappable storage media is especially important on this front.

Programmable
There are few things more powerful than the knowledge that one can make real things. A featureful, accessible programming environment is perhaps the safest, cheapest way of imparting that knowledge.

Just to enumerate how a Raspberry Pi stacks up –
It hosts a variety of environments that look and feel much like a full grown computer, and also is deeply similar to the baby computers / overgrown appliances that have recently become common. It costs $35, and isn’t really pitched as a primary computer. It has already sold enough units to be common, documentation is widely available, and a community has sprung up among the hackers and makers, but it isn’t oversaturated. The default software stack, with some really disheartening holes, is basically open and inspectable. It’s modular via USB and SD cards, and is as accessible as anything with BGA packed parts can be. It is programmable in almost any common language, and many environments floating around for it are tailored to that use.

For the time being it is hard to argue against an old PC, but PCs are increasingly becoming blackboxes that only speak complicated protocols, and older simpler PC hardware is quickly falling out of support even in the hobbyist OSes, which carves a clear niche for a purpose-made learning computer like the Raspberry Pi. It really is very close to the machine the upcoming generation needs as a learning computer, but it remains to be seen how well it will do at reaching the people who will be enriched by it.

Posted in Computers, DIY, General | Tagged | Leave a comment

Raspberry Pi

I finally got my Raspberry Pi yesterday, and wanted to ramble about it for a bit under the fold.
My Raspberry Pi
Continue reading

Posted in Computers, DIY, Electronics, Entertainment, General, Objects | Leave a comment

Google Plus Integration

I spotted this reminder about leaving data in someone else’s little garden the other day, something which always makes me uneasy, and this note about google finding a new way to be evil (and the usual torrent of jokes about G+ being DOA), and decided it might be a good time to take another look at migration/retention/alternative options.

So I went looking to see if someone had an easy migration solution, hoping for something that can scrape the takeout file into tagged posts or the like. What I found is Google+ Importer, which is free and claims to be way, way better than that. It looks like it can actively scrape G+ activity into its own category, and automatically mark it with user-selectable text and/or CSS. Things might be a bit broken around here while I try to add it, but hopefully my newsreader sharing will automagically be mirrored here when I’m done.

Edit1: Google+ Importer didn’t do quite what I wanted, trying Daniel Treadwell’s Google+Blog WordPress Plugin to see if it is more to my liking. It only took me about 10 minutes of tampering to remember that I hate dealing with CSS (and even worse, PHP), and pine for the days of writing static HTML pages, with server-side includes if you were feeling fancy.

Edit2: Google+Blog WordPress Plugin is closer to what I wanted, but I’m going to disable it and remove the imported posts for now. There are still a few things I really don’t like about the behavior (I want to be able to set all G+ imports to use the “Aside” format, I want them excluded from RSS, etc.), and it is going to be more fiddling than it is worth to get things there. I’m still looking for a mechanism I like, I really want my own web-accessible copy of my G+ content, and/or to make my public ‘net activity easily visible in one place. There really should be some easy way to syndicate in one direction or the other.

Edit3: I tried adding a widget to just show show the top of my G+ feed, but none of the widgets that interact with G+ content directly seem to work right now, I guess they haven’t been updated after an API change or somesuch.

Posted in Computers, General, Meta | Leave a comment

Moussaka

Plated Moussaka

I decided to make some Moussaka on a whim last night. As usual when I try to make something new, I browsed a couple recipes off the ‘net, then mostly ignored them and made it up as I went. I actually think of the pastry-topped moussaka I’ve had a couple times before the more traditional toppings, but phyllo is no fun, and Béchamel is, so I decided to split the difference on traditional recipes and made a Béchamel topping set with egg yolks like a custard. Torturing a recipe requires a starting point, so this moussaka is a pretty traditional Greek three-layer preparation, with simple process and cheap readily available ingredients.

Continue reading

Posted in FoodBlogging | 2 Comments

The WiFi Common Ancestor

WaveLAN PCMCIA Card

We’ve been doing some parts closet cleaning along with the sysadmin types in our building on campus, and I spotted an original AT&T branded WaveLAN PCMICA card (Model 3399-K2624) in one of the bins. These are the precursor to all modern wireless networking devices – they don’t just predate the 802.11 standards, but were actually the contributed technology that eventually became the basis for the standard – I love computer history artifacts, so I had to play with it.

Sadly, the wavelan and wavelan_cs Linux drivers were demoted to staging in 2.6.33 in 2009 (commit) and removed in 2.6.35 in 2010 (commit… gods I love well documented F/OSS projects).

This is eminently reasonable, since it is non-standard in every way, and I may be handling one of the only remaining functional examples – assuming it is fully functional. I tried to verify with some LiveCDs of suitable vintage, but inserting the card either errored the module on load or crashed the machine… which is probably why it was removed from the kernel. It’s still a neat artifact and will be getting tucked away with my odd vintage machines.

Internals of the EAM

While I had it out I opened it up (Imagine! Opening a consumer device without having to pry the fucker apart with spudgers while praying to whatever gods you believe in that none of the tabs break.) The picture above is the “EAM” (External Antenna Module) pulled apart. There isn’t too much to see among the RF cages, but the fact it is assembled with the wire harness apparently hand soldered into a row of machine pins is amazingly quaint, and the fulls-scale R/F parts are awesome.

I’m pretty enamored of the industrial design on this thing – it looks like an important transitional device. It is the dull gray that was common on (especially AT&T) computer equipment in the 80s, which has grown even uglier with UV yellowing, so the color, logos, and sharp edges look like it crawled out of the 70s, while the rounded accents, domed round indicator LEDs, and darker molded stress relief look surprisingly modern.

Posted in Computers, Electronics, Entertainment, General, Objects | 2 Comments

OpenWRT

I’ve been using various consumer routers hacked with dd-wrt both at home and on campus for years, and was shopping for a new one to use in the apartment I’ll be moving in to in a couple weeks, only to discover that the desired feature set wasn’t possible with dd-wrt. In particular, I wanted 802.11n, Gigabit Ethernet, USB printer sharing, and the ability to share an ext4-formatted USB hard disc via SMB and SSHFS. Hardware with the requisite bits isn’t too hard to come by, but no stock firmware supports the range of printer and storage features I wanted (and most of them are missing basic features and/or just plain suck). DD-WRT isn’t a solution, because it uses ancient kernels that don’t support modern file systems. I figured since OpenWRT was well spoken of and claimed to do everything I wanted when coupled with suitable hardware I would give it a try, and picked up a TP-Link WL-1043ND based on reviews and price, and followed the Wiki Instructions to flash it from the web interface.

This turns out to have been an excellent decision, because not only are the basic packages in OpenWRT a good five years newer than in in DD-WRT, it turns out to be superior in virtually every way. The OpenWRT documentation isn’t as inviting as DD’s, but the install process is no more complicated, the Web GUI is better laid out and more responsive, and features can be easily added and removed with a well-designed, well-integrated package manager (opkg). I’m aware that DD-WRT supports ipkg, but it has always felt hacked on and never worked terribly well for me, but opkg just works on OpenWRT. It even has a friendly Web interface for managing packages. Even the warning about the stock WL-1043ND image not coming with the appropriate WiFi modules is apparently out of date, because everything was already in place.
Continue reading

Posted in Computers, DIY, Electronics, General, Objects | Tagged , | Leave a comment

The Best Science Fiction and Fantasy of The Year Vol. 6

As happens every year around this time, I just finished this year’s edition of the Jonathan Strahan edited The Best Science Fiction and Fantasy of the Year collection. As in previous years I’ll mention the high points.

Where last year was heavy on the feminist lit, this year had a lot of “World building while world building” – stories about construction or changing a world that engage in a great deal of world building themselves. This suits me. As always, it also includes a few authors filling their niche stories, most egregiously, Cory Doctorow’s “Borrowing a title” trope this time was The Brave Little Toaster, and if you have read any Cory Doctorow pieces you already know the rest. It also had Strahan’s usual knack for picking winners; the Novella, Novelette, and Short Story Nebula winners for the year are all included (although except for the Novella, the winners were not the things I would have picked – What We Found over The Cartographer Wasps and the Anarchist Bees? What were they thinking?).

For me there were two or three losers not worth mentioning and two real winners among 31 stories this time, with an overall solid showing. My favorite was, completely unsurprisingly, Kij Johnson’s high-profile story for the year, The Man who Bridged the Mist. It has the unremarkable premise of man leading a bridge construction project in a slightly fantastical, technologically unsophisticated world, and does amazing things with it. Checking online, it appears to have rightly won the Nebula award for Novellas this year.

My second favorite is much less typical – Catherynne M Valente’s White Lines on a Green Field. It is the traditional American Southwestern The Coyote and the Rabbit mythos cast by incarnation into a modern high-school, and by all rights I should have hated it. But it was fabulous for reasons I can’t quite pin down, and is very much worth reading simply for being something very, very different. I think I was more sympathetic to the “Let’s all get deeply invested in this athletic game some other people are playing” mentality reading that story than at any other time in my life, which was an interesting experience.

The other note is that Joss Whedon and/or Zack Snyder needs to be plopped down with a script for The Last Ride of the Glory Girls. It already has the aesthetic of Sucker Punch and Firefly rolled in with some nice Steampunk stylings, and I would watch the shit out of it as a moive.

Posted in Entertainment, General, Literature | 1 Comment

Udisks2 and UNIX Philosophy

Apparently the udisks devs took it upon themselves to violate the FHS and moved the path for automounted media from /media/$DEVICE_NAME to /run/media/$USER/$DEVICE_NAME.

This is a user-facing change that I can’t find primary documentation for with google, which means the developers are automatically in the wrong, even if it is a good change.

Now, let’s talk about some things this change does (The first three are the developer’s claimed features):

  • Mount paths now belong to users – Why would a device plugged in to a computer belong to a particular user? It’s just as likely to be a backup drive or some other shared resource, and the interactions with hotplugging filesystems that support proper permissions are kind of bizarre. Older auto-mounters having to work around the “priviliged mount as a user” issue was a feature.
  • Avoids name clashes – Seriously? If we make the assumption that all relevant systems are single-user interactive machines, as the FreeDesktop folks have been making, every disc will belong to the same user, so the namespace is exactly the same. Also, is this a real problem? How common are device name conflicts? Can’t we just append “-(n+1)” or something straightforward like that?
  • Works with a ro / – OK, fair enough, it’s a neat idea. Now who run anything other than a statically configured embedded system with a ro /? Bueller? Bueller?
  • Where do discs plugged in before a user logs in go? How about if you have multiple interactive users logged in? This Fedora mailing list discussion seems to indicate they didn’t even think about it before pushing the change, and the suggestions mean your disc will mount in different places depending on when you plug it in. Broken.
  • The FHS is a standard, all manner of programs and scripts follow the standard. Everyone who was following the rules just got burnt.

    It wouldn’t be so aggravating if it weren’t part of a stream of douchey autocratic decisions the the gnome and RedHat contingent among the FreeDesktop folks have been making during the transition off of HAL, that harm everyone but the narrow use case they envision while making the decision. This is the same crew that has been forcing the *Kits on us (PolicyKit, ConsoleKit, DeviceKit, etc.), which have all made things less transparent, and power users’s lives more difficult. Most of these changes seem to be dedicated to breaking features accessible from the command line or other simple interfaces and instead integrating them into one of the bloated libraries attached to Gnome and QT, just to make things easier for the big desktop environments, which I find philosophically objectionable … in the words of Doug McIlroy himself, “This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together.”

    There is a ragier condemation of it here that fails to bring in the UNIX philosophy argument, and an obnoxious but partly correct rebuttal from someone involved here if you would like to peruse the politics.

  • Posted in Computers, DIY, General | Tagged , | 4 Comments

    Schwein Schnitzel

    Schwein Schnitzel with Green Beans and Potatoes
    I think I picked up the affection for Schnitzel a couple summers ago when I was in Vienna, but I’ve wanted and made it a couple times lately, and this round came out reasonably photogenic. This is pretty classic Weiner Schnitzel style with pork, pounded out, dredged in flour with a bit of salt, pepper, and garlic powder, washed in beaten egg and milk, breaded in crumbs with paprika, and pan fried in oil with a pad of butter.

    There is nothing about this that is healthy, it makes a terrible mess of the kitchen, and I still haven’t quite perfected the process (too dark or a little bit of sogginess on the underside of the breading or…), but the pounding and the breading makes for excellent texture, and it is terribly satisfying.

    Posted in FoodBlogging | Leave a comment

    I was futzing with the bushings on my longboards last night, and made an observation that should probably be visible on the Internets: Orangatang Nipples are slightly too tall for the stock 2.75″ kingpin in Churchill RKPs. One could swap … Continue reading

    Posted on by pappp | Leave a comment