// Register HTTP handlers that redirect old blog paths to their new locations. package main import "net/http" func init() { for p := range urlMap { dest := "/" + urlMap[p] http.HandleFunc(p, func(w http.ResponseWriter, r *http.Request) { http.Redirect(w, r, dest, http.StatusMovedPermanently) }) } } var urlMap = map[string]string{ "/2014/12/31c3": "31c3", "/2014/08/game-over": "Game-Over", "/2014/08/Cisco-EPC3212-Kabel-Deutschland-and-Facepalm": "Cisco-EPC3212-Kabel-Deutschland-and-Facepalm", "/2014/08/Brave-Dapple": "Brave-Dapple", "/2014/08/Brauneck": "Brauneck", "/2014/07/Reinstall-OS-X": "Reinstall-OS-X", "/2014/06/Where-has-my-time-gone": "Where-has-my-time-gone", "/2014/02/Fix-image-URLs-in-Wordpress-RSS-feed": "Fix-image-URLs-in-Wordpress-RSS-feed", "/2014/01/Silvester-2014": "Silvester-2014", "/2013/11/Project-Babyface": "Project-Babyface", "/2013/10/Few-words-on-FreeBSD-ports": "Few-words-on-FreeBSD-ports", "/2013/06/Spectrogram": "Spectrogram", "/2013/06/Jobs-at-Moccu": "Jobs-at-Moccu", "/2013/06/Gentrification": "Gentrification", "/2013/05/Now-Go-Out-Of-This-World": "Now-Go-Out-Of-This-World", "/2013/02/Roaming-between-LAN-and-WLAN": "Roaming-between-LAN-and-WLAN", "/2013/02/Playing-music-over-network-with-sndio": "Playing-music-over-network-with-sndio", "/2013/02/Install-OpenBSD-on-remote-host-without-KVM": "Install-OpenBSD-on-remote-host-without-KVM", "/2012/11/Migrate-OpenBSD-from-i386-to-amd64": "Migrate-OpenBSD-from-i386-to-amd64", "/2012/11/A-Toy-Bike": "A-Toy-Bike", "/2012/09/Moccu-Ausflug-an-die-Ostsee": "Moccu-Ausflug-an-die-Ostsee", "/2012/09/Large-package-for-a-small-thing": "Large-package-for-a-small-thing", "/2012/08/Migration-to-HTML5": "Migration-to-HTML5", "/2012/08/Gardasee": "Gardasee", "/2012/08/4.-Dragonboats-MediaCup-Berlin": "4-Dragonboats-MediaCup-Berlin", "/2012/07/Plan9-is-down": "Plan9-is-down", "/2012/04/Frontends-for-0x10c-Emulator": "Frontends-for-0x10c-Emulator", "/2012/04/0x10c---A-Random-Weekend-Project": "0x10c-Random-Weekend-Project", "/0x10c-A-Random-Weekend-Project": "0x10c-Random-Weekend-Project", "/2012/03/DimOS-reaches-beta1-stage": "DimOS-reaches-beta1-stage", "/2012/03/Digital-Suicide": "Digital-Suicide", "/2012/03/Another-World-on-OpenBSD": "Another-World-on-OpenBSD", "/2011/12/Back-online": "Back-online", "/2011/11/Updates-on-DimOS-RT": "Updates-on-DimOS-RT", "/2011/11/Papa-ist-tot": "Papa-ist-tot", "/2011/11/No-comment": "No-comment", "/2011/10/Flundie-is-dead": "Flundie-is-dead", "/2011/09/Erzgebirge": "Erzgebirge", "/2011/07/eduroam-and-wicd": "eduroam-and-wicd", "/2011/07/Thunderbird,-shame-on-you!": "Thunderbird-shame-on-you", "/2011/06/Gollum-is-dead": "Gollum-is-dead", "/2011/05/The-Monkeytail-Beard": "The-Monkeytail-Beard", "/2011/05/Backup-Proxmox-Containers-to-FTP": "Backup-Proxmox-Containers-to-FTP", "/2011/04/66-lakes-trail": "66-lakes-trail", "/2011/03/dimos-lcd": "DimOS-LCD", "/2011/03/Theme-tweak-and-IE": "Theme-tweak-and-IE", "/2011/03/Migration-to-Blogsum": "Migration-to-Blogsum", "/2011/02/dimos-rgb": "DimOS-RGB", "/2011/01/My-roommate's-cooking": "My-roommates-cooking", "/2010/11/aucat": "Visualisation-hack-for-aucat", "/2010/11/0b00100000": "0b00100000", "/2010/08/Trip-into-Alps": "Trip-into-Alps", "/2010/07/Drachenberg": "Drachenberg", "/2010/01/SP12": "SP12", "/2009/10/xlinux": "xlinux", "/2009/10/tallyman": "tallyman", "/2009/09/Mittelgebirge": "Mittelgebirge", "/2009/08/Teufelsberg": "Teufelsberg", "/2009/07/Einfuehrung-in-die-Luft--und-Raumfahrt": "Einfuehrung-in-die-Luft-und-Raumfahrt", "/2009/07/Beastie's-second-flight": "Beasties-second-flight", "/2009/07/Beastie's-maiden-flight": "Beasties-maiden-flight", "/2009/04/brainfuck": "brainfuck", "/2009/02/teapot": "teapot", "/2008/09/Muellberg": "Muellberg", "/2008/08/Panorama-from-'Alten-Peter'-in-Munich": "Panorama-from-Alten-Peter-in-Munich", "/2008/07/xterm-colors": "xterm-colors", "/2008/05/Linux-Tag-2008": "Linux-Tag-2008", "/2007/11/Turing-Machine": "Turing-Machine", "/2007/07/POV-Ray-experiments": "POV-Ray-experiments", "/2007/02/dumped-pendulum": "Damped-pendulum", "/2006/10/Physics-Award": "Physics-Award", "/2005/09/OpenBSD-rlimit-LKM": "OpenBSD-rlimit-LKM", "/2005/02/watch": "watch", "/2004/09/simple-bootmanager": "simple-bootmanager", "/2003/08/Absinth-Rezepte": "Absinth-Rezepte", "/2003/06/cvs": "cvs", "/2002/07/the-beginning": "the-beginning", "/1998/06/Linux-Tag-1998": "Linux-Tag-1998", "/1978/11/Who-am-I": "Who-am-I", "/1978/11/": "Who-am-I", "/1978/": "Who-am-I", "/whoami": "Who-am-I", "/tek": "teapot", "/Tags/gone": "Where-has-my-time-gone", "/Tags/spectrogram": "Spectrogram", "/Tags/sndio": "Playing-music-over-network-with-sndio", "/Tags/AVR": "SP12", "/Tags/DimOS": "DimOS-reaches-beta1-stage", "/Tags/": "index", "/rss.xml": "feed.atom", "/Welcome-Filipp": "Welcome-Philipp", "/blog/": "", }