The Raspberry Pi Cluster From Outer Space

We see a lot of weird and esoteric stuff here at Hackaday, but even by our standards, Bell Lab’s Plan 9 operating system is an oddball. Named after the science fiction film Plan 9 from Outer Space, it was designed to extend the UNIX “everything is a file” mentality to the network. It envisioned a future where utilizing the resources of another computer would be as easy as copying a file. But as desktop computers got more powerful the idea seemed less appealing, and ultimately traditional operating systems won out. Of course, that doesn’t mean you still can’t play around with it.

Logically to make use of a distributed operating system you really need something to distribute it on, but as [Andrew Back] shows, today that’s not nearly the challenge it would have been back then. Using the Raspberry Pi, he builds a four-node Plan 9 cluster that’s not only an excellent way to explore this experimental operating system, but looks cool sitting on your desk. Even if you’re not interested in drinking the Bell Lab’s Kool-Aid circa 1992, his slick desktop cluster design would work just as well for getting your feet wet with modern-day distributed software stacks.

The enclosure for the cluster is built from laser cut acrylic panels which are then folded into shape with a hot wire bending machine. That might seem like a tall order for the home hacker, but we’ve covered DIY acrylic benders in the past, and the process is surprisingly simple. Granted you’ll still need to get access to a beefy laser cutter, but that’s not too hard anymore if you’ve got a hackerspace nearby.

[Andrew] uses short extension cables and female panel mount connectors to keep everything tidy, and with the addition of some internal LED lighting the final product really does look like a desktop computer from a far more fashionable future. Combined with the minimalist keyboard, the whole setup wouldn’t look out of place on the set of a science fiction movie. Perhaps that’s fitting, giving Bell Lab’s futuristic goals for Plan 9.

Its been the better part of a decade since we first brought you word that Plan 9 was available for the Raspberry Pi, and yet in all that time we’ve never really seen it put to use. Hopefully builds like this will inspire others to play around with this fascinating piece of computing history.

[Thanks to Dave for the tip.]

Google+ Communities Won’t Go Down Without A Fight

Google+ is dead. Granted people have been saying that much for years now, but this time it’s really true. As of April, Google’s social media experiment will officially go the way of Reader, Buzz, Wave, Notebook, and all the other products that the search giant decided they were no longer interested in maintaining. Unfortunately in the case of Google+, the shutdown means losing a lot of valuable content that was buried in the “Communities” section of the service. Or at least that’s what we all thought.

Thanks to the efforts of [Michael Johnson], many of those Google+ communities now have a second chance at life. After taking a deep dive into the data from his own personal Google+ account, he realized it should be possible to write some code that would allow pulling the content out of Google’s service and transplanting it into a Discourse instance. With some more work, he was even able to figure out how to preserve the ownership of the comments and posts. This is no simple web archive; you can actually log into Discourse with your Google account and have all of your old content attributed to you. Continue reading “Google+ Communities Won’t Go Down Without A Fight” →

Panelizing Boards In KiCad

Panelization of printed circuit boards is a very helpful trick for any PCB design tool to have. By panelizing boards, you can get them ready for automated assembly. You can put testing rigs right on the panel. You can combine different boards to reduce your PCB production cost. But Eagle, Fritzing, and KiCad don’t have proper panelization tools, only hacks and third-party tools to get something close to proper panelization. [Flemming] just created a new utility for KiCad that makes multiple copies of a board connected via mouse bites. It’s not complete panelization functionality, but for a lot of us, it’ll be good enough.

The video demo for this utility (try not to click on that because we’re going to blow some bandwidth with this link) starts off by importing a board into Pcbnew, making several copies of the board, arranging these boards to have 3-4mm spacing, and drawing ‘hint lines’ for the script, telling it where the mouse bites should go. The script runs, and boom, mouse bites and a panel.

This is a KiCad specific tool, and we’ve seen other tools for KiCad that make multiple copies of a board. We’ve also seen tools that take raw Gerbers of multiple designs and turn them into a panel. [Flemming]’s efforts are the closest we’ve seen to having all the features you want out of a panelization utility bild exclusively for KiCad.

While this tool will give you a set of Gerbers with multiple copies of a board connected with mouse bites, this is not in any way a complete solution to panelizing PCBs. If you’re panelizing PCBs, you’ll want to add fiducials in the corners of the full panel, which this tool does not allow you to do. You might want to have one complete ‘frame’ as a panel — effectively a rectangular piece of fiberglass that holds all your PCBs — which this tool does not allow you to do. Since you don’t get a frame, it’s impossible to run programming or testing signals to the frame that would be needed for assembly, but not necessary in production. That said, unless you’re going to spend thousand on Altium or use Open tools that have critical flaws such as GerberPanelizer, this is the best option you’ve got.

Speedrunning Windows 95

Speedrunning is the practice of attempting to beat a videogame in as short a time as possible. There are a huge variety of methods and styles. There are 100% completion speedruns, tool-assisted speedruns, and speedruns that just focus on getting to the game over screen as quickly as possible by hook or by crook. Now, there’s a world record speedrun, installing Windows 95B in just 1 minute 10.9 seconds.

The current best attempts are collected in a Google Sheets document. So far, there have been few competitors but we expect to see more activity in future. The current rules for world record competition require original floppy and CD-ROM images to be used, but there are no limits on hardware, so records should tumble as time goes on. All the top times have been completed in virtual machines, but we’d love to see an attempt made on raw hardware.

It all kicked off when [oscareczek] grew tired of trying to compete in traditional gaming speedruns, so invented a new category instead. Competition has already come a long way from that original 4 minute time, and competitors are now considering advanced techniques such as RAM disks to speed their runs. All keystrokes are by hand at the moment, but we could see a tool-assisted competition starting up in future.

We’ve seen speedrunning techniques pushed to impressive limits before – like running Pong within Super Mario World, just for fun. Video after the break.

Continue reading “Speedrunning Windows 95” →

SVG Rendering Comes To 8-bit Atari Computers

Bringing modern protocols and techniques to vintage computers is a favorite pastime for hackers, and over the years we’ve seen some absolutely incredible hardware and software projects designed specifically to do what most people would consider impossible. They’re very rarely practical projects, of course. But that’s never really the point.

The product of 45 minutes of work.

Today we present another excellent entry into this niche avenue of hacking: Renderific, a tool to render SVGs on 8-bit Atari computers by [Kevin Savetz]. The MIT licensed program is written in Turbo-BASIC XL and allows computers such the 1200XL and 800XL to not only render the image on screen but output it to an attached plotter. There are a few niggling issues with some files, and apparently the plotter draws the image upside-down for some reason, but on the whole we can now add “SVG Rendering” to the list of things you can do with a nearly 40-year-old computer.

Of course, those who are familiar with these 1980’s machines might wonder how their limited CPUs can possibly cope with such a task. Well, that’s where the impracticality comes in. According to [Kevin], you can be in for quite a wait depending on the complexity of the image. In his tests, some SVGs took up to 45 minutes to fully render on the screen, so you might want to have a snack handy.

If you’re interested in lending a hand with the project, it sounds as though [Kevin] could use some assistance in figuring out why the Atari 1020 plotter doesn’t like the output of his program. There’s also a few SVG functions and forms of BĂ©zier curves that need some work if you’ve got your Turbo-BASIC XL programming books handy.

Will you ever have a need to view SVG files on an Atari 1200XL? No, probably not. You might not have a desire to play Spotify on the Macintosh SE/30 either, but that hasn’t stopped hackers from figuring out how you can do it. As long as these old machines are still up and running, we’re confident that the community will continue to teach them new tricks.

Ludwig Promises Easy Machine Learning From Uber

Machine learning has brought an old idea — neural networks — to bear on a range of previously difficult problems such as handwriting and speech recognition. Better software and hardware has made it feasible to apply sophisticated machine learning algorithms that would have previously been only possible on giant supercomputers. However, there’s still a learning curve for developing both models and software to use these trained models. Uber — you know, the guys that drive you home when you’ve had a bit too much — have what they are calling a “code-free deep learning toolbox” named Ludwig. The promise is you can create, train, and use models to extract features from data without writing any code. You can find the project itself on GitHub.io.

The toolbox is built over TensorFlow and they claim:

Ludwig is unique in its ability to help make deep learning easier to understand for non-experts and enable faster model improvement iteration cycles for experienced machine learning developers and researchers alike. By using Ludwig, experts and researchers can simplify the prototyping process and streamline data processing so that they can focus on developing deep learning architectures rather than data wrangling.

Continue reading “Ludwig Promises Easy Machine Learning From Uber” →

Foundations For Machine Learning In English (Or Russian)

We are big fans of posts and videos that try to give you a gut-level intuition on technical topics. While [vas3k’s] post “Machine Learning for Everyone” fits the bill, we knew we’d like it from the opening sentences:

Machine Learning is like sex in high school. Everyone is talking about it, a few know what to do, and only your teacher is doing it.”

That sets the tone. What follows is a very comprehensive exposition of machine learning fundamentals. There is no focus on a particular tool, instead this is all the underpinnings. The original post was in Russian, but the English version is easy to read and doesn’t come off as a poor machine translation.

Continue reading “Foundations For Machine Learning In English (Or Russian)” →