Category Archives: DIY

XBMC Lives On

I just upgraded my (ancient, bought used, and thoroughly hacked within hours) Xbox’s XBMC install to the new XBMC4Xbox 3.0.1 stable release that came out Thursday. I continue to be amazed that there is still a team of hackers maintaining XBMC for the original Xbox hardware (the main XBMC team deprecated it as a target platform over a year ago), and that it is still the slickest media center I’ve ever used. It actually took me a minute to remember how to update the dash, since I hadn’t changed the configs on the Xbox in almost two years (fyi: in my configuration, shortcut xbe named “xbmc.xbe” as that is the default boot dash, xbmc.cfg contains the path to the default.xbe you want to launch – this is a breadcrumb for myself). Eventually I’ll have to replace the thing with a (quieter, more capable, and less hacked) PC running XBMC on top of a Linux system with a suitable remote, but for standard definition the Xbox is so good I just never feel the need to pay for the replacement parts. Maybe when I’m living somewhere more space constrained I’ll build a proper machine for that and roll my household server in as well.
It’s always sort of incredible to think back to how the Xbox scene was largely the prototype for all subsequent consumer device hacking efforts, and that XBMC is basically the model after which the current generation consoles media and development features were designed. It’s also mind blowing how capable a 733Mhz Coppermine Celeron and a chopped down Geforce3, sharing 64Mb of RAM between them is when running bloat-free dedicated software – designers of the current round of corpulent crap take note.

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

More Spiffchorder

While I was on my hardware-fiddling spree, I came across the Spiffchorder project pile tucked into the keyboard drawer of my desk. Last time I played with it I had written off the perfboard assembled one, which had been reworked so many times it looked like a solder ball, and left a working one on a breadboard. This meant it was taking up surface- and breadboard- space, and that would not do. So, I sat down, laid out a less-insane board, and soldered it up in one pass.

The design isn’t well suited to the individual-pad perfboard I had around (lots of n>2 component nodes), so I tried a fabrication strategy I hadn’t used before to help simplify: I almost completely populated the perfboard, ran a piece of tape over the components, flipped it, and soldered, rather than re-adding the components as I went. It actually worked pretty nicely. It is a little bigger than the last layout I used, but this one worked on the first try – or at least the first try where I had a programmed UC plugged in to the socket…

In a related matter, one of the two chips I thought I had burnt with the appropriate firmware doesn’t seem to be working, and because there is a bug with the -g flag in the current version of gcc-avr, I can’t burn another from the boxes I have set up for working with AVRs (the VUSB stack needs the -g flag).

The actual chorder I made still sucks almost to the point of being unusable, largely owing to a mistake on the particular tactile buttons I got when I ordered the parts. Eventually something will have to be done about that, but the chorder is on a header, and the project is now in an electronically working state, not taking up prototyping supplies, and can be shoved in a box when idle.

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

CNC Update

I’ve been in a very mechanical sort of mood for the last couple days, no doubt owing to the all-software (and intangible even for that – what does that thing you’ve been working on do? – well, if I were sure it was working it would verify that an input sequence is valid in this language I made up…) sorts of things I’ve been doing of late. So, I pulled out my pile of mechatronics parts and started fiddling with it.

I’ve previously documented some of this elsewhere, and this isn’t a finished project, but I need a brain dump to package up various information, so I’m going to do a fairly thorough write up.
Continue reading

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

Hundreds of dollars of parts, hours of fiddling and “Hey! It almost drew a circle!” (I’ve been playing with my CNC parts pile again – more later)

Posted on by pappp | Leave a comment

PSN Outage Reading

I don’t have any stake in the PSN outage issue, not owning any Sony products more complicated than headphones (The last console I bought was an original Xbox- used- to ‘chip and run XBMC on), but it has made interesting reading on the interwebs. There are the official releases, which until today were basically “The system is down.” There is also all kinds of amusing speculation, because when you take video games away from geeks, they suddenly have all kinds of time for that sort of thing. A fairly credible and highly publicized bit of speculation comes from this thread at reddit, where someone from PSX-Scene places the root of the problem on custom firmware that allowed consoles onto the developer network, which subsequently allowed users to purchase paid content with bogus credit card information. The specific details aren’t that interesting to me – the interesting thing is that almost all the speculation has something in common: that Sony was, at least in part, relying on a client-side security model*. If true, this is seriously fucking stupid, even by Sony standards. Ignoring security concerns, when writing software there is a standard adage “Never trust the user.” Usually, the user can’t be trusted because the user is a fucking idiot. Occasionally, the user can’t be trusted because the user is malicious (where, in this case, “malicious” is defined as “Wants to run their own code on hardware they own”).

Back in December there was the excellent Fail0verflow talk at 27C3 where they eviscerated the security model on the PS3, and pretty much demonstrated that Sony screwed the pooch on that front (watch the talk if you haven’t; it is by far the best security presentation I’ve ever seen). Even before this, the PS3 was fairly deeply compromised by a variety of other techniques, and the PSP has been compromised (and re-compromised) almost since it shipped, so they didn’t just have a reasonable assumption that clients couldn’t be trusted, they knew it for certain.

There was also the rootkit scandal with the copy protection on some Sony BMG audio CDs. All together, this sets up precedent for an almost unlimited degree of poor design in Sony security systems.

Now, Sony is saying that a huge quantity of personal information on every user may have been compromised, and there are a spate of complaints about bogus charges on cards used with PSN services floating about on the ‘net (complaints of unknown correlation and reliability). This leads to the really interesting questions: Was all this information stored in plaintext? – it sure sounds like it was if it was extracted on such a scale. If both the Sony release and the speculation about access being gained through compromised consoles is true, why was this information accessible from clients? And finally, how did a system with all the above properties come to be designed? I’m seriously hoping this gets analyzed in public, because it will make an amazing instructional case study, and something of worth might as well be salvaged from this clusterfuck.

* There are a couple non client-side attack theories too. The boring “Organized criminals did it” option, and the theory that Anonymous (big A) is doing their gleeful mayhem thing, like they threatened. These aren’t any more or less credible, they just aren’t as interesting.

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

Virtualbox

I’ve liked fiddling with OSes for as long as I can remember, and have been through a couple VM solutions to ease the overhead of that habit. Until recently, I had been settled on qemu with the kqemu module for acceleration for some time, and thought it was pretty good. Then, one of the group mates got me to give VirtualBox, which was too much of a hassle last time I looked at options, another try. The result:
Virtualbox on Arch, running HaikuA1 and a Snow Leopard installer
That is my ArchLinux-running T510 hosting Virtualbox VMs with a Haiku R1 instance and a Snow Leopard installer (with a bootdisc for CPU recognition issues, apparently once updated it will boot straight from VirtualBox’s EFI). The partially-visible terminal with htop in the bottom left shows that it isn’t even eating my machine to do that.
Basically, it’s faster, it’s lighter on host resources, it’s more compatible, and NATed networking for the guests just works. Also, there is no hassle because the Arch package maintainers wrote some excellent support scripts. Converting my images and moving over. Do like.

Posted in Computers, DIY, General | 1 Comment

Otomata

Cellular automation-based generative synthesizer in flash. Very cool. Incredibly easy to make pleasing patterns. Would love a scaled up version.

Posted in Computers, DIY, Entertainment, General, Music | Leave a comment

WordPress Header Glitch

For some reason, the 3.1 to 3.1.1 WordPress update (or something coincident with it) removed the rel=me link back to my Google profile from my headers. Those links are important – they’re how this page is integrated into my online identity via XFN (The “Xhtml Friends Network”), one of the open standards which will obsolete proprietary social networks like the normal standards-driven internet obsoleted AOL, Compuserve, and the other early walled-garden services (oh please oh please oh please oh….). More immediately, they are what lets google know it should pull blog posts into my Buzz feed and such. Fixed now.

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

I ran into a description of harmonic drives earlier. I hadn’t seen anything quite like them before, and they are just so cool – flexible driven gear for high torque, high fraction engagement, and inherently loaded for zero-backlash. Even though … Continue reading

Posted on by pappp | Leave a comment

Cluster GPU Thermal Monitoring

The research group has been writing some simple monitoring scripts for handling the clusters. The focus is mostly on montitoring NAK (page in serious need of update), which has always had thermal irregularities with it’s GPUs. Some of the (poorly designed) GPU coolers have recently finished cooking their fans, and the “repair” has been to remove the cowling and mount an 80mm fan in the case to blow across the heatsink — this produces comparable temperatures to the vendor solution, whch is pathetic. This thermal instability requires that the system temperatures be periodically checked, and we have written variety of colorful scripts both for users and for the displays in the front of the machine room. The one I wrote for my own use is a simple combination of bash and AWK, which produces nice colorized one-line summaires for each machine when run with something like “mpirun –hostfile ~/nakhosts ./pstatc.sh | sort” where nakhosts is a standard MPI-friedly list of hosts, and ~/bin/ has nvidia-smi (a little tool for handling nivida GPUs from the command line) exported to the nodes. Script attached here for perusal (and so I can find it later). Possibly the best part is that it made me referesh my memory on using ANSI Color Escapes, which has been on my list of skills to touch up for a while – That foray also lead to souping up the script Hank was working on to use background colored spaces for ghetto bargraphs to keep the displays in the windows of the machine room interesting until we are set up to drive them with something else. One of these days I really should learn to use ncurses, or at least get better with one of the GUI libraries…

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