Carry A Git Server In Your Pocket

android-git-server

We love using Git for its superior version control. We often host our more advanced projects in a public Github repository. But the bulk of our little experiments are simply local repos. This is fine if you’re always at home, but if we are away from home we find ourselves having to SSH into our server to copy over the Git files. [Andrew] found a way around this slightly awkward process. He used an old Android phone as a Git server.

This actually makes a lot of sense when you start to think about it. Most Android phone have a microSD card slot to provide a huge storage bin (the lack of this on the Nexus 4 is baffling) so you don’t need to worry about running out of space. All of these devices have WiFi, making it easy to use them as an AP when there isn’t any other WiFi around. And the web-connected nature of the device will make syncing your repo over the Internet a snap.

Most of the behind the scenes work is done using Debian packages. This provides a few issues which [Andrew] walks through one by one. We also like his pointers like using ‘noatime’ on your EXTx file systems to avoid wear on the SD card.

Print Your Own Adjustable Lenses

[Christopher] is really going the distance with his liquid-filled 3D printed lens project. The idea is to create a bladder out of two pieces of clear plastic. It can then be filled with liquid at a variable level of pressure to curve the plastic and create an adjustable lens. He was inspired by the TED talk (which we swear we already covered but couldn’t find the post) given by [Josh Silver] on adjustable eyeglass lenses.

Don’t miss the video after the break. [Christopher] shows off the assembly process for one lens. Two 3D printed frames are pressure fit together to hold one piece of plastic wrap. Two of those assemblies are then joined with JB weld and some 3D printed clips that help to hold it. A piece of shrink tubing is used as a hose to connect a syringe to the bladder. By filling the lens assembly with water he’s able to adjust how it refracts light.

Continue reading “Print Your Own Adjustable Lenses”

Turning The Samsung Galaxy Note 10.1 Into A Proper Linux Box

Over on the xda developers forum, [exception13] shows us the work he’s put into geting Debian running on his Samsung Galaxy Note 10.1, allowing him to dual boot Android and Linux on a single device.

The project is still in a fairly early state, but so far [exception13] has most of the goodies required for a decent Linux experience running already. There’s WiFi, bluetooth, sound, usb-otg and touchscreen support, as well as support for the Note’s S Pen, the Wacom digitizer that basically turns the Galaxy Note 10.1 into an Intuos touch pad.

There’s still a lot of work work to be done, including getting the camera up and running, as well as enabling the GPS receiver. Still, it’s a very cool project that puts the power of a proper desktop interface into a tablet with enough horsepower to get something useful done.

If you’d like to get this running on your Galaxy Note, [exception13] has a download avaiable over on Google Code. There’s also a video [exception13] put together demoing all the cool stuff his Note can do, you can check that out after the break.

Continue reading “Turning The Samsung Galaxy Note 10.1 Into A Proper Linux Box”

Ubuntu With A GUI On A Beagleboard

beagle

The Raspberry Pi is great if you’re looking for a cheap yet powerful computer running Linux, but let’s not forget all the other ARM dev boards out there. [Adam] spent some time this weekend putting together an Ubuntu distro for his Beagleboard XM to give it the convenience of a GUI and a whole bunch of drivers to get a lot of stuff done.

The Beagleboard XM is another high power ARM dev board that is a little more capable than the Raspberry Pi. With an integrated USB hub, LVDS LCD displays, and a camera board, the Beagleboard already has a lot of peripherals that are now only promised for the Raspberry Pi. The only problem with the Beagleboard XM is the state of drivers and software; a problem [Adam] resolved by bringing Ubuntu to the Beagleboard.

[Adam]’s distro comes with all the goodies a relatively high-powered ARM dev board should have: Python, scipy, numpy, and a few cool extras such as GIMP and Chromium. He says it’s a bit faster than the stock Raspbian distro on the Raspberry Pi, so if you’re looking for the best ARM/Linux dev board for your next project, you may want to give [Adam]’s distro a try.

Dissecting A Firmware Image

dissecting-a-firmware-image

[Leland Flynn] did a great job of picking apart the firmware image for a Westell 9100EM FiOS router. Unfortunately he didn’t actually find the information he was looking for. But he’s not quite done poking around yet either. If you have never tried to make sense of an embedded Linux firmware image this serves as a great beginner’s example of how it’s done.

He was turned on to the project after port scanning his external IP and finding a random login prompt which he certainly didn’t set up. Some searching led him to believe this is some kind of back door for Verizon to push automatic firmware updates to his router. He figured why not see if he could yank the credentials and poke around inside of the machine?

He started by downloading the latest firmware upgrade. Running ‘hexdump’ and ‘strings’ gives him confirmation that the image is based on Linux. He’s then able to pick apart the package, getting at just the filesystem portion. His persistence takes him through extracting and decompressing three different filesystems. Even though he now has access to all of those files, broken symlinks meant a dead-end on his login search.

[CNLohr]’s Microscope Slide Linux AVR Minecraft… Thing

We’ve been following [CNLohr]’s process of creating an AVR-powered microscope slide running Linux and interfacing redstone circuits in Minecraft to real world electronic for a while now, but we’re really at a loss for words on how it works. Well, now there’s a video explaining everything you want to know about this amazingly complicated and overwrought thing.

The device is powered by an AVR microcontroller and Ethernet controller running [Fabrice Bellard]’s JSLinux in a browser. [CNLohr] added a few bits to JSLinux allowing him map the x86 IO ports emulated inside JSLinux to the AVR’s IO ports. This allows him to query the status – both analog and digital – using just a browser. Very cool, but [CNLohr] can also run his Minecraft server optimized for 8-bit devices on this microscope slide server to create a bridge between real electronics and redstone circuits.

To sum up what’s going on here, [Bellard] created an x86 emulator in JavaScript, and put Linux on it. [CNLohr] is serving this from a microcontroller attached to a circuit built on a microscope slide so he can blink an LED from within Minecraft. It’s the most beautifully over engineered and useless thing we’ve ever seen, basically.

In the video after the break, you can see [CNLohr]’s overly convoluted walk through of what’s going on with this microscope slide server. As a little bonus, you can also catch a glimpse of Hackaday at 00:20 in [CNLohr]’s most visited / new tab thingy in Firefox. We’re honored, really.

Continue reading “[CNLohr]’s Microscope Slide Linux AVR Minecraft… Thing”

BASH Games

Get serious about your shell scripting skills and maybe you can pull this one off. It’s a game of snake played in a BASH shell. It seems like a coding nightmare, but the final product turns out to be organized well enough for us to understand and took less than 250 lines of code.

[Martin Bruchanov] started on the project after pining for an old DOS game called Housenka. It’s another version of the classic Snake game which we’ve coded ourselves and seen in several projects including this head-to-head version using musical recorders as controllers. When using a terminal emulator capable of ANSI sequences the game is displayed in color using extended characters.

We give [Martin] bonus points for the way he wrote about his project. It describes the mechanics most would be interested in, like how the user input is captured and what drives the update function and food generation. The rest of the details can be gleaned by reading through the code itself.