RSS Amplifier

Blog

Jonas Neubert on Blog | Jonas Neubert

Recent content in Jonas Neubert on Blog | Jonas Neubert

blog.jonasneubert.comRSS feed ↗37 posts

Latest posts

Shutting Down Volutabrum

All good things must come to an end, including high school side projects. Last weekend I pulled the plug on my website volutabrum.de after nearly 25 years and millions of visitors. First things first: “Volutabrum” is Latin for “a wallowing-place for swine”. The site was a web directory for German translations of Latin texts. The words in the previous sentence represent just…

Africa Notes

Conny and I just returned from a vacation in southern Africa (including but not limited to capital-S South Africa). Here are a few stories I picked up between the safaris and got curious about. Five-item Check Lists Travel guides are clear: the safari tourist’s primary objective is to observe these five animals in the wild: lion, leopard, rhinoceros, elephant, and African buffalo. “Have you…

So you think this library can validate email addresses

Let’s add some validation for this email address form field! I usually write software for automation, but like every software developer I’m not immune to email address validation. So you think you can validate email addresses The FOSDEM 2018 talk “So you think you can validate email addresses” by Stavros has become a canonical reference for expressing the futility of all…

Migrating Projective Set from AngularJS v2 to VueJS v3

Today I updated a small web app that I created a decade ago and haven’t touched since then. 1 The tech stack of the old version was this: Bootstrap 2.3.2 (minified version included in repo) AngularJS 1.2.16 (embedded from http://ajax.googleapis.com CDN URL) jQuery 1.8.3 (also from CDN) Github Pages for hosting (using legacy deployment method) In total there were five files in the repo: CNAME…

How not to get Google Fiber in Salt Lake City

This blog post is my (not sponsored) writeup of the experience of not getting a Google Fiber internet connection in Salt Lake City. Spoiler: I published this in March 2023 over a Comcast Xfinity connection. We moved to Salt Lake City in the middle of last year and in January we bought a house here. Salt Lake City is one of the 25 or so cities in the US where Google Fiber internet service is…

The Best Python Packages for Reading Barcodes

Three years ago I published a blog post on how to generate barcodes using Python . It’s one of the most visited posts on the blog! Occasionally a reader emails to ask: “But what if I want to read / decode / scan 1 a barcode, not write it?” Here is the answer: Don’t use Python for Barcode Decoding! You really shouldn’t be using pure Python to decode barcodes from…

List of US National Parks Twitter Accounts

Apropos of nothing, here is a list of the official Twitter accounts of each US National Park. It’s also available as a Twitter List . The List Twitter Account Twitter verified? Followers Tweets Established in Visitors in 2021 Acadia @AcadiaNPS ✓ 42343 2348 1919 4069098 American Samoa @NPamericansamoa ✓ 2565 528 1988 8495 Arches @ArchesNPS ✓ 131174 3885 1971 1806865 Badlands @BadlandsNPS ✓…

Further Reading (vol 2): Research Breakthroughs that led to mRNA COVID-19 Vaccines

It’s been quite exhilarating for Conny and I to see our article about the vaccine supply chain go viral (no pun intended). The most exciting part of it all are the emails from readers who share insights or ask questions. And as a result we continue to read and find more interesting articles. My previous list of links for further reading was, inadvertently, focused on activities that happened…

Further Reading: Behind the Scenes of the Pfizer-BioNTech and Moderna Supply Chains

For our in-depth article about the supply chain of the Pfizer-BioNTech and Moderna COVID-19 vaccines , my co-author and better half Conny and I read hundreds of articles, data sheets, and press releases. Some of them were captivating reads full of interesting behind-the-scenes stories and background information, but only appear as a small footnote in the main article. The following is a selection…

Exploring the Supply Chain of the Pfizer/BioNTech and Moderna COVID-19 vaccines

Sections of this post were co-authored by Cornelia Scheitz . Noah Leidinger created a German translation . Piotr Kwapin created a Polish translation . Last updated on February 7, 2021. Bert Hubert’s excellent and widely shared article about Reverse Engineering the source code of the Pfizer-BioNTech SARS-CoV-2 Vaccine is all it took to turn hundreds of software engineers and other Silicon Valley…

Using pymodbus to communicate with a PLC

This post is part 4 of a series covering material I presented in a talk at PyCon 2019 . In the previous parts of this series, I covered what a PLC is , and how PLCs are programmed . In industry, the Python developer is usually not involved in the purchasing, installing, and programming of a PLC. If you find yourself working with PLCs in academia or for a hobby project, you might actually be the…

Ladder Logic‽

This post is part 3 of a series covering material I presented in a talk at PyCon 2019 . Most software engineers are used to writing text-based code using a text editor of their choice . Things work a little bit differently in the world of PLCs. To program a Programmable Logic Controller (PLC), you can’t just open up your favorite text editor and start typing away PLC code. First, PLC logic…

What is a Programmable Logic Controller?

This post is part 2 of a series covering material I presented in a talk at PyCon 2019 . I have prepared three different conference talks about PLCs for Python programmers. Annoyingly, you can’t assume that every Python programmer knows what a PLC is, so I always have to sacrifice a few minutes of my time slot 1 to convey the basics before diving into my actual topic. This blog post is the…

What is a PLC and how do I talk Python to it?

This post is part 1 of a series. Scroll down for a table of contents. If you’ve found your way to this blog, chances are you already know that I’ve given a few conference talks about using Python in automation. You are right now reading the blog post version of content I presented at PyCon 2019. I started my talk there by answering the question: Why do I keep talking about this topic?…

List of PLC brands and products

tl;dr: Here’s the link to the spreadsheet . I’ve been thinking about Programmable Logic Controllers (PLC) again recently, not least because I am preparing a conference talk about them. While putting together the presentation I thought to myself “Why not make a list of PLC products out there, I wonder how many there are‽” Turns out, there are quite a few! After three…

My US Travel Map

I have wanted to create a visualization of some of my travels for a long time but always got stuck procrastinating the details: Which arbitrary geographical divisions to use? Countries? Cities? Do transfer airports count? This random Reddit post 1 gave me the motivation to finally do something . Following the example of the Redditor who posted this, I used mapchart.net to color-code the counties 2…

The Best Python Packages for Generating Barcodes

Barcodes are a cheap and ubiquitous way to add machine-readable information to an object. I think of barcodes as the real-world equivalent of browser cookies: For example, when you arrive at airport departures, the airline hands you a boarding pass with a barcode (the cookie). From that point onward you’re asked to show your barcode at every interaction: at security, the duty-free shop, and…

Hiking in Vall de Boí

I travel to Germany to visit family approximately once every 18 months. This year, I mixed things up a little bit and asked my mother and my sister to meet me in Spain for a hiking vacation. We ended up spending five days in Vall de Boí, a dead end mountain valley in the Pyrenees. One valley to the west is the border between Catalonia and Aragon, 50 miles to the north is the border to France.

The PyCon Speaker Experience (is phenomenal)

The PyCon 2018 website is up and the January 3rd deadline for talk proposals is approaching steadily. Could there be a better time than this to reflect on my experience as a first-time speaker at PyCon 2017 and maybe encourage someone else to be a first-time speaker in 2018? I’m not a seasoned public speaker by any measure, but I have talked in front of audiences while waving my arms at…

Publishing your First PyPI Package by/for the Absolute Beginner

The process for packaging and publishing Python packages is subject to much community discussion and frequent change. That leads to a lot of outdated information about it floating around the interwebs. As part of my PyCon 2017 talk preparations I wrote a driver for a barcode reader that was part of the live demo in my presentation. Having never published a package to PyPI before 1 , I thought this…

PyCon 2017 Talk

The PyCon talk which I’ve been preparing for with steadily increasing stress levels since February happened three weeks ago at PyCon 2017 in Portland. Time to post a quick retrospective! The recording of the talk is up on Youtube . Huge props to the PyCon organizers for posting all talk recordings publicly every year. This year the videos were up less than 24 hours after the talk! I also put…

PyCon Talk Progress Update: Hindsight is 80/20

The high level update on my PyCon talk prep is that I’m currently making the transition from making steady deliberate progress to a more panic-driven hair-on-fire style of working. Three weeks from today this thing better works–on stage, and in Portland. On a more technical level, the status is that I have a working prototype of my demo and am confident that I can construct a good talk…

I took a shower on a train and I liked it

Conny and I recently took Amtrak’s California Zephyr train from Chicago back home to San Francisco. Knowing the troubled relationship the US has with railway travel, I was anxious about being on a train for 48 hours. But the small inconveniences of living on a train were far outweighed by the enjoyment of watching the countryside pass by outside the window. Since regularly crossing Germany…

PyCon Talk Progress Update: What needs to be in a Robotics Demo?

It’s been a month since my factory automation talk got accepted into PyCon . If you’ve been following along by means of this blog you’ve seen that I bought a barcode reader on Ebay , made an adapter for it and wasted some time figuring out how to do Serial-to-USB on a Mac . Barcode readers are cool stuff, but when you promised a factory automation demo, reading a few barcodes…

One simple trick for USB-to-Serial on MacOS X

Call me a Luddite if you wish, but I lament the lack of serial ports in modern laptops. My relationship with USB-to-Serial cables has been one of disappointments, crashed computers, and garbled data. The one I pulled out of a drawer this week randomly flipped the most significant bit of every character. How do I know this? Because I wasted three long nights debugging the problem. But I’m a…

MS3 Adapter for Serial Port and Power

In last week’s post about barcode readers I mentioned that I purchased an MS3 from Microscan for my PyCon demo. What I had forgotten from last time I worked with the MS3 is that the pin-out of cable attached to the barcode reader is not just a DB9 (nine pin) serial port connector but a DB15 (VGA style) plug. Those extra pins are used for sending power to the device and to accommodate a few…

Intro to Barcode Readers

If you read last week’s blog post you already know that I’ve got three months to put together a physical demo for a PyCon talk about factory automation . This post is the first in a series of progress updates. In robotics and automation, the smallest realistic demo has three parts: Sensing, control, and actuation. I spent Week 1 selecting and bargain hunting for an industrial barcode…

Tap, Tap, Tap

… is this thing still on? Besides that Tumblr blog where I collect factory flicks on a NSFW domain , I haven’t produced much written content for public consumption over the past three years. Looks like they even shut down Google Reader because this blog dried up! But things are about to change! Here’s the plan: My talk proposal for PyCon 2017 just got accepted (via a detour…

Robotics Journals Comparison

I didn’t get a chance to do a lot of writing during my time in grad school. Ironically, recently I had to do a lot of writing to be formally left out of grad school. One of the first steps of the actual writing process for a journal paper is to select a journal to publish in. Things to consider are the relevance and impact of the journal, and mechanical details such as limits on page count.…

Manufacturers are also just Middle Men

Any market where unnecessary middlemen stand between customers and their successful use of a solution is about to be disrupted. This quote is from an article by Box.net founder Aaron Levi on FastCompany.com. It got me thinking about how bad life must be as a Middle Man. In the article, Levi mentions Amazon and Ebay as examples for simplicity through disintermediation. Both companies drastically…

Why I stopped using GMail

I am a fan of Google products. When Google Voice first came out I went around begging people to invite me and have been using it ever since as my primary number. I can't even remember how I read RSS feeds before there was Google Reader. And Gmail! I was a little hesitant when it was first released but for the past years Gmail was the first browser tab I opened in the morning and the last one I…

The Cubelets arrived!

Exciting times in modular robotics land! A former coworker of mine started a company aptly named " Modular Robotics " who, over the past years, developed a modular robotic toy construction kit named Cubelets . After spending years finding out how hard developing a hardware product is , they finally shipped the first batch of 100 beta release kits recently shipped. Being excited about having…

How to enable developer mode on a HP TouchPad

This might be a no-brainer for developers who developed for webOS phones in the past. But if you are getting started programming for webOS with a HP Touchpad and the (relatively) new Enyo framework like I am doing right now, you'll have a hard time figuring out how to test your app on the actual device. Step 1: Put your device in developer mode In "Just Type" enter webos20090606 . If you happen to…

Fluidinfo API: Likes & Dislikes

I spent the last two weekends[1] working with the Fluidinfo API ( here is why ). Using Fluidinfo is pretty easy, I found two weekends enough to discover most of what is possible with Fluidinfo.[2] Here’s my collection of likes and dislikes which accumulated while working with Fluidinfo. In the spirit of a true pessimist, I start with dislikes. Dislikes Among the very first things I learned…

Fluidinfo API Contest: Design Decisions

I announced yesterday that I am currently working on a submission to the O’Reilly/Fluidinfo API contest. You should check out the other submissions so far: BookChirpa by Mark McSpadden is a data mashup project showing recent tweets about O’Reilly books enriched with information about these books which is pulled from Fluidinfo. There is an About page with a whole bunch of technical info…

Hello Fluidinfo API Competition

How does a small startup get the word out about their API? The people at Fluidinfo probably thought that a full page ad in the New York Times is a bad idea. They decided to run a contest instead. If things go well, contests are great because tens or hundreds or thousands of people (“contest participants”) create value according to your specification but you only have to pay a few of…

Hello World!

Today is the day I start text blogging. Text blogging is a new thing for me. I’ve had two photo blogs before: The Daily London Photo and The Daily Ithaca Photo (together with Conny and Alice ). For most photos I usually wrote a short text, sometimes descriptive , occasionally unrelated and often completely made up . But times have changed. Let’s quickly looks at blogs with Venn Diagrams. First,…