Projects

I like to make things that scratch some kind of itch, and are open-source whenever possible. Here are some of them:

cpuburn

Lets you utilize 100% of all available cores from the command line — useful when stress-testing.

Define

A little command-line dictionary that contains words in over 50 languages, and is always up-to-date.

EmailsFromFile

A Python script that extracts all unique email addresses from a file. It follows a regular expression pattern based on the RFC 2822 standard and should thus return all valid email addresses regardless of how they appear in the file. For example, EmailsFromFile will distinguish between separate email addresses in a comma-separated list of values, such as a CSV file containing names, addresses, phone numbers and email addresses.

Failsafe MSI

A Windows shell script that enables and starts the Windows Installer service in fail safe mode. This is particularly useful for removing applications that are preventing normal system startup but still require the MSI service to be running to be properly uninstalled.

FilesByWeek

A Linux shell (bash) script that lets you check how many files in a directory were created (or last modified) in a certain week of the year, using Linux’s find and date. It was designed to count the number of emails received in a few Linux/Postfix Maildirs every week (and thus excludes .Sent and any Courier/Dovecot IMAP files), but can be used on any kind of folder.

Getter

A Linux shell (sh) script that eases the process of downloading and extracting tar.gz, tar.bz2, zip and rar archives.

go-bitset

An efficient implementation of a map between 32-bit or 64-bit unsigned integers and boolean values. It provides methods for setting, clearing, flipping, and testing individual integers, as well as set intersection, union, difference, complement, and symmetric operations.

go-bloom

A collection of bloom filters for Go, including a standard bloom filter, a counting bloom filter, and a layered bloom filter (for counting occurrences of the same item.)

go-cache

An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.

go-hmaccrypt

Very strong password digests for Go using a combination of a peppered hash-based message authentication code (HMAC) and a salted adaptive key derivation algorithm like bcrypt.

go-wikimedia

A Go interface for the Wikimedia (Wikipedia, Wiktionary, etc.) API.

Have a Bit

Have a Bit compiles the most profound, inspiring, insightful, controversial, and sometimes humorous quotations, images and video footage of the world’s most esteemed scientists, philosophers, activists, and other freethinkers.

Helios Project

An attempt to create a modern text-based roleplaying game (MUD) using Python, Twisted and SQLAlchemy.

LunchTwister

Chooses what lunch you’re going to get at the food court in Kista Galleria, Stockholm, Sweden today. To the vast majority of people, this is arguably the least useful of my projects ;)

Minilyzer

A Windows shell script that uses Microsoft’s Debugging Tools for Windows to analyze the Minidump files that are created when a BSOD occurs and generate a report detailing the event. Full memory dumps (C:.dmp) can also be analyzed.

one.sh

Singleton command execution for Linux/BSD.

Optimus Cache Prime

A smart cache preloader for websites with XML sitemaps. It crawls all URLs in a given sitemap or sitemap index so the web server builds cached versions of the pages before visitors or search engine spiders arrive.

Optimus Sitemap Generator

A universal sitemap generator that works by crawling your website, avoiding excessive bandwidth overhead by only scanning the contents of pages that have changed since the last time the sitemap was generated.

Picugen

A general-purpose hash/checksum generator that creates digests of strings and files (for integrity verification) using a large variety of algorithms including HMAC, MD5, SHA-1, and SHA-256. Provides the same functionality as all of the GNU *sum (e.g. md5sum, sha1sum, and sha256sum) tools combined, and more.

Piculet

A cryptographic hash (MD4/MD5/RIPEMD-160/SHA-1/SHA-224/SHA-256/SHA-384/SHA-512) auditor.

Project Euler

Project Euler solutions written in Go, Haskell, and Python.

PropScaler

Proportional scale calculator — gets altered image dimensions whilst maintaining the original aspect ratio. For example: “I need to enlargen a 560×349 YouTube embed object to 1024×<height>; what is <height>?”, or “I need to scale a 2048×1536 image to <width>×768; what is <width>?”

Sagan Time

My small tribute to the late astronomer and popularizer of science Carl Sagan.

Scrutinize

An extensible misconfiguration scanner written using Twisted. It checks for common misconfigurations such as allowing DNS zone transfer (AXFR) for your domain, not having a PTR record, or allowing read access to your site’s configuration files.

SDMUD.com

Home of the official SDMUD game, still alive to this day.

Senka

An SSH server which only permits traffic forwarding, and only for a list of predefined users (identified by RSA keys), which means it’s essentially a secure and portable tunneler/proxy server. It can be used on any server that has Python, regardless of whether the user has administrator privileges or access to e.g. the local OpenSSH server.

Sniffy

A general-purpose and high-performance network gateway, load balancer, and proxy server with a wide variety of auditing/security testing features like request blocking, interception, moderation, manipulation and emulation.

sortutil

Nested, case-insensitive, and reverse sorting for Go.

StyrDig.Nu

Danish/Scandinavian linkblog with funny videos and pictures.

Teaman

Simple console app that alerts you (with sound) when your cup of tea is ready.

UrlReveal

UrlReveal shows you where short/redirecting URLs lead before you actually follow them, even if they go through multiple locations. This is useful if you want to establish if a link takes you to a domain with malicious or otherwise unwanted content.

Version2 – Patrick Mylund Nielsen

I write a (Danish) blog about information security and social engineering on Version2.dk, a news site for IT professionals owned by the Danish Society of Engineers.

You can also find most of my stuff on GitHub.