Mathematica and Wolfram On The Raspberry Pi

[Stephen Wolfram], possibly the only person on Earth who wants a second element named after him, is giving away Mathematica for the Raspberry Pi.

For those of you unfamiliar with Mathematica, it’s a piece of software that allows you to compute anything. Combined with the educational pedigree of the Raspberry Pi, [Wolfram] and the Pi foundation believe the use of computer-based math will change the way students are taught math.

Besides bringing a free version of Mathematica to the Raspberry Pi, [Wolfram] also announced the Wolfram language. It’s a programming language that keeps most of its libraries – for everything from audio processing, high level math, strings, graphs, networks, and even linguistic data – on the Internet. It sounds absurdly cool, and you can check out a preliminary version of the language over on the official site.

While a free version of Mathematica is awesome, we’re really excited about the new Wolfram language. If it were only an interactive version of Wolfram Alpha, we’d be interested, but the ability to use this tool as a real programming language shows a lot of promise for some interesting applications.

Creating Irregular Board Outlines in KiCad

irregular-borders-in-kicad

One of the benefits of plain text file format is that you can go in and edit them by hand. This is part of the KiCad board outline hack which [Clint] wrote about in a recent post. He wanted a unique board outline, which is something that KiCad isn’t necessarily well suited for. His solution was to create the outline as an image, then import it. If you’re wondering what custom shape is called for this type of work we’d like to point you to the (kind of) bottle opening HaDuino. That PCB layout was done on Eagle, which has a bit more leeway with special shapes.

Before getting to the code editing step seen above [Clint] used the built-in feature for KiCad that will turn an image into a component. He exported that code and altered it using a text editor in order to change the layer setting for the shape to that of the board outline. This took him from a plain old image, to a module which can be selected and dropped into the board editing program. It’s a snap to do this sort of thing for the copper layers too if you’re interested in using your mad graphics editing skills to layout an art piece on copper clad.

Raspberry Pi Media Center on an Apple TV

You may tend to think of the AppleTV as a sort of walled garden, and you would mostly be right. Apple keeps tight control over what runs on their devices. That said, [David] decided to look closer at how the various ‘applications’ work. It turns out, the applications are nothing more than glorified web plugins. Using XML and Javascript, the apps simply define library function calls, giving them a consistent interface. So using fairly simply methods, the options really open up. Unfortunately, the method for adding new sites isn’t enabled by default.

Using a jailbroken AppleTV, [David] was able to do a fair bit of detective work and found a way to enable the ‘Add Site’ option, which allowed him to use his Raspberry Pi as a media server. The good news: you don’t need to jailbreak if you’re running 5.2 or 5.3… you should be able to recreate his success fairly easily. The bad news: things seem to have changed in 6.0. [David] isn’t sure if this was Apple intentionally closing a hole, or just not dotting all of their i’s.

[David] put all of his research up on Github, including the rough code. If you haven’t updated your AppleTV yet, and you have a Raspberry Pi to use as a media server, give it a try and let us know how it goes in the comments.

Opening up the settings in MakerWare

ProfTweak

[Rich Olson] really likes MakerWare and the Makerbot slicer – the software package that comes with every Makerbot – but sometimes he needs to change a few settings. Makerware doesn’t allow the user access to 90% of the setting for slicing and printing, so [Rich] did something about that. He came up with ProfTweak, a tool to change all the MakerWare slicing and printing parameters, giving him precise control over every print.

ProfTweak handles common settings changes such as turning the fan on or off, adjusting the filament diameter, changing feed rate options, and turning your infills into cats. It’s a handy GUI app that should work under Windows, OS X, and Linux, so if you’re running MakerWare right now, you can get up and running with this easily.

One thing [Rich] has been using his new software for is experimenting with alternative filaments. With his Makerbot, he’s able to print in nylon, the wood and stone PLAs, flex PLA, and PET. That’s a lot more material than what the Makerbot natively supports, so we have to give [Rich] some credit for that.

Leapcast emulates Chromecast in your Chrome browser

Our Chrome browser thinks it’s a Chromecast dongle. Here’s a screenshot of it playing a YouTube video. Note the tile banner and onscreen controls which are just like the ones you’d see on the actual hardware. Give it a try yourself by downloading the Leapcast Python package which [dz0ny] programmed.

After cloning the GitHub repo we had a few problems compiling the package. Turns out we needed to install python-dev and that took care of it. Starting the daemon is a simple command, we specified our Chrome binary path as well as added a few flags

leapcast --name HAD --chrome /usr/bin/google-chrome --fullscreen

Once that was running the Android YouTube app automatically detected Leapcast as a Chromecast device. It gave us a tutorial overlay mentioning the new share icon on the interface. Pressing that icon during playback launched an Incognito window which played the video. [dz0ny] links to a device config JSON file in the README. If you check it out you’ll notice that Netflix is listed as “external” while the others are not. This is because the Chromecast protocol uses a binary for Netflix. The others do it with local websockets or a cloud proxy so they work just fine with this setup.

How the mazes were generated for classic Berzerk game

berzerk-random-maze

This is a screenshot from the Atari 5200 version of the classic game Berserk. But the write-up we’re featuring actually looks at the original coin-op version. The maze for each level was established on the fly using a seed number fed into a rudimentary algorithm . Here’s a close look at how the maze building code actually worked.

Recently we saw a talk by Pitfall creator [David Crane] as part of our Retrotechtacular series. That is a real gem of programming history, and one of our favorite take-aways was that the levels were not hardcoded, but built using a random number generator algorithm with a hardcoded seed (so that the game was the same each time you played it). This uses a similar method but with a somewhat random seed.

The maze building was reverse engineered by observing the game in a MAME emulator, and by digging through disassembled code. Each time the code is “cold started” the seed starts out at zero, but from there the room number is used as the next seed. This is fed through a very simple algorithm. It generates directions for the walls, which use s few bit-wise operations to add the pillars inside the rooms.

It’s a great thing to study if you’re writing games for your embedded projects. By generating the room programmatically you don’t use up as much program memory. Of course these days even simple hobby controllers have way more storage to work with than [Alan McNeil] had when he designed Berserk.

[via Reddit]

[Image Source]