Posts

GeekCon 2025 - Building an Arcade Machine (rhythm machine)

Image
GeekCon is by far the best conference I have ever participated in. If you are not that familiar about GeekCon , so shortly, once every year, around September we gather from all around Israel and outside of it, a bunch of heavy geeks, makers, developers, scientists and crazy technology savvy people to build crazy projects, non profit for a full weekend. Learn more . Some examples from this year 2025, a robotic Lama that follows you and spit on you, a huge keyboard and a missile defense system that throws chairs on missiles, and more ... This year, I went to GeekCon with my son and from his choosing we have decided to build an arcade machine, with a rhythm game. You need to press the buttons by the rhythm   The spec was like this: Writing the game (rhythm machine game) in Python Running the game on a Raspberry Pi  (Version 5) Connecting the buttons and reading the buttons state on the RaspberryPi Using the buttons in the game Building the arcade box itself (+printing butto...

Setting program_name in mysql session_connect_attrs allows you to see the name of the program connected

I am using mysql for quite some time now. I have noticed that looking at client connections using mysql workbench so an interesting column called "Program". I can see that the program column indicate "MySQL Workbench":  This column can be very useful and help to filter different mysql database connections. It took me a while to understand how to set up this column data. So first thing I needed to do is understand where is this column name is actually coming from. I inspected the "SHOW FULL PROCESSLIST" command by mysql - but I did not get any answer there. I then looked at the query the mysql workbench itself running to get this data "Program" column: Using the "show details" button in the "client connections" view, show me this: Copying the query, it looks like that: SELECT t.PROCESSLIST_ID,IF (NAME = 'thread/sql/event_scheduler','event_scheduler',t.PROCESSLIST_USER) PROCESSLIST_USER, t.PROCESSLIST_HOST, ...