Disqus instead of Juvia

TL;DR:

I switched from Juvia to Disqus after losing all of my blog's comments

Why I lost all of my blog's comments

Basically, I was a fool.
I had my Juvia setup running on a single server in AWS, with a standalone mySQL server.
My setup auto-updated every time …

more ...

Sortiq - sort, uniq, sort

This is a small snippet I find extremely useful. You should have it in your ~/.bashrc:

sortiq() { sort | uniq -c | sort -rn ; }

It will count the instances of each line, sorting them from most common to least common.

What is this for

It answers the question "How much of each …

more ...

Populating a NetworkX graph with a scanner

I had a graph living outside Pythonland (a commit tree with dependencies) and wanted to do graphy things to it. To do that, I first had to put the data into a NetworkX graph. I wrote this code bit to discover a graph-like structure and put into a NetworkX (or …

more ...

Getting Magent Links from Deluge

My latest weekend-hack is a plugin that shows the magnet link for a torrent entry

Why

I had something torrented a long time ago, and a friend asked me for the torrent.
However, I haven't kept the original .torrent file, she was tech-oriented enough so I can give her the …

more ...

Prettify HTML pages with BeautifulSoup

The story

Today I wrote some HTML page by hand (my new homepage).
I then used this script to make the HTML code nicer:

The script

This requires the BeautifulSoup module for python

#!/usr/bin/env python

import sys
from bs4 import BeautifulSoup

def bs_file(filename):
    with open(filename, 'r …
more ...

Chef "Share This" script

I wrote this little script to upload the current cookbook to the Chef Supermarket.
It should be run from within the cookbook's directory.

#!/bin/bash
knife cookbook site share -o ../ $(basename $(realpath .)) -c ~/.chef/knife-supermarket.rb

Where my supermarket config is as simple as:

node_name 'SUPERMARKET_USERNAME'
client_key 'CLIENTKEY_LOCATION'

Interesting points …

more ...

Dry Run for Python Pip

As I wrote some time ago, I started my own python cookbook for Chef because I didn't like the direction the "default" one was going.
I recently added a new feature that I wanted to talk about. I called it smart_install in the cookbook, but it's actually a "dry-run" mode …

more ...

Some Jenkins helpers for Chef

I've decided to share some code I use in Chef to pull some data and files from Jenkins

JenkinsQuery

This is a helper class, in charge of getting build-related data

# slasher_development/libraries/jenkins_query.rb

module SlasherDevelopment
  class JenkinsQuery
    def initialize(server,user,password,job)
      @scheme='https' # Modify if needed
      @server …
more ...

Filtering in Shell

Today I told someone that a feature I'm missing in Bash is filtering.
Then I thought about how much I miss it, so I went ahead and "implemented" it.

Filtering in other lanaugaes

Basically, I'm referring to taking a collection/stream of items, running some code on every one, and …

more ...

Cookbook Versioning Script

The Problem

I've always disliked releasing cookbook versions manually. The process requires a lot of bureaucratic steps which are easy to forget and require no thought at all.
Before I had this script, I sometimes avoided modifying the cookbook's version when I only applied "a little fix", losing the ability …

more ...