Recently, I've been working a lot with "appliance OSs" (they boot directly to the application). These systems usually don't have any user interaction so configuring them usually means either: 1) compile the config into the image, or 2) use the command line options given to the kernel at boot at parse out /proc/cmdline. The latter tends to be better as it's easier to change. Below is a script I just wrote to do this easier.
For the past few weeks, I've been pretty good about having a post a week. Well, I don't really have a good completed one lined up this week. Since I want to keep this trend going, have a GitHub link dump!!
In order to do proper load balancing with RDP servers, it is necessary to use a broker in order to ensure that you are always able to connect to the server that has the user's persistent session. In addition, this allows for a single connection point for different RDP clusters. This causes a bit of a problem: How does the broker know which cluster to hand you off to? The answer is a string called "loadbalanceinfo". As this is a feature that not many people use, not many Linux clients support it. Fortunately, xfreerdp does. Unfortunately for our users and for the creation of a useful PXE boot RDP client (more on this in a future post) xfreerdp does not have a GUI interface.
Enter Remmina. Remmina is the GUI front end for libfreerdp, the backend of xfreerdp. The problem here is that Remmina doesn't expose this feature, but as it uses the same backend (and we know it works) we just have to make this available to the user. This pull request fixed that in short order.
Note to self: Remember to check to see where programs are pulling plugins from when deving software. You could have had this PR submitted back in March.
As I do more and more stuff with radios (and related), I've been needing more and more different types of serial cables and adapters. I didn't really want more cables that get tangled, and it's much easier for me to create custom length CAT-x/RJ-45 (ethernet) cables then DE-9, so I've decided to standardize all of my serial connections on a Cisco console cable. This cable is going to be considered a straight through cable (though I've read, while looking for pinouts, this might actually be considered a null modem? In any case, all the naming here is internally consistent so things work as expected).
I'm looking into building a TransmissionZabbix template. One of the things that I figured might help in this process is getting JSON data on the torrents on the server. The script below parses the output of transmission-remote -l and outputs the info converted to JSON.
Back in 2013 I wrote a program call RackPSGen. You hand it a "config file" (read: ruby script that defines global variables) that defines where different types of rack mounted equipment is located in a rack, and it spits out a PostScript file that shows a graphical representation of the rack (example in the repo). It had its problems, and it was VERY kludgy (especially when trying to view the output in a web browser), but it worked.
I have recently wrote a replacement program that is an XSLT that takes in an XML and outputs an SVG. It is much cleaner then the PostScript version and can actually be rendered in a web browser.