Just moozing

Before you can check your notes, you must make them…

Hackathon October

leave a comment »

We had a weekend-long hackathon, and, as always, it was very nice to set off some time doing technical things.

As is customary for me at hackathons, I bring more project than I have time for. This time I brought:

  • Ansible and Nagios. I am currently working using my ansible nagios role.
  • Flash my router. The old one is dying, so putting Openwrt on a new router, create a couple of wireless network and hook them up with the appropriate VLANS.
  • Image recognition to track a robot. We use a robot in a project, so adding a camera to tell it where it is would be very cool.
  • Implement a chat bot using Riot and matrix.org (or our own server). Bots are cool – perhaps add video …

As is also customary, expect to get sidetracked.


We worked on solving some challenges on Kaspersky industrial CTF. It was a jeopardy style CTF. We have participated in such events before, and we are really not that good at it.

Being a network guy, I looked at the challenges involving PCAP dumps. The first one was about some (probably) Siemens Siprotec devices that talked some (to me) unknown protocol on UDP port 50000. We could probably have reversed engineered parts of the protocol, but… no. The other was worse.

We did succeed in getting through a raspberry pi image, run some python bytecode, decompile it, find the correct username and brute force a pin code. Points for us – yeah!

And we also started an emulator and played some pacman game.

All in all, jeopardy style CTFs are very cool and you get exposed to all kinds of strange things. Try it.


Image recognition

Screenshot_2017-10-08_22-16-14.pngAfter a debate on what we actually wanted to implement, we started working on the robot system. We want to have a laptop remote control it based on detecting the track and the exact location of the robot.

Being inspired by a game from last gamejam, I decided to track QR codes. The idea was simple: put a QR code on top of the robot and track it.

There were really good resources online on how to do that. I started here and after some hours of coding and using zbar and opencv, we were ready for live tests.

Mounting the camera, testing sizes of QR and so on – it took some time, but it worked. It turns out that QR codes are a really bad choice for moving robots. We could read the QR code, when the robot was still, but not when it was moving. This is due to motion blur and that makes the QR codes unreadable. We needed to find much better equipment and lights or a different strategy,

The alternative was to track colors. That can be done using opencv, and it is good at it. That worked, and then we were out of time. Apparently, you should work with HSV (hue-saturation-value) instead of RGB.

A warning about HSV is that “they” are not in agreement about the scale. OpenCV uses H:0-180, S:0-255, V:0-255, while GIMP (which I used for color picking) uses H:0-360, S:0-100 and V:0-100.

So next time we probably get to track recognition, robot<->laptop communication and all the other parts of the system.

The project is here, if you are curious


All the rest

I also spend time debugging a robot drive board and worked with VMware and juniper vSRX. One of the participants worked on a matrix home server – we discussed that one too.

Socializing also has a tendency of taking time away from hacking.




Written by moozing

October 9, 2017 at 12:00

Posted in Tech

Tagged with , , , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: