RT @petdance: “I wish I had enough money to run Oracle instead of Postgres.” “Why do you want to do that?” “I don’t, I just wish I had e ...
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
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
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”.
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\.\. :\)
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:
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.
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.
Tweets of December 31 2012
Iedereen met een IQ van onder de 50 is al druk bezig vuurwerk af te steken
Mon Dec 31 14:28:48 +0000 2012
godoc perlrun....#yeah
Mon Dec 31 19:21:53 +0000 2012
RT @letoams: The ARPANET transitioned to TCP/IP on 1 January 1983. That was 30 years ago http://www.rfc-editor.org/rfc/rfc801.txt Happy death anniversary to ...
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.
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:
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.
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.
- Adding the type itself (as a structure) and the four methods needed to implement the
RRinterface; - Adding the type number and the text string belonging it;
- 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:
Tweets of November 30 2012
Replying to @Nijmeegsebus
je hebt nu toch een LEEG flesje? Just saying...
Fri Nov 30 13:46:18 +0000 2012
RT @PowerDNS_Bert: DNS-OARC is good, please consider this job! http://lnkd.in/sGxGuW
Fri Nov 30 20:17:47 +0000 2012
Can drop7 get a table interface! Please
.NL DNSSEC error on 28th of October 2012
This is an official announcement from SIDN also published here.
Summary
In the course of Sunday 28 October, an error occurred during the publication of a new ZSK (with key tag 20331). Because of the error, the new ZSK was not published in the DNS when it should have been. However, the software used by SIDN (OpenDNSSEC) continued to work on the basis that the ZSK had been published successfully.
Tweets of October 31 2012
Replying to @gitaar
yeah, but xlstproc doesn’t do 2 on Linux AFAIK
Wed Oct 31 07:03:22 +0000 2012
Who is Kroah-Hartman? https://lwn.net/Articles/522088/
Wed Oct 31 11:37:36 +0000 2012
Replying to @jpmens
and with those words hell froze over. #hotel #wifi
Wed Oct 31 16:08:12 +0000 2012
Ubuntu’s mainline kernels dont install anymore... Who should I tell this? 3.6.4 and 3.6.5 fail on quantal
Tweets of September 29 2012
RT @Omdenken: Those who believe in telekinetics, raise my hand. \(Kurt Vonnegut\)
Source Code Pro
Indeed a really nice font and fully open source. Using it now at 11pt. See:
Dynamic Syntax Highlighting in Vim
I’m a huge fan of syntax highlighting in my editor Vim. One thing I started to
miss was that user defined type miss out on the highlighting, because Vim does
not know about them. Wouldn’t it be cool to have some sort of automatic support that
detect your types and adds them to the correct highlighting group? I call
this “dynamic syntax highlighting”.
As a proof-of-concept I took the tagbar
plugin, and modified it a little to take
advantage of the language detection (specifically the types). The modified code
can be found in my fork on github.
Updated DNS syntax file for VIM
When editing zone files with vim I always get annoyed by the fact that the syntax highlighting did not understand newer types ’n stuff. I never did anything about until now.
Download this vim syntax file and drop it
in ~/.vim/syntax. It adds newer (DNSSEC) types and base64 highlighting. Base64 only works
when there are no embedded spaces (patch welcome to fix that btw!)
Tweets of August 31 2012
Replying to @jessemcnelis
ah thanks I was only using cpuprof, but indeed there is also memprof.
Fri Aug 31 05:35:59 +0000 2012
Mail subject: “DS lunch”, huh Delegation Signer lunch?? Alas, turned out to be something completely different
Fri Aug 31 07:01:57 +0000 2012
Replying to @ecnivnl
Dacht dat we dit gefixt hadden toen we de crawler geupgrade hadden. Je hebt zeker alleen een algo 8 key? \(perfectly ok\)
User management in fksd
If you do DNS for too long everything looks like 53.
In this “trace” I’m showing the logging of fksd when I add a
zone, try to list it as a non-existent user miekg (which fails), add the user
miekg and list it again. User are identified by the key in the TSIG record, their
password is the shared secret.
The “config files” from nsupdate can be found in the github repo
of fksd.
The nsupdate commands are preceded with a %, extra comments are preceded with #:
Dynamic nameserver provisioning with dns pkts
I’m writing a nameserver called fksd (Funkensturm daemon), which is
currently in a prototype stage (but the code is available at
github).
In this server I’m pursuing some interesting directions in nameserver development, such as the dynamic configuration as provided by BIND10.
BIND10 uses http(s), but I think using DNS packets is more in line with a nameserver, so I opted for that route.
With fksd you can use packets (which will be TSIG signed in the
future tomorrow) to configure the server. The only configuration possible at the
moment is adding a zone. Such a packet needs to have a TXT record like
the following in its AUTHORITY SECTION:
Tweets of July 31 2012
Android Jelly bean on my aging Xoom. Indeed nice and fast
Tue Jul 31 16:00:22 +0000 2012
Either my server crashed or something else happened... 7000 km from home
Leap second insertion at work
Puppetd (ruby) was going nuts.
Jul 1 01:59:59 elektron kernel: [183728.001601] Clock: inserting leap second 23:59:60 UTC
Results in:
Libunbound wrapper in Go
I’ve created a small wrapper for libunbound for use in Go.
The code can be found at github. It depends on my Go DNS library which can be found here.
Official announcement on the Unbound-users@ list.
To give you a little taste of how it looks, I’ve (re)created tutorials 2 to 6 in Go. Tutorial 2 looks like this, for instance:
package main
// https://www.unbound.net/documentation/libunbound-tutorial-2.html
import (
"dns"
"fmt"
"os"
"unbound"
)
func main() {
u := unbound.New()
defer u.Destroy()
if err := u.ResolvConf("/etc/resolv.conf"); err != nil {
fmt.Printf("error %s\n", err.Error())
os.Exit(1)
}
if err := u.Hosts("/etc/hosts"); err != nil {
fmt.Printf("error %s\n", err.Error())
os.Exit(1)
}
r, err := u.Resolve("www.nlnetlabs.nl.", dns.TypeA, dns.ClassINET)
if err != nil {
fmt.Printf("error %s\n", err.Error())
os.Exit(1)
}
fmt.Printf("%+v\n", r)
}
Tweets of June 30 2012
Replying to @nlmarkscholten
je hebt toch de ip’s van de nameservers, met een tcp\(\!\) DNSKEY query ben je al een heel eind. Zie ook: http://drskey.sidnlabs.nl/
Sat Jun 30 08:11:25 +0000 2012
back to go’old XFCE 4.10. GNOME3 is more slick, but at least this just works \(and fast\!\)
Sat Jun 30 08:12:23 +0000 2012
Replying to @nlmarkscholten
key2ds? zit in ldns, perl’s net:dns en nog een paar andere libs denk ik zo :-)
”