<?xml version="1.0"?>
<rss version="2.0">

<channel>
	<title>Planet Openmoko</title>
	<link>http://planet.openmoko.org/</link>
	<language>en</language>
	<description>Planet Openmoko - http://planet.openmoko.org/</description>

<item>
	<title>Harald &quot;LaF0rge&quot; Welte: Deployment of future community TDMoIP hub</title>
	<guid>https://laforge.gnumonks.org/blog/20220919-octoi_hub_colocation_noris/</guid>
	<link>https://laforge.gnumonks.org/blog/20220919-octoi_hub_colocation_noris/</link>
	<description>&lt;p&gt;I've mentioned some of my various &lt;em&gt;retronetworking&lt;/em&gt; projects in some
past blog posts.  One of those projects is &lt;a class=&quot;reference external&quot; href=&quot;https://osmocom.org/projects/octoi/wiki&quot;&gt;Osmocom Community TDM over
IP (OCTOI)&lt;/a&gt;.  During the
past 5 or so months, we have been using a number of GPS-synchronized
open source &lt;a class=&quot;reference external&quot; href=&quot;https://osmocom.org/projects/e1-t1-adapter/wiki/IcE1usb&quot;&gt;icE1usb&lt;/a&gt;
interconnected by a &lt;a class=&quot;reference external&quot; href=&quot;https://osmocom.org/projects/octoi/wiki/Proposed_efficient_TDMoIP&quot;&gt;new, efficient but strill transparent TDMoIP protocol&lt;/a&gt; in order to run a distributed
TDM/PDH network.  This network is currently only used to provide ISDN
services to retronetworking enthusiasts, but other uses like frame relay
have also been validated.&lt;/p&gt;
&lt;p&gt;So far, the central &lt;em&gt;hub&lt;/em&gt; of this OCTOI network has been operating in
the basement of my home, behind a consumer-grade DOCSIS cable modem
connection.  Given that TDMoIP is relatively sensitive to packet loss,
this has been sub-optimal.&lt;/p&gt;
&lt;p&gt;Luckily some of my old friends at &lt;a class=&quot;reference external&quot; href=&quot;https://noris.net&quot;&gt;noris.net&lt;/a&gt; have
agreed to host a new OCTOI hub free of charge in one of their
ultra-reliable co-location data centres.  I'm already hosting some other
machines there for 20+ years, and noris.net is a good fit given that
they were - in their early days as an ISP - the driving force in the
early 90s behind one of the Linux kernel ISDN stracks called &lt;a class=&quot;reference external&quot; href=&quot;http://matthias.urlichs.de/bio/comp/&quot;&gt;u-isdn&lt;/a&gt;.  So after many decades, ISDN
returns to them in a very different way.&lt;/p&gt;
&lt;p&gt;Side note: In case you're curious, a reconstructed partial release
history of the u-isdn code can be found &lt;a class=&quot;reference external&quot; href=&quot;https://gitea.osmocom.org/retronetworking/u-isdn&quot;&gt;on gitea.osmocom.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;But I digress.  So today, there was the installation of this new OCTOI
hub setup.  It has been prepared for several weeks in advance, and the
hub contains two circuit boards designed entirely only for this use
case.  The most difficult challenge was the fact that this data centre
has no existing GPS RF distribution, and the roof is ~ 100m of CAT5
cable (no fiber!) away from the roof.  So we faced the challenge of
passing the 1PPS (1 pulse per second) signal reliably through several
steps of lightning/over-voltage protection into the icE1usb whose
internal GPS-DO serves as a grandmaster clock for the TDM network.&lt;/p&gt;
&lt;p&gt;The equipment deployed in this installation currently contains:&lt;/p&gt;
&lt;ul class=&quot;simple&quot;&gt;
&lt;li&gt;&lt;p&gt;a rather beefy Supermicro 2U server with EPYC 7113P CPU and 4x PCIe, two of which are populated with Digium TE820 cards resulting in a total of 16 E1 ports&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;an icE1usb with RS422 interface board connected via 100m RS422 to an
Ericsson GPS03 receiver. There's two layers of of over-voltage
protection on the RS422 (each with gas discharge tubes and TVS) and
two stages of over-voltage protection in the coaxial cable between
antenna and GPS receiver.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;a &lt;a class=&quot;reference external&quot; href=&quot;https://osmocom.org/projects/retronetworking/wiki/Livingston_Portmaster_3&quot;&gt;Livingston Portmaster3&lt;/a&gt; RAS server&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;a &lt;a class=&quot;reference external&quot; href=&quot;https://osmocom.org/projects/retronetworking/wiki/Cisco_AS5400&quot;&gt;Cisco AS5400&lt;/a&gt; RAS server&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more details, see &lt;a class=&quot;reference external&quot; href=&quot;https://osmocom.org/projects/octoi/wiki/Colocated_Hub&quot;&gt;this wiki page&lt;/a&gt; and &lt;a class=&quot;reference external&quot; href=&quot;https://osmocom.org/issues/5542&quot;&gt;this ticket&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now that the physical deployment has been made, the next steps will be
to migrate all the TDMoIP links from the existing user base over to the
new hub.  We hope the reliability and performance will be much better
than behind DOCSIS.&lt;/p&gt;
&lt;p&gt;In any case, this new setup for sure has a lot of capacity to connect
many more more users to this network.  At this point we can still only
offer E1 PRI interfaces.  I expect that at some point during the coming
winter the project for remote TDMoIP BRI (S/T, S0-Bus) connectivity will
become available.&lt;/p&gt;
&lt;section id=&quot;acknowledgements&quot;&gt;
&lt;h2&gt;Acknowledgements&lt;/h2&gt;
&lt;p&gt;I'd like to thank anyone helping this effort, specifically
* Sylvain &quot;tnt&quot; Munaut for his work on the RS422 interface board (+ gateware/firmware)
* noris.net for sponsoring the co-location
* sysmocom for sponsoring the EPYC server hardware&lt;/p&gt;
&lt;/section&gt;</description>
	<pubDate>Sun, 18 Sep 2022 22:00:00 +0000</pubDate>
</item>
<item>
	<title>Harald &quot;LaF0rge&quot; Welte: Retronetworking at VCFB 2022</title>
	<guid>https://laforge.gnumonks.org/blog/20220916-vcfb_2022_and_retronetworking/</guid>
	<link>https://laforge.gnumonks.org/blog/20220916-vcfb_2022_and_retronetworking/</link>
	<description>&lt;p&gt;I'm happy to announce active participation at the &lt;a class=&quot;reference external&quot; href=&quot;https://vcfb.de/2022/&quot;&gt;Vintage Computing
Festival Berlin 2022&lt;/a&gt; in two ways:&lt;/p&gt;
&lt;ul class=&quot;simple&quot;&gt;
&lt;li&gt;&lt;p&gt;Running a &lt;a class=&quot;reference external&quot; href=&quot;https://vcfb.de/2022/ausstellungen.html&quot;&gt;retronetworking exhibit on Modem and ISDN dial-up&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Giving a &lt;a class=&quot;reference external&quot; href=&quot;https://vcfb.de/2022/vortraege_workshops.html&quot;&gt;talk on the Osmocom Community TDMoIP netwokr&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The exhibit will be similar to the exhibit at the retrocomputing village
of the last CCC congress (36C3): A digital telephony network with ISDN
BRI and POTS lines providing services to a number of laptops with Modems
and ISDN terminal adapters.&lt;/p&gt;
&lt;p&gt;We plan to demo the following things:
* analog modem and ISDN dial-up into BBSs
** text / ANSI interfaces via Telix, Telemate, Terminate
** RIPterm graphical interfaces
* analog modem and ISDN dial-up IP/internet
* ISDN video telephony&lt;/p&gt;
&lt;p&gt;The client computers will be contemporary 486/Pentium machines wit DOS,
Windows 3.11 and OS/2.&lt;/p&gt;</description>
	<pubDate>Thu, 08 Sep 2022 22:00:00 +0000</pubDate>
</item>
<item>
	<title>Harald &quot;LaF0rge&quot; Welte: Progress on the ITU-T V5 access network front</title>
	<guid>https://laforge.gnumonks.org/blog/20220909-wobcom-v5/</guid>
	<link>https://laforge.gnumonks.org/blog/20220909-wobcom-v5/</link>
	<description>&lt;p&gt;Almost one year after my post &lt;a class=&quot;reference external&quot; href=&quot;https://laforge.gnumonks.org/blog/20170212-libosmo_sigtran/&quot;&gt;regarding first steps towards a V5
implementation&lt;/a&gt;, some friends
and I were finally able to visit &lt;a class=&quot;reference external&quot; href=&quot;https://www.wobcom.de/&quot;&gt;Wobcom&lt;/a&gt;, a
small German city carrier and pick up a lot of decommissioned
POTS/ISDN/PDH/SDH equipment, primarily V5 access networks.&lt;/p&gt;
&lt;p&gt;This means that a number of retronetworking enthusiasts now have a
chance to play with Siemens Fastlink, Nokia EKSOS and DeTeWe ALIAN
access networks/multiplexers.&lt;/p&gt;
&lt;p&gt;My primary interest is in Nokia EKSOS, which looks like an rather easy,
low-complexity target.  As one of the first steps, I took PCB
photographs of the various modules/cards in the shelf, take note of the
main chip designations and started to search for the related
data sheets.&lt;/p&gt;
&lt;p&gt;The results can be found in the Osmocom retronetworking wiki, with
&lt;a class=&quot;reference external&quot; href=&quot;https://osmocom.org/projects/retronetworking/wiki/Nokia_EKSOS&quot;&gt;https://osmocom.org/projects/retronetworking/wiki/Nokia_EKSOS&lt;/a&gt; being the main entry page, and sub-pages about&lt;/p&gt;
&lt;ul class=&quot;simple&quot;&gt;
&lt;li&gt;&lt;p&gt;&lt;a class=&quot;reference external&quot; href=&quot;https://osmocom.org/projects/retronetworking/wiki/Nokia_EKSOS_Node_Control_Unit&quot;&gt;Node Control Unit&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class=&quot;reference external&quot; href=&quot;https://osmocom.org/projects/retronetworking/wiki/Nokia_EKSOS_BRI_UK0_Line_Card&quot;&gt;16x BRI Uk0 Line Card&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class=&quot;reference external&quot; href=&quot;https://osmocom.org/projects/retronetworking/wiki/Nokia_EKSOS_POTS_Line_Card&quot;&gt;32x POTS Line Card&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class=&quot;reference external&quot; href=&quot;https://osmocom.org/projects/retronetworking/wiki/Nokia_EKSOS_Line_Measurement_Unit&quot;&gt;Line Measurement Unit&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class=&quot;reference external&quot; href=&quot;https://osmocom.org/projects/retronetworking/wiki/Nokia_EKSOS_Shelf&quot;&gt;Shelf&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In short: Unsurprisingly, a lot of Infineon analog and digital ICs for
the POTS and ISDN ports, as well as a number of Motorola M68k based
QUICC32 microprocessors and several unknown ASICs.&lt;/p&gt;
&lt;p&gt;So with V5 hardware at my disposal, I've slowly re-started my efforts to
implement the LE (local exchange) side of the V5 protocol stack, with
the goal of eventually being able to interface those V5 AN with the
&lt;a class=&quot;reference external&quot; href=&quot;https://osmocom.org/projects/octoi/wiki&quot;&gt;Osmocom Community TDM over IP network&lt;/a&gt;.  Once that is in place, we
should also be able to offer real ISDN Uk0 (BRI) and POTS lines at
retrocomputing events or hacker camps in the coming years.&lt;/p&gt;</description>
	<pubDate>Thu, 08 Sep 2022 22:00:00 +0000</pubDate>
</item>
<item>
	<title>Harald &quot;LaF0rge&quot; Welte: Clock sync trouble with Digium cards and timing cables</title>
	<guid>https://laforge.gnumonks.org/blog/20220906-digium_timing_cable_troubles/</guid>
	<link>https://laforge.gnumonks.org/blog/20220906-digium_timing_cable_troubles/</link>
	<description>&lt;p&gt;If you have ever worked with Digium (now part of Sangoma) digital
telephony interface cards such as the TE110/410/420/820 (single to octal
E1/T1/J1 PRI cards), you will probably have seen that they always have a
&lt;em&gt;timing connector&lt;/em&gt;, where the timing information can be passed from one
card to another.&lt;/p&gt;
&lt;p&gt;In PDH/ISDN (or even SDH) networks, it is very important to have a
synchronized clock across the network.  If the clocks are drifting,
there will be underruns or overruns, with associated phase jumps that
are particularly dangerous when analog modem calls are transported.&lt;/p&gt;
&lt;p&gt;In traditional ISDN use cases, the clock is always provided by the
network operator, and any customer/user side equipment is expected to
synchronize to that clock.&lt;/p&gt;
&lt;p&gt;So this Digium timing cable is needed in applications where you have
more PRI lines than possible with one card, but only a subset of your
lines (spans) are connected to the public operator.   The timing cable
should make sure that the clock received on one port from the public
operator should be used as transmit bit-clock on all of the other ports,
no matter on which card.&lt;/p&gt;
&lt;p&gt;Unfortunately this decades-old Digium timing cable approach seems to
suffer from some problems.&lt;/p&gt;
&lt;section id=&quot;bursty-bit-clock-changes-until-link-is-up&quot;&gt;
&lt;h2&gt;bursty bit clock changes until link is up&lt;/h2&gt;
&lt;p&gt;The first problem is that downstream port transmit bit clock was jumping
around in bursts every two or so seconds.  You can see an oscillogram of
the E1 master signal (yellow) received by one TE820 card and the
transmit of the slave ports on the other card at
&lt;a class=&quot;reference external&quot; href=&quot;https://people.osmocom.org/laforge/photos/te820_timingcable_problem.mp4&quot;&gt;https://people.osmocom.org/laforge/photos/te820_timingcable_problem.mp4&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As you can see, for some seconds the two clocks seem to be in perfect
lock/sync, but in between there are periods of immense clock drift.&lt;/p&gt;
&lt;p&gt;What I'd have expected is the behavior that can be seen at &lt;a class=&quot;reference external&quot; href=&quot;https://people.osmocom.org/laforge/photos/te820_notimingcable_loopback.mp4&quot;&gt;https://people.osmocom.org/laforge/photos/te820_notimingcable_loopback.mp4&lt;/a&gt; - which shows a similar setup but without the use
of a timing cable: Both the master clock input and the clock
output were connected on the same TE820 card.&lt;/p&gt;
&lt;p&gt;As I found out much later, this problem only occurs until any of the
downstream/slave ports is fully OK/GREEN.&lt;/p&gt;
&lt;p&gt;This is surprising, as any other E1 equipment I've seen always transmits
at a constant bit clock irrespective whether there's any signal in the
opposite direction, and irrespective of whether any other ports are
up/aligned or not.&lt;/p&gt;
&lt;p&gt;But ok, once you adjust your expectations to this Digium peculiarity,
you can actually proceed.&lt;/p&gt;
&lt;/section&gt;
&lt;section id=&quot;clock-drift-between-master-and-slave-cards&quot;&gt;
&lt;h2&gt;clock drift between master and slave cards&lt;/h2&gt;
&lt;p&gt;Once any of the spans of a &lt;em&gt;slave&lt;/em&gt; card on the timing bus are fully
aligned, the transmit bit clocks of all of its ports  appear to be in
sync/lock - yay - but unfortunately only at the very first glance.&lt;/p&gt;
&lt;p&gt;When looking at it for more than a few seconds, one can see a slow,
continuous drift of the &lt;em&gt;slave&lt;/em&gt; bit clocks compared to the &lt;em&gt;master&lt;/em&gt; :(&lt;/p&gt;
&lt;p&gt;Some initial measurements show that the clock of the &lt;em&gt;slave&lt;/em&gt; card of the
timing cable is drifting at about 12.5 ppb (parts per billion) when
compared against the &lt;em&gt;master&lt;/em&gt; clock reference.&lt;/p&gt;
&lt;p&gt;This is rather disappointing, given that the whole point of a timing cable
is to ensure you have &lt;em&gt;one&lt;/em&gt; reference clock with all signals locked to
it.&lt;/p&gt;
&lt;/section&gt;
&lt;section id=&quot;the-work-around&quot;&gt;
&lt;h2&gt;The work-around&lt;/h2&gt;
&lt;p&gt;If you are willing to sacrifice one port (span) of each card, you can
work around that slow-clock-drift issue by connecting an external
loopback cable.  So the &lt;em&gt;master&lt;/em&gt; card is configured to use the clock
provided by the upstream provider. Its other ports (spans) will transmit
at the &lt;em&gt;exact&lt;/em&gt; recovered clock rate with no drift.  You can use any of
those ports to provide the clock reference to a port on the &lt;em&gt;slave&lt;/em&gt;
card using an external loopback cable.&lt;/p&gt;
&lt;p&gt;In this setup, your &lt;em&gt;slave&lt;/em&gt; card[s] will have perfect bit clock
sync/lock.&lt;/p&gt;
&lt;p&gt;Its just rather sad that you need to sacrifice ports &lt;em&gt;just&lt;/em&gt; for
achieving proper clock sync - something that the timing connectors and
cables claim to do, but in reality don't achieve, at least not in my
setup with the most modern and high-end octal-port PCIe cards (TE820).&lt;/p&gt;
&lt;/section&gt;</description>
	<pubDate>Thu, 08 Sep 2022 22:00:00 +0000</pubDate>
</item>
<item>
	<title>Harald &quot;LaF0rge&quot; Welte: First steps towards an ITU-T V5.1 / V5.2 implementation</title>
	<guid>https://laforge.gnumonks.org/blog/20211011-v52/</guid>
	<link>https://laforge.gnumonks.org/blog/20211011-v52/</link>
	<description>&lt;p&gt;As some of you may know, I've been starting to collect &quot;vintage&quot;
telecommunications equipment starting from analog modems to ISDN
adapters, but also PBXs and even SDH equipment.  The goal is to keep
this equipment (and related software) alive for demonstration and
practical exploration.&lt;/p&gt;
&lt;p&gt;Some [incomplete] information can be found at
&lt;a class=&quot;reference external&quot; href=&quot;https://osmocom.org/projects/retro-bbs/wiki/&quot;&gt;https://osmocom.org/projects/retro-bbs/wiki/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Working with PBXs to simulate the PSTN (ISDN/POTS) network is fine to
some extent, but it's of course not the real deal.  You only get
S0-buses and no actual Uk0 like actual ISDN lines of the late 80ies and
90ies.  You have problems with modems not liking the PBX dialtone, etc.&lt;/p&gt;
&lt;p&gt;Hence, I've always wanted to get my hand on some more real-world
central-office telephone network equipment, and I finally have a source
for so-called &lt;a class=&quot;reference external&quot; href=&quot;https://en.wikipedia.org/wiki/V5_interface&quot;&gt;V5.1/V5.2&lt;/a&gt;
access multiplexers.  Those are like remote extension boxes for the
central office switch (like &lt;a class=&quot;reference external&quot; href=&quot;https://en.wikipedia.org/wiki/EWSD&quot;&gt;EWSD&lt;/a&gt;
or &lt;a class=&quot;reference external&quot; href=&quot;https://en.wikipedia.org/wiki/ITT_System_12&quot;&gt;System 12&lt;/a&gt;).  They
aggregate/multiplex a number of analog or ISDN BRI subscriber lines into
E1 lines, while not implementing any of the actual call control or ISDN
signalling logic.  All of that is provided by the actual telephone
switch/exchange.&lt;/p&gt;
&lt;p&gt;So in order to integrate such access multiplexers in my retronetworking
setup, I will have to implement the LE (local exchange) side of the V5.1
and/or V5.2 protocols, as specified in ITU-T &lt;a class=&quot;reference external&quot; href=&quot;https://www.itu.int/rec/dologin_pub.asp?lang=e&amp;amp;id=T-REC-G.964-200103-I!!PDF-E&amp;amp;type=items&quot;&gt;G.964&lt;/a&gt; and
&lt;a class=&quot;reference external&quot; href=&quot;https://www.itu.int/rec/dologin_pub.asp?lang=e&amp;amp;id=T-REC-G.965-200103-I!!PDF-E&amp;amp;type=items&quot;&gt;G.965&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In the limited spare time I have next to my dayjob and various FOSS
projects, progress will likely be slow.  Nonetheless I started with an
implementation now, and I already had a lot of fun learning about more
details of those interfaces and their related protocols.&lt;/p&gt;
&lt;p&gt;One of the unresolved questions is to what kind of software I would want
to integrate once the V5.x part is resolved.&lt;/p&gt;
&lt;ul class=&quot;simple&quot;&gt;
&lt;li&gt;&lt;p&gt;&lt;a class=&quot;reference external&quot; href=&quot;http://linux-call-router.de/&quot;&gt;lcr&lt;/a&gt; would probably be the most
ISDN-native approach, but it is mostly unused and quite EOL.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Asterisk or FreeSWITCH would of course be obvious candidates, but they
are all relatively alien to ISDN, and hence not very transparent once
you start to do anything but voice calls (e.g. dialup ISDN data calls
in various forms).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class=&quot;reference external&quot; href=&quot;http://yate.null.ro/&quot;&gt;yate&lt;/a&gt; is another potential candidate.  It
already supports classic SS7 including ISUP, so it would be a good
candidate to build an actual ISDN exchange with V5.2 access
multiplexers on the customer-facing side (Q.921+Q.931 on it) and
SS7/ISUP towards other exchanges.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For now I think yate would be the most promising approach.  Time will
tell.&lt;/p&gt;
&lt;p&gt;The final goal would then be to have a setup [e.g. at a future CCC
congress] where we would have SDH add/drop multiplexers in several
halls, and V5.x access multiplexers attached to that, connecting analog
and ISDN BRI lines from individual participants to a software-defined
central exchange.  Ideally actually multiple exchanges, so we can show
the signaling on the V5.x side, the Q.921/Q.931 side and the SS7/ISUP
between the exchanges.&lt;/p&gt;
&lt;p&gt;Given that the next CCC congress is not before December 2022, there is a
chance to actually implement this before then ;)&lt;/p&gt;</description>
	<pubDate>Sun, 10 Oct 2021 22:00:00 +0000</pubDate>
</item>
<item>
	<title>Harald &quot;LaF0rge&quot; Welte: Notfallwarnung im Mobilfunknetz + Cell Broadcast (Teil 2)</title>
	<guid>https://laforge.gnumonks.org/blog/20210720-smscb/</guid>
	<link>https://laforge.gnumonks.org/blog/20210720-smscb/</link>
	<description>&lt;p&gt;[excuse this German-language post, this is targeted at the current German public discourse]&lt;/p&gt;
&lt;p&gt;Ein paar Ergänzungen zu meinem blog-post gestern.&lt;/p&gt;
&lt;p&gt;Ich benutzt den generischen Begriff PWS statt SMSCB, weil SMSCB strikt genommen nur im 2G-System
existiert, und nur ein Layer ist, der dort für Notfallalarmierung verwendet wird.&lt;/p&gt;
&lt;div class=&quot;section&quot; id=&quot;zu-notfallwarn-apps&quot;&gt;
&lt;h2&gt;Zu Notfallwarn-Apps&lt;/h2&gt;
&lt;p&gt;Natürlich sind spezielle, nationale Deutsche Katastrophenschutz-Apps auch nützlich!  Aber diese sollten
allenfalls zusätzlich angeboten werden, nachdem man erstmal die grundlegende Alarmierung konform der
relevanten internationalen (und auch EU-)Standards via Cell Broadcast / PWS realisiert.  Man sagt ja auch
nicht: Nachrichtensendungen braucht man im Radio nicht mehr, weil man die bereits im Fernsehen hat.  Man will
auf allen verfügbaren Kanälen senden, und zunächst jene mit möglichst universeller Reichweite und klaren
technischen Vorteilen benutzen, bevor man dann zusätzlich auch auf anderen Kanälen alarmiert.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;wie-sieht-pws-fur-mich-als-anwender-aus&quot;&gt;
&lt;h2&gt;Wie sieht PWS für mich als Anwender aus&lt;/h2&gt;
&lt;p&gt;Hier scheint es größere Missverständnisse zu geben, wie das auf dem Telefon letztlich aussieht.  Ist ja auch
verständlich, hierzulande sieht man das nie, ausser man ist zufällig in einem Labor/Basttel-Netz z.B. auf
einer CCC-Veranstaltung unterwegs, in der das Osmocom-Projekt mal solche Nachrichten versendet hat.&lt;/p&gt;
&lt;p&gt;Die PWS (ETWS, CMAS, WEA, KPAS, EU-ALERT, ...) nachrichten werden vom Telefon empfangen, und dann je nach
Konfiguration und Priorität behandelt.  Für die USA ist im WEA vorgeschrieben, dass Alarme einer bestimmten
Prioritatsklasse (z.B. der &lt;em&gt;Presidential Level Alert&lt;/em&gt;) &lt;strong&gt;immer zwangsweise zur Anzeige gebracht werden und
immer mit einem lauten sirenenartigen Alarmton einhergehen&lt;/strong&gt;.  Es ist sogar explizit verboten, dass der
Anwender diese Alarme irgendwo ausstellen, stumm schalten o.ä. kann.   Insofern spielt es keine Rolle,
ob das Telefon gerade Lautlos gestellt ist, oder es nicht gerade unmittelbar bei mir ist.&lt;/p&gt;
&lt;p&gt;Bei manchen Geräten werden die Warnungen sogar mittels einer text2speech-Engine laut über den Lautsprecher
vorgelesen, nachdem der Alarmton erscheint.  Ob das eine regulatorische Anforderung eines der nationalen
System ist, weiss ich nicht - ich habe es jedenfalls bereits in manchen Fällen gesehen, als ich mittels
Osmocom-Software solche Alarme in privaten Labornetzen versandt habe.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;noch-ein-paar-technische-details&quot;&gt;
&lt;h2&gt;Noch ein paar technische Details&lt;/h2&gt;
&lt;ul class=&quot;simple&quot;&gt;
&lt;li&gt;&lt;p&gt;PWS-Nachrichten werden &lt;strong&gt;auch dann noch ausgestrahlt, wenn die Zelle ihre Netzanbindung verloren hat&lt;/strong&gt;.  Wenn
also z.B. das Glasfaserkabel zum Kernnetz bereits weg ist, aber noch Strom da ist, werden bereits vorher vom
CBC (Cell Broadcast Centre) an die Mobilfunkzelle übermittelte Warnungen entsprechend ihrer
Gültigkeitsdauer weiter autonom von der Zelle ausgesendet  Das ist wieder ein inhärenter technischer
Vorteil, der niemals mit einer App erreichbar ist, weil diese erfordert dass das komplette Mobilfunknetz mit
allen internen Verbindungen und dem Kernnetz sowie die Internetverbindung vom Netzbetreiber zum Server des
App-Anbieters durchgehend funktioniert.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;PWS-Nachrichten können zumindest technisch auch von Telefonen empfangen werden, die garnicht im Netz
eingebucht sind, oder die keine SIM eingelegt haben.  Ob dies in den Standards gefordert wird, und/oder
ob dies die jeweilige Telefonsoftware das so umsetzt, weiss ich nicht und müsste man prüfen.  Technisch
liegt es nahe, ähnlich wie das Absetzen von Notrufen, das ja auch technisch in diesen Fällen möglich ist.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;zu-den-kosten&quot;&gt;
&lt;h2&gt;Zu den Kosten&lt;/h2&gt;
&lt;p&gt;Wenn - wie in der idealen Welt -  das Vorhalten von Notfallalarmierung eine Vorgabe bereits zum Zeitpunkt der
Lizenzvergabe für Funkfrequenzen gewesen wäre, wäre das alles einfach ganz lautlos von Anfang an immer
unterstützt gewesen.  Keiner hätte extra Geld investieren müssen, weil diese minimale technische Vorgabe dann
ja bereits Teil der Ausschreibungen der Betreiber für den Einkauf ihres Equipments gewesen wäre.  Zudem hatten
wir ja bereits in der Vergangenheit Cell Brodacast in allen drei Deutschen Netzen, d.h. die Technik war mal
[aus ganz andern Gründen] vorhanden aber wurde irgendwann weggespart.&lt;/p&gt;
&lt;p&gt;Das jetzt nachträglich einzuführen heisst natürlich, dass es niemand eingeplant hat, und dass jeder beteiligte
am Markt sich das vergolden lassen will.  Die Hersteller freuen sich in etwa wie &quot;Oh, Ihr wollt jetzt mehr als
ihr damals beim Einkauf spezifiziert habt? Schön, dann schreiben wir mal ein Angebot&quot;.&lt;/p&gt;
&lt;p&gt;Technisch ist das alles ein Klacks. Die komplette Entwicklung aller Bestandteile für PWS in 2G/3G/4G/5G würde
ich auf einen niedrigen einmaligen sechsstelligen Betrag schätzen.   Und das ist die einmalige Investition in
der Entwicklung, welche dann über alle Geräte/Länder/Netze umgebrochen wird.  Bei den Milliarden, die in
Entwicklung und Anschaffung von Mobilfunktechnik investiert wird, ist das ein Witz.&lt;/p&gt;
&lt;p&gt;Die Geräte wie Basisstationen aller relevanten Hersteller unterstützen natürlich von Haus aus PWS.  Die bauen
für Deutschland ja nicht andere Geräte, als jene, die in UK, NL, RO, US, ... verbaut werden.  Der Markt ist
international, die gleiche Technik steht überall.&lt;/p&gt;
&lt;p&gt;Weil man jetzt zu spät ist, wird das natürlich von allen Seiten ausgenutzt.  Jeder Basisstationshersteller
wird die Hand aufhalten und sagen, das kostet jetzt pro Zelle X EUR im Jahr zusätzliche Lizenzgebühren.  Und
die Anbieter der zentralen Komponente CBC werden auch branchenüblich die Hand aufhalten, mit satten jährlichen
Lizenzgebühren.  Und die Consultants werden auch alle die Hand aufhalten, weil es  gibt wieder etwas zu
Integrieren, zu testen, ...  Das CBC ist keine komplexe Technik.  Wenn man das einmalig als Open Source
entwickeln lässt, und in allen Netzen einsetzt, bekommt man es quasi zum Nulltarif.  Aber das würde ja
Voraussetzen, dass man sich wirklich mit der Technik befasst, versteht um welch simple Software es hier geht,
und  dass man mal andere Wege in der Beschaffung geht, als nur mal eben bei seinen existierenden 3
Lieferanten anzurufen, die sich dann eine goldene Nase verdienen wollen.&lt;/p&gt;
&lt;p&gt;In der öffentlichen Diskussion wird von 20-40 Millionen EUR gesprochen.  Das sind überzogene Forderungen der
Marktteilnehmer, nichts sonst.  Aber selbst wenn man der Meinung ist, dass man lieber das Geld zum Fenster
hinauswerfen will, statt Open Source Alternativen zu [ver]suchen, dann ist auch diese Größenordnung etwas,
dass im Vergleich zu den sonstigen Anschaffungs- und Betriebskosten eines Mobilfunknetzes verschwindend gering
ist.  Ganz zu schweigen von den Folgekosten im Bereich Bergung/Rettung, Personenschäden, etc. die sich dadurch
mittelfristig bei Katastrophen einsparen lassen.&lt;/p&gt;
&lt;p&gt;Oder anders betrachtet: Wenn sogar das wirtschaftlich viel schwächere Rumänien sich sowas leisten kann, dann
wird es wohl auch die Bundesrepublik Deutschland stemmen können.&lt;/p&gt;
&lt;/div&gt;</description>
	<pubDate>Mon, 19 Jul 2021 22:00:00 +0000</pubDate>
</item>
<item>
	<title>Harald &quot;LaF0rge&quot; Welte: Notfallwarnung im Mobilfunknetz + Cell Broadcast</title>
	<guid>https://laforge.gnumonks.org/blog/20210721-smscb/</guid>
	<link>https://laforge.gnumonks.org/blog/20210721-smscb/</link>
	<description>&lt;div&gt;&lt;p&gt;[excuse this German-language post, this is targeted at the current German public discourse]&lt;/p&gt;
&lt;p&gt;In mehrerern Gegenden Deutschlands gab es verheerende Hochwasser, und die Öffentlichkeit diskutiert deshalb
mal wieder die gute alte Frage nach dem adäquaten Mittel der Alarmierung der Bevölkerung.&lt;/p&gt;
&lt;p&gt;Es ist einfach nur ein gigantisches Trauerspiel, wie sehr die Deutsche Politik und Verwaltung in diesem Punkt
inzwischen seit Jahrzehnten sämtliche relevanten Standards verpennt, und dann immer wieder öffentlich durch
fachlich falsche und völlig uninformierte Aussagen auffällt.&lt;/p&gt;
&lt;p&gt;Das Thema wurde vor dem aktuellen Hochwasser bereits letztes Jahr im
Rahmen des sog. WarnTag öffentlich diskutiert.  Auch hier von Seiten der
öffentlichen Hand ausschliesslich mit falschen Aussagen, wie z.B. dass
es bei Cell Broadcast Datenschutzprobleme gibt.  Dabei ist Cell
Broadcast die einzige Technologie, wo &lt;em&gt;keine&lt;/em&gt; Rückmeldung des einzelnen
Netzteilnehmers erfolgt, und das Netz nichtmal weiss, wer die Nachricht
empfangen hat, und wo dieser Empfang stattgefunden hat.  Ganz wie beim
UKW-Radio.&lt;/p&gt;
&lt;p&gt;Fakt ist, dass alle digitalen Mobilfunkstandards seit GSM/2G, d.h. seit
1991 die Möglichkeit mitbringen, effizient, schnell und datensparsam
alle Nutzer (einer bestimmten geographischen Region) mit sogenannten
&lt;em&gt;broadcast&lt;/em&gt; Nachrichten zu informieren.  Diese Technik, in GSM/2G
genannt &lt;em&gt;Cell Broacast&lt;/em&gt; (oder auch _SMSCB_), unterscheidet sich
Grundlegend von allen anderen Kommunikationsformen im Mobilfunknetz, wie
Anrufe und herkömmliche SMS (offiziell SMS-PP).  Anrufe, SMS und auch mobile Paketdaten (Internet) werden
immer f&quot;ur jeden Teilnehmer individuell auf ihm zugewiesenen Funkressourcen übermittelt.  Diese Ressourcen
sind beschränkt.  Es können in keinem Mobilfunknetz der Welt alle Teilnehmer gleichzeitig telefonieren, oder
gleichzeitig SMS empfangen.&lt;/p&gt;
&lt;p&gt;Stattdessen benutzt Cell Broadcast - wie der Name bereits
unmissverständlich klar macht - Einen &lt;em&gt;broadcast&lt;/em&gt;, d.h.
&lt;em&gt;Rundsendemechanismus&lt;/em&gt;.  Eine Nachricht wird einmal gesendet, benötigt
also nur eine geteilte Ressource auf der Luftschnittstelle, und wird
dann von allen Geräten im Empfangsbereich zeitgleich empfangen und
dekodiert.  Das ist wie UKW-Radio oder klassisches terrestrisches
Fernsehen.&lt;/p&gt;
&lt;p&gt;Cell Broadcsat wurde bereits in den 1990er Jahren von Deutschen
Netzbetreibern benutzt.  Und zwar nicht für etwas lebensnotwendiges wie
die Notfallsignalisierung, sondern für so banale Dinge wie die Liste
jener Vorwahlen, zu denen gerade ein vergünstigter &quot;wandernder
Ortstarif&quot; Besteht.   Ja, sowas gab es mal bei Vodafone.  Oder bei O2
wurden über lange Zeit (aus unbekannten Gründen) die GPS-Koordinaten der
jeweiligen Basisstation als Cell Broadcast versendet.&lt;/p&gt;
&lt;p&gt;In der folgenden (nun fast abgeschalteten) Mobilfunkgeneration 3G
wurde Cell Broadcast leicht unbenannt als &lt;em&gt;Service Area Broadcast&lt;/em&gt;
beibehalten.  Schliesslich gibt es ja Länder mit - anders als in
Deutschland - funktionierender und kompetenter Regulierung des
Telekommunikationsmarktes, und die langjährig bestehenden gesetzlichen
Anforderungen solcher Länder zwingen die Netzbetreiber und auch die
Ausrüster der Neztbetreiber, neue Mobilfunkstandards so zu entwickeln,
dass die gesetzlichen Vorgaben bzgl. der Alarmierung der Bevölkerung im
Notfall funktioniert.&lt;/p&gt;
&lt;p&gt;Im Rahmen dieser Standardisierung haben eine Reihe von Ländern innerhalb
der 3GPP-Standardisierung (zuständig für 2G, 3G, 4G, 5G) sogenannte
&lt;em&gt;Public Warning Systems&lt;/em&gt; (PWS) standardisiert.  Zu diesen gehören z.B.
das Japanische ETWAS (Earthquake and Tsunami Warning System), das
Koreanische KPAS (Korean Public Alerting System), das US-Amerikanische
WEA (Wireless Emergency Alerts) und auch das EU-ALERT mit den nationalen
Implementationen NL-ALERT (Niederlande) und UK-ALERT (Großbritannien).&lt;/p&gt;
&lt;p&gt;Die zahlreichen Studien und Untersuchungen, die zur Gestaltung obiger
Systeme und der internationalen Standards im Mobilfunk geführt haben,
weisen auch nochmal nach, was sowieso vorher jedem Techniker
offensichtlich erscheint: Eine schelle Alarmierung aller Teilnehmer
(einer Region) kann nur über einen Broadcast-Mechanismus erfolgen.  In
Japan war die Zielvorgabe, die Alarmierung in Erdbebenfällen innerhalb
von weniger als 4 Sekunden an die gesamte betroffene Bevölkerung zu
übertragen.  Und das ist mit PWS möglich!&lt;/p&gt;
&lt;p&gt;Die relevanten PWS-Standards in 2G/3G/4G/5G bieten jede Menge nützliche Funktionen:&lt;/p&gt;
&lt;ul class=&quot;simple&quot;&gt;
&lt;li&gt;&lt;p&gt;Benachrichtigung in bestimmten geographischen Regionen&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Interoperable Schnittstellen, so das Netzwerkelemente unterschiedlicher Hersteller mit einander
Kommunizieren&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Konfigurierbare Benachrichtigungstexte, nicht nur in der primären Landessprache, sondern auch in mehreren
anderen Sprachen, die dann automatisch je nach Spracheinstellung des Telefons wiedergegeben werden&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Unterschiedliche Schweregrad von Alarmierungen&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Übermittlung nicht nur im Broadcast, sondern auch im Unicast an jeden Teilnehmer, der gerade in einem
Telefongespräch ist, und dessen Telefon gerade währenddessen aus technischen Gründen den Broadcast nicht
empfangen würde&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Unterschied zwischen Wiederholung einer Übertragung ohne Änderung des Inhalts und einer übertragung mit
geändertem Inhalt&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Es gibt also seit vielen Jahren internationale Standards, wie sämtliche heute eingesetzten Mobilfunktechniken
zur schnellen, effizienten und datensparsamen Alarmierung der Bevölkerung eingesetzt werden können.&lt;/p&gt;
&lt;p&gt;Es gibt zahlreiche Länder, die diese Systeme seit langem einsetzen.  Das US-Amerikanische WEA wurde nach
eigenen Angaben seit 2012 bereits mehr als 61.000 Mal benutzt, um Menschen vor Unwetter oder anderen
Katastrophen zu warnen.&lt;/p&gt;
&lt;p&gt;Sogar innerhalb der EU hat man das EU-ALERT System spezifiziert, welches weitgehend mit dem amerikanischen WEA
identisch ist, und auf die gleichen Techniken aufbaut.&lt;/p&gt;
&lt;p&gt;Und dann gibt es Länder wie Deutschland, die es seit genauso vielen Jahren vermissen lassen, durch Gesetze
oder Vorschriften&lt;/p&gt;
&lt;ol class=&quot;arabic simple&quot;&gt;
&lt;li&gt;&lt;p&gt;die Netzbetreiber zum Betrieb dieser Broadcast-Technologien in ihrem Netz verpflichtet&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;die Netzbetreiber zur Bereitstellung von standardisierten Schnittstellen gegenüber den Behörden wie Zivilschutz / Katastrophenschutz zu verpflichten, so das diese selbständig über alle Netzbetreiber Warnungen versenden können&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;die Gerätehersteller z.B. über Vorschriften des FTEG (Gesetz über Funkanlagen und Telekommunikationsendeinrichtungen) zu Verpflichten, die PWS-Nachrichten anzuzeigen&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In den USA, dem vermeintlich viel mehr dem Freien Markt und dem
Kapitalismus anhängenden System ist all dies der Regulierungsbehörde FCC
möglich.  In Deutschland mit seiner sozialen Marktwirtschaft ist es
anscheinend unmöglich, den Markt entsprechend zu regulieren.  Eine
solche Regulierung schafft man in Deutschland nur für wirklich wichtige
Themen wie zur Durchsetzung der Bereitstellung von Schnittstellen für
die Telekommunikationsüberwachung.  Bei so irrelevanten Themen wie dem
Katastrophenschutz und der Alarmierung der Bevölkerung braucht man den
Markt nicht zu regulieren.  Wenn die Netzbetreiber kein PWS anbieten
wollen, dann ist das einfach so Gottgegeben, und man kann da ja nichts
machen.&lt;/p&gt;
&lt;p&gt;Falls jemand sich SMSCB und PWS technisch näher ansehen will: In 2019
haben wir im Osmocom-Projekt eine Open Source Implementation des
kompletten Systems von BTS über BSC bis zum CBC, sowie der dazwischen
befindlichen Protokolle wie CBSP vorgenommen.  Dies wurde
freundlicherweise durch den Prototype Fund mit EUR 35k finanziert. Ja,
so günstig kann man die nötige Technik zumindest für eine einzelne
Mobilfunkgeneration entwickeln...&lt;/p&gt;
&lt;p&gt;Man kann also in einem selbst betriebenen Labor-Mobilfunknetz,
welches auf Open Source Software basiert mehr in Punkt standardkonformer
Notfallalarmierung, als die Deutsche Politik, Verwaltung und
Netzbetreiber zusammen hinbekommen.&lt;/p&gt;
&lt;p&gt;Wir haben in Deutschland Leute, die diese Standards in und auswendig
kennen, sogar daran mitgearbeitet haben.  Wir haben Entwickler, die
diese Standards implementiert haben.  Aber wir schaffen es nicht, das
auch mal selbst praktisch zu benutzen - das überlassen wir lieber den
anderen Ländern.  Wir lassen lieber zuerst die ganze
Katastrophenalarmierung mittels Sirenen vergammeln, machen den
Netzbetreibern keine Vorgaben, entwicklen komische Apps, die Anwender
extra installieren müssen, die prinzipbedingt nicht skalieren und beim
Test (WarnTag) nicht funktionieren.&lt;/p&gt;
&lt;p&gt;Was für eine Glanzleistung für den hochentwickelten Techhologie-Standort Deutschland.&lt;/p&gt;&lt;/div&gt;</description>
	<pubDate>Sun, 18 Jul 2021 22:00:00 +0000</pubDate>
</item>
<item>
	<title>Harald &quot;LaF0rge&quot; Welte: Notfallwarnung im Mobilfunknetz + Cell Broadcast</title>
	<guid>https://laforge.gnumonks.org/blog/20210719-smscb/</guid>
	<link>https://laforge.gnumonks.org/blog/20210719-smscb/</link>
	<description>&lt;p&gt;[excuse this German-language post, this is targeted at the current German public discourse]&lt;/p&gt;
&lt;p&gt;In mehrerern Gegenden Deutschlands gab es verheerende Hochwasser, und die Öffentlichkeit diskutiert deshalb
mal wieder die gute alte Frage nach dem adäquaten Mittel der Alarmierung der Bevölkerung.&lt;/p&gt;
&lt;p&gt;Es ist einfach nur ein gigantisches Trauerspiel, wie sehr die Deutsche Politik und Verwaltung in diesem Punkt
inzwischen seit Jahrzehnten sämtliche relevanten Standards verpennt, und dann immer wieder öffentlich durch
fachlich falsche und völlig uninformierte Aussagen auffällt.&lt;/p&gt;
&lt;p&gt;Das Thema wurde vor dem aktuellen Hochwasser bereits letztes Jahr im
Rahmen des sog. WarnTag öffentlich diskutiert.  Auch hier von Seiten der
öffentlichen Hand ausschliesslich mit falschen Aussagen, wie z.B. dass
es bei Cell Broadcast Datenschutzprobleme gibt.  Dabei ist Cell
Broadcast die einzige Technologie, wo &lt;em&gt;keine&lt;/em&gt; Rückmeldung des einzelnen
Netzteilnehmers erfolgt, und das Netz nichtmal weiss, wer die Nachricht
empfangen hat, und wo dieser Empfang stattgefunden hat.  Ganz wie beim
UKW-Radio.&lt;/p&gt;
&lt;p&gt;Fakt ist, dass alle digitalen Mobilfunkstandards seit GSM/2G, d.h. seit
1991 die Möglichkeit mitbringen, effizient, schnell und datensparsam
alle Nutzer (einer bestimmten geographischen Region) mit sogenannten
&lt;em&gt;broadcast&lt;/em&gt; Nachrichten zu informieren.  Diese Technik, in GSM/2G
genannt &lt;em&gt;Cell Broacast&lt;/em&gt; (oder auch _SMSCB_), unterscheidet sich
Grundlegend von allen anderen Kommunikationsformen im Mobilfunknetz, wie
Anrufe und herkömmliche SMS (offiziell SMS-PP).  Anrufe, SMS und auch mobile Paketdaten (Internet) werden
immer für jeden Teilnehmer individuell auf ihm zugewiesenen Funkressourcen übermittelt.  Diese Ressourcen
sind beschränkt.  Es können in keinem Mobilfunknetz der Welt alle Teilnehmer gleichzeitig telefonieren, oder
gleichzeitig SMS empfangen.&lt;/p&gt;
&lt;p&gt;Stattdessen benutzt Cell Broadcast - wie der Name bereits
unmissverständlich klar macht - Einen &lt;em&gt;broadcast&lt;/em&gt;, d.h.
&lt;em&gt;Rundsendemechanismus&lt;/em&gt;.  Eine Nachricht wird einmal gesendet, benötigt
also nur eine geteilte Ressource auf der Luftschnittstelle, und wird
dann von allen Geräten im Empfangsbereich zeitgleich empfangen und
dekodiert.  Das ist wie UKW-Radio oder klassisches terrestrisches
Fernsehen.&lt;/p&gt;
&lt;p&gt;Cell Broadcast wurde bereits in den 1990er Jahren von Deutschen
Netzbetreibern benutzt.  Und zwar nicht für etwas lebensnotwendiges wie
die Notfallsignalisierung, sondern für so banale Dinge wie die Liste
jener Vorwahlen, zu denen gerade ein vergünstigter &quot;wandernder
Ortstarif&quot; Besteht.   Ja, sowas gab es mal bei Vodafone.  Oder bei O2
wurden über lange Zeit (aus unbekannten Gründen) die GPS-Koordinaten der
jeweiligen Basisstation als Cell Broadcast versendet.&lt;/p&gt;
&lt;p&gt;In der folgenden (nun fast abgeschalteten) Mobilfunkgeneration 3G
wurde Cell Broadcast leicht umbenannt als &lt;em&gt;Service Area Broadcast&lt;/em&gt;
beibehalten.  Schliesslich gibt es ja Länder mit - anders als in
Deutschland - funktionierender und kompetenter Regulierung des
Telekommunikationsmarktes, und die langjährig bestehenden gesetzlichen
Anforderungen solcher Länder zwingen die Netzbetreiber und auch die
Ausrüster der Neztbetreiber, neue Mobilfunkstandards so zu entwickeln,
dass die gesetzlichen Vorgaben bzgl. der Alarmierung der Bevölkerung im
Notfall funktioniert.&lt;/p&gt;
&lt;p&gt;Im Rahmen dieser Standardisierung haben eine Reihe von Ländern innerhalb
der 3GPP-Standardisierung (zuständig für 2G, 3G, 4G, 5G) sogenannte
&lt;em&gt;Public Warning Systems&lt;/em&gt; (PWS) standardisiert.  Zu diesen gehören z.B.
das Japanische ETWAS (Earthquake and Tsunami Warning System), das
Koreanische KPAS (Korean Public Alerting System), das US-Amerikanische
WEA (Wireless Emergency Alerts, früher bekannt als CMAS) und auch das &lt;a class=&quot;reference external&quot; href=&quot;https://de.wikipedia.org/wiki/EU-Alert&quot;&gt;EU-ALERT&lt;/a&gt; mit den nationalen
Implementationen &lt;a class=&quot;reference external&quot; href=&quot;https://de.wikipedia.org/wiki/NL-Alert&quot;&gt;NL-ALERT (Niederlande)&lt;/a&gt; und &lt;a class=&quot;reference external&quot; href=&quot;https://www.gov.uk/alerts&quot;&gt;UK-ALERT (Großbritannien)&lt;/a&gt;
sowie &lt;a class=&quot;reference external&quot; href=&quot;https://ro-alert.ro/en/about-ro-alert/&quot;&gt;RO-ALERT (Rumänien)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Die zahlreichen Studien und Untersuchungen, die zur Gestaltung obiger
Systeme und der internationalen Standards im Mobilfunk geführt haben,
weisen auch nochmal nach, was sowieso vorher jedem Techniker
offensichtlich erscheint: Eine schelle Alarmierung aller Teilnehmer
(einer Region) kann nur über einen Broadcast-Mechanismus erfolgen.  In
Japan war die Zielvorgabe, die Alarmierung in Erdbebenfällen innerhalb
von weniger als 4 Sekunden an die gesamte betroffene Bevölkerung zu
übertragen.  Und das ist mit PWS möglich!&lt;/p&gt;
&lt;p&gt;Die relevanten PWS-Standards in 2G/3G/4G/5G bieten jede Menge nützliche Funktionen:&lt;/p&gt;
&lt;ul class=&quot;simple&quot;&gt;
&lt;li&gt;&lt;p&gt;Benachrichtigung in bestimmten geographischen Regionen&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Interoperable Schnittstellen, so dass Netzwerkelemente unterschiedlicher Hersteller miteinander
kommunizieren&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Konfigurierbare Benachrichtigungstexte, nicht nur in der primären Landessprache, sondern auch in mehreren
anderen Sprachen, die dann automatisch je nach Spracheinstellung des Telefons wiedergegeben werden&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Unterschiedliche Schweregrade von Alarmierungen&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Übermittlung nicht nur im Broadcast, sondern auch im Unicast an jeden Teilnehmer, der gerade in einem
Telefongespräch ist, und dessen Telefon gerade währenddessen aus technischen Gründen den Broadcast nicht
empfangen würde&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Unterschied zwischen Wiederholung einer Übertragung ohne Änderung des Inhalts und einer übertragung mit
geändertem Inhalt&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Es gibt also seit vielen Jahren internationale Standards, wie sämtliche heute eingesetzten Mobilfunktechniken
zur schnellen, effizienten und datensparsamen Alarmierung der Bevölkerung eingesetzt werden können.&lt;/p&gt;
&lt;p&gt;Es gibt zahlreiche Länder, die diese Systeme seit langem einsetzen.  Das US-Amerikanische WEA wurde nach
eigenen Angaben seit 2012 bereits mehr als 61.000 Mal benutzt, um Menschen vor Unwetter oder anderen
Katastrophen zu warnen.&lt;/p&gt;
&lt;p&gt;Sogar innerhalb der EU hat man das EU-ALERT System spezifiziert, welches weitgehend mit dem amerikanischen WEA
identisch ist, und auf die gleichen Techniken aufbaut.&lt;/p&gt;
&lt;p&gt;Und dann gibt es Länder wie Deutschland, die es seit genauso vielen Jahren vermissen lassen, durch Gesetze
oder Vorschriften&lt;/p&gt;
&lt;ol class=&quot;arabic simple&quot;&gt;
&lt;li&gt;&lt;p&gt;die Netzbetreiber zum Betrieb dieser Broadcast-Technologien in ihrem Netz verpflichtet&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;die Netzbetreiber zur Bereitstellung von standardisierten Schnittstellen gegenüber den Behörden wie Zivilschutz / Katastrophenschutz zu verpflichten, so das diese selbständig über alle Netzbetreiber Warnungen versenden können&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;die Gerätehersteller z.B. über Vorschriften des FTEG (Gesetz über Funkanlagen und Telekommunikationsendeinrichtungen) zu Verpflichten, die PWS-Nachrichten anzuzeigen&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In den USA, dem vermeintlich viel mehr dem Freien Markt und dem
Kapitalismus anhängenden System ist all dies der Regulierungsbehörde FCC
möglich.  In Deutschland mit seiner sozialen Marktwirtschaft ist es
anscheinend unmöglich, den Markt entsprechend zu regulieren.  Eine
solche Regulierung schafft man in Deutschland nur für wirklich wichtige
Themen wie zur Durchsetzung der Bereitstellung von Schnittstellen für
die Telekommunikationsüberwachung.  Bei so irrelevanten Themen wie dem
Katastrophenschutz und der Alarmierung der Bevölkerung braucht man den
Markt nicht zu regulieren.  Wenn die Netzbetreiber kein PWS anbieten
wollen, dann ist das einfach so Gottgegeben, und man kann da ja nichts
machen.&lt;/p&gt;
&lt;p&gt;Falls jemand sich SMSCB und PWS technisch näher ansehen will: In 2019
haben wir im Osmocom-Projekt eine Open Source Implementation des
kompletten Systems von BTS über BSC bis zum CBC, sowie der dazwischen
befindlichen Protokolle wie CBSP vorgenommen.  Dies wurde
freundlicherweise durch den Prototype Fund mit EUR 35k finanziert. Ja,
so günstig kann man die nötige Technik zumindest für eine einzelne
Mobilfunkgeneration entwickeln...&lt;/p&gt;
&lt;p&gt;Man kann also in einem selbst betriebenen Labor-Mobilfunknetz,
welches auf Open Source Software basiert mehr in Punkt standardkonformer
Notfallalarmierung, als die Deutsche Politik, Verwaltung und
Netzbetreiber zusammen hinbekommen.&lt;/p&gt;
&lt;p&gt;Wir haben in Deutschland Leute, die diese Standards in und auswendig
kennen, sogar daran mitgearbeitet haben.  Wir haben Entwickler, die
diese Standards implementiert haben.  Aber wir schaffen es nicht, das
auch mal selbst praktisch zu benutzen - das überlassen wir lieber den
anderen Ländern.  Wir lassen lieber zuerst die ganze
Katastrophenalarmierung mittels Sirenen vergammeln, machen den
Netzbetreibern keine Vorgaben, entwicklen komische Apps, die Anwender
extra installieren müssen, die prinzipbedingt nicht skalieren und beim
Test (WarnTag) nicht funktionieren.&lt;/p&gt;
&lt;p&gt;Was für eine Glanzleistung für den hochentwickelten Techhologie-Standort Deutschland.&lt;/p&gt;</description>
	<pubDate>Sun, 18 Jul 2021 22:00:00 +0000</pubDate>
</item>
<item>
	<title>Michael &quot;mickeyl&quot; Lauer: SPM-ifying YapDatabase</title>
	<guid>tag:vanille.de,2020-10-18:2020-spmifying-yapdatabase</guid>
	<link>https://www.vanille.de/blog/2020-spmifying-yapdatabase/</link>
	<description>Converting an existing Objective-C/Swift framework to Swift Package Manager I'm a big fan of the database library YapDatabase, which is a collection/key/value store for macOS, iOS, tvOS &amp;amp; watchOS. It comes with many high level features and is built atop sqlite. In the last 5 years, I have used this successfully for many of my projects. It is written in Objective-C and comes with a bunch of Swift files for more Swifty use. Since I recently announced to go all-in with Swift, I want to convert all my dependencies to the Swift Package Management system. I have never been a fan of CocoaPods or Carthage as I found them too invasive. As this point of time though, YapDatabase is not Swift Package Manager (SPM) compatible and all approaches to do this using the current source layout did fail. So I had a fresh look at it and decided to do it slightly differently: If you don't have to work with the constraints of an existing tree layout, the process is relatively straightforward. Read on to find out what I did. Prerequisites Use swift package init to create a package named YapDatabase. Edit Package.swift to make the package create two libraries with associated targets ObjCYapDatabase is going to hold the Objective-C part in Sources/ObjCYapDatabase, SwiftYapDatabase is going to hold the Swift parts in Sources/SwiftYapDatabase. I couldn't name the Objective-C library simply YapDatabase, since this would have required to rename the (then umbrella) header file YapDatabase.h, which I didn't want to. Swift vs. Objective-C At the moment, SPM is not capable of handling mixed language targets, i.e., you either have only Swift files or no Swift files at all in your target – therefore I split the repository accordingly and moved Swift files below Sources/SwiftYapDatabase. Source and Header file locations SPM is pretty rigid when it comes to the location of source and header files. This is the reason why I unfortunately could not deliver this work on top of the original source repository. Fortunately though, the source repository was very well structured. To layout the files in a way that makes SPM happy, I Created two header file directory, include for public headers, privateInclude for private headers. Moved all header files from Internal directories and those with private in their name to the privateInclude directory. Moved the remaining header files to the public include directory. Swift The aforementioned steps were enough to make SPM compile the ObjCYapDatabase. To make the Swift part compile, I had to Edit all Swift files to import ObjCYapDatabase instead of Foundation via sed -i -e s,Foundation,ObjCYapDatabase,g *.swift. This made the SwiftYapDatabase compile. What's Next There are some parts missing: I didn't include the example programs, the tests, and the Xcode project. I don't know Robbie Hanson's (creator of YapDatabase) plans. As it stands, this shuffling around was merely a proof-of-concept to find out whether such an approach is sufficient to SPM-ify YapDatabase or whether to there are more problems to consider. I will incorporate this in one of my projects to put it through a real world test. I have published the repository as mickeyl/SwiftYapDatabase and will report this work via the YapDatabase issue tracker. Let's see what happens next.</description>
	<pubDate>Sun, 18 Oct 2020 12:00:00 +0000</pubDate>
</item>
<item>
	<title>Talpadk: An early unfair first comparison of the Radiona ULX3S and the Olimex iCE40HX8K-EVB</title>
	<guid>http://talpadk.wordpress.com/?p=243</guid>
	<link>https://talpadk.wordpress.com/2020/10/04/an-early-unfair-first-comparison-of-the-radiona-ulx3s-and-the-olimex-ice40hx8k-evb/</link>
	<description>&lt;h2&gt;Why unfair?&lt;/h2&gt;



&lt;div class=&quot;wp-block-image&quot;&gt;&lt;figure class=&quot;alignright size-large is-resized&quot;&gt;&lt;img alt=&quot;ULX3S&quot; class=&quot;wp-image-253&quot; height=&quot;247&quot; src=&quot;https://talpadk.files.wordpress.com/2020/10/ulx3s-1.png?w=1024&quot; width=&quot;381&quot; /&gt;&lt;/figure&gt;&lt;/div&gt;



&lt;p&gt;Well when I obtained the &lt;a href=&quot;https://www.olimex.com/Products/FPGA/iCE40/iCE40HX8K-EVB/open-source-hardware&quot;&gt;iCE40HX8K-EVB&lt;/a&gt; it had already existed for quite some time the &lt;a href=&quot;https://radiona.org/ulx3s/&quot;&gt;ULX3S&lt;/a&gt; I had just received the unit from the &lt;a href=&quot;https://www.crowdsupply.com/radiona/ulx3s&quot;&gt;Crowd Supply&lt;/a&gt; campaign.&lt;br /&gt;And &lt;a href=&quot;https://www.olimex.com/&quot;&gt;Olimex&lt;/a&gt; therefore had lots of time to “perfect” the documentation  &lt;a href=&quot;https://radiona.org/&quot;&gt;Radiona&lt;/a&gt; on the other hand has not yet had the luxury of time yet.&lt;/p&gt;



&lt;h2&gt;Hardware&lt;/h2&gt;



&lt;p&gt;Well I’m not really going to… The FPGA on the ULX3S is quite powerful and the board itself has more features as well, lets just call them different classes of products.&lt;/p&gt;



&lt;h2&gt;Software&lt;/h2&gt;



&lt;p&gt;Well both FPGAs are supported by the open source command line friendly toolchains.&lt;br /&gt;Xilinx years ago sort of cured me of any desire for using huge closed source applications for programmable logic.&lt;br /&gt;Many thanks to the developers of &lt;a href=&quot;https://github.com/YosysHQ/yosys&quot;&gt;yosys&lt;/a&gt;, &lt;a href=&quot;http://www.clifford.at/icestorm/&quot;&gt;icestorm&lt;/a&gt;, &lt;a href=&quot;https://github.com/YosysHQ/nextpnr&quot;&gt;nextpnr&lt;/a&gt;, &lt;a href=&quot;https://github.com/YosysHQ/prjtrellis&quot;&gt;prjtrellis&lt;/a&gt;, writers of programmer software and &lt;a href=&quot;https://www.gnu.org/&quot;&gt;GNU&lt;/a&gt; / libre-software in general.&lt;/p&gt;



&lt;h2&gt;Getting started documentation&lt;/h2&gt;



&lt;p&gt;I must admit that I’m not that impressed with the getting started experience.&lt;/p&gt;



&lt;p&gt;The Radiona &lt;a href=&quot;https://radiona.org/wiki/project/ulx3s&quot;&gt;wiki&lt;/a&gt; links to what they call the &lt;a href=&quot;https://radiona.org/ulx3s/&quot;&gt;ULX3S official site&lt;/a&gt;.&lt;br /&gt;And at the time of writing this I find it somewhat lacking in getting started information.&lt;br /&gt;Things I miss:&lt;/p&gt;



&lt;ul&gt;&lt;li&gt;How to power the board (without frying it or having to look closely at the schematic).&lt;/li&gt;&lt;li&gt;Precompiled “hello world” bit streams for the different variants of the FPGA on there boards.&lt;/li&gt;&lt;li&gt;A simple guide on flashing said bit stream using the build in programmer on the board.&lt;/li&gt;&lt;/ul&gt;



&lt;p&gt;Eventually one does find the &lt;a href=&quot;https://github.com/emard/ulx3s-examples&quot;&gt;https://github.com/emard/ulx3s-examples&lt;/a&gt;, and gets around to compiling the toolchain for ECP5 (I previously only compiled it for ICE40)&lt;br /&gt;However when trying to flash the bitstream (after changing the makefile to suit the 85F variant that I got)&lt;br /&gt;The pre build binary of &lt;a href=&quot;https://github.com/f32c/tools/tree/master/ujprog&quot;&gt;ujprog&lt;/a&gt; that comes with the example code fails with the message&lt;/p&gt;



&lt;blockquote class=&quot;wp-block-quote&quot;&gt;&lt;p&gt;ULX2S / ULX3S JTAG programmer v 3.0.92 (built Oct 3 2020 19:32:10)&lt;br /&gt;Cannot find JTAG cable.&lt;/p&gt;&lt;/blockquote&gt;



&lt;p&gt;I have try to specify the port using -P and it does get a LED flashing but no blinking LEDs.&lt;br /&gt;I also try to build ujprog from the sources, but I get the same massage including the version number.&lt;/p&gt;



&lt;p&gt;Longer down the road I stumble across &lt;a href=&quot;https://github.com/q3k/ulx3s-foss-blinky.git&quot;&gt;https://github.com/q3k/ulx3s-foss-blinky.git&lt;/a&gt; which from the get go targets my variant of FPGA (let doubt that I just compile the bitcode the wrong way)&lt;br /&gt;It uses OpenOCD to do the flashing and best of all it &lt;strong&gt;WORKS&lt;/strong&gt; &lt;img alt=&quot;ðŸ™‚&quot; class=&quot;wp-smiley&quot; src=&quot;https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png&quot; style=&quot;height: 1em;&quot; /&gt;&lt;/p&gt;



&lt;p&gt;The OpenOCD flashing does seem to be a bit slow though… So I keep looking and finds a &lt;a href=&quot;https://github.com/emard/ulx3s/blob/master/doc/MANUAL.md&quot;&gt;manual of sorts&lt;/a&gt; it has a list of programming options and even a description of how to power the board.&lt;br /&gt;The list contains a different programmer &lt;a href=&quot;https://github.com/trabucayre/openFPGALoader&quot;&gt;openFPGALoader&lt;/a&gt; that seems to have more resent updates than ujprog, and the schematic does have a note about them changing the wiring of the programmer in a revision of the board.&lt;br /&gt;Compiles the code, fingers crossed that they have updated it to match the production PCB…&lt;/p&gt;



&lt;p&gt;Success 2: &lt;strong&gt;openFPGALoader –board=ulx3s bitstream.bit&lt;/strong&gt; also works&lt;/p&gt;



&lt;h2&gt;Conclusiuon&lt;/h2&gt;



&lt;p&gt;Is the current documentation a bit rough around the edges? Probably yes.&lt;br /&gt;Is the board amassing?&lt;br /&gt;Probably also yes…&lt;br /&gt;I mean the FPGA is large enough to hold an entire Amiga “implementation”.&lt;br /&gt;The quality of the hardware looks nice too.&lt;br /&gt;And the board contains an integrated programmer and a selection of peripherals to keep me busy for a while.&lt;/p&gt;



&lt;p&gt;Would I recommend the board… Well I haven’t spend enough time with it just yet, but it does seem likely.&lt;/p&gt;



&lt;p&gt;If you do get the 85F I would recommend the &lt;a href=&quot;https://github.com/q3k/ulx3s-foss-blinky.git&quot;&gt;ulx3s-foss-blinky&lt;/a&gt; as a hello world.&lt;br /&gt;And if you have a production PCB i would recommend checking out &lt;a href=&quot;https://github.com/trabucayre/openFPGALoader&quot;&gt;openFPGALoader&lt;/a&gt; for flashing the bit stream.&lt;/p&gt;</description>
	<pubDate>Sun, 04 Oct 2020 09:23:02 +0000</pubDate>
</item>
<item>
	<title>Michael &quot;mickeyl&quot; Lauer: Programming Languages</title>
	<guid>tag:vanille.de,2020-10-03:2020-programming-languages</guid>
	<link>https://www.vanille.de/blog/2020-programming-languages/</link>
	<description>While I never got much into natural languages (beyond my native tounge, a halfway solid english, and some bits and pieces of french), I have always been fascinated by (some) programming languages – I even wrote books about some of them. I (literally) grew up with BASIC and 6502/6510 ASSEMBLER – on the VC20 and the C64. Later on, learned to hate C and love 680x0 ASSEMBLER – on the AMIGA. During the 90s, I enjoyed PASCAL and MODULA II, and then found a preliminary home in Python. The 2000s were largely affected by C++ (which I always found much more interesting than JAVA) until I got acquainted with Objective-C – which later rised to the 2nd place in my top list – shared with Vala, which I still have a sweet spot for, since it liberated me from having to use C. As I grew older (and suddenly realized that my lifetime is actually limited, imagine my surprise…), I learned to embrace higher abstractions and being able to formulate algorithms clear and concise. While Python allowed me to do that, its reliance on runtime errors as opposed to compile-time always bugged me. During the 2010s, I settled on using Python on the server, and Objective-C on the client – still dreaming about a language I could use for both. Fast-forward to 2020. I have been a vocal critic of Apple's new language, Swift, since its debut – for reasons which I'm not going to repeat. Three months have passed since I started learning Swift and I think it's time for a first preliminary report. TLDR: I like it – a lot more than I have ever thought – and will from now on try to use it pretty much everywhere. Before moving on with some details, let me also confess that I'm pretty glad having waited for so long. Judging from the outside, the road to Swift 5 was a very rocky ride. Were I to begin with an earlier version, I might have given up or wasted many hours following a language that was such a moving target – changing every year in more ways than I would have been willing to participate. Syntax, Semantics, and Idioms Swift is very expressive and rich in syntax, semantics, and idioms – and it has a tough learning curve. As someone who has written Objective-C for almost a decade now, let me tell you that whoever told you that Swift is more accessible than Objective-C is a downright lier. Objective-C is a very simple language, as it adds one (yes, just one) construct (and some decorators) on top of another simple language – C. Once I was beyond my reluctance to look into it, I finally see the beauty. Swift has almost everything I have ever wanted in a programming language. Among many other features, it has type safety, generics, multiple inheritance (in the disguise of protocols with default implementation), closures, type inference, namespaces (ok, not first class, but think enums without cases), rich enums, … On top of that it has a REPL (Read-Eval-Print-Loop), which can't be praised enough – it is the #1 missing feature in most compiled languages – and syntax for building DSLs (Domain Specific Languages). And: It is Open Source – which is the #1 feature that has always irritated me with Objective-C. Interoperability I hate repeating myself. I love generic solutions. Over the last decade, I created a number of reusable frameworks that powered all the apps I wrote. It has accumulated quite a bit of stuff, as you can see here (generated using David A Wheeler's SLOCCount): SLOC Directory SLOC-by-Language (Sorted) 2110719 LTSupportCore objc=2063905,ansic=31423,java=5914,cs=3822,cpp=2772, python=2397,sh=486 106939 LTSupportDB objc=106108,sh=831 35669 LTSupportTracking objc=17443,ansic=12219,cpp=4922,java=902,sh=128, python=55 30331 LTSupportUI objc=30053,sh=278 27116 LTSupportDRM objc=27116 9499 LTSupportBluetooth objc=9365,python=134 6143 LTSupportAutomotive objc=6143 5141 LTSupportAudio objc=5141 4510 LTSupportVideo objc=4510 3324 LTSupportCommonControls objc=3324 679 LTSupportDBUI objc=679 340 LTSupportMidi objc=340 271 LTSupportDiagnostics objc=271 One of the things contributing to scare me before switching to Swift was that I may had to rewrite all that again. But it ain't necessarily so. Calling Objective-C from Swift Being probably the company that has the largest Objective-C codebase in the world, Apple worked hard on interoperability. Calling Objective-C from Swift is a breeze – they'll even convert method names for you. Not much to complain here. Almost every Objective-C construct is visible to Swift. Calling Swift from Objective-C Calling Swift from Objective-C is a tad bit harder. Apart from having to including (generated) extra headers, the whole plane of types with value semantics is more or less invisible to Objective-C. There are ways to bridge (AnyObject), but it's cumbersome and sometimes very for generic code (__SwiftValue__). Beyond Apple In a surprising move, Apple released Swift as an open source project. And although the struggle of combining a product oriented software release cycle with a community oriented evolution process is sometimes obvious (you can follow the tension if you read some of the evolution threads on the Swift forums), they manage it quite well. What catched my attention in particular was the invention of Server-side Swift and the Swift Package Manager, since these two projects have the power to replace my use of Python forever. Foreign Platforms My new set of swift-frameworks will be open source and also support UNIX-like platforms (to a certain degree, since Apple still has their crown jewels like UIKit and AppKit closed), hence finally I can use my reusable solutions both on the client and the server. Unfortunately Google backed somewhat out of using Swift. For quite some time it looked like they would embrace it as another first-class language for their forthcoming Android successor. This would have been the icing on the cake, but let's see – Kotlin is pretty similar Swift, but not it. Conclusion I'm now familiar enough with Swift that I made the decision to go all-in, helping to improve the server-side ecosystem as I go. Speaking about which – I still miss a bunch of features, in particular first-class coroutines for asynchronous algorithms, a proper database abstraction, and a cross-platform logging solution. But what I enjoy the most is to be a part of a vibrant (language) community again. People are way more excited when it comes to Swift as they ever were with Objective-C. And this is great!</description>
	<pubDate>Sat, 03 Oct 2020 12:00:00 +0000</pubDate>
</item>
<item>
	<title>Talpadk: How to prevent Microsoft Flight Simulator 2020 from bsod when started on a virtual Windows PC using KVM</title>
	<guid>http://talpadk.wordpress.com/?p=238</guid>
	<link>https://talpadk.wordpress.com/2020/09/13/how-to-prevent-microsoft-flight-simulator-2020-from-bsod-when-started-on-a-virtual-windows-pc-using-kvm/</link>
	<description>&lt;p&gt;I assume you already have a working virtual machine that uses pci passthrough and that it works just fine with other games.&lt;/p&gt;



&lt;p&gt;BUT very time you start up MS Flight Simulator 2020 Windows crashes with a blue screen of death.&lt;br /&gt;It took me some time to figure out, so I’m writing this in the hope that it saves some other poor souls time.&lt;/p&gt;



&lt;p&gt;The fix is quite simple you need to give the option “ignore_msrs=1” to the kvm kernel module.&lt;br /&gt;Create the file “&lt;strong&gt;/etc/modprobe.d/kvm.conf&lt;/strong&gt;“&lt;br /&gt;Containing the line “&lt;strong&gt;options kvm ignore_msrs=1&lt;/strong&gt;“&lt;br /&gt;And reboot the host.&lt;/p&gt;



&lt;p&gt;See: &lt;a href=&quot;https://wiki.archlinux.org/index.php/QEMU#Certain_Windows_games/applications_crashing/causing_a_bluescreen&quot;&gt;https://wiki.archlinux.org/index.php/QEMU#Certain_Windows_games/applications_crashing/causing_a_bluescreen&lt;/a&gt; for a slightly more in depth explanation of this.&lt;/p&gt;</description>
	<pubDate>Sun, 13 Sep 2020 06:56:12 +0000</pubDate>
</item>
<item>
	<title>Michael &quot;mickeyl&quot; Lauer: Feeling like Don Quixote</title>
	<guid>tag:vanille.de,2020-06-25:feeling-like-quixote</guid>
	<link>https://www.vanille.de/blog/feeling-like-quixote/</link>
	<description>For some years now, I have been feeling like Don Quixote fighting against windmills. This is a multidimensional feeling that has its roots in both personal and professional circumstances. With regards to personal issues, I won't go into details as I want to keep this blog free from politics, society, and economics. With regards to professional circumstances, something that bugs me a lot is that I seem to engage in fighting wars that can't be won. Free software lost a lot of wars, most notably though in the mobile sector. As I have complained more than once before, over the last decade, the phone and tablet world has become much less free. Even big companies struggle these days and it looks like we're stuck with a duopoly for a long long time. Today though I want to complain about one of these two players, namely the Apple development platforms. By 2013, software development for Apple devices was a lot of fun. We had a great mature language, nice frameworks, and a big market to try out all kinds of ideas and ways to make a living. For some reason though this changed, when Apple introduced the Swift programming language. It split the developer world and alienated a lot of the veterans. The claims of better readability, performance, and what not could not be achieved. In fact, I (and a lot of people not wearing rose-colored glasses agree with me) think, what has been proposed as a way to flatten the learning curve is actually harder to learn and less readable. For the major part of the last years I ignored everything Swift, hoping that for the remainder of my professional career (lets say 20 more years, if all goes well) Objective-C would be at least well enough supported that I could continue writing programs -- even without a vibrant open source community (since most folks have switched to Swift immediately and despite popular belief mix and match is not a thing) and proper API docs. Last year though the first swift-only frameworks and a whole new approach for semi-declarative UIs appeared. SwiftUI -- they even named it like the programming language sigh. This year they are &quot;moving forward&quot; by deprecating more Objective-C frameworks and introducing SwiftUI as the one and only way in some places. It's now clear to me: It's either I leave the platform or I stop trying to achieve perfection with a certain -- restricted -- set of tools but rather walking their rocky road. And I must confess, I still love the Apple platform so much that I give up fighting aginst the windmills and start from scratch. Learning SwiftUI. Learning Swift. On a slightly related note: For a new contract, I have to revisit the successful build system I co-founded 20 years ago: OpenEmbedded. Though being quite rusty (left the project 11 years ago), I'm looking forward to finding out what the community made out of it. Stay safe and healthy.</description>
	<pubDate>Thu, 25 Jun 2020 12:00:00 +0000</pubDate>
</item>
<item>
	<title>Michael &quot;mickeyl&quot; Lauer: Welcome, 2020</title>
	<guid>tag:vanille.de,2020-02-10:welcome-2020</guid>
	<link>https://www.vanille.de/blog/welcome-2020/</link>
	<description>Here's the new decade. 2019 went by as an important year where I regained some of my health, discipline, and motivation. Next to the inevitable iOS development, the most important milestones were the release of the 2nd edition of my Vala book and my first music album after more than two decades of inactiveness. I'm looking forward to this decade. The best is yet to come.</description>
	<pubDate>Mon, 10 Feb 2020 12:00:00 +0000</pubDate>
</item>
<item>
	<title>Harald &quot;LaF0rge&quot; Welte: 36C3 Talks on SIM card technology / Mitel DECT</title>
	<guid>https://laforge.gnumonks.org/blog/20200105-36c3-talks/</guid>
	<link>https://laforge.gnumonks.org/blog/20200105-36c3-talks/</link>
	<description>&lt;p&gt;At &lt;a class=&quot;reference external&quot; href=&quot;https://events.ccc.de/congress/2019&quot;&gt;36C3&lt;/a&gt; in December 2019 I had
the pleasure of presenting: One full talk about &lt;a class=&quot;reference external&quot; href=&quot;https://media.ccc.de/v/36c3-10737-sim_card_technology_from_a-z&quot;&gt;SIM card technology from A to Z&lt;/a&gt;
and another talk where I presented together with eventphone team members
about &lt;a class=&quot;reference external&quot; href=&quot;https://media.ccc.de/v/36c3-10576-mifail_oder_mit_gigaset_ware_das_nicht_passiert&quot;&gt;Security issues in the Mitel SIP-DECT system&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The SIM card talk was surprisingly successful, both in terms of a full
audience on-site, as well as in terms of the number of viewers of the
recordings on media.ccc.de.   SIM cards are a rather niche topic in the
wider IT industry, and my talk was not covering any vulnerabilities or
the like.  Also, there was nothing novel in the talk: SIM cards have
been around for decades, and not much has changed (except maybe eSIM and
TLS) in recent years.&lt;/p&gt;
&lt;p&gt;In any case, I'm of course happy that it was well received.  So far I've
received lots of positive feedback.&lt;/p&gt;
&lt;p&gt;As I'm working [more than] full time in cellular technology for almost
15 years now, it's sometimes hard to imagine what kind of topics people
might be interested in.  If you have some kind of suggestion on what
kind of subject within my area of expertise you'd like me to talk about,
please don't hesitate to reach out.&lt;/p&gt;
&lt;p&gt;The Mitel DECT talk also went quite well.  I covered about 10 minutes of
technical details regarding the reverse engineering of the firmware and
the communication protocols of the device.  Thanks again to &lt;a class=&quot;reference external&quot; href=&quot;http://mirider.com/&quot;&gt;Dieter
Spaar&lt;/a&gt; for helping with that.  He is and remains
the best reverse engineer I have met, and it's always a privilege to
collaborate on any project.  It was of course also nice to see what
kind of useful (and/or fun) things the eventphone team have built on
top of the knowledge that was gained by protocol-level reverse
engineering.&lt;/p&gt;
&lt;p&gt;If you want to know more low-level technical detail than the 36C3 talk,
I recommend my &lt;a class=&quot;reference external&quot; href=&quot;https://media.ccc.de/v/osmodevcon2019-100-aastra-mitel-dect-base-station-dissection&quot;&gt;earlier talk at the OsmoDevCon 2019 about Aastra/Mitel
DET base station dissection&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If only I had more time, I would love to work on improving the lack of
Free / Open Source Software realted to the DECT protocol family.
There's the abandoned &lt;a class=&quot;reference external&quot; href=&quot;http://dedected.org/&quot;&gt;deDECTed.org&lt;/a&gt;, and the
equally abandoned &lt;a class=&quot;reference external&quot; href=&quot;http://dect.osmocom.org/&quot;&gt;dect.osmocom.org&lt;/a&gt;
project.  The former only deals with the loewst levels of DECT
(PHY/MAC).  The latter is to a large extent implemented as part of an
ancient version of the Linux kernel (I would say this should all run in
userspace, like we run all of GSM/UMTS/LTE in userspace today).&lt;/p&gt;
&lt;p&gt;If anyone wants to help out, I still think working on the DECT DLC and
NWK dissectors for wireshark is the best way to start.  It will create a
tool that's important for anyone working with the DECT protocols, and it
will be more or less a requirement for development and debugging should
anyone ever go further in terms of implementing those protocols on
either the PP or FP side.  You can find my humble beginnings of the
related dissectors in the &lt;a class=&quot;reference external&quot; href=&quot;https://git.osmocom.org/wireshark/log/?h=laforge/dect&quot;&gt;laforge/dect branch of osmocom.org/wireshark.git&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Sat, 04 Jan 2020 23:00:00 +0000</pubDate>
</item>
<item>
	<title>Harald &quot;LaF0rge&quot; Welte: Retronetworking / BBS-Revival setup at #36C3</title>
	<guid>https://laforge.gnumonks.org/blog/20200105-36c3-retronetworking/</guid>
	<link>https://laforge.gnumonks.org/blog/20200105-36c3-retronetworking/</link>
	<description>&lt;p&gt;After many years of being involved in various projects at the annual
Chaos Communication Congress (starting from the audio/vidoe recording
team at 15C3), I've finally also departed the GSM team, i.e. the people
who operate (Osmocom based) cellular networks at CCC events.&lt;/p&gt;
&lt;p&gt;The &lt;a class=&quot;reference external&quot; href=&quot;https://events.ccc.de/camp/2019&quot;&gt;CCC Camp&lt;/a&gt; in August 2019 was
slightly different: Instead of helping an Osmocom based 2G/3G network, I
decided to put up a nextepc-based LTE network and make that use the
2G/3G HLR (osmo-hlr) via a newly-written &lt;a class=&quot;reference external&quot; href=&quot;http://git.osmocom.org/erlang/osmo_dia2gsup/&quot;&gt;DIAMETER-to-GSUP proxy&lt;/a&gt;.  After lots of hacking
on that proxy and fixing various bugs in nextepc (see my
&lt;a class=&quot;reference external&quot; href=&quot;https://github.com/laf0rge/nextepc/tree/laforge/cccamp19&quot;&gt;laforge/cccamp2019 branch here&lt;/a&gt;)
this was working rather fine.&lt;/p&gt;
&lt;p&gt;For &lt;a class=&quot;reference external&quot; href=&quot;https://events.ccc.de/congress/2019&quot;&gt;36C3&lt;/a&gt; in December 2019 I had
something different in mind:  It was supposed to be the first actual
demo of the retronetworking / bbs-revival setup I've been working on
during past months.  This setup in turn is sort-of a continuation of my
talk at 34C3 two years ago: &lt;a class=&quot;reference external&quot; href=&quot;https://media.ccc.de/v/34c3-9034-bbss_and_early_internet_access_in_the_1990ies&quot;&gt;BBSs and early Intenet access in the 1990ies&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Rather than just talking about it, I wanted to be able to show people
the real thing:  Actual client PCs running (mainly) DOS, dialling over
analog modems and phone lines as well as ISDN-TAs and ISDN lines into
BBSs, together with early Interent access using SLIP and PPP over the
same dial-up lines.&lt;/p&gt;
&lt;p&gt;The actual setup can be seen at the
&lt;a class=&quot;reference external&quot; href=&quot;http://osmocom.org/projects/retro-bbs/wiki/Dialup_Network_In_A_Box&quot;&gt;Dialup Network In A Box&lt;/a&gt;
wiki page, together with the
&lt;a class=&quot;reference external&quot; href=&quot;http://osmocom.org/projects/retro-bbs/wiki/36C3&quot;&gt;36C3 specific&lt;/a&gt; wiki
page.&lt;/p&gt;
&lt;p&gt;What took most of the time was - interestingly - mainly two topics:&lt;/p&gt;
&lt;ol class=&quot;arabic simple&quot;&gt;
&lt;li&gt;&lt;p&gt;A 1U rack-mount system with four E1 ports.  I had lots of old Sangoma
Quad-E1 cards in PCI form-factor available, but wanted to use a PC
with a more modern/faster CPU than those old first-generation Atom
boxes that still had actual PCI slots.  Those new mainboards don't
have PCI but PCIe.  There are plenty of PCIe to PCI bridges and
associated products on the market, which worked fine with virtually
any PCI card I could find, but not with the  Sangoma AFT PCI cards I
wanted to use.  Seconds to minutes after boot, the PCI-PCIe bridges
would always forget their secondary bus number.  I suspected
excessive power consumption or glitches, but couldn't find anything
wrong when looking at the power rails with a scope.  Adding
additional capacitors on every rail also didn't change it.  The
!RESET line is also clean.  It remains a mystery.  I then finally
decided to but a new (expensive) DAHDI 4-port E1 PCIe card to move
ahead.  What a waste of money if you have tons of other E1 cards
around.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Various trouble with FreeSWITCH.  All I wanted/needed was some simple
emulation of a PSTN/ISDN switch, operating in NT mode towards both
the Livingston Portmaster 3 RAS and the Auerswald PBX.  I would have
used &lt;a class=&quot;reference external&quot; href=&quot;http://linux-call-router.de/&quot;&gt;lcr&lt;/a&gt;, but it supports neither
DAHDI nor Sangoma, but only mISDN - and there are no mISDN cards with
four E1 ports :(  So I decided to go for FreeSWITCH, knowing it has
had a long history of ISDN/PRI/E1 support.  However, it was a big
disappointment.  First, there were some segfaults due to a &lt;a class=&quot;reference external&quot; href=&quot;https://github.com/osmocom/freeswitch/commit/a341d58fbdf6b8bd7d1dd9509dc5319bee206168&quot;&gt;classic pointer deref before NULL-check&lt;/a&gt;.
Next,  libpri and FreeSWITCH have a &lt;a class=&quot;reference external&quot; href=&quot;https://github.com/osmocom/freeswitch/commit/5621e2a5edbbeec910988eca9446186f19790ab8&quot;&gt;different idea how channel (timeslot) numbers are structured&lt;/a&gt;,
rendering any call attempt to fail.  Finally, FreeSWITCH decided to
&lt;a class=&quot;reference external&quot; href=&quot;https://github.com/osmocom/freeswitch/commit/83f6bf5276cf70bb11b84615116b0e5cfc590b9d&quot;&gt;blindly overwrite any bearer capabilities IE with 'speech'&lt;/a&gt;,
even if an ISDN dialup call (unrestricted digital information) was
being handled.  The FreeSWITCH documentation contains tons of
references on channel input/output variables related to that - but it
turns out their &lt;a class=&quot;reference external&quot; href=&quot;https://github.com/osmocom/freeswitch/commit/2cd558502671b9902e0ed05e52d6b5ff10ecbb59&quot;&gt;libpri integration doesn't set any of those&lt;/a&gt;,
nor use any of them on the outbound side.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Anyway, after a lot more time than expected the setup was operational,
and we could establish modem calls as well as ISDN dialup calls between
the clients and the Portmaster3.  The PM3 in turn then was configured to
forward the dialup sessions via telnet to a variety of BBSs around the
internet.  Some exist still (or again) on the public internet.
Some others were explicitly (re)created by 36C3 participants for this
very BBS-Revival setup.&lt;/p&gt;
&lt;p&gt;My personal favorite was finding &lt;a class=&quot;reference external&quot; href=&quot;http://blackflag.acid.org/acid-underworld-on-searchlight.html&quot;&gt;ACiD Underworld 2.0&lt;/a&gt;, one
of the few BBSs out there today who support RIPscrip, a protocol used to
render vector graphics, text and even mouse-clickable UI via modem
connection to a DOS/EGA client program called RIPterm.  So we had one
RIPterm installation on Novell DOS7 that was just used for dialling into
ACiD Underworld 2.0.&lt;/p&gt;
&lt;p&gt;Among other things we also tested interoperability between the 1980ies
CCC DIY accoustic coupler &quot;Datenklo&quot; and the Portmaster, and confirmed
that Windows 2000 could establish multilink-PPP not only over two
B-channels (128 kbps) but also over 3 B-Channels (192).&lt;/p&gt;
&lt;p&gt;Running this setup for four days meant 36C3 was a quite different
experience than many previous CCC congresses:&lt;/p&gt;
&lt;ul class=&quot;simple&quot;&gt;
&lt;li&gt;&lt;p&gt;I was less stressed as I wasn't involved in operating a service that
many people would want to use (GSM).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I got engaged with many more people with whom I would normally not
have entered a conversation, as they were watching the exhibits/demos
and we got to chat about the technology involved and the 'good old
days'.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So all in all, despite the &lt;a class=&quot;reference external&quot; href=&quot;https://twitter.com/LaF0rge/status/1210463996282884096&quot;&gt;last minute FreeSWITCH-patching&lt;/a&gt;,
it was a much more relaxing and rewarding experience for me.&lt;/p&gt;
&lt;p&gt;Special thanks to&lt;/p&gt;
&lt;ul class=&quot;simple&quot;&gt;
&lt;li&gt;&lt;p&gt;Sylvain &quot;tnt&quot; Munaut for spending a lot of time with me at the
retronetworking assembly.  The fact that I had an E1 interface around
was a good way for him to continue development on his ICE40 based
bi-directional E1 wiretap.  He also helped with setup and teardown.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;miaoski and evanslify for reviving two of their old BBSs from Taiwan
so we could use them at this event&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The retronetworking setup is intended to operate at many other future
events, whether CCC related, Vintage Computing or otherwise.  It's
relatively small and portable.&lt;/p&gt;
&lt;p&gt;I'm very much looking forward to the next incarnations.  Until then, I
will hopefully have more software configured and operational, including
a variety of local BBSs (running in VMs/containers), together with the
respective networking (FTN, ZConnect, ...) and point software like
CrossPoint.&lt;/p&gt;
&lt;p&gt;If you are interested in helping out with this project: I'm very much
looking for help.  It doesn't matter if you're old and have had BBS
experience back in the day, or if you're a younger person who wants to
learn about communications history.  Any help is appreciated.  Please
reach out to the &lt;a class=&quot;reference external&quot; href=&quot;mailto:bbs-revival@lists.osmocom.org&quot;&gt;bbs-revival@lists.osmocom.org&lt;/a&gt; mailing list, or directly
to me via e-mail.&lt;/p&gt;</description>
	<pubDate>Sat, 04 Jan 2020 23:00:00 +0000</pubDate>
</item>
<item>
	<title>Hanjo: Entschleunigung?</title>
	<guid>https://bunix.de/2019/12/Entschleunigung</guid>
	<link>https://bunix.de/2019/12/Entschleunigung</link>
	<description>&lt;p&gt;Wir reden alle immer davon das die Welt so schrecklich schnell geworden ist. Alles ist so stressig und laut. Ganz ehrlich wer dieser Tage durch die Dresdner Innenstadt geht ist bescheuert.&lt;/p&gt;
          &lt;p&gt;Am Nachmittag meide ich den Fußweg zum Hauptbahnhof um dem Gedrängel zu entgehen. Am Morgen ist es eigentlich noch still und es liegt ein diffuser Geruch von vergammelter Bratwurst und kaltem Glühwein in der Luft aber dann ist er da der Weihnachtscountdown, riesig groß und einfach zum kotzen.&lt;/p&gt;
          &lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://bunix.de/key/personal-blog/tag/openmoko/action/media/entschleunigung.jpg&quot; /&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 03 Dec 2019 19:10:59 +0000</pubDate>
</item>
<item>
	<title>Hanjo: Liberatings Structures</title>
	<guid>https://bunix.de/2019/11/LiberatingStructures</guid>
	<link>https://bunix.de/2019/11/LiberatingStructures</link>
	<description>&lt;p&gt;Die &lt;a href=&quot;https://www.liberatingstructures.de/&quot;&gt;Liberating Structures&lt;/a&gt; sind gerade ganz hip. Zumindest 1-2-4 All hat vermutlich inzwischen jeder in seinem Methodenkoffer.&lt;/p&gt;
      &lt;p&gt;Um den Überblick zu behalten oder sich seinen eigenen String zu basteln gibt es ausführliche Beschreibungen im Internet (&lt;a href=&quot;https://www.liberatingstructures.de/&quot;&gt;deutsch&lt;/a&gt; / &lt;a href=&quot;https://bunix.de/key/personal-blog/tag/openmoko/action/www.liberatingstructures.com/&quot;&gt;englisch&lt;/a&gt;) oder in &lt;a href=&quot;https://www.amazon.de/Surprising-Power-Liberating-Structures-Innovation/dp/0615975305&quot;&gt;Buchform&lt;/a&gt;. Für die digitalen Menschen die ständig ihr Smartphone oder Tablet griffbereit haben gibts eine App (&lt;a href=&quot;https://play.google.com/store/apps/details?id=de.holisticon.app.ls&amp;amp;hl=de&quot;&gt;Android&lt;/a&gt; / &lt;a href=&quot;https://apps.apple.com/de/app/liberating-structures/id1206361128&quot;&gt;Apple&lt;/a&gt;) und wer will kann auch Geld für schicke &lt;a href=&quot;https://www.amazon.de/Holisticon-Liberating-Structures-Design-Cards/dp/B077L6SPKR/&quot;&gt;Karten ausgeben&lt;/a&gt; oder diese eben &lt;a href=&quot;https://github.com/vpapadopou/liberating-structures-cards&quot;&gt;selber drucken&lt;/a&gt;.&lt;/p&gt;
      &lt;p&gt;Für jeden Geschmack etwas dabei :)&lt;/p&gt;
      &lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://bunix.de/key/personal-blog/tag/openmoko/action/media/lsiconographytracykellymedium.jpg&quot; /&gt;&lt;/p&gt;
      &lt;p&gt;&lt;em&gt;Bildquelle: &lt;a href=&quot;https://learning-moments.net/2018/09/20/liberating-structures-social-immersion-workshop-an-invitation/&quot;&gt;Learning moments &lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 26 Nov 2019 19:12:59 +0000</pubDate>
</item>
<item>
	<title>Hanjo: Der Wahnsinn mit der Geschwindigkeit</title>
	<guid>https://bunix.de/2019/10/DerWahnsinnigMitDerGeschwindigkeit</guid>
	<link>https://bunix.de/2019/10/DerWahnsinnigMitDerGeschwindigkeit</link>
	<description>&lt;p&gt;Warum zur Hölle wollen Menschen immer die Geschwindigkeit von Teams vergleichen?&lt;/p&gt;
  &lt;p&gt;Vielleicht weil der Begriff Geschwindigkeit dazu verleitet ein langsames Auto als Trabbi und ein schnelles als Porsche zu verbuchen. Dabei messen wir zwar immer das gleiche, nämlich in einem Sprint erledigte Arbeit. Die Maßeinheit sind in der Regel Storypunkte, welche aber keine über Teamgrenzen hinweg normierte Größe darstellen.&lt;/p&gt;
  &lt;p&gt;Das schmieren eines Brötchens kann von einem Team mit 1 Storypunkt geschätzt und von einem anderen mit 2 Storypunkten geschätzt werden, während ein drittes Team die Aufgabe die Aufgabe der Trivialität halber gar nicht schätzt. Jedes Team braucht am Ende die gleiche Zeit für die Arbeit, welches Teams aber hat nun die höchste Velocity?&lt;/p&gt;
  &lt;p&gt;Keines. Velocity und Schätzungen mit Storypunkten sind eine Hilfe für das Team um das aufteilen von Arbeit zu erlernen. Möchte ich wirklich Teams vergleichen, dann muss man auf andere Metriken, wie zum Beispiel Lead- und Cycletimes, ausweichen.&lt;/p&gt;
  &lt;p&gt;Mein Standpunkt: Die Velocity ist immer eine &lt;strong&gt;Teamvelocity&lt;/strong&gt; und ein Storypunkt eben ein &lt;strong&gt;Teamstorypunkt&lt;/strong&gt;. Beides Einheiten die für das &lt;strong&gt;Team&lt;/strong&gt; einen Wert haben, im Unternehmen und über Teamgrenzen hinweg aber keine Vergleichbarkeit ermöglichen (sollen).&lt;/p&gt;
  &lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://bunix.de/key/personal-blog/tag/openmoko/action/media/ludicrousspeed.gif&quot; /&gt;&lt;/p&gt;
  &lt;p&gt;&lt;em&gt;Bildquelle: &lt;a href=&quot;https://giphy.com/gifs/zWRGR4gyztG9y&quot;&gt;giphy.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</description>
	<pubDate>Mon, 14 Oct 2019 19:20:01 +0000</pubDate>
</item>
<item>
	<title>Hanjo: Gelobt ist auch Geschimpft</title>
	<guid>https://bunix.de/2019/10/GelobtIstAuchGeschimpft</guid>
	<link>https://bunix.de/2019/10/GelobtIstAuchGeschimpft</link>
	<description>&lt;p&gt;Ich habe meine Kinder nie geschimpft wenn sie schlechte Noten hatten. Ich gebe nicht viel auf Zahlen die unreflektiert und oft kontextfrei versuchen die Leistung von Menschen abzubilden. Und doch konnte ich immer wieder die Wirkung von Leistungsdruck spüren.&lt;/p&gt;
  &lt;p&gt;Vor Tests, Klassenarbeiten und mündlichen Kontrollen war sie da die Angst und Unsicherheit. Sorge es nicht zu können, zu viel berichtigen zu müssen, schlechter zu sein als die Klassenkameraden. Das gleiche vor dem Zeugnis, Angst vor der Drei auf dem Papier.&lt;/p&gt;
  &lt;p&gt;Natürlich spielt hier das direkte Lernumfeld eine Rolle. Der Lehrer als Person des Vertrauens gibt schließlich eine Wertung ab. Unter die &lt;em&gt;gute&lt;/em&gt; Note kommt ein Smiley unter die &lt;em&gt;schlechte&lt;/em&gt; eben nicht. Beim Austeilen wird gelobt oder gemahnt, und sei es nur das Kopfschütteln des Lehrers.&lt;/p&gt;
  &lt;p&gt;Ich erinnere mich noch an eine Diskussion aus den Elternabend, es ging darum ob ein Notenspiegel unter die Arbeit geschrieben werden soll. Die Lehrerin machte das eh immer so und es wurde abgestimmt das ein Notenspiegel wichtig sei damit man wisse wie das Kind in Vergleich zum Rest der Klasse steht. Das man damit den Kindern im hinteren Drittel des Notenspektrums ein schlechtes Gefühl vermittle war egal. Im Gegenteil, das sollte ja ein Ansporn sein besser zu werden?!&lt;/p&gt;
  &lt;p&gt;Bei allem Meckern über andere kam mir aber selbst eine Einsicht. Ich habe meine Kinder nie geschimpft bei &lt;em&gt;schlechten&lt;/em&gt; Noten. Ich habe sie aber gelobt wenn es &lt;em&gt;gute&lt;/em&gt; Noten gab…&lt;/p&gt;
  &lt;p&gt;Ich sorgte also für gute Gefühle wenn sie der Norm entsprechen. Bei einem Unterschreiten der Norm blieb mir nur das Trösten, das Bestärken und das Aufzeigen der guten Leistungen im Test. Dem Endorphinrausch des Lobes gegenüber aber kein Vergleich.&lt;/p&gt;
  &lt;p&gt;Eine Situation in der man nur verlieren kann, denn man zeigt dem Kind eben doch das eine &lt;em&gt;gute&lt;/em&gt; Note wertvoller ist als eine &lt;em&gt;schlechte&lt;/em&gt; Note.&lt;/p&gt;
  &lt;p&gt;Die einzige Sinnvolle Lösung, welche ich sehe ist das komplette weglassen einer Benotung. Für mich heißt das nicht keine Lernziele zu definieren, sondern es geht einher mit dem formulieren, erreichen und evaluieren von Lernzielen.&lt;/p&gt;
  &lt;p&gt;Die &lt;em&gt;schlechte&lt;/em&gt; Note ist am Ende ja nur ein Symptom nicht aber die Ursache von fehlender Kompetenz. Das Resultat ist aber meist keine reflexion von Können und Bedarf sondern schlicht ein Stempel das etwas nicht stimmt.&lt;/p&gt;</description>
	<pubDate>Sat, 12 Oct 2019 11:50:42 +0000</pubDate>
</item>
<item>
	<title>Hanjo: Erster Monat - Schule von Morgen</title>
	<guid>https://bunix.de/2019/10/ErsterMonatSchuleVonMorgen</guid>
	<link>https://bunix.de/2019/10/ErsterMonatSchuleVonMorgen</link>
	<description>&lt;p&gt;Hinter den großen Kindern liegt jetzt ein reichlicher Monat in einer neuen Universitätsschule Dresden. Einer Schule in der Alles und Alle neu sind. Alle müssen sich eingewöhnen, Kindergartenkinder die das erste Mal eine Schule besuchen, dazu Grund- und Oberschüler die vorher an anderen Einrichtungen beschult wurden. Aber nicht nur Kinder, auch Pädagogen müssen sich und das neue Konzept, Umgebung und Schüler kennenlernen.&lt;/p&gt;
  &lt;p&gt;Insgeheim haben wir natürlich, wie viele andere Eltern auch, auf eine fertige Schule gehofft. Mit fertigen Strukturen, Konzepten und wo alles flutscht. Dem ist aber nicht so und das ist in Ordnung.&lt;/p&gt;
  &lt;p&gt;All die Lücken im Online-Schulportal, der Ausstattung oder der Schulhofgestaltung werden wett gemacht durch engagierte Pädagogen, die Großartiges leisten und dabei bis an ihre Leistunggrenzen gehen. Dafür kann ich nur danken, denn man spürt das hier der Wille lebt das Projekt zum Erfolg zu führen, das man bereit ist den Plan zu ändern wenn man merkt das der alte in eine Sackgasse führt.&lt;/p&gt;
  &lt;p&gt;Versuchte die Schule initial mit maximaler Freiheit in die Projektarbeit zu starten mussten die Pädagogen schnell feststellen das Jahre des Frontalunterrichts nicht einfach ausgeblendet werden können. Die Kinder müssen erst einmal wieder lernen Fragen zu stellen. Müssen lernen Arbeit gemeinsam zu erledigen und den Pädagogen nicht als Gegenspieler sondern als Unterstützer zu sehen. Das dazu noch grundlegende sozial Defizite einiger Schüler kommen mal außen vor.&lt;/p&gt;
  &lt;p&gt;Aktuell ist es nun so das die Universitätsschüler etwas mehr “Fachunterricht” haben. Zwei Stunden täglich altershomogene Betreuung in Mathe, Lesen und Schreiben, Sprachen, Kunst und Sport. Zwischen diesen Werkstätten wird frei an Projekten gearbeitet. Unseren Kindern hat das viel gebracht, etwas Struktur an der man sich orientieren kann und etwas Abstand zu den älteren Kindern aus Klassenstufe Fünf.&lt;/p&gt;
  &lt;p&gt;Ich finde es toll wie hier reagiert wurde. Ein Problem wurde identifiziert und adressiert. Es ist keine endgültige Lösung und auch nicht das wohin wir wollen aber es ist eine Basis auf der man aufbauen kann und die allen eine Verschnaufpause verschafft.&lt;/p&gt;
  &lt;p&gt;Ich bin sehr gespannt wie sich die Schule nun weiter entwickelt! Sorgen mache ich mich aber um die Pädagogen die ein hohes Pensum an Mehrarbeit leisten und vermutlich erst einmal weiter leisten müssen. Denn das Versprechen mit dem gleichen Personalschlüssel auszukommen wie eine Frontale Regelschule wird erst tragbar wenn die Mehrzahl der Kinder in der Lage ist eigenständig zu lernen.&lt;/p&gt;
  &lt;p&gt;Mein Fazit nach dem ersten Monat, es war kein Fehler unsere Kinder auf die Unischule zu bringen. Auch wenn alte Klassenkameraden bereits ihren ersten Test in Englisch geschrieben haben, so haben meine Kinder schon viel fürs Leben gelernt.&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://universitaetsschule.org/&quot;&gt;&lt;img alt=&quot;Universitätsschule Dresden&quot; src=&quot;https://bunix.de/key/personal-blog/tag/openmoko/action/media/logo_unischule.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Sat, 05 Oct 2019 21:23:42 +0000</pubDate>
</item>
<item>
	<title>Hanjo: Klimastreik Dresden 2019</title>
	<guid>https://bunix.de/2019/09/KlimastreikDresden</guid>
	<link>https://bunix.de/2019/09/KlimastreikDresden</link>
	<description>&lt;p&gt;Nun ist es schon wieder eine Woche her das in Dresden laut den Organisatoren etwa 14.000 Menschen im Rahmen des globalen Klimastreiktages auf die Straße gingen. Deutschlandweit waren es mehr als 1.4 Millonen. Aufgerufen zum Streik hatte unter anderem &lt;a href=&quot;https://fridaysforfuture.de/allefuersklima/&quot;&gt;Fridays for Future&lt;/a&gt;. Wir waren mit einigen Kollegen ab dem Dresdner Hauptbahnhof ebenfalls dabei.&lt;/p&gt;
  &lt;p&gt;Die räumliche Nähe und der Start der Demo zur Mittagszeit hat mit Sicherheit dazu beigetragen das der eine oder andere eine verlängerte Mittagspause oder einen frühen Feierabend investiert hat.&lt;/p&gt;
  &lt;p&gt;Die Demo selbst war unspektakulär, wenn keine Nazis oder Fußballerspieler angekündigt sind, dann ist auch nicht die ganze Stadt voller Robocops, dass zumindest war mal angenehm. Der Auftakt zog sich leider ganz schön in die Länge, so dass genug Zeit war selbstkritisch die Texte mancher Transparente und Schilder zu diskutieren um sich die Zeit zu vertreiben.&lt;/p&gt;
  &lt;p&gt;Auch die Organisatoren hatten wohl nicht damit gerechnet den kompletten Wiener Platz vor dem Dresdner Hauptbahnhof zu füllen. Als der Demozug dann auf Höhe des großen Gartens war ging eine Info durch die Reihe das jetzt die letzten am Hauptbahnhof gestartet seien. Das ist immerhin etwas mehr als ein Kilometer!&lt;/p&gt;
  &lt;p&gt;Da ich aus logistischen Gründen (oder fahrt ihr mit dem Auto zur Klimademo) die Kinder noch von der Schule abholen musste war die Demo für mich gegen 15 Uhr dann zu Ende. Ich staune aber dennoch das sogar eine demofaule Stadt wie Dresden so viele Menschen mobilisieren konnte! Kudos an alle die dabei waren und länger bleiben konnten als ich!&lt;/p&gt;
  &lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://bunix.de/key/personal-blog/tag/openmoko/action/media/klimastreik0919.jpg&quot; /&gt;&lt;/p&gt;
  &lt;p&gt;&lt;em&gt;Bildquelle: &lt;a href=&quot;https://flickr.com/photos/162767515@N08/48765084423&quot;&gt;Cornelius Braun&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 26 Sep 2019 18:14:42 +0000</pubDate>
</item>
<item>
	<title>Hanjo: Universitätsschule sucht Studierende</title>
	<guid>https://bunix.de/2019/09/UnischuleSuchtStudentInnen</guid>
	<link>https://bunix.de/2019/09/UnischuleSuchtStudentInnen</link>
	<description>&lt;blockquote&gt;
    &lt;p&gt;Die Universitätsschule ist ein Schulversuch, der neue Konzepte des Lernens in Schule erprobt. Die Schule ist eine Ganztagsschule und gelernt wird hauptsächlich in Projekten. Aktuell hat die Schule 200 Schüler*innen von der 1 bis zu 5. Klasse und wir suchen Studierende, die sich vorstellen können dieses Lernen sowohl in Projekten als auch in Werkstätten zu begleiten. Solltet Ihr/ Sie Interesse haben, freuen wir uns über eine Kontaktaufnahme. &lt;a href=&quot;mailto:unischule@mailbox.tu-dresden.de&quot;&gt;unischule@mailbox.tu-dresden.de&lt;/a&gt;&lt;/p&gt;
  &lt;/blockquote&gt;
  &lt;p&gt;&lt;a href=&quot;mailto:unischule@mailbox.tu-dresden.de&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://bunix.de/key/personal-blog/tag/openmoko/action/media/unischulesuchtstudierende.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 26 Sep 2019 16:59:42 +0000</pubDate>
</item>

</channel>
</rss>
