<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Thomas Skowron</title>
    <link>https://thomas.skowron.eu/</link>
    <description>Recent content on Thomas Skowron</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-US</language>
    <lastBuildDate>Fri, 14 Aug 2026 12:20:40 +0200</lastBuildDate><atom:link href="https://thomas.skowron.eu/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Are Technologists Too Locked Into The Status Quo?</title>
      <link>https://thomas.skowron.eu/blog/are-technologists-too-locked-in/</link>
      <pubDate>Fri, 14 Aug 2026 12:20:40 +0200</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/are-technologists-too-locked-in/</guid>
      <description>In 1903 the New York Times argued that human flight would take one to ten million years to develop.1 Just 69 days later, the brothers Wright took it to the skies. Well, maybe not skies, since they only covered 36 meters, but the direction was clear. It took 86 years from the bicycle to the aeroplane, and it only took 66 years for humanity from reaching 3 meters of altitude to landing on the moon.</description>
    </item>
    
    <item>
      <title>Elarion, Ballettschule Köln-Porz, 2026</title>
      <link>https://thomas.skowron.eu/photo/elarion-tsp-2026/</link>
      <pubDate>Mon, 01 Jun 2026 11:54:30 +0200</pubDate>
      
      <guid>https://thomas.skowron.eu/photo/elarion-tsp-2026/</guid>
      <description>Fotos von &amp;ldquo;Elarion, eine mächenhafte Tanzgeschichte im Rathaussaal Porz&amp;rdquo;, 2026, aufgenommen von Thomas Skowron (Instagram)</description>
    </item>
    
    <item>
      <title>Do Not Leave Valuables in Env</title>
      <link>https://thomas.skowron.eu/blog/do-not-leave-valuables-in-env/</link>
      <pubDate>Thu, 02 Apr 2026 12:39:11 +0200</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/do-not-leave-valuables-in-env/</guid>
      <description>Many development projects have extra special strings that shall not be shared with others: keys, passwords, tokens. Stuff you wouldn&amp;rsquo;t commit into your Git repo, right? Right!? Unfortunately putting them into a .env file and adding that to .gitignore doesn&amp;rsquo;t cut it anymore, since coding assistants may not respect these boundaries the way you might expect from a deterministic system. Push them just a little and they will happily slurp the most sensitive strings and upload them to remote servers.</description>
    </item>
    
    <item>
      <title>Why the Cloud Isn&#39;t Getting More Expensive (Yet)</title>
      <link>https://thomas.skowron.eu/blog/why-the-cloud-isnt-getting-more-expensive/</link>
      <pubDate>Fri, 27 Feb 2026 16:03:14 +0100</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/why-the-cloud-isnt-getting-more-expensive/</guid>
      <description>When Hetzner, a popular German hosting provider, recently announced price hikes of more than 30% for their services1, this did not go unnoticed. The reasons are pretty clear: Hardware component prices jumped massively. When I accidentally bought the wrong RAM sticks in November and I needed to return them, in a two-week span the price doubled. I imagine the shop must&amp;rsquo;ve felt quite happy with my mistake – although I doubt that shops really have feelings.</description>
    </item>
    
    <item>
      <title>index</title>
      <link>https://thomas.skowron.eu/site-index/</link>
      <pubDate>Fri, 18 Jul 2025 09:33:00 +0000</pubDate>
      
      <guid>https://thomas.skowron.eu/site-index/</guid>
      <description>Got an idea? Get your idea into the real world. I build prototypes, develop concepts and validate plans. From zero to one, and then beyond. Rapid Prototyping · Requirements Engineering Got a prototype,
but you are stuck? Let&#39;s take the next step and iterate on your software. We&#39;ll refine, improve and get ready for success together. TDD · Agile · DevOps · Pragmatism Got software,
but you can&#39;t scale? Get ready for growth.</description>
    </item>
    
    <item>
      <title>Licenses: Trust and Promises</title>
      <link>https://thomas.skowron.eu/blog/licenses-trust-and-promises/</link>
      <pubDate>Fri, 04 Jul 2025 14:02:11 +0200</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/licenses-trust-and-promises/</guid>
      <description>Fundamentally there are two types of perspectives inside Open Source: true believers and opportunists. Also those who still secretly think it&amp;rsquo;s a disease – but let&amp;rsquo;s leave those aside for the moment.
I have wandered in the &amp;ldquo;true believer&amp;rdquo; FOSS fundamentalist circles for a long time, and it never felt like a practical ideology to me, so I&amp;rsquo;d consider myself an opportunist, despite having written Open Source software (OSS) for free and for money, having contributed to codebases of others and donated my own money to it and made others direct their cash.</description>
    </item>
    
    <item>
      <title>Go Big or go On-Prem</title>
      <link>https://thomas.skowron.eu/blog/go-big-or-go-onprem/</link>
      <pubDate>Mon, 02 Jun 2025 15:38:00 +0200</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/go-big-or-go-onprem/</guid>
      <description>Probably my favourite thing about the &amp;ldquo;Cloud Exit&amp;rdquo; from Basecamp that DHH is so vociferously writing about is that it has shifted the predisposition about Cloud usage. For many years it seemed there was no choice: you created an AWS, Google Cloud or Azure1 account and started creating resources. Who the hell is Dell? What&amp;rsquo;s a hypervisor?
But economic realities have kicked in and people are starting to wonder why they spend as much on their Cloud bill as it would cost to buy a full rack of servers while employing even more operations staff.</description>
    </item>
    
    <item>
      <title>Deutsche Cloud</title>
      <link>https://thomas.skowron.eu/blog/deutsche-cloud/</link>
      <pubDate>Thu, 15 May 2025 16:23:00 +0200</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/deutsche-cloud/</guid>
      <description>Due to the unique political situation we are living in, there is an increased demand for European technology solutions. Call it derisking, sovereignty, or nationalism. Everybody seems to be at least pretending to look for new solutions from within.
The German IT industry is classically laggard: while the rest of the world is beginning to understand that the benefits of cloud computing are technological, not economic, in Germany, all the rage seems to be in public cloud these days.</description>
    </item>
    
    <item>
      <title>Typst is Weird and I Really Like It</title>
      <link>https://thomas.skowron.eu/blog/typst-is-weird-and-i-really-like-it/</link>
      <pubDate>Tue, 01 Apr 2025 15:55:00 +0200</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/typst-is-weird-and-i-really-like-it/</guid>
      <description>For reasons not entirely understood to humankind, some software developers have an aversion to WYSIWYG: Typing into Microsoft Word1 and immediately seeing what the document looks like seems strangely alien. In some cases, this is warranted: If you write a 300-page thesis, modern desktop software is not able to cope with it, while being perfectly able to play back 4K video that is being streamed live from some remote data centre.</description>
    </item>
    
    <item>
      <title>Journaling for Productivity</title>
      <link>https://thomas.skowron.eu/blog/journaling-for-productivity/</link>
      <pubDate>Thu, 27 Mar 2025 11:43:11 +0200</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/journaling-for-productivity/</guid>
      <description>A technique that helped me focus is journaling, by hand, on paper. I can assure you that the first time I heard about journaling in a professional context, I must&amp;rsquo;ve rolled my eyes violently. But I&amp;rsquo;ve been doing it consistently for over a year, and I feel that it has finally stuck. I miss it when I leave my notebook somewhere.
The strategy is quite simple: I note the date and the project I am working on and start writing down what I&amp;rsquo;m doing or what I&amp;rsquo;m thinking about.</description>
    </item>
    
    <item>
      <title>Getting Back into Writing on My Own Terms</title>
      <link>https://thomas.skowron.eu/blog/getting-back-to-writing-publicly/</link>
      <pubDate>Thu, 13 Mar 2025 13:11:00 +0200</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/getting-back-to-writing-publicly/</guid>
      <description>For the last five years, I&amp;rsquo;ve probably been writing more than ever, which you wouldn&amp;rsquo;t guess based on my publication schedule on my very own website (spoiler: it&amp;rsquo;s been four years!). Most of it has happened internally somewhere: multi-page proposals, architecture concepts, or just pull request texts and Slack messages of epic length.
In the last few years of my work, there were only a couple of weeks when I spent working with somebody at the same place at the same time.</description>
    </item>
    
    <item>
      <title>Don&#39;t UUID Yourself</title>
      <link>https://thomas.skowron.eu/blog/dont-uuid-yourself/</link>
      <pubDate>Fri, 10 Dec 2021 12:37:00 +0000</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/dont-uuid-yourself/</guid>
      <description>For a long time, sequential IDs were good enough for everything. Just use AUTO_INCREMENT or SERIAL, job done, right? But then you realize that your competitor might now figure out how many customers you have, because they just have to create a new user and look at their ID. Or someone might enumerate all of your customers, starting at one and adding one until they are finished.
As an alternative UUID (esp.</description>
    </item>
    
    <item>
      <title>:= Need Not Allocate</title>
      <link>https://thomas.skowron.eu/blog/-need-not-allocate/</link>
      <pubDate>Thu, 10 Jun 2021 13:35:00 +0000</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/-need-not-allocate/</guid>
      <description>From time to time I work with planet-wide geospatial data, which in itself is nothing new, but I was in discontent with the ingestion stack I was using, so I built a stream processor. Everything was going well, my prototype was around five times faster than the software I was previously using. Then, I realized the classic GIS mistake: I forgot to reproject the coordinates.
For those unfamiliar with projections: It&amp;rsquo;s just a way of describing coordinates on a globe.</description>
    </item>
    
    <item>
      <title>Load Balancing Without Giving Away the Keys</title>
      <link>https://thomas.skowron.eu/blog/loadbalancing-without-giving-away-the-keys/</link>
      <pubDate>Mon, 31 Aug 2020 15:49:00 +0000</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/loadbalancing-without-giving-away-the-keys/</guid>
      <description>Distributing the load of a web application or especially an API endpoint using a load balancer (LB) is highly useful: You can get better performance, make software rollouts smoother and withstand node failure.
If an application node becomes unavailable due to failure or a planned maintenance, the LB notices that it does not respond and stops send traffic to it.
The LB itself can go down, too, but since LBs can be made stateless, failover and redundancy can be achieved more easily through e.</description>
    </item>
    
    <item>
      <title>Printing with SwiftUI</title>
      <link>https://thomas.skowron.eu/blog/printing-with-swiftui/</link>
      <pubDate>Wed, 08 Jul 2020 16:12:00 +0000</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/printing-with-swiftui/</guid>
      <description>This post combines one of the world&amp;rsquo;s oldest information technologies with one of the newer ones: Printing on paper and SwiftUI. SwiftUI is Apple&amp;rsquo;s rather new framework to declaratively design user interfaces, which runs on all their platforms. It has a few rough edges, but it is very powerful, because it allows mixing and matching with classic NSViews on macOS, so you can even use them for print (or PDF) output.</description>
    </item>
    
    <item>
      <title>Migrating Foreign Keys in PostgreSQL</title>
      <link>https://thomas.skowron.eu/blog/migrating-foreign-keys-in-postgresql/</link>
      <pubDate>Thu, 21 May 2020 08:30:48 +0000</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/migrating-foreign-keys-in-postgresql/</guid>
      <description>Applications often need to work with external IDs, e.g. UUIDs of third party services or SKUs. In such cases, an external ID should be stored just once in a mapping table and from there on only referenced by an internal (e.g. serial) foreign key. Without a dedicated mapping table, you will carry such external identifiers through all tables. This may seem reasonable at the beginning, but may soon cause trouble, e.</description>
    </item>
    
    <item>
      <title>Making of the OpenStreetMap Calendar</title>
      <link>https://thomas.skowron.eu/blog/making-of-the-osm-calendar/</link>
      <pubDate>Fri, 15 May 2020 12:28:17 +0000</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/making-of-the-osm-calendar/</guid>
      <description>Wikis have changed the landscape of information technology: No matter what organisation you‘re in and what topic you‘re working on, chances are that there is a Wiki, in which you can collaborate with others. Mostly without asking permission, you can put in notes, make lists and refine the material of others. Same with the OpenStreetMap wiki: Some pages are the standard source of information, like “How to map a…”, others are things relevant to just a single person, like pages where mappers list all the street they‘ve already mapped.</description>
    </item>
    
    <item>
      <title>Faster Map Making With osmium</title>
      <link>https://thomas.skowron.eu/blog/fast-mapmaking-with-osmium/</link>
      <pubDate>Sun, 22 Mar 2020 17:29:08 +0000</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/fast-mapmaking-with-osmium/</guid>
      <description>It&amp;rsquo;s sunday and I am fiddling around to make some maps, maybe to put them up my own wall and that&amp;rsquo;s the moment where I usually stuggle to get data out of OpenStreetMap into QGIS: Overpass is slow and won&amp;rsquo;t give you too much data, Shapefiles are ok, but this only works for limited regions and filtering and exporting OSMPBFs into GeoJSON is annoying.
Of course it would be better to have the data in a local PostgreSQL, but in order to get it there, you need to think about what data you want to load, but since you&amp;rsquo;re still iterating and fumbling with the data, this is not yet clear, so you&amp;rsquo;d need to have some cycle of loading, purging and reloading again.</description>
    </item>
    
    <item>
      <title>Towards Remotified Conferences</title>
      <link>https://thomas.skowron.eu/blog/towards-remotified-conferences/</link>
      <pubDate>Sun, 15 Mar 2020 15:16:29 +0000</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/towards-remotified-conferences/</guid>
      <description>Our annual FOSSGIS conference just ended prematurely on Friday. Due to Corona we had to improvise and tweak a few things. Notably a lot of people couldn&amp;rsquo;t make it, either because they wanted to stay on the safe side for personal reasons or because their employers cancelled all business trips. This resulted in a lot of cancellations just before the conference, including a few speakers.
For those who still wanted to join, we wanted to have as much content as possible.</description>
    </item>
    
    <item>
      <title>Why I Don&#39;t Believe in Boards Consisting of Volunteers</title>
      <link>https://thomas.skowron.eu/blog/why-i-dont-believe-in-volunteer-boards/</link>
      <pubDate>Sun, 08 Mar 2020 15:32:14 +0000</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/why-i-dont-believe-in-volunteer-boards/</guid>
      <description>Currently, several people I know hold unpaid board positions in non-profits. Those organisations are tradionally run with slim budgets which suffice for the basic needs of the organisation. Often money is collected and spent for conferences, travel or project grants. But the budget is rarely spent for elected board members, which makes it very hard to fairly evaluate the performance of board members.
A common opinion is that those organisations do not want to encourage &amp;ldquo;professional politicians&amp;rdquo; that will try to get reelected because of the money.</description>
    </item>
    
    <item>
      <title>Could We Create Binary Diffs for OpenStreetMap Planet Files?</title>
      <link>https://thomas.skowron.eu/blog/delta-osm/</link>
      <pubDate>Thu, 06 Feb 2020 11:29:08 +0000</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/delta-osm/</guid>
      <description>Due to the recent spike in OpenStreetMap planet dump traffic, some people have wondered why so many users are redownloading the whole planet every week. The unfortunate truth is that applying replication diffs takes a long time1 and is not 100% reliable.2 I was wondering whether creating, distributing and applying binary deltas could help here.
The OSM PBF format consists of a sequence of blocks with data inside. Usually per block there is one kind of objects: nodes, ways or relations.</description>
    </item>
    
    <item>
      <title>Synopsis of Tools for Importing OpenStreetMap Data into PostgreSQL</title>
      <link>https://thomas.skowron.eu/blog/osm-to-postgres/</link>
      <pubDate>Mon, 11 Nov 2019 19:37:14 +0000</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/osm-to-postgres/</guid>
      <description>1
The de-facto standard for rendering OpenStreetMap data is PostgreSQL/PostGIS-based: The planet file or any extract is taken and then imported into the database. The same approach is useful for data exploration, connecting OSM data to own applications or doing data analysis. To get OSM data into Postgres, a suitable tool is necessary: Usually either osm2pgsql or imposm are used for this purpose.
While osm2pgsql is more mature and is used on e.</description>
    </item>
    
    <item>
      <title>Spaten Implementations</title>
      <link>https://thomas.skowron.eu/spaten/implementations/</link>
      <pubDate>Tue, 07 May 2019 15:39:33 +0000</pubDate>
      
      <guid>https://thomas.skowron.eu/spaten/implementations/</guid>
      <description>For the full specification document, see Spaten, File Format Specification.
Language Link Go Source Code, Documentation Python Source Code Application Link grandine Tools GitHub </description>
    </item>
    
    <item>
      <title>Points of Interest as a Service</title>
      <link>https://thomas.skowron.eu/blog/openstreetmap-data-as-a-service/</link>
      <pubDate>Mon, 15 Apr 2019 16:05:34 +0000</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/openstreetmap-data-as-a-service/</guid>
      <description>When building a location based service, access to public geo data like points of interest (POI) can be cumbersome and expensive. There are several proprietary databases which have specialized on access to POI data, but with the ever growing collection of data by OpenStreetMap and the collaborative power and its mature ecosystem of professionals and volunteers OSM is now a leading data source in many areas.
OpenStreetMap now tracks over a million restaurants and bars, 310,000 hotels, nearly 150,000 view points, 140,000 hospitals and over three million shops worldwide.</description>
    </item>
    
    <item>
      <title>Give Spaten a Spin: Introducing a Data Repository</title>
      <link>https://thomas.skowron.eu/blog/spaten-data-repository/</link>
      <pubDate>Thu, 21 Feb 2019 11:03:23 +0000</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/spaten-data-repository/</guid>
      <description>In 2017 the Grandine project has been introduced, which helps working with geodata in a streamable fashion. At the core of the project the new file format &amp;ldquo;Spaten&amp;rdquo; for passing around geo data has been introduced. A lot of people reached out to me, wanting to explore the possibilites.
In order to facilitate work with the provided tooling, the Spaten file repository is released today: It is a collection of Geo Data files which are free to use and can be processed with any Spaten-compatible tool, like the Go library, the Python implementation or the Grandine Tools.</description>
    </item>
    
    <item>
      <title>Spaten Downloads</title>
      <link>https://thomas.skowron.eu/spaten/download/</link>
      <pubDate>Wed, 20 Feb 2019 10:29:54 +0000</pubDate>
      
      <guid>https://thomas.skowron.eu/spaten/download/</guid>
      <description>On prod this site should not be reachable, as the spaten directory listing should appear here.</description>
    </item>
    
    <item>
      <title>Envisioning a New Approach to Geodata Processing</title>
      <link>https://thomas.skowron.eu/blog/geodata-processing-vision/</link>
      <pubDate>Tue, 16 Oct 2018 11:05:00 +0200</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/geodata-processing-vision/</guid>
      <description>This is a recap of my work and the subsequently gained learnings of the last two years. Parts of it have been discussed in my talks on FOSSGIS and SOTM conferences, previous blog posts or podcasts.
Today Processing geo data can be approached in two ways: Either the algorithm is already clear and the process can be automated and data can be processed directly, or: a human element is needed for processing in some kind of exploratory phase.</description>
    </item>
    
    <item>
      <title>Orphaned Gunicorn Processes with Supervisor</title>
      <link>https://thomas.skowron.eu/blog/supervisor-orphaned-processes/</link>
      <pubDate>Mon, 02 Jul 2018 23:06:00 +0200</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/supervisor-orphaned-processes/</guid>
      <description>Python web applications generally expose a WSGI interface for client communication, which is rather unusual if you are used to more novel approaches like those of Go applications, where APIs are generally served via HTTP. Most applications have an HTTP gateway in front, either for load balancing, high availability or TLS termination, so a Python application, like e.g. Django projects need an HTTP server which interfaces with WSGI.
WSGI servers also deal with worker spawning, because of Python&amp;rsquo;s Global Interpreter Lock, which would otherwise limit Python applications to be executed on one thread at any given moment.</description>
    </item>
    
    <item>
      <title>Open Data: Best Practices</title>
      <link>https://thomas.skowron.eu/blog/open-data-best-practices/</link>
      <pubDate>Fri, 02 Feb 2018 18:48:00 +0100</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/open-data-best-practices/</guid>
      <description>In case you are able to read German and are interested in pursuing an Open Data strategy, you might want to look at my Guide to Open Data.</description>
    </item>
    
    <item>
      <title>Grandine: Vector Tiles, Summary July 2017</title>
      <link>https://thomas.skowron.eu/blog/grandine-summary-july-2017/</link>
      <pubDate>Tue, 01 Aug 2017 00:52:00 +0200</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/grandine-summary-july-2017/</guid>
      <description>Continuation of the documentation of my Prototype Fund related work. Previous summaries: March, April, May, June
This month I concentrated on picking up some loose ends and refining the both command line tools spatialize and tiler.
The other hard thing in programming I&amp;rsquo;ve been reminded that there are already tools that are called &amp;ldquo;tiler&amp;rdquo;. I don&amp;rsquo;t intend &amp;ldquo;tiler&amp;rdquo; to be a canonical name for this tool, but as it isn&amp;rsquo;t production ready yet I didn&amp;rsquo;t want to invest too much time into a good name.</description>
    </item>
    
    <item>
      <title>Grandine: Vector Tiles, Summary June 2017</title>
      <link>https://thomas.skowron.eu/blog/grandine-summary-june-2017/</link>
      <pubDate>Fri, 30 Jun 2017 12:17:00 +0200</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/grandine-summary-june-2017/</guid>
      <description>Continuation of the documentation of my Prototype Fund related work. Previous summaries: March, April, May
Before I use too many words to describe the obvious, just have a look:
It is now possible to render all tiles from a dataset and write them to disk. At the moment the tiler tool supports reading from GeoJSON is supported and all features will be written to the same layer in the tiles.</description>
    </item>
    
    <item>
      <title>Grandine: Vector Tiles, Summary May 2017</title>
      <link>https://thomas.skowron.eu/blog/grandine-summary-may-2017/</link>
      <pubDate>Wed, 31 May 2017 19:02:40 +0200</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/grandine-summary-may-2017/</guid>
      <description>Continuation of the documentation of my Prototype Fund related work. Previous summaries: March, April
Decoding/Encoding TWKB In the April summary I briefly discussed the TWKB format, but wanted to implement it either way, because it might be useful some day in the still unnamed new geo data format. This has been completed so far and supports all features that are supported by my spatial lib.
Data format library Before, the encoding of the intermediate data format was very procedural style.</description>
    </item>
    
    <item>
      <title>Grandine: Vector Tiles, Summary April 2017</title>
      <link>https://thomas.skowron.eu/blog/grandine-summary-april-2017/</link>
      <pubDate>Wed, 03 May 2017 19:30:00 +0200</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/grandine-summary-april-2017/</guid>
      <description>Continuation of the documentation of my Prototype Fund related work, for episode one see Grandine March Summary
I continued to work on the effort to create a pipeline framework for working with OpenStreetMap data, starting with important ground work.
Because I got frustrated by third party libraries I started building a simple Go library which is able to serialize/deserialize geometry data. To make things simpler it assumes everything to be 2D.</description>
    </item>
    
    <item>
      <title>Grandine: Vector Tiles, Summary March 2017</title>
      <link>https://thomas.skowron.eu/blog/grandine-summary-march-2017/</link>
      <pubDate>Fri, 31 Mar 2017 23:59:00 +0200</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/grandine-summary-march-2017/</guid>
      <description>Some of you already might know that I am in the lucky, but stressful position of being funded for six months to work on Vector Tile related infrastructure. This is coming from Prototype Fund, a fairly new initiative by the Open Knowledge Foundation Germany and the German Ministry for Education and Research.
Warning: This blog post might contain information that is only relevant to myself.
History When I saw the call for projects last year I wished to be able to work on Vector Tiles without other distractions.</description>
    </item>
    
    <item>
      <title>Datenschutz powered by Deutsche Bahn</title>
      <link>https://thomas.skowron.eu/blog/datenschutz-deutsche-bahn/</link>
      <pubDate>Mon, 13 Feb 2017 13:37:00 +0200</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/datenschutz-deutsche-bahn/</guid>
      <description>Sorry, German only. This is a rant about the ridiculous German railway company.
Das Qualitätsunternehmen Deutsche Bahn, Marktführer bei Innovation und Auslagerung in die Cloud, macht sich wohl seit letztem Jahr größte Sorgen über den Datenschutz ihrer Kunden.
Bei den automatischen Buchungsbestätigungen, die per E-Mail an den Buchenden zugestellt wurden, gab es zuvor neben dem ausdruckbaren &amp;ldquo;Online-Ticket&amp;rdquo; auch eine ics-Datei, die einen Kalendereintrag enthielt. Von gängigen Mailprogrammen wurde dieser Kalendereintrag erkannt und konnte einfach zum eigenen Kalender hinzugefügt werden.</description>
    </item>
    
    <item>
      <title>The Danger of Good Enough</title>
      <link>https://thomas.skowron.eu/blog/the-danger-of-good-enough/</link>
      <pubDate>Sun, 29 Jan 2017 12:01:00 +0200</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/the-danger-of-good-enough/</guid>
      <description>Warning! Rambling ahead.
The other day I learned that people are still remote-editing PHP files on their production servers. In 2017. It is, in fact, good enough for them. And I think software development being a craft, not an art, this is the root of many problems that software projects have: The acceptance of bad techniques for the sake of seemingly fast delivery. But first things first.
Tools Are There to Help Computers and highly-technological products have a reputation of being unreliable, at least in the eyes of normal customers.</description>
    </item>
    
    <item>
      <title>Incorporating a Limited in Germany for Bootstrappers</title>
      <link>https://thomas.skowron.eu/blog/incorporating-in-germany/</link>
      <pubDate>Sat, 10 Dec 2016 12:08:00 +0100</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/incorporating-in-germany/</guid>
      <description>With all the craziness in the world going on at the moment, founders and start-up enthusiasts are looking which place is worth moving to. Some people are suggesting to consider Berlin. Sadly, Berlin is located in Germany, which means that bureaucracy is a thing you need to familiarize with. Papers need to be filled, deadlines need to be met and all of that in the lovely language of &amp;ldquo;Beamtendeutsch&amp;rdquo;, which means &amp;ldquo;German for public officers&amp;rdquo;.</description>
    </item>
    
    <item>
      <title>Benchmarking a Video Codec: MJPEG on Canon 5D Mark IV</title>
      <link>https://thomas.skowron.eu/blog/mjpeg-on-5d-mark-iv/</link>
      <pubDate>Wed, 02 Nov 2016 15:49:00 +0200</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/mjpeg-on-5d-mark-iv/</guid>
      <description>When Canon announced their new 5D model, the Mark IV, there was a lot of controversy about its 4K recording capabilities.
One of the things that are subject to discussions is Canon&amp;rsquo;s questionable choice of codec (4k recording only in MJPEG). I wanted to approach this problem from a semi-scientific standpoint and evaluate the codec&amp;rsquo;s quality in objective numbers. My aim was to compare natively encoded files from the camera and encode them into mp4/H.</description>
    </item>
    
    <item>
      <title>Opening Hours, a tale about over-engineering</title>
      <link>https://thomas.skowron.eu/blog/opening-hours/</link>
      <pubDate>Sat, 29 Oct 2016 15:44:40 +0200</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/opening-hours/</guid>
      <description>OpenStreetMap collects the information at which time a place is open, e.g. when can I shop at that place. This is not uncontroversial in the community, as the data takes a lot of human effort to maintain.
Another problematic thing about this is: We&amp;rsquo;re dealing with time here, and that&amp;rsquo;s a special kind of pain in software development, though there are good examples of dealing with time conveniently. Nevertheless OSM sometimes has unusual approaches, because it&amp;rsquo;s a data structure on the one hand and on the other it&amp;rsquo;s something that even non-geeks need to read and write without much thought.</description>
    </item>
    
    <item>
      <title>Lightroom on Multiple Machines</title>
      <link>https://thomas.skowron.eu/blog/lightroom-on-multiple-machines/</link>
      <pubDate>Sun, 16 Oct 2016 00:00:00 +0000</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/lightroom-on-multiple-machines/</guid>
      <description>Lightroom has completely changed the way I work with photos, I really can&amp;rsquo;t imagine going back anymore. Especially the workflow for dealing with RAW files is what makes the difference. Imported pictures can be placed anywhere and can be opened without Lightroom, which is very nice as it doesn&amp;rsquo;t lock in the user.
For me, I place all imported image data on my NAS with redundant spinning hard drives, while I keep the Lightroom Library, which keeps track of all files and non-destructive picture edits on my local SSD.</description>
    </item>
    
    <item>
      <title>A look on Apple Maps on iOS 10</title>
      <link>https://thomas.skowron.eu/blog/apple-maps-ios10/</link>
      <pubDate>Wed, 28 Sep 2016 19:23:40 +0200</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/apple-maps-ios10/</guid>
      <description>After a rough start of Apple Maps in 2012, Apple has changed once again how their maps application works and looks. Since competition keeps us strong, I wanted to take a deeper look onto their newest iteration.
Style The most obvious change in styling is the new font they switched to: Now everything is set in a slightly bolder variant of San Francisco. This gives it a distinct, unusal look, but improves overall legibility.</description>
    </item>
    
    <item>
      <title>OpenStreetMap auf dem 31. Chaos Communication Congress</title>
      <link>https://thomas.skowron.eu/blog/osm-auf-dem-31c3/</link>
      <pubDate>Fri, 02 Jan 2015 00:00:00 +0000</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/osm-auf-dem-31c3/</guid>
      <description>Seit 1984 treffen sich jährlich Kreative zum Ende des Jahres, um am Chaos Communication Congress teilzunehmen. Zwischen dem 27. und dem 30. Dezember 2014 fanden sich über 10000 Menschen aus aller Welt im Congress Center Hamburg ein, um sich mit gleich- und andersgesinnten auszutauschen, Vorträgen zuzuhören oder an Projekten zu arbeiten.
Bei einer solchen Veranstaltung darf die OSM Außenstelle natürlich nicht fehlen. Wir führten die Tradition eines OSM-Standes weiter, insbesondere nach der tollen Resonanz des letzten Jahres.</description>
    </item>
    
    <item>
      <title>OpenLoveMap: Ein Projekt für mehr Liebe</title>
      <link>https://thomas.skowron.eu/blog/openlovemap-ein-projekt-fuer-liebe/</link>
      <pubDate>Mon, 24 Feb 2014 00:00:00 +0000</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/openlovemap-ein-projekt-fuer-liebe/</guid>
      <description>Im harten Mappingalltag bei OpenStreetMap kommt manchmal das schönste der Gefühle viel zu kurz: die Liebe. Das haben wir zum Anlass genommen, der Community etwas Liebe zurückzugeben und haben etwas erschaffen, das uns alle näher rücken lässt. Ein Projekt, in dem wir die Liebe zu Kartographie mit der Liebe zu anderen Menschen zusammenkommen lassen: OpenLoveMap.
Die OpenLoveMap zeigt Euch den Weg zum nächsten Sexshop, Stripclub, Puff oder - falls die Situation das gerade erfordert - zum Standesamt.</description>
    </item>
    
    <item>
      <title>Bahnhöfe in OpenStreetMap</title>
      <link>https://thomas.skowron.eu/blog/bahnho%CC%88fe-in-openstreetmap/</link>
      <pubDate>Tue, 28 Jan 2014 00:00:00 +0000</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/bahnho%CC%88fe-in-openstreetmap/</guid>
      <description>Wir beschäftigten uns gerade mit der Deutschen Bahn, was uns dazu verleitet hat, den Datensatz von OSM genauer zu betrachten.
Erst mal haben wir alle railway=station und railway=halt in eine Datenbank reingeholt und uns die Ergebnisse angesehen. Ein kleines Extrakt:
name ------------------------------------------------------------ Alexanderplatz - regional trains, S 5, S7, S75, U 2, U8, U5 Bleckede-Waldfrieden Draisinenbahn Haltestelle München Airport Center (MAC) / Zentralbereich Norddeich-Mole-Bushaltestelle-Behinderten-WC Österreichischer Platz (WGV Versicherungen) Eckartshaldenweg (HDI-Gerling Versicherung) Österreichischer Platz (WGV Versicherungen) Eckartshaldenweg (HDI-Gerling Versicherung) MPSB Mecklenburg-Pommersche Schmalspurbahn Betriebsbahnhof Mechterstädt-Sättelstädt Bei der Analyse fallen direkt einige Dinge auf:</description>
    </item>
    
    <item>
      <title>OpenStreetMap Gebäudeumrisse beim VVO</title>
      <link>https://thomas.skowron.eu/blog/gebaeudeumrisse-beim-vvo/</link>
      <pubDate>Thu, 16 Jan 2014 00:00:00 +0000</pubDate>
      
      <guid>https://thomas.skowron.eu/blog/gebaeudeumrisse-beim-vvo/</guid>
      <description>Der unter anderem in Dresden tätige Verkehrverbund Oberelbe nutzt nun Daten (Gebäudeumrisse) aus OpenStreetMap (siehe Reiter &amp;ldquo;Karte&amp;rdquo;).
Zwei Vertreter waren im vergangenen Jahr beim Dresdner Stammtisch und haben sich beraten und OpenStreetMap &amp;ldquo;erklären&amp;rdquo; lassen. Die Attribution auf der Webseite ist zwar nicht ganz korrekt, da müsste man ihnen ggf. Bescheid sagen. (Nachtrag: Der Lizenzhinweis ist nun korrekt.)
Die Daten scheinen recht aktuell zu sein, allerdings scheint deren (wahrscheinlich proprietärer) Renderer ein wenig Probleme mit Multipolygonen zu haben.</description>
    </item>
    
  </channel>
</rss>
