April 5, 2023April 5, 2023Programming VSCode Python Setup++ This is based on this great boilerplate for setting up Python. I’ve adapted for my use: Environment Use direnv and you’ll get […]
February 22, 2023February 22, 2023Programming Winforms Databinding… not confusing at all So you wanna use WinForms (e.g. natively or in a Word Add-In) in C# / VB? Great, there’s good support for databinding […]
February 15, 2023February 15, 2023Computing, Programming Signing Windows Apps Background: I’ve created some windows apps (winforms with .Net 4 and a WinWord x64 Add-In). These are packaged up into .msi installers […]
January 22, 2022March 10, 2023Computing, Programming Django Development and Staging I have two boxes: dev and production. I need a very simple method for working on the dev machine and then pushing […]
January 19, 2022January 25, 2022Computing, Internet Of Things, Programming Postgres Tricks Log-the-frick-in sudo -u postgres psql dbname # typical root user psql -h localhost -U user -W dbname # default host is unix-domain […]
January 19, 2022June 26, 2024Computing, Programming Why the hell can’t I login to PostgreSQL? Some possible reasons and solutions Wrong host Use the “-h” flag: psql -h localhost -U phisaver –password Wrong syntax Use -U and […]
January 17, 2022January 17, 2022Computing, Programming Periodic Emails with Django Rough notes on meeting these requirements: Using Django Send weekly / daily emails to someone Log results Be robust and simple Packages […]
March 5, 2021June 16, 2021Computing, Programming linux commands Test OpenVPN server on it’s standard UDP port telnet is so 2020 so use nc which does UDP too -v verbose -z […]
November 27, 2020November 27, 2020Computing, Programming Debugging Pi from VSCode There’s a few tutorials and references for debugging a python program on a remote (e.g. pi) computer. I had to fiddle a […]
November 6, 2019February 11, 2022Energy Monitoring, Programming Access Grafana without a login screen Unlike Grafana 5, we can’t use the ‘old’ method of a proxy login to get a cookie for semi-permanent login. This post […]