[Ricard Dias] wrote in to tell us about his guide for developing Linux applications on a Mac. He really enjoys the development environment provided by XCode, and it doesn’t take much to make it work as an all-in-one solution for Linux development.
The real trick here is the use of SSH to access a Linux environment. In this example he uses Ubuntu running as a virtual machine, but also mentions that the same thing can be done just as easily with a separate box as long as it is on the same network as the Mac. SSHFS (the SSH Filesystem) lets him mount the development directory on the Linux box locally. This is where the XCode project and files will be stored, but building the program will be done by the Linux machine via a script calling the make comand via SSH. To test out the newly built program, [L] tunnels in using X11 forwarding for ssh, and the application will be shown as a window in OSX, even though it is running on the Ubuntu machine.
We love SSH and use it all the time. It’s amazing how hand it can be.
[Sergio Campamá] wrote in to tell us he’s assembled a guide for compiling the latest release of MSPGCC. This is a cross-compiling tool chain for the popular MSP430 line of microncontrollers. We used a version available from the Ubuntu repositories when developing with the TI Launchpad and the eZ430-F2013.
Installing from repositories is easy, but you don’t get the newest features and often newer hardware isn’t supported. [Sergio] reports that the newest version, called Uniarch, pulls source code and header files from the middle of this month and supports over 300 devices. In fact, it specifically outlines the goal of making new hardware easier to incorporate than with previous versions. He’s tailored this guide specifically for Ubuntu but while we were wading through a Google search we also found a page that outlines compilation for OSX.
We didn’t really notice before, but GitHub sure does make those README.md files look nice when viewed on the web, doesn’t it?
What do you do when it’s time to port the most popular Linux distribution to a completely different architecture? Canonical employee [David Mandalla] works on their ARM development team and recently shared the answer to that question with his fellow Dallas Makerspace members.
Canonical needed a way to compile about 20,000+ packages for the ARM platform, however they did not want to cross-compile, which is quite time consuming. Instead, they opted to build a native solution that could handle the load while ensuring that all packages were compiled securely. To tackle this immense task, [David] and his team constructed a 4U server that runs 20 fully-independent ARM development platforms simultaneously.
The server is composed of 21 PandaBoards, small OMAP development boards featuring a dual-core ARM cortex processor with just about all the connectivity options you could possibly ask for. One board operates as the server head, keeping track of the other 20 modules. When someone requests server time to build a package, the main board checks for unused server, triggering a relay to reboot it before the server is automatically reimaged. Once the pristine, secure environment is ready to go, it’s handed off to the customer who requested it.
If you’re interested in learning more about the build process, [David] has put together a blog with additional details.
Once [Ruan] over at AndroidClone heard that Android devices were capable of running a full Linux environment, he started contemplating all of the things he might be able to do with a full Linux OS in his pocket.
He decided that a portable penetration testing platform would be great to have on hand, so he got busy installing Ubuntu 10.10 on his Lenovo LePhone. Once he had it up and running, he stripped out all of the unnecessary fluff and added some common tools such as Wireshark, Nmap, and Kismet, among others. He says it easily runs side by side with Android, allowing you to switch between the Ubuntu install and your standard Android applications with ease.
While this all started out as a proof of concept, he has continued to refine the project, releasing several new versions along the way. If you are interested in giving it a try, he has installation instructions available in the AndroidClone forums.
You can easily add Internet-based control for your Arduino if it is close enough to your server to be connected via USB. This tutorial will give the basics you need to get it working.
The gist of this method involves a webpage that includes PHP elements. When one of those elements is manipulated, a command is sent via serial connection to the Arduino which then reacts based on what it received. This example uses an Ubuntu box that is running an Apache server. The Arduino sketch sets up the serial connection and then listens for incoming traffic. Whenever it receives a non-zero character an LED will blink. On the server side of things you’ll need to make sure that the system user that runs Apache (www-data) has permission to write to a serial port.
This base example may seem extremely simple, but there’s no end to what you can build on top of it. Different PHP events can be added to push new commands over the serial connection with matching test conditions added to the sketch.
We have some beefs about how Texas Instruments does things, the biggest of which is their lack of support for development under Linux operating systems. But if they build it, someone will try to get Linux involved in one form or another. This time around, [BLuRry] put together a guide to developing for the Evalbot under Linux. He got a shove in the right direction from the code package that went along with that nunchuck-controlled Evalbot. Picking apart that example to the bare essentials he wrote up the process of setting up the cross-compiling toolchain in a virtual machine so as not to clutter your system. From there he details how to set up and use Eclipse when starting a new project. What what did he choose for a Hello World experience? Well a plain “Hello World” was first but right on its heels is the “Hello Hack-A-Day” seen above. So if you’ve got one of these on hand get out there and start coding for it.
Without a doubt, Laser Projectors are a great way to project large, bright images on any surface you can imagine. With a high enough quality projector and software package, excellent images and visualizations can be displayed in real time. [marcan], of the openkinect project, decided that there were not any open source laser projection packages out there that suited his wants or needs, so logically he decided to write his own. Because home-made laser projectors often use the audio out port of a PC, building the framework on top of the JACK unix sound software to control the hardware made perfect sense. OpenLase includes plugins for audio visualizations, 2D and 3D gaming, as well as converting video streams into laser format in real time.
Be sure to check out the Chaos Communication Congress presentation [marcan] gave after the break, as well as all the extra demo videos on his website.
Continue reading “Open Source Your Rave with OpenLase”