Raspberry Pi, and Breaking the Arduino Mindset

I build a lot of projects around Arduino micro-controller boards.  They are simple, easy to program, have lots of fiddly I/O ports, and there are all kinds of crazy ‘shields’ for extending their functionality.   I have published a couple of Instructables that utilize Arduino controllers, and I have several projects that I still need to document.

I had one of those D’oh! moments today, when I realized that I had become stuck in an Arduino mindset, and it was holding me back.

I’m building a set of Raspberry Pi image capture systems for my Jeep.  Each Pi will be running a camera.  One will be shooting GPS tagged stills, and the other will be recording video in five minute segments.  I need two Pi’s because the cameras I am using have a single dedicated port on each Pi.   Maybe the camera port dependency is what got me locked into mirrored system mindset, or maybe I’ve just spent too much time fiddling with Arduino projects.  Either way, I ordered a pair of Ultimate GPS modules from Adafruit.

It wasn’t until after the order had already shipped that I realized this was a bit of waste.  I don’t need multiple GPS units, I just need to network the Pi systems to access a single instance of GPSD.  I’ve got a sweet ASUS WL-330N that I can use to build a low power-draw wifi network in the Jeep, and two USB 802.11n modules cost less than a single Ultimate GPS module.  I plan on giving the Edimax EW-7811Un modules a try.  There’s a decent write-up on making these work, so I hope I won’t get burned by the Cheap Parts Paradox.  (I’m only giving these a shot because Adafruit is out of stock on their RTl8192cu based wifi modules.)

How many other Ardunio-isms can I break during this project…

PHPPwner3000

PHPPwner3000 is the ultimate PHP exploit tool. Utilizing fundamental vulnerabilities in ALL versions of PHP, it is able to upload files, query databases, and even slurp shadow files no matter what user php is running as. Using stealth sql injection, it can even bypass the protections provided by prepare/execute structures.

PHPPwner3000 is also completely fictitious. It is a honeypot entry in a job posting.  I use it to determine if a candidate does sufficient recon and is capable of going the extra mile when they see a term with which they are unfamiliar.

If you have found this page because you saw an unfamiliar tool in a job posting, congratulations. You’ve just earned brownie points with one of the interviewers. It’s up to you to figure out which one.

How to keep Mavericks’ App Nap from biting you.

Mavericks has a lot of nifty features, and because Apple thinks everything they do is nifty these features are turned on by default. A co-worker of mine recently upgraded to Mavericks on his work machine (I won’t do that until 10.9.1 is released next week), and he discovered that every time he walked away from his computer he lost most of his SSH sessions. He did some testing, and found that only SSH connections in SecureCRT were dropping, while test connections in Terminal were not.

Long story short, since I don’t want to blow up Gene’s ego in regards to his work diagnosing this, the problem turned out to be App Nap. App Nap is a new feature that puts applications into a suspended state while the screen saver is active, thereby reducing power consumption.

Why wasn’t Terminal affected? Apple engineers are well aware that sleeping a terminal app will cause dropped connections, so they completely removed the App Nap option from Terminal. You can’t turn it on if you wanted to. All other apps default to enabled.

So, if you are having issues with dropped connections, or other application wonkiness when your screen saver kicks in, head on over to here for the fix:

http://www.tekrevue.com/tip/disable-app-nap-os-x-mavericks/

I use Amazon affiliate links in some of my posts. I think it is fair to say my writing is not influenced by the $0.40 I earned in 2022.