Tweets of October 31 2013

RT @danielaukes: Nijmegen op zijn mooist #nijmegen #zonsopgang

Thu Oct 31 07:34:21 +0000 2013


RT @slon1024: Thank you @miekg for nice book :).
Learning Go http://www.miek.nl/files/go #book #Go

Thu Oct 31 09:03:19 +0000 2013


Google loves me too! #VanityURL

Thu Oct 31 09:36:52 +0000 2013


Replying to @LuitvD

yep, but apparently that is not how it works :(

Thu Oct 31 10:00:56 +0000 2013


Replying to @junyer

we had a solution: http://en.wikipedia.org/wiki/Jan_Sloot, to bad he died before he could tell how it worked <sad face>

Read more →

Tweets of August 31 2013

Replying to @Habbie and @marcodavids

works perfectly well on my Mac....

Sat Aug 31 08:38:22 +0000 2013


Replying to @thatcks

I’ve settled upon tweetdeck, seems quite nice

Sat Aug 31 11:51:44 +0000 2013


Replying to @martinbarry

ah thanks, never can remember the order of that in markdown

Sat Aug 31 17:47:33 +0000 2013


pondering \(software\) versions and releases. A release only says: X+1 is newer than X. A git hash says the same, but has an indirection

Read more →

PKCS11 wrapper for Go

In my quest to write a DNS server in Go I found myself lacking an interface to PKCS#11, so I wrote one. PKCS#11 is the interface to HSMs (including SoftHSM), and even though the interface sucks, I think a DNS server should store its keys in an HSM, by default.

So… here it is. I’m still putting in the finishing touches and some general polish, but it is already usable.

Read more →

Rfc2pandoc

Have an I-D laying around and sick of typing XML? You want to use Pandoc2rfc, but you don’t want to manually convert the XML (or the generated text) into Pandoc? Well, now finally you can do this automatically. I created a little stylesheet, that can be used to transform the XML to Pandoc. Note the transformation is not perfect, there are a few cases where you still have to edit the Pandoc, most notably:

Read more →

Pandoc2rfc update(s)

In this post you can find pointers to documentation and source code for the pandoc2rfc package.

Pandoc2rfc source code:

github.com/miekg/pandoc2rfc, if you are not using the shell script (pandoc2rfc), you should just copy transform.xsl and perform the conversions manually (see documentation pointers below)

Packages:

for both xml2rfc and pandoc2rfc can be found at launchpad, these can probably also be installed on Debian and definitely on older Ubuntu versions.

Documentation:

This draft is the canonical documentation.

Read more →

vim and editing pandoc2rfc

… or any other document format for that matter.

I thought it might be nice to have some sort of split window view in that allows you to edit a Pandoc file on the left and see the generated I-D on the right (in vim, with no extra daemons and not relying on inotify).

Turns out you can do that, though it is not optimal, but it works. The jury is still out if this works well enough to actually make it useful.

Read more →

Make GNOME3 usable

GNOME3 in the default install is unusable, not as bad as Unity, but bad. Luckily with some minor tweaking it can be made to work quite nicely.

These are some assorted notes on how I got stuff working the way I like.

From a fresh Ubuntu install, install GNOME3:

sudo apt-get install gnome-desktop-environment

Then:

  1. Normal focus mode:

     gsettings set org.gnome.desktop.wm.preferences focus-mode 'sloppy'
     gsettings set org.gnome.desktop.wm.preferences auto-raise false 
    
  2. Extensions:

Read more →

Tweets of April 30 2013

Replying to @letoams

basically this: http://tbaggery.com/2011/08/08/effortless-ctags-with-git.html, but I run it manually from within vim. \(also use vim \+ fugitive\)

Tue Apr 30 07:02:21 +0000 2013


oh, het is al gebeurd...

Tue Apr 30 08:46:43 +0000 2013


Replying to @jpmens

:-) Hopefully soon! #republican

Tue Apr 30 08:52:09 +0000 2013


What actually happened during the abdication #beatrix http://youtu.be/Pk4AiCnMqpg?t=3m55s

Tue Apr 30 10:15:41 +0000 2013


Why didn’t TALINK fly? http://tools.ietf.org/html/draft-wijngaards-dnsop-trust-history-02

Tue Apr 30 12:33:26 +0000 2013

Read more →

Tweets of February 28 2013

Go dns in action http://dns-status.ntppool.org/# #ntp #go #dns

Thu Feb 28 08:16:22 +0000 2013


Replying to @sneakatdatavibe

Wasn’t created by me, so can’t tell \(and i'm a html noob\)

Thu Feb 28 08:22:17 +0000 2013


https://launchpad.net/~miek/+archive/golang #golang #debian #package #ppa

Thu Feb 28 12:01:36 +0000 2013


Die Boogerd is echt zo dom als die eruit ziet... #doping

Thu Feb 28 12:06:01 +0000 2013


After “eventual consistency” should come “PHP consistency” #YMMV

Read more →

Persistent Synaptic Touchpad settings in Ubuntu 12.10+

I was wondering how to make my touchpad settings permanent in Ubuntu. I could find a few pointers on the net, like:

But sometimes it makes sense to look at your own system’s documentation:

% cd /usr/share/X11/xorg.conf.d
% head 50-synaptics.conf
# Example xorg.conf.d snippet that assigns the touchpad driver
# to all touchpads. See xorg.conf.d(5) for more information on
# InputClass.
# DO NOT EDIT THIS FILE, your distribution will likely overwrite
# it when updating. Copy (and rename) this file into
# /etc/X11/xorg.conf.d first.
# Additional options may be added in the form of
#   Option "OptionName" "value"
#
Section "InputClass"

Which seems pretty obvious to me. I added

Read more →

New Dutch Teletext Script

Last week, the Dutch public broadcaster (NOS) decided to “fix” their online teletext offering, there breaking [an old script I had laying around](/2008/july/15/teletext_nl_script/index.htm l). Their new web interface (displaying gifs) can be found here.

After @bdekruijff discovered their newly, hidden text feed, I decided to adapt the old script to this new situation. Thanks to this page I was able to (partially) reconstruct the feed. Most escape sequences are working, I’m still fiddling with finding Unicode chars for the “Contiguous Graphics Set”.

Read more →

Tweets of January 31 2013

#zsh #shell #roulette SOURCE ~/.zsh_history

Thu Jan 31 08:34:28 +0000 2013


I’m using Source Code pro v 1.013, but 1.017 is out... So right now I’m upgrading

Thu Jan 31 08:37:26 +0000 2013


http://livestream.nucleus.be/ Puppet camp live stream

Thu Jan 31 08:42:31 +0000 2013


RT @Stephan007: Actually really sad! > “@1Pr0grammer: How to tell HTML from HTML5. #LoL

Thu Jan 31 08:50:40 +0000 2013


Replying to @jgraham909

thanks! \(\.\.\. and I really need to finish it\.\. :\)

Read more →

Make me a sandwich, MAKE me a sandwich

We all know this comic:

And now in zsh!

With the following snippet all commands that are started with an uppercase word will be prefixed with sudo and then executed.

So MAKE me a sandwich, becomes sudo make me a sandwich.

accept-line() {
    local B
    B=(${=BUFFER})
    if [[ "$B[1]" != [A-Z]* ]]; then
        zle .accept-line
        return
    fi
    if [[ $B[1] != "" && $B[1] == $B[1]:u ]]; then
        BUFFER="sudo $B[1]:l $B[2,-1]"
    fi
    zle .accept-line
}

And activate with:

Read more →

Pandoc2rfc and xml2rfc

Thanks to the help of Marc Petit-Huguenin I have been able to create (and upload) debian packages (install fine on Ubuntu) for Pandoc2rfc and xml2rfc. For Pandoc2rfc I choose to add a little shell script that calls pandoc and xml2rfc for you. So creating an I-D is as simple as:

pandoc2rfc *.mkd    # or a few other extensions

The shell script depends on transform.xsl to be installed in /usr/lib/pandoc2rfc/, allthough this can be overridden with a flag. When pandoc2rfc is installed you don’t have carry the supports scripts inside your I-D’s source repo. My pandoc2rfc I-D source directory now only has: template.xml, abstract.pdc, back.pdc, middle.pdc and a bib/ directory with references.

Read more →

Vim as MANPAGER

I like Vim, so I try to use it at many places. Like in my shell (set -o vi), and when writing and coding.

After some Googling I found that Vim can also be used as a MANPAGER. But there is one nagging issue. To quit viewing the manual page you have to type ‘:q’, which is one keystroke more then when using less as your MANPAGER… Needless to say: this is unacceptable.

Read more →

Go DNS API change WITH rewrite rules!

In the standard library the DNS types have been renamed from RR_MX to MX which I think is a good change. So I made the same change in Go DNS, but this time I’m providing gofmt -r rewrite rules. They all have the form:

gofmt -r 'RR_A -> A' -w *.go

And then for all the types, so it’s quite a list.

Download the rewrite rules here and use it like $SHELL rewrite.

Read more →

Printing MX records with Go DNS, take 3

I’m starting to get really happy about the Go DNS API, so invasive API changes are less and less likely.

We want to create a little program that prints out the MX records of domains, like so:

% mx miek.nl
miek.nl.        86400   IN      MX      10 elektron.atoom.net.

Or

% mx microsoft.com
microsoft.com.  3600    IN      MX      10 mail.messaging.microsoft.com.

We are using my Go DNS package. First the normal header of a Go program, with a bunch of imports. We need the dns package:

Read more →

NSEC3

NSEC3 - A shadowy flight into the dangerous world of a record who does not exist.

Denial of Existence, a young loner on a crusade to champion the cause of the innocent, the helpless, the non-existent, in a world of records who operate above the law.

Read more →

Adding new RR types to GO DNS

Inspired by NLnet Labs and PowerDNS, I figured I couldn’t stay behind, so here is how to add new RRs to Go DNS.

A small note before I delve into the details, I haven’t optimized Go DNS for adding new types, as this is a relative infrequent event. There are a few items that need to be added before Go DNS understands the new RR type.

  1. Adding the type itself (as a structure) and the four methods needed to implement the RR interface;
  2. Adding the type number and the text string belonging it;
  3. Parsing from text, i.e. when parsing zonefiles.

Lets take the new DANE (RFC6698) as an example. The record is called TLSA, and looks like:

Read more →