XML-RPC, or how to go off on wild goose chases

XML-RPC, in case you aren’t living in the early 2000s, is a remote procedural call (get it?) that encodes its HTTP returns in XML. It has been largely replaced with RESTful APIs, but it still exists. The two places I’m personally aware of are rtorrent, and Wordpress. The former I lived with, mainly because nothing was exposed to the internet; the latter I wasn’t aware of until today. I thought I had been the victim of a DoS attack using it as a vector but (SPOILER) I don’t believe that to be the case. ...

2019-12-04 · 8 min · Stephan Garland

I can has job!

Well, it happened. I’m not sure what weighting the various components held (I’ve gathered that the amount of things I dove into as personal projects was the dominant factor), but however it played out, it worked. I’m now (actually, for about a month now - I didn’t want to jinx it) an Associate Site Reliability Engineer for LogicMonitor. They’re a California company, but have an office (two, for now, soon to be merged) in Austin. Their product is an extremely impressive device monitoring solution, allowing companies to easily view the status of their servers, cloud instances, switches, and anything else with a heartbeat. I’m using it myself to monitor this website’s health, as well as the mongodb container on my home server, as I’m using it in a school project. It sends an email and Slack notification when it detects an outage. The product can also interface with PagerDuty or anything else with an API to send out escalations to the needed personnel. ...

2019-11-08 · 2 min · Stephan Garland

But I thought Docker fixed dependency hell...

For a school project, I had to install mongoDB. OK, no big deal, docker pull mongo. Since I run a home server, and the purpose of this mongo installation was to create an app that uses it, I figured installing it there and making it available to the rest of my group would be beneficial/helpful. Hmm, might want to also install some kind of GUI management tool - nosqlclient looks like it’ll work. It’s also containerized, so even better. ...

2019-08-27 · 4 min · Stephan Garland

New Environment Setup

UPDATE: See the end of this post for a discussion on new revisions. Every Professional Computer Toucher has a just-so way they want their environment. When I was but a wee lad, that environment consisted of Windows XP with various arcane registry tweaks applied (I vaguely recall changing my TCP congestion control algorithm to Westwood solely because of Red Alert 2), and Notepad. Things improve with age. My current environment is a non-Retina Macbook Air, which suits me just fine. *nix OS, with homebrew filling in the gaps. I use Atom (once you get past the abysmal load time, it’s basically Sublime Text), and iTerm2 with zsh. You may note in a previous post that I extolled the virtues of fish. Well, I got tired of its lack of POSIX compatibility, and having to rewrite every script I downloaded. I toyed with the idea of writing a fish-to-zsh transpiler, but decided the better option was to make zsh like fish. ...

2019-08-03 · 6 min · Stephan Garland

Server Healthy Check

This will be quite short, but I wanted to put some new content out there. Healthy checks are a vital part of any organization, be it your homelab, a small office network, or a datacenter. Knowing the status (availability, load, temperature, etc.) of a server is critical in not only being aware of its health, but also of the potential need to scale. For my home server use, the only thing I’m really concerned with is availability, mainly because my toddler delights in pushing the power button. Sadly, my version of iDRAC doesn’t allow the button to be remapped. I could disconnect it, but that leads to annoyances when actually having to use the button, so… ...

2019-07-27 · 2 min · Stephan Garland