featured.jpg

Development Weekend

Haven't Gotten Enough Of Coding?!

Started on a pipe-dream to build myself an all-in-one tool that will notify my phone when my development build completes the compile and start cycle. So read/watched a few tutorials and started on coding for Android.

Surprisingly, it wasn't difficult or tedious as I thought it might be, and managed to get to an MVP application that could show me a notification when a pretend-event is being generated.

Design!

Next thing was to bridge the connections between a firewalled phone, and a machine that's behind a Corp network. This is where things are tricky - neither side can allow for a server to be listening and accepting incoming networks due to firewalls, and UDP packet firewall hole punching would require root access and some amount of effort.

Also, I don't really want the InfoSec folks in the Corp to be thinking that I'm breaking the rules, so inbound connections are definitely a no-no. But outbound, well, SSH and HTTPS are kinda widespread, but no-shell, and HTTPS isn't a firewalled port in most places, so that's a good one to re-use.

The only thing left is to enable a session-based connection that's bidirectional and only WebSockets fit the bill, so ended up trying to write one, so that the daemon in the Corp machine can send messages when the build is done, and that I can send a message via the phone to kill/restart if I'm away-from-desk.

After fiddling a little, I figured that instead of writing an App, I can skip that and just rely on Telegram to get notifications and to send the commands via the bot instead. This means that I can skip writing an App and just and just focusing on getting the server to work.

Think the proof of concept is kind of there, just need to write a proper daemon on the build-side, wire the whole thing up and see how it works!

The Girlfriend (or my Womanfriend) wants to be featured in my posts every week. So yes Womanfriend I am talking about you now. You da most amaze-balls person I am ever meeting! ;)

Vincent Liu avatar
Vincent Liu
Part man, part machine. Or at least when I sit in front of a computer... here is where I pen my thoughts.