How to open a bar in Python
Edward van Kuik
I studied Comp Sci at UCT in the early 90s. Worked a bit as a software engineer at a mining company before starting my own business in 1999 doing mostly PHP web applications for other small businesses. Decided PHP was silly, and decided to switch to Python a couple of years ago and have not looked back. Upon returning to Cape Town on a holiday I decided there were just not enough cool bars in Cape Town and decided to open my own bar, called Alexander Bar & Café -- while still doing software development upstairs at the Nitric Software Lab.
Coming from the open source world, I could not muster the courage to buy the closed-source proprietary software that most businesses use, and eventually decided to write almost everything myself that we needed to open the bar. Having everything open and in Python allows me to do cool stuff.
Things we have built:
- 8-channel rotary dial antique telephone system using 2x Arduinos, a 10-channel sound card. Libs used: pyjack, numpy, scipy, pyserial...
- 2x terminal Point of Sale system using GTK front end on Ubuntu, posting to an (also home-made) accounting and stock control system. Receipt printer, cash drawer, touch screen, RFID login.
- Door access control system using Arduinos and RFID readers. Libs used: pyfirmata, sqlalchemy...
Everything is open, and configurable by me in Python, so I can do cool stuff: I can dial a number on the rotary to change the song in Clementine, or adjust the volume. I can listen to the title of the song playing read by espeak. I can dial 222 on a rotary dial telephone to listen to BBC World Service live off the net. I can send a SMS to 32010 and it will print out as a telegram on the POS receipt printer.