Software
The July Galileo Outage: What happened and why
By bert hubert / bert@hubertnet.nl
This post is an excerpt of a far longer post on Galileo, its structures and the cause of the outage. Here we’ll only focus on the outage - the potential underlying reasons behind it are described in the full article.
Since the week-long outage in July I’ve been fascinated by Galileo and, together with a wonderful crew of developers, experts and receiver operators, have learned so much about what I now know are called ‘Global Navigation Satellite Systems’ or GNSS.
Categories: Software
The State of Galileo as seen by an outsider
By bert hubert / bert@hubertnet.nl
In this post I want to document some mostly non-technical aspects of the EU’s Galileo Satellite Navigation Network. I will also share some observations on how things are going, and perhaps how they could be improved.
NOTE: A shorter version of this article, focusing only on the July outage, can be found here.
Since the week-long outage in July I’ve been fascinated by Galileo and, together with a wonderful crew of developers, experts and receiver operators, have learned so much about what I now know are called ‘Global Navigation Satellite Systems’ or GNSS.
Categories: Software
GPS Lesson for 10-11 year olds
The Netherlands is struggling with a shortage of primary school teachers, which as a nice side effect means that I get ample opportunities to do technical propaganda in the name of education.
This is a quick writeup of a lesson on how GPS (or in general, satellite based navigation) works. I’d like to thank Jasper Vos and Michel Dingen of OBS De Notenkraker for the opportunity & the very useful feedback on the lessons!
Categories: Software
Economist submission: How the Internet Leaks
Note: For context, please see this article on the Economist Job. I also want to thank Job Snijders who was of great help in writing this article.
How the Internet Leaks A few weeks ago large swathes of the internet stopped working around the world. The cause was quickly found: a computer networking mistake over at a specialty metals company based in Pittsburgh, Pennsylvania. Earlier that month, a similar accident took down payment terminals in The Netherlands because of a misconfiguration in a Swiss datacenter which rerouted key parts of the internet to China.
Categories: Software
Economist submission: Towards a multi-stranded genome
Note: For context, please see this article on the Economist Job. This is a condensed and updated version of my earlier post On the pan-genome.
Towards a multi-stranded genome Given that the completion of the human genome project was announced in 2003, one could be forgiven for thinking the kinks would have been worked out by now. It turns out however that as published today, the human DNA reference sequence is neither complete nor a good description of mankind.
Categories: Software
Economist Job: my sample articles
Over the holiday, I ran into this job advertisement from The Economist:
The Economist is looking for a new Science and Technology correspondent. Knowledge of the field, an ability to write informatively, succinctly and wittily, and an insatiable curiosity are more important attributes than prior journalistic experience. Please send a CV, a brief letter introducing yourself, and an article of 600 words suitable for publication to xxxx@economist.com. The closing date for applications is August 23rd.
Categories: Software
GPS, Galileo & More: How do they work & what happened during the big outage?
By bert hubert bert@hubertnet.nl / @bert_hu_bert / https://galmon.eu/
Late July 2019, Galileo, “the European GPS” suffered from a week long outage. I’m a proud European, and I think we should have our own well-functioning navigation system, so I tried to figure out what was going on. Surely someone was monitoring this stuff in public? I come from the internet where we monitor all the things, if someone asked for it or not.
Categories: Software
Beidou Satellites Misclassification
Hi everyone,
As noted previously I’ve gone all in on GNSS monitoring. GNSS is the generic term for GPS, Galileo, GLONASS and BeiDou satellites.
Eventually a big blog post will come out, but meanwhile you can see the results on galmon.eu.
A few days ago, an unknown GLONASS satellite started transmitting signals on slot R26 and I tried to figure out which one it was. By definition, GNSS satellites broadcast their own very precise location & speed, which makes it possible to match up their orbit to published “TLEs”, which document where objects in space are.
Categories: Software
Galileo Notes: Ephemeris, Anomalies, I/NAV, SFRBX
I’ve recently been spending quite some time on the EU’s Galileo Navigation Satellite System. In this post you’ll find some rough notes on things I’ve found out, both about how to receive data & how to understand the Galileo ephemeris parameters.
Feedback is very welcome on bert@hubertnet.nl or @bert_hu_bert! I’m no Galileo specialist, so I am sure this page could be better. Please also let me know if this page has been useful to you.
Categories: Software
On the Pan-Genome
In this post I want to shine a light on an important development within the world of DNA which shows how much DNA and the world of computing are now intertwined. It turns out we share important problems, like in this case: file formats.
Note: I expect to be posting more DNA material as part of my efforts to write a book on this fascinating subject. If you enjoy reading about DNA, you might like the links/presentations/videos found on this page.
Categories: Software
From gnuplot to Matplotlib & Pandas
I’ve been using gnuplot since.. like forever. It is one of my best friends in plotting data and discovering what is going on. But for all its greatness, you do tend to run into a wall - once you step outside the things gnuplot is good at, suddenly large heaps of awk, sort, unique and odd shell scripts are required to get to the next level. This is no criticism of gnuplot - it is great for what it is for.
Categories: Software
C++ iostreams: Unexpected but legal multithreaded behaviour
In previous articles, I’ve waxed rhapsodic about how great C++ is. I also noted there however that every language, C++ included, has its dark sides. Some languages have an unavoidable pervasive dark side, like being slow or hard to multithread, for C++ that dark side is mostly its complexity. In this post I want to zoom in on a specific ‘gotcha’ that recently took me several hours to resolve. I wrote this piece so anyone running into the same issue might find out about it if they search the web.
Categories: Software
What I Did in 2018
This is a more personal post than I usually write, and it was prompted by several people asking what I had been up to lately. It turns out that it is somewhat of a story. It is a long story too.
Since the beginning of 2018 day to day management of PowerDNS is now truly in the hands of professionals. I’m very proud to report that PowerDNS has not only survived the transition to Open-Xchange but is actually thriving & has achieved sufficient revenues & talented staff that we’ve solved the famous open source “what if Bert gets hit by a bus” problem.
Categories: Software
Liveblog: a Mars landing watch party with school kids
Yesterday, NASA landed its InSight mission on Mars, and it all worked! The landing happened between 8 and 9PM local time, but I wanted to share the excitement with my kids’ classmates from school (aged between around 9 and 10), so I needed something that worked remotely.
NASA provided a wonderful webcast in English, and although many children here in The Netherlands can follow that, I expected the stream to need more narration for the kids to truly experience the excitement of landing on another planet.
Categories: Software
A Philosophy of Software Design
John Ousterhout, of TCL fame, has written a book that is as small (literally) as it is important. Weighing in at 178 none too big pages, it takes us on an inspired trip through what John has learned over the decades.
There is no shortage of thought on programming. There is also no shortage of people doing programming. What is rare however is a compendium of mature insights from someone that clearly still is into programming.
Categories: Software
On Linus Torvalds, technical & corporate communications
Linus Torvalds has long been one of my heroes. The invention of Linux & the subsequent development of Git were technical and organizational miracles. You could fill a book simply by quoting examples of Linus dissecting technical problems to their components and making it obvious what should happen.
However, over the past decade, Linus’ communication style has degraded from ‘Finnish style robust’ to needlessly hurtful screeds, tearing into people who did not deserve that.
Categories: Software
Modern C++ for C Programmers: Part 6
In part 5 we discussed smart pointers, placement new and the powerful move constructor. As you may have gathered by now, parts 1 through 5 were a pitch to sell modern C++ to existing C specialists. To do so, I tried to show the best and most immediately useful parts of C++.
Note: part 1 is here.
As noted earlier, no language is perfect, and not all features of C++ are as good or as spectacular.
Categories: Software
Should C Programmers learn C++, Go or Rust?
I recently wrote a series of posts called ‘Modern C++ for C Programmers’. I mentioned in the introduction: “I hope to convince C programmers to give ‘2017 era C++’ (which is entirely unlike 2003 C++) another good look. (…) My goal is that when you go look for a new language to learn (say, Go or Rust), you will hopefully consider modern C++ as well.”
Over the weeks as I posted new parts, I was blown away by the interest.
Categories: Software
Modern C++ for C Programmers: introduction
2018 is an exciting time to be a programmer, with so many good “full service” programming languages to choose from: C, C++ 2017, Go, Python, Rust and who knows Swift too. Programming languages are complicated beasts - even the simplest languages have specifications that run (or would run) in the hundreds of pages, and once you include everything, no serious language is likely to clock in under a thousand.
With this comes the fact that every programming language has good parts, and frequently even more bad parts.
Categories: Software
Modern C++ for C Programmers: Part 5
Welcome back! In part 4 we went over the nitty-gritty of lambdas and how to store them, we explored the relation between the various C++ algorithms and containers, plus we took a stroll through some non-standard containers with exceptional capabilities.
Note: part 1 is here.
In this probably final part 5, we’ll be going over some of the most powerful stuff in modern C++: “perfect” reference counting and the concept of std::move.
Categories: Software