The most annoying thing about running a Docker swarm — something that for the most part was pretty easy to set up and get going, has to be the flood of log messages that
According to this issue of github, fixing it “will require a code change, at the moment not being a breaking issue that creates traffic disruption is not getting much priority.”
So, I had to dig around in a part of Linux admin I had not touched in year:
rsyslog. It was actually pretty simple to squelch these log messages, thanks to this page.
I use Ubuntu, and the fix is to add the following to the start of
:msg, contains, "Node join event" ~. After that, a
sudo service rsyslog restart and, blammo, no more log spam on the swarm master nodes.
So, I’ve been looking for a new side project for a while, before finally settling on playing around with some phone APIs. Not sure what else to do, I opted to make a tool for annoying people. Try it now.
It’s quite simple, but effective none the less. For a modest fee (starting at $1.00), you can automate calling a friend with a random, annoying sound. You can play around with things such as the caller ID to any valid phone number (to help make sure that they’ll answer the phone) or even scheduling the call for maximum annoyance.
Get using the cloud to annoy people!
Inspired by a post on override the default model manager to support soft-deleting objects in the database, I decided to implement it into one of my projects. (Yes, I know it’s an old post but it was new to me!).
However, just being able to filter the query sets returned to exclude items which had deleted=true wasn’t enough for what I wanted to do. Nor was just customizing the django’s admin interface to filter by on whether or not deleted was true or false. I wanted the modified manager and objects to soft-delete all related objects (models that referenced the object-being-deleted via a ForeignKey).
Thus, the django-softdelete project was born.
Continue reading “django-softdelete project on github”
I haven’t spent that much time on github until recently. Poking around there led me to create my first project repository and put in up for anyone to use: django-apikey. (The original post/announcement can be read here: “django-apikey — Key Based Authorization For RESTful Django Applications”)
It quickly got some feedback, all of which was very useful. One commenter suggested making some unit tests for the code, which forced me to learn how to write test cases for Django. Another person forked the code and made the stylistic changes to make it compliant with PEP 8.
Continue reading “django-apikey Version Bumped”
I’ve spent a lot of time fighting against plugins and WordPress in general in attempt to get my Google PageSpeed over 90. I had basically given up on getting into the high 90s due to my reliance on some external resources that don’t set long expire times or, in at least 2 cases, sheer laziness in not wanting to combine and minify external CSS or JS resources myself.
Over the last week, however, I decided to give site optimizations one last go and finally got my PageSpeed over 90 — to 93 on my front page to be exact. I also managed to get YSlow up to a B — it’s an A if I use the “small blog or site” ruleset.
How’d I do it? Read below the fold for the step-by-step.
Continue reading “Google PageSpeed and How I Learned To Love The mod”