Gestern Abend gab Bernd Laqua, Bürgermeister von Bennewitz, eine Informationsveranstaltung zum Breitbandausbau im Wurzener Land. Erzählt wurde wie die Gemeinden nach der Pleite von 2008 seit 2014 darum kämpfen, Glasfaser für alle Einwohner zu bekommen.
Es wurde die WuLaWe Glasfaser Gmbh gegründet, Tochter der Wurzener Land-Werke, die den Ausbau übernimmt. Das Bundesministerium für Verkehr fördert 90% der Kosten, das Land Sachsen die restlichen 10%. Gefördert werden allerdings nur unterversorgte Haushalte - das sind die, die weniger als 30 Mbit/s Downloadrate haben. (Andere europäische Länder haben diese Regel nicht, dort wird einfach überall Glasfaser verlegt. Danke, Telekom.)
Diese Grenze führt in unserem Fall dazu, daß einige Orte und Ortsteile "zu gut" versorgt sind und keine Glasfaserleitung ins Haus bekommen dürfen. Beispielhaft ist das an Streuben zu sehen:
Die schwarz schraffierten Flächen sind unterversorgt und bekommen einen Glasfaseranschluss ins Haus. Alle anderen haben Pech - auch wenn bei ihnen in der Realität keine 30 Mbit/s ankommen - und dürfen zumindest in den nächsten 7 Jahren nicht auf FTTH hoffen. Soviel zu den Problemen aufgrund der vom BMV ausgegebenen Förderrichtlinien.
Das Gute ist jedoch:
In Wurzen und den Ortsteilen erfolgen 83km Tiefbau, werden 453km Glasfaser verlegt und ~1500 Haushalte direkt angeschlossen. Das kostet 10,7 Millionen Euro.
Für das ganze Wurzener Land (Wurzen, Bennewitz, Thallwitz und Lossatal) erfolgen 257km Tiefbau, werden 1355 km Glasfaser verlegt, 4306 Haushalte und 287 Unternehmen angeschlossen, für 32 Millionen €.
Atom feeds have been invented in 2005. I prefer Atom over the four incompatible-with-each-other RSS formats because it is properly standardized.
After making an Atom feed, it is important to validate it to see if it's correct and every feed reader is able to understand it.
There are two web services to validate feeds:
At the time of writing, feedvalidator.org was broken and could not be used. Also during development, the feed most often is not available at a publicly accessible URL and thus validation by URL does not work. And copy&pasting is cumbersome. Validating the atom feed on your own machine without network requirements is to be preferred.
Atom feeds have to be validated on two levels:
To check if your feed complies to the XML rules, simply check if it is well-formed:
$ xmllint --noout /path/to/feed.atom
If you get no output all is fine and the feed is valid XML (e.g. its tags are properly nested).
Apart from following the XML rules, Atom feeds also have to adhere to
the rules that RFC 4287 defines.
The RFC even contains a machine-readable Atom feed schema in
appendix B: RELAX NG Compact Schema
.
Unfortunately xmllint is not able to work with RELAX NG compact files, but trang can be used to convert .rnc to "normal" .rng files:
$ trang -I rnc -O rng atom.rnc atom.rng
Now we can use the atom.rng schema file to validate our feed:
$ xmllint --noout --relaxng atom.rng http://cweiske.de/tagebuch/feed/
http://cweiske.de/tagebuch/feed/ validates
At the time of writing in 2017, I know of not a single working XML schema file for the Atom feed specification.
www.kbcafe.com/rss/atom.xsd.xml does not even detect a missing <id> tag thus cannot be trusted.
The OASIS CMIS atom feed schema is broken; xmllint reports an error when I try to use it:
complex type 'atomPersonConstruct': The content model is not determinist.
Simply use the atom.rng file linked above instead.
The home page of phorkie, my git based pastebin software, is blocked in India because it threatens the national security and hosts terrorist content:
Insane! Govt orders blocking of 32 websites including @internetarchive @vimeo @github @pastebin #censorship #FoEx
The reason seems to be that the ISIS "terror" group used pastebins to publish information: (Is there an official, government-backed definition of "terror"?)
The websites that have been blocked were based on an advisory by Anti Terrorism Squad, and were carrying Anti India content from ISIS. 1/2
The sites that have removed objectionable content and/or cooperated with the on going investigations, are being unblocked. 2/2
The question is now why the phorkie software is blocked, too? It is only software, not even a public installation that everyone can use to publish content. People noted this:
#IndiasBiggestThreat phorkie: git based pastebin http://cweiske.de/tagebuch/phorkie.htm #LMAO
17. This is 1st time I have ever heard of a govt banning free software ("phorkie", a pastebin clone) for inciting "terrorism". #GoIBlocks
What "terrorist content" / ISIS propaganda does the "phorkie" pastebin software's Sourceforge page have? http://sourceforge.net/projects/phorkie/
This leads to a fundamental question:
I am surprised this government did not block web servers because they can be used to host phorkie.
Dear indian government, please shut down all roads because terrorists and burglars use them, and forbid bread and rice because it's what terrorists eat to stay alive.
Apart from the phorkie home page, the code is mirrored on my own git server and also mirrored on GitHub.
The Press Information Bureau, Government of India writes in a press release :
Websites Blocked Following Court Oreder
Additional Director General of Police, Anti Terrorism Squad, M.S., Mumbai on 15/11/2014 requested blocking of 32 number of websites / pages which were being used for Jihadi Propaganda. It was stated that Anti National group are using social media for mentoring Indian youths to join the Jihadi activities. These websites work on page hosting concept. Many of these wbsites does not require any authentication for pasting any material on them. Other upload articles, Videos or photos or to download the contents which helps to hide the identities. These websites were being used frequently for pasting, communicating such content by just changing page name even blocking the earlier one.
Additional Chief Metropolitan Magistrate also issued the order on 10.11.2014 for blocking of these 32 websites on urgent basis. Blocking of the websites was ordered in compliance with court order. Contact has also been made with some of the websites. These websites have undertaken not to allow pasting of such propaganda information on their website and also work with the Govt. to remove such material as per the compliance with the laws of land. The action has been initiated to unblock the following sites:
- weebly.com
- vimeo.com
- dailymotion.com
- gist.github.com
similar approach could be considered for other involved websites on getting assurance that law of the land would be complied with.
The sourceforge phorkie project page does not allow pasting any content. I guess the results of an overly broad internet search were simply dumped into the court order request. As always.
I also have to say that I was not informed by anyone of the Indian government (or other official authorities) about the phorkie homepage being blocked. I also have no idea what to do to get unblocked.
So, what URLs were blocked by the government and what category do they fall under?
The indian government blocked the following types of URLs:
Count | Type |
---|---|
19x | Text sharing (pastebin) |
6x | Website hosting |
2x | Video sharing |
1x | Clipboard management |
1x | Content publishing |
1x | Internet Archive |
1x | Source code hosting |
1x | Text sharing software |
The main target of the blocks were text sharing tools, so-called pastebins. The next were website hosting providers, followed by video sharing sites.
The clipboard management application "text paster" does not even remotely fall in the category of content sharing; it probably only had the correct keywords ("text" and "paste") on its website.
The internet archive of course archives websites (including deleted ones); blocking it is like burning books because you don't like their content. Welcome in 1938, India.
Blocking the whole github.com domain because it hosts the "gist-it" software is way too much. The outcry came instantly; many developers use software hosted there.
Sourceforge on the other hand got only the specific phorkie project page (and subpages) blocked. It still is only software that the "terrorists" have to install on their own server to make it usable.
The first issue is that the blocks are too broad. Jamming useful services for millions of people simple because one or two files on that servers contain content that's deemed unsuitable by the Indian government is not propositional.
In Germany we believe in deleting instead of blocking . Simply sending requests to the services with the specific URLs that should be deleted is much more effective instead of blocking: The files are really gone instead of simply blocked, and deleting will happen quicker than instructing the ISPs to block some domains or URLs. A block always means that there are ways around that block. Deleting also means that you don't actually need a censorship infrastructure.
There is much collateral damage. Neither phorkie nor gist-it, nor the clipboard management software do host content that needs to be blocked. The authors of "textpaster" even can't sell all of their software in India anymore since the website is blocked.
The Economic Times writes on 2015-01-10 :
NEW DELHI: The government on Friday ordered internet service providers (ISPs) to unblock 32 websites and website links it had asked them to block in December. Its decision to put curbs on these sites had stirred up massive online protests and debates over the need for standard procedures to deal with such situations.
[...]
The court's action was based on a complaint by the Mumbai Anti-Terrorism Squad, which claimed that these sites were being used to spread pro-terror messages.
IBN Live writes that differently :
"Order was issued on Thursday to unblock all 32 websites that were blocked following complaint of Maharashtra Anti Terrorism Squad (ATS) that ISIS is disseminating content through them. All websites has responded that they will work with government and removed jehadi content," a source said.
This is not true. I did not remove any content from the phorkie homepage, and I did not communicate to anyone that I will "work with the government".
I guess the public outcry was so large that someone actually checked the content of the URLs on the block list, just to find no "pro-terror messages" at all.
Letzten Freitag gab es bei uns einen Stromausfall. Die LVZ schreibt heute dazu:
Envia / Stromausfälle durch Kabelfehler
Wurzen/Bennewitz. Kabelfehler im Mittelspannungsnetz im Versorgungsgebiet des Umspannwerkes Wurzen waren am Freitag gegen 18.53 Uhr die Ursache dafür dass 1162 Kunden ohne Strom blieben.
Durch Umschalten auf andere Leitungen war bis kurz nach 20 Uhr der Großteil der Kunden wieder versorgt. 21.58 waren alle Kunden wieder am Netz. Ein Kurzschluss ereignete sich im Gewerbegebiet an der Industriestraße in Wurzen. Die Folge war Rauchentwicklung in einem Kabelkeller. Die Feuerwehr entlüftete den Keller.
Kabelfehler waren am Sonntag gegen 18.30 Uhr auch die Ursache dafür, dass rund 4000 Kunden in und um Bennewitz, in Brandis und Machern ohne Strom blieben. 21 Uhr waren wieder alle Kunden am Netz.
Ich habe davon folgendes mitbekommen:
Alle relevanten Geräte funktionierten noch: Laptop, Switch, Homeserver, Fileserver, Router, Telefonanlage, Klingel und die Telefone. USV ftw!
Da ich nur in der Zeitung, aber nicht auf der Website des Netzbetreibers "envia NETZ" Informationen zum Stromausfall fand, schrieb ich eine Email:
From: Christian Weiske To: info@envia-netz.de Subject: Störungsmeldungen online? Wir hatten letzte Woche einen Stromausfall, und heute bin ich in der Zeitung über die Meldung inkl. Ursache des Ausfalls gestolpert. Leider habe ich die Ausfallmeldung nicht auf Ihrer Website gefunden. Können Sie mir bitte den Link dazu schicken? Falls die Störungsmeldungen nicht auf der Website verfügbar sind: Warum nicht?
Die Antwort kam fast genau einen Tag später:
From: "Buscher, Stefan" To: Christian Weiske CC: "Richter, Ronald" Subject: WG: Störungsmeldungen online? Sehr geehrter Herr Weiske, vielen Dank für Ihre Anfrage. Sie können Störungen der Stromversorgung auf der enviaM-Internetseite www.enviaM.de im Bereich Privatkunden unter dem Stichwort Störungshotline abrufen. Für Rückfragen stehen wir Ihnen gern zur Verfügung.
Zum einen sind die Stromausfallmeldungen nicht wie es sich gehören würde auf der Seite des Netzbetreibers zu finden, sondern auf der des Stromanbieters (den ich nicht nutze). Weiterhin sind die Störungsmeldungen doch perfiderweise unter "Störunghotline" zu finden, als kleiner Javascriptlink unter dem die Telefonnummer zur .. Störungshotline steht.
Nach dem ersten Schreck, daß man registriert sein muss, um die Probleme sehen zu können, fand ich den anonymen Link ohne Registrierung.
Ich suchte also nach den Stromausfällen vor ein paar Tagen und fand nichts. Verwundert schrieb ich eine Mail an den Support:
vielen Dank für Ihre Anfrage. Sie können Störungen der > Stromversorgung auf der enviaM-Internetseite www.enviaM.de im Bereich > Privatkunden unter dem Stichwort Störungshotline abrufen. Vielen Dank für den Hinweis. Unter "Störungshotline" hatte ich die Hotline, nicht die Liste mit Störungen vermutet. Ich habe die Störauskunft mal benutzt und (anonym) nach Störungen vom 8.6.-15.6. gesucht und leider nichts gefunden. Am 10.6. war aber definitiv ein Stromausfall in Streuben. Anbei ist ein Screenshot der Sucheinstellungen. Habe ich da etwas falsch gemacht? ]]>
Die Antwort kam wieder einen Tag später:
Kurz gesagt heißt das, daß man nur während des Stromausfalls die Gelegenheit hat herauszufinden, daß es einen Ausfall gibt. Zu einer Zeit, zur der die meisten betroffenen Personen keine Möglichkeit haben, ins Internet zu kommen.
Weiterhin kann man nicht herausfinden, was denn die Ursache für den Ausfall gewesen ist. Somit ist aktuell kein Überblick über die Qualität der Stromversorgung möglich, weil die Envia diese Daten nicht herausgibt. Verschleierungstaktik?
For downloading videos from YouTube, I use xVideoServiceThief which downloads the .flv file and optionally converts them to a different video format.
For music videos, the video track is not that interesting, and I'd rather like ogg/vorbis instead of the default aac audio format in the files.
The most easy way to extract audio from the .flv files and get a .ogg audio file from it is to use ffmpeg:
$ ffmpeg -i youtubemusicvideo.flv -vn -acodec libvorbis result.ogg
That's it. Nothing more.
It seems strange that we need to actually specify options in ffmpeg since normally you only do
$ ffmpeg -i file.flv outfile.flac
- which automatically does the correct thing: Take file.flv, extract the audio stream, convert it to FLAC and save it into outfile.flac.
Now when doing that with outfile.ogg, we get:
$ ffmpeg -i file.flv outfile.ogg Output #0, ogg, to 'outfile.ogg': Metadata: encoder : Lavf52.64.2 Stream #0.0(und): Video: libtheora, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 25 tbn, 25 tbc Stream #0.1(und): Audio: libvorbis, 44100 Hz, stereo, s16, 64 kb/s Stream mapping: Stream #0.1 -> #0.0 Stream #0.0 -> #0.1 $ file outfile.ogg outfile.ogg: Ogg data, Theora video
This converted the .flv file to a .ogg video file with an Theora video and a Vorbis audio stream - remember that OGG is a container format, and ogg/vorbis the audio format:
To get rid of the video stream in our destination file, ffmpeg offers a -vn option:
$ ffmpeg -i file.flv -vn outfile.ogg Output #0, ogg, to 'outfile.ogg': Metadata: encoder : Lavf52.64.2 Stream #0.0(und): Audio: flac, 44100 Hz, stereo, s16, 64 kb/s Stream mapping: Stream #0.0 -> #0.0 $ file outfile.ogg outfile.ogg: Ogg data, FLAC audio
Now we got an .ogg file, but encoded with FLAC! That's still not what we want. ffmpeg lists all available codecs with -codecs, and we're actually able to encode ("E") with libvorbis:
$ ffmpeg -codecs|grep -i vorbis EA libvorbis libvorbis Vorbis D A vorbis Vorbis
Knowing that we can use libvorbis to encode the file's audio stream in ogg/vorbis, the resulting command is simple:
$ ffmpeg -i file.flv -acodec libvorbis -vn outfile.ogg Output #0, ogg, to 'outfile.ogg': Metadata: encoder : Lavf52.64.2 Stream #0.0(und): Audio: libvorbis, 44100 Hz, stereo, s16, 64 kb/s Stream mapping: Stream #0.0 -> #0.0 $ file outfile.ogg outfile.ogg: Ogg data, Vorbis audio, stereo, 44100 Hz, ~64000 bps, created by: Xiph.Org libVorbis I
Nach Jahren des Darbens ist endlich das Wunder passiert: Das 150-Seelendorf Streuben in Sachsen bekam das Erbarmen der Telekom zu spüren und hat endlich DSL.
Typ | Geschwindigkeit kBit/s | Geschwindigkeit kByte/s |
---|---|---|
Download | 14869 | 1815 |
Upload | 892 | 108 |
Das DSL-Problem in der Region besteht ja nun schon seit vielen (5+) Jahren. Zur letzten Ortschaftsratssitzung in Burkhartshain erfuhr ich, wie das ganze abgelaufen ist:
Die Bürger wollten schon ewig DSL, aber die Telekom hat sich einfach nicht gekümmert - wahrscheinlich, weil die Region nicht genug Einnahmen verspricht. Nach vielen Anfragen an die Telekom und Vertröstungen dererseits nahm die Stadt Wurzen 2008 das Thema selbst in die Hand und startete eine Umfrage, wo denn überall DSL benötigt wird. Ziel war, die Leitungen selbst zu legen oder per Funkstrecke schnelles Internet in die Dörfer zu bringen. Die Infrastruktur würde dann der Stadt gehören, und lokale Unternehmen den Serviceprovider mimen.
Die Telekom bekam das mit und musste ihre Felle schon davonschwimmen gesehen haben - anders läßt sich nicht erklären, daß sie in just diesem Moment verkündete, doch jetzt DSL legen zu wollen. Daraufhin stellte die Stadt ihre Bemühungen ein - ein Fehler, wie sich herausstellte denn die Telekom machte genau nichts. Gar nichts.
Ende 2010 - drei Jahre später und mit frischen Fördermitteln aus dem Bundeshaushalt ausgestattet - begann die Telekom dann Leitungen in Kühren, Burkhartshain und Streuben zu verlegen. Im März 2011 wurde unser DSL angeschaltet.
... und die Moral von der Geschicht: Vertraue den Konzernen nicht, sondern schaffe deine eigene Infrastruktur.
Hier bei uns auf dem Land mag die Telekom nicht in ohne Zuschuss in Breitband investieren, weshalb wir fast offline leben.
Heute gab es wieder etwas zu sehen, was eigentlich als ausgestorben galt:
64 bytes from ahso (83.169.7.198): icmp_req=9813 ttl=44 time=618 ms 64 bytes from ahso (83.169.7.198): icmp_req=9814 ttl=44 time=106726 ms 64 bytes from ahso (83.169.7.198): icmp_req=9815 ttl=44 time=106981 ms 64 bytes from ahso (83.169.7.198): icmp_req=9816 ttl=44 time=106068 ms 64 bytes from ahso (83.169.7.198): icmp_req=9817 ttl=44 time=105066 ms 64 bytes from ahso (83.169.7.198): icmp_req=9818 ttl=44 time=104066 ms 64 bytes from ahso (83.169.7.198): icmp_req=9819 ttl=44 time=103604 ms 64 bytes from ahso (83.169.7.198): icmp_req=9820 ttl=44 time=102617 ms
Yeah, baby - 106 Sekunden Antwortzeit - und die Pakete kamen trotzdem an! Das ist wie wenn die Post ein Paket nach 10 Jahren zustellt, und der Inhalt sich inzwischen Fell angezogen hat, weil es so kalt war.
Some know that I live nearly offline, only connected to the world through an unstable and low-bandwidth (40kB/s) UMTS connection. We have to use a directed UMTS antenna and a Linksys UMTS Router (WRT54G3G-EU) to connect to the cell phone tower some villages away.
Since the connection is relatively unstable - the router keeps being connected, but neither sends nor receives any data packages until it gets rebooted - we needed a way to easily check its status and reboot it, without logging into the admin web interface.
This is where I started to hack on my linksys-wrt3g-tools some year ago. Only basic functionality, preg_match'ing the status page to extract connection status information, and a simple authenticated HTTP POST call to the apply.cgi(!) file that reboots it. And a munin plugin for monitoring, of course :)
The script worked as it should, but was a dirty hack - hard-coded configuration, only partial status display, dirty translations ("Upgrade are failed!"). I decided to do it the proper way and switched to DOM-based HTML scraping, real configuration files and nifty command line switches (using PEAR's excellent Console_CommandLine package).
While getting samples of the HTML for the unit tests, I became aware of the HTML header comments:
********************************************************* * Copyright 2003, CyberTAN Inc. All Rights Reserved * ********************************************************* This is UNPUBLISHED PROPRIETARY SOURCE CODE of CyberTAN Inc. the contents of this file may not be disclosed to third parties, copied or duplicated in any form without the prior written permission of CyberTAN Inc. This software should be used as a reference only, and it not intended for production use!
The HTML is really ugly, totally invalid, wrongly nested (as non-wellformed as HTML can get) and full of JavaScript text replacements.
Another issue came to light when I added HTTP status code checking:
$ wget http://admin:pass@192.168.3.97/Status_Wireless.asp --2010-12-16 23:21:42-- http://admin:pass@192.168.3.97/Status_Wireless.asp Connecting to 192.168.3.97:80... connected. HTTP request sent, awaiting response... 200 Unauthorized
So we get a 200 (which means OK) status code when the username and password do not match. Oh, great. And that's only one single file. All the other (status) URLs I tested gave a correct 401.
So we have the following:
That's what a customer gets for paying a relatively big bunch of money.
Letzte Woche auf Arbeit: Jira geht wieder nicht. Also ssh auf die Kiste, top an und ... nichts. top liess sicht nicht starten, aber htop funktionierte. Irgendwann kam ich auf die Idee, das Datum ausgeben zu lassen:
jira:~# date Mon Mar 1 07:04:55 CET 2010 jira:~# date Mon Mar 1 07:04:55 CET 2010 jira:~# date Mon Mar 1 07:04:53 CET 2010 jira:~# date Mon Mar 1 07:04:53 CET 2010 jira:~# date Mon Mar 1 07:04:54 CET 2010 jira:~# date Mon Mar 1 07:04:55 CET 2010 jira:~# date Mon Mar 1 07:04:52 CET 2010 jira:~# date Mon Mar 1 07:04:53 CET 2010 jira:~# date Mon Mar 1 07:04:53 CET 2010 jira:~# date Mon Mar 1 07:04:54 CET 2010 jira:~# date Mon Mar 1 07:04:55 CET 2010 jira:~# date Mon Mar 1 07:04:52 CET 2010 jira:~#
Ja, hier hatte es Jira geschafft, aus der Java-VM heraus die komplette virtualisierte Maschine abzuschiessen - die bis zum harten Reset in dieser Zeitschleife gefangen war.
Fazit: Mit mantis ist das nie passiert.
In a blog entry , Harald Welte recently published a a paper about his GSM test network at HAR2009 . It mainly contained information about how OpenBSC, his open-source GSM network stack implementation, worked and behaved under the field test conditions there.
While most of the report was interesting but not new, one section struck me: "RRLP testing". To quote the report:
Many modern smartphones with GPS receiver are rumoured to have support of the RRLP protocol. According to its specification, RRLP enables the network (or anyone claiming to be the network) to obtain the current GPS fix of the MS without any form of authentication.
...
Result: RRLP is not just a theoretical feature specified in the GSM/3GPP specs. It is implemented by numerous high-end smartphones. There is no authentication of the network. There is no notification of the user. There is no way for the user to disable this [mis]feature.
In short: If you have a mobile phone with GPS, everyone can determine your current position without asking you. Everyone! So apart from tracking your mobile cells over time, network operators (and all other parties!) just can query your phone actively.
This is a massive privacy breach and one of the reasons I was so excited about OpenMoko - one could switch off the GSM chip when it was not needed. Currently, I switch off the phone when I do not use it, but with a smartphone this would be a bit silly.