Most annoying thing about Docker’s swarm mode

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 dockerd generates.

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 /etc/rsyslog.d/50-default.conf: :msg, contains, "Node join event" ~. After that, a sudo service rsyslog restart and, blammo, no more log spam on the swarm master nodes.

Annoyance-as-a-service

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!

Using ElasticSearch As a Data Source in Django Tutorial

We use ElasticSearch in many different ways at the company I work for.  Since we’re partly a Django shop, we decided to put together a little walk-through tutorial on building a Django app.

In this app, we’re using ElasticSearch as the backing data store for everything related to the tutorial.  Part 1 of the ElasticSearch and Django Tutorial is available.  As a fun side note, the blogging app itself is really a re-skinned version of the tutorial app.  You can fork the code and get started.

 

django-softdelete project on github

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”

Content split going forward

For quite a while, this blog had posts on two unrelated topics — creative writing and programming. Sure, some could make the case that writing good code is an art form, like a form of poetry, blah blah blah.

In general, though, people that came to this site for programming information didn’t care about the writing posts and vice versa. So, I’ve decided to “streamline” things and split the content between two different blogs — each one to be focused more specifically on their given topic (i.e., writing or programming).

So, the programming stuff stays on this blog and the writing content goes over to an older blog (that has just had some life breathed back into it) over on blogspot.