CodeCon Tasmania 2014 Wrap Up
This year's CodeCon Tasmania beta test saw an intrepid group of hackers convene on the ridge between Bust-Me-Gall hill and Break-Me-Neck hill for the weekend. It was not exactly the middle of nowhere, but you could see it from there. Tasmanian conditions did not disappoint either - the week leading up saw the surrounding land burnt out by a bushfire that was still smouldering as people started to turn up on Friday.
The group sought shelter in an dismantled shed to work on their own projects as the weather changed between warm sunny afternoons to a howling southerly, showers, the sad but inevitable election of a Liberal state government, before clearing up with a fresh breeze on Sunday.
There were six of us in for the long haul. Over the weekend we had some extras come and go who couldn't stay for the whole thing. As the night wore on and our brains stopped working on the problems staring back at us from the screen, discussions turned to matters of importance, such as the prevalence of double-ROT13 being an industry standard communication protocol, with the suggestion the ROT13 cipher be extended such that numerical data is pre-converted to Roman Numerals.
While most of us were semi-regular TasLUG minds, we were made more diverse by a couple of additional avatars. It seemed that while sometimes the projects being worked on were not complete, each of us had enough 'wins' to declare the weekend a worthwhile experience. Over the next bit, I will chase down those who came as it'd be really sweet if the progress made could be talked about at the statewide meetup, and perhaps some source code included.
Faulteh - Smoked Balanced Bot
I'll get the ball rolling. Minor tasks completed was a decent Smoked Pork Recipe 1.0 which was released about 8:30pm Saturday night and seemed to pass all user acceptance tests. Last week I also had my Red Pitaya device, ordered from a Kickstarter months ago, finally delivered, so I set up a development environment for it.
However most of the weekend was spent rewriting code for an Arduino Balancing Bot. I changed to an Arduino Mega (from a Nano), as well as replacing the I2C library that was causing rubbish sensor reads and timeouts. After that win, I pumped the accelerometer and gyro sensors together in a complementary filter, and used that output to compute a PID output to drive the bot motors. Right now the motors are being overdriven as I'm yet to nail down the correct gain values (Kp, Ki, Kd) for the PID so the bot lurches forward and backwards, but I'm no longer bogged down by dodgy sensor readings which had previously ground progress to a snails pace.
Justin - Game Dev Tycoon Modder
Splat - RFID Message Encryption
Splat spent the weekend thinking up an authorisation and authentication protocol to run over MQTT for his RFID based access control system idea, providing a lightweight encryption or hashing message over the messaging protocol that was not too taxing for small 8 bit micros.
Arctanx - USB Dongle Radio Catchup Sampler
Arctanx successfully got his project to use a USB TV dongle with GNURadio to sample over the 2 metre amateur radio bands for conversations and save them for catchup as WAV files later. He hopes to single handedly improve amateur comms ettiquette, which seems to be getting lax lately with conversations not using proper calling procedures and the proliferation of some unlicensed users on the amateur bands. He also took a side trip demo to the rest of us looking at ADS-B transmissions with GNURadio since the flight path to Hobart seemed to have been diverted over us on Saturday.
Michael - One Time Message Pad Hardware Interface
Michael wrote some code to enable one-time message pad hardware. The One Time Pad device needs to interface with PC and mobile devices, so although he only put tokens where the encryption would be plugged in, he now has a framework for passing the message data between the device, making it generic enough to port easily to mobile devices.
Craige - die-hard Python debugging
Craige continued Learning Python The Hard Way. Right now he's trying to figure out how to debug object oriented Python code for a text based adventure game. He also spent time adding a photo gallery module to the CodeCon ikiwiki site, and for a time was bogged down trying to fix some CSS bugs that were causing the gallery to look wierd with our theme.
Matt - Reversing support for a Graphics Drawing Tablet
Matt turned up on Saturday and continued to try to get meaningful data from this cheap graphics drawing tablet that does not (yet) have Linux driver support. The driver devs need additional info to add support for his tablet.
Ken - fail-safe locomotive bluetooth control
Ken continues to have trouble with his small scale Locomotive bluetooth controller. He has an IoIo board on the loco that actuates the train's controls such as speed, brakes, lights, horn, etc - and an Android app which is the remote control. Previously he had the system working (with some UI bugs), but his current problem is the lack of a failsafe if the bluetooth connection is lost. Right now the train will continue along at speed if the remote link is dropped, where he would like to have it stop on failure. He was hampered by the IoIo device pairing but not connecting, so spent a lot of time downloading an appropriate development environment for his laptop to reflash the IoIo firmware.
Final Thoughts and Ideas
I felt the weekend was a success, and most who turned up found the different environment conducive to productive and relaxing hacking.
I look forward to levelling up in 2015. We already have a list of possible sites, but I would like to keep looking for something closer to the middle of the state so that some of our northern peeps can make the trip easily.
I'd also like to propose that some of the weekend is spent on small team projects (eg a Buddy system) or perhaps a group project (eg a TasLUG community source project). This will get more collaboration juices flowing, and increase the numbers slightly.
We managed to get limited 3G internet, which had only a small data allowance and weak signal. This meant that critical things like datasheets and drivers could be downloaded when hitting a dev brick wall. This would also be useful next time.