Mame Cabinet, continued.


Originally uploaded by eidolon

Well last night I put in some time to assemble the frame for the pedestal. This is the bottom third of the cabinet, and will contain the PC and other hardware necessary.

It’s pretty solid (and heavy) at the moment. Once I fabricate the front and rear panels, it’ll be ready for hardware to be installed. I hope to do one of the panels tomorrow before I leave for Ubercon, so it’ll hold up for the event.

This whole project has been quite therapeutic for me. It’s getting me to get up from behind my desk and go down and work in the shop. My shop is cleaner and more organized than it’s ever been, and I feel like I’m accomplishing something. On the one hand I’m looking forward to showing off the end product, but on the other hand, the travelling the road has been rewarding in it’s own right.

Thank you Sun and Ubuntu!

… and the cast of thousands that made installing a Sun JDK onto Linux as simple as:

root@endor:~# apt-get install sun-java6-jdk
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following extra packages will be installed:
gcc-3.3-base java-common libstdc++5 odbcinst1debian1 sun-java6-bin sun-java6-jre unixodbc
Suggested packages:
equivs binfmt-support sun-java6-demo sun-java6-doc sun-java6-source sun-java6-plugin ia32-sun-java6-plugin sun-java6-fonts
ttf-baekmuk ttf-unfonts ttf-unfonts-core ttf-kochi-mincho ttf-sazanami-mincho ttf-arphic-uming libmyodbc odbc-postgresql
Recommended packages:
libxp6 libnss-mdns gsfonts-x11
The following NEW packages will be installed:
gcc-3.3-base java-common libstdc++5 odbcinst1debian1 sun-java6-bin sun-java6-jdk sun-java6-jre unixodbc
0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
Need to get 42.3MB/43.1MB of archives.
After unpacking 128MB of additional disk space will be used.
Do you want to continue [Y/n]?

For those on the sidelines, Sun has not been particularly forthcoming regarding a licensing arrangement that makes the RMS-ites at least mildly comfortable with automating an installation. In point of fact, I believe Debian is still uncomfortable with the whole license arrangement, though they do have it in the non-free repository.
Up until recently, getting Java onto a Linux box was, well, not difficult, but certainly not trivial. I’m happy to say it’s gotten as easy as installing any other package, which, with current package managers, means it’s a breeze.
Yay progress.

Of Systems and Services, Mame and Madmen…

It’s been a challenging few days here at Chez Geek. In true journal fashion, here are the highlights, because I know my devoted readers are sitting on the edge of their seats, waiting for every geeky installment of my daily encounters with recalcitrant hardware, misconfigured servers, and twitchy environments.
Of Mame
Mame console underneathOn Friday night I finished wiring the console. I’m short a half dozen buttons, so some functionality is missing, but I really wanted coin drop buttons. I picked up a couple small single-throw pushbuttons I had lying around, and wired them in with duct tape, so now I can ‘drop coins’ to get credits just by pushing a button on the console. Looks like ass, but it does work. I’ve ordered the new buttons, and they’ll arrive in a couple days, and I wanted to play games NOW.
There’s a whole post about things I’m learning regarding building a Mame cabinet, but that can wait. For now, I’m using deathstar, my MythTV box, as my ‘mame front end’. MythGame is “okay” as far as interfaces. Mostly it’s “okay” because it’s actually working correctly, and works with the controller. I’m hoping to haul the entire setup to Ubercon this coming weekend, so minimizing fuss is a big win.
Of Stonekeep and Conventions
Next weekend I’ll be down at Ubercon in New Jersey. This of course means I need to get most of the CONGO system up and running to run badges. Unfortunately, endor is not behaving. After almost 4 years of constantly apt-getting and updating packages on it (Starting from a Debian ‘woody’ install), a series of packages failed miserably during an upgrade (I haven’t really worked on it in about a year), and has left it in an unuseable state. I’ve backed the data off it, and reloaded Ubuntu Feisty Fawn on it. There’s a bunch of configuration that still needs to be done, and that’s making me nervous so close to an event. At least the install seems to have completed cleanly.
Those are the two primary things on my mind these days. Oh, and in the background is ongoing Java work and the slow moving ahead of Mosaic Commons, but that’s sort of the ‘steady noise’ bits. I’m just covering the highlights right now.

Fall in Massachusetts


Originally uploaded by eidolon

I do love the fall, particularly when it gets cool enough to really enjoy the outdoors. Hiking in the woods is one of the best ways I have of unwinding.

I took the new camera along and spent some time outside Callahan State Park, in Sudbury, and found the colors just fabulous. By this time of day, things had gotten overcast, but that certainly didn’t make it any less enjoyable.

Audacity Ate my Konqueror

I’ve been having a problem in KDE for the last 6 months or so (perhaps longer, I’m not sure). On the face of it, it seemed like a standard file association problem, but it was pervasive.
Recently I switched to using Konqueror as my primary web browser. With the advances in plugin support for things like Flash and Shockwave, the actual browser platform has become less important. Since I switched away from Firefox, I’ve been using Konqueror and, for the most part, things have been pretty good.
Except for one annoying bit.
Because I’m a developer, I have to, on occasion, do the ‘View Source’ thing from inside my browser to see how the HTML, CSS, and JavaScript in a page I’m working with is put together. For some bizarre reason, Konqueror had decided that when I selected View Source, it would try and open the source in… Audacity.
Now, I’m all for great programs like Audacity. It’s a fantastic multi-track audio editor. But in no way, shape, or form is it a source code viewer.
This afternoon I finally sat down to try and figure out what the heck was wrong. Konqueror has a great tool for associating various file types with helper applications (something old time users of Mozilla are very familiar with), but the sheer number of associations is staggering. And since I didn’t know what type was that was causing the external app to be launched, I didn’t know which one to look for.
I got my first clue when I noticed that Konqueror had associated .py (Python) files with Audacity. “Aha!” sez I, “That’s not right!” – I started to change the association, then went “Wait, I don’t want Audacity started ever. Just remove the helper.” Which confronted me with the dialog box stating that Audacity had been attached to text/plain and could not be removed.
Another clue! Navigated to text/plain, saw Audacity listed in the helpers, and promptly moved it down to the bottom of the list (Okay, maybe someday I’ll want to use Audacity. Allow me my foibles.) Clicking Apply and then trying a view source finally got me… the source!
Note that this entire problem was solved inside KDE without resorting to editing configuration files, typing cryptic commands, or knowing esoteric and mystical Linux incantations. It was a misconfigured browser, nothing more. In the good old days this would have required said gyrations to fix, but I’m constantly impressed at how far environments like KDE have come, making problem solving like this a lot more intuitive.

My Gibbons Runneth Over

Now there’s a topic that won’t make much sense unless you’re in the Linux community.
This week saw the release of Ubuntu 7.10, aka ‘Gutsy Gibbon’. I’ve been firmly in the “Stick with the stable releases” Linux camp for quite a while, even when Debian was pushing 2 years behind on their ‘stable’ release.
I’ve been running Ubuntu 7.04 (aka ‘Feisty Fawn’) on yawl for the last year or so, and have had nothing but good things to say about it. It’s been stable, useable, and lets me do my work. Excellent.
Yesterday I ran the update process and told the system to update itself to 7.10. The total processing time would be about 2.5 hours, due to a gig and change of data that needed to be downloaded (okay, I have a lot of packages), so I decided to go to lunch.
Upon returning, I answered 2 questions about local files I had modified, let the installation finish, and, with a small dose of trepidation, rebooted.
It came back fine.
In fact, everything came back fine. I have seen not the tiniest indication of a problem. Ubuntu just upgraded something like 1100 packages on this machine to newer versions, and everything Just Plain Works. All my basic tools are fine, if upgraded and showing some new bells and whistles. The traditional boondoggles of Linux system maintenance never even flinched. Sound, network, accelerated graphics (I have an nVidia card) – all came back up flawlessly, even with my desktop back as it looked before.
There are some noteable changes in the new release. The file manager has been replaced with ‘Dolphin’, which I have to say the jury is still out on. Initially I was very nervous about replacing my beloved Konqueror file system browser with something new, but my initial impressions of Dolphin are good. Everything seems there, if a little heavy on the big icons. I’ll play with it a while and see if it will cut the mustard.
This is how computers are supposed to work. No license hassles, no nightmare changes from one revision to another, no “Burn it to bedrock and reinstall from scratch” problems with upgrades, or problems with “This app worked with my old OS, but doesn’t work with the new one!” – one big distribution contributed to by everyone, with everything updated at once and confirmed to work together.
Yay Ubuntu!

Mame project – Some more work done.

Tonight while Catya and Zach were off doing stuff, and after a frustrating afternoon of successfully NOT getting an LDAP server working, I decided to put in some time on the cabinet.
IMG_0855.JPGI needed some minor parts, so I went by Home Depot and picked up some basic assembly hardware (screws and some electricians bolts and nuts, etc).
Most of tonight was measuring, measuring, and re-measuring, THEN cutting… the pieces for the console ‘box’. This was a little tricky because it’s angled, but after screwing everything together, I’m pretty happy with how it turned out.
I also installed the second joystick and re-mounted the first one with the correct bolts.
I’m short a couple buttons, and I’m considering getting the trackball sooner than later. Probably off to an arcade supply store later tonight / tomorrow to quick-order some buttons.
In all the blogs, websites, and books regarding building Mame cabinets, one thing is said over and over again. Plan, plan plan. I’m really glad I took quite a long time planning, drawing, re-drawing, and sketching components of this thing before I started cutting wood. So far I haven’t had to ‘go back on’ anything, or re-think anything on the fly. Since everything is already measured out, the assembly is not running into any problems along the way.
Some minor geekynotes…
I have mad, deep love for Irwin quick-grip tools. These are one-handed rubberized wood clamps (or anything, really) that you can put in place very quickly. They hold things incredibly well, and since I work primarily on sawhorses for cutting, these things are awesome.
It’s funny also that my workspace is getting CLEANER the more I work on it. With my new tool cabinet, I’m getting things organized as I’m working. This is the most use I’ve gotten out of my shop space in a while, and it’s nice knowing where tools are and what I have and don’t have.
I may be able to start work on the base cabinet by this weekend. We’ll see!

A new project – Mame Cabinet

For several years now, I’ve been considering building a MAME Arcade cabinet. I’d been using the MythTV box for retrogaming, but I’m becoming increasingly frustrated with the limitations:

  • The MythGame interface is painful to use.
  • MythTV is such a moving target, keeping it updated and stable is very tricky.
  • Using USB based handheld controllers has it’s own issues, particularly when dealing with multi-player games (like Gauntlet).
  • Not having ‘real’ arcade controls, and a standup console to play against seriously takes away from the entire experience. I’ve found the large joystick and poundable buttons are necessary elements of gameplay

IMG_0817.JPGSo, the mame cabinet project is rolling. Buttons and joysticks were aquired from eBay. An i-Pac controller from Ultimarc, and things were started.
The control panel here is a test setup. Using some scrap plywood from the workshop, I’m testing out my button and joystick layout. I’ll build the entire panel from scrap wood, and put it together for playtesting. I’ve left space on the panel for a trackball (which, in the Mame world, acts just like a mouse. Very handy), as well as ‘additional’ buttons for coin drops, reset, ‘escape’, and other Mame functions.
Hopefully I’ll have this up and running before Ubercon, but chances are 50/50 of that. There’s a lot of wiring to do before I can even begin testing.
This comes after probably 4 weeks of planning and sketching, working out the dimensions of the cabinet, how it’ll be assembled, what controls I’ll use, and how the whole thing will be put together. One of the design goals is the ability to move the durned thing and take it to conventions and other gatherings, so it needs to be able to be ‘taken apart’ fairly easily. This console is set up to attach to the front of the larger cabinet, so hopefully it’ll be easy to move about when ready.
The one real question mark in the equation now is what Mame front end to use. Currently I’m sort of tinkering with KXMame, which is… “Nice”, but has some serious interface quirks. The page is showing no updates in 5 months, so I’m skeptical if I can go with it. The other big contender for linux-based Mame cabinets has traditionally been AdvanceMenu, which has quite a good arcade interface, but alas, has been end of lifed. I’ll continue searching. I do NOT want to use a windows-based front end, so that certainly limits my choices.
I’ll keep folks posted on how the build is going. So far Zach loves punching the buttons on the panel. I don’t think the 1/2″ plywood is going to hold up well for long term playing, but this is after all a test setup. It’s not expected to.

Random distractions

I generally don’t forward along memes, youtube videos, or whatever, but having just seen this one in Steam’s livejournal, I know enough cat owners to know it’ll be appreciated. Have the sound on, it makes it all more apropos. Totally worksafe, assuming your coworkers can handle “mrow?” and “BWAHAHAHAH”.
Personal observation. I believe this is like one of those Mutual of Omaha “hidden camera in the wild” videos. It’s the world of cats we never see or acknowledge. Or at least the world as they see it.

At the whim of a thing greater than I…

Tonights plan had been fairly straightforward. Go out to Pittsburgh via 2 USAir flights. One to Philadelphia, then on to Pittsburgh.
Flight the first, no problem. Checked in, no lines, through security like champ, some idling before getting on the plane, and off we went. I was a little concerned about our delayed departure, because the overlap in Philadelphia wasn’t that much, only about 40 minutes. We landed about 20 minutes late, but I knew the departing gate was only about 100 yards from our arrival gate. No problem.
Well, slight problem.
My departing flight has been delayed 3 times now. The airport monitors stubbornly still say “Departure at 10:45 ON TIME”, despite the fact that it is now 11:30, and the gate display says “Departing: 2:13am”
It’s quite a full flight, and the gate folks are doing their best, but there’s just no plane to put us on, and the plane we want is on it’s way from Chicago to Pittsburgh, where it will land, refuel, and fly to Philadelphia to get us. At the moment it’s flying between Chicago and Pittsburgh.
I’m taking it in stride. Much as I’d like to be in Pittsburgh and enjoying the company that awaits me there, I have my laptop, wireless, reasonable food via the ABP on the concourse, and a convenient power outlet. I’m considering a long bout of Eve.
Perhaps there’ll be more updates as this adventure (?) continues. For now, I’d just like send out a huge thank you to the United States aviation infrastructure. You’ve taken what should be a wonderous and exciting adventure and turned it into a waiting room.
Update, next day – In the end, the plane left Philadelphia at 2:03am, and arrived in Pittsburgh at 2:55. Total time lounging in Philadelphia: 3 hours, 45 minutes.

Radio Silence

And now a word from our intrepid explorer…
I’ve been quiet the last couple of days due to some health issues involving an abcessed tooth, hence the reason there’s been a shortage of geeky blatherings of late. Through the magic of Amoxicilin and liberal use of Tylenol, I’m back to almost human again, though there’s a long road of further dental work ahead.
I’d like to take a moment to talk about pain though.
I’ve never had direct experience with chronic pain. The sort of pain that is omnipresent, and can never really be ignored. The last 3 days though have given me a glimpse of what it’s like. Even with vast doses of Tylenol, the ache is always there, and I can tell within minutes when it’s time to re-dose.
On the one hand, I can generally deal with pain on a point by point basis. “This is going to hurt” “Okay.” What I can’t deal with is the constant, wavering hurt that never goes away. The worst part of it is it completely destroyed any attempts at concentration. I couldn’t latch onto a concept for more than a few minutes before being distracted or whiny. For someone like me who is VERY active mentally, this was horrifying. My pain level was waffling between “Ow” and “I want to curl up in a ball and whimper”. I hated every minute of it.
Now I’m back on something approaching functionality, and there is a sigh of relief heard in the land. Not only from me but from other important folks in my life, who have had to deal with me being far wiftier than I am even on my worst days.
Thanks for everyone for their patience. We now return you to your previously scheduled life, already in progress.

Closeup day, tools, and workspaces.

The geekitude quotient is low this weekend, at least in the realm of oo-shiny bits that blinken and wiggle. It’s fall closeup time for our house in Maine, and my brother in law and I drove the just-over-two hours up to the house yesterday and did all the little things necessary to idle a house for 8 months through a Maine winter. Primarily this had to do with draining and prepping the plumbing so the pipes wouldn’t freeze and splode. Fortunately, the weather was magnificent, with the leaves just changing colors and a crisp high-50’s temperature and clear blue skies.
“But where’s the geekery? There’s supposed to be a an earth shattering whee!”
Okay, there’s a little bit.
I’m getting myself organized with my tools and workspaces. There’s a bunch of Chez Geek projects in the pipeline that really do require a well assembled toolbox, plus enough power tools so that I’m not doing things like trying to bore a 1 7/8″ wide hole with a 3/4″ masonry bit. This process has been ongoing for some time (I mentioned my Ryobi 18v rechargeable tools when hottubs were flying), and things have steadily been ‘filling out’ since then.
The problem I was starting to hit is where to put all the stuff. My workbench is wonderful (a tech adjustable height bench with drawers, power outlets, and overhead lighting), but there was really no place for ‘tools’ other than some shelving and my toolbox.
Solved! On the way back from Maine, my BIL and I stopped by his mothers place, and we removed a 5 drawer rolling Craftsman toolbox that was my FIL’s (now unused). It still had a handful of tools in it (some new sockets which I desperately needed, as well as a very good craftsman screwdriver set). That toolbox is now happily ensconced next to my workbench, and I’ll be migrating all my smaller tools into it in the next week. Finally, I have a place to store all my drill and power bits!
Tools are fun.

The XO Laptop – OLPC comes true.

I rarely get involved in rallying folks to humanitarian causes or try to entice people to donate time any money to charities. When I do, it’s generally about something I feel quite strongly about.
About 2 years ago the faculty members at the MIT Media lab launched a project called One Laptop Per Child, the idea being that if a laptop could be built for $100, millions could be produced and distributed all through the developing nations through donations, government support, and other forms of philanthropy. The driving force is to try and make a direct impact on the socio-technological gap that is so apparent across the worlds population.
The result of this project is the XO Laptop, a machine designed by the OLPC team to address the specific challenges that will be encountered by children using the machine where there are no power outlets, or no internet, and where conditions may not be as squeaky clean as they are in your typical home office. The laptop itself, by modern standards, is underpowered, but the design is so open, so green, and so sturdy, you can’t help but be impressed.
This is a laptop designed for children to carry around with them, anywhere, anytime. It is waterproof, dirt proof, the battery lasts many many hours, it can network itself to other laptops arond it (a ‘mesh’), and it can run off a $10 solar panel (and recharge from it too).
There is an excellent video review of the XO by David Pogue on the NY Times website. Even if you aren’t interested in the machine directly, watch the video for an idea of what it’s all about.
Now, the XO laptop didn’t come in at $100. It actually came in at $183. As things ramp up, they hope to get the price down, but it’s still a little more than they anticipated.
So as part of their launch, the OLPC project has a special offer.
On November 12th, you can go to and enroll in the “Give one, get one” program. You pay $400, and get an XO laptop of your very own. “Wait, $400? That’s twice what you said!” – Yes, it is. Because if you purchase an XO laptop for $400, a second laptop will be sent to a child in a developing nation.
My wife and I are seriously considering one of these laptops for our 8 year old son, and the added benefit of benefiting a child elsewhere is just icing on the cake.
If nothing else, watch the David Pogue video for all the details on the machine. It’s a remarkably green, well designed, and rugged little machine.