This article was written for educational purposes. I’m not responsible for how you use it.


When you have to test an API, all you do is strike up a REST client like Paw or Postman and you’re good to go. If there’s a front-end API call all you do is open your dev tools and you’re ready to debug!

But.. what if you have an Android device and you have to debug it’s API calls ? What we’ve been doing for a long time is we’d open WiFi settings on the tablet, and manually set the proxy IP address to…

Image for post
Image for post


As a kid when watching cartoons I was always fascinated by these crazy mission control rooms owned by vigilantes, allowing them to see more than other characters in the movie. Now as a grown up and a developer I thought to myself how awesome it would be to have a “mission control” panel myself. This one isn’t used for evil aspirations, though.

Our status page allows us to see to see things like:

  • CPU, RAM and disk usage on different AWS instances
  • Number of current device connections to our platform
  • Top performing campaigns and displays across all accounts
  • Last time…

Symfony 2.8 and RabbitMQ are used in this example. Consumers run using Symfony’s Console Component and are monitored by Supervisor.


Today I was told that one of our platforms’ function doesn’t work in the mornings. Wondering to myself, why would it only fail during that time? Upon checking error logs of one of our Symfony2 consumer’s. I found this error message:

SQLSTATE[HY000]: General error: 2006 MySQL server has gone away


Promptly looking for a solution at first it seemed like it could simply be a MySQL’s max_allowed_packet setting being set too low. …

Image for post
Image for post


Our Dema platform transforms touchscreen displays into powerful and customisable marketing channels, and one of it's features are slideshows that you can add to your campaigns and send them to devices anywhere in the world. Sounds pretty cool, right?


Now allow clients to add an image or video to 800 slideshows, repeat it every n occurences, generate a new JSON object for devices and send a socket message to all devices running affected campaigns. It takes a lot of time!

At first, all of it was being done in a single controller action. This had a few issues: - Having…

Bart Szablowski

Backend Go / Symfony developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store