Anfang
Der Entschluss zum Anfang ist schwer.
Anfangen ist einfach, Beharrlichkeit eine Kunst.
Der öffentliche Webauftritt ist heutzutage ein Muss für den modernen »Arbeitswolf«. Also,
hier ist er, mein Webauftritt.
Mein Name ist Joachim Bargsten. Ich bin ursprünglich Bioinformatiker, doch mehr und mehr im Bereich Softwareentwicklung und Datenanalyse tätig. Zur Zeit arbeite ich als »Software Development Consultant« bei Xebia.
Zusätzlich lerne ich in meiner Freizeit Portugiesisch. Daher haben die Themen und Beiträge auf dieser Seite Bioinformatik (mit Betonung auf »informatik«), Datenanalyse und Portugiesisch als Schwerpunkt.
Wegen dem ganzen Sprachenwirrwarr (oder für die gehobene Klasse: … des ganzen Sprachenwirrwarrs …) habe ich mittlerweile aufgegeben alles konsistent zu halten. Von daher sind die Einträge wahllos durcheinander auf Deutsch, Englisch, Portugiesisch oder Niederländisch verfasst.
Artikel
-
» Fennel lang memory aid (, en)
I don’t use Fennel a lot, so when I want to use it, I usually need a quick refresher. Here I’m collecting stuff I always forget. -
» How to tame your Python codebase (, en)
Sooner or later you will reach the point where you realise: You look at your code base and realise: I’ve created a mess, or at least, contributed to it. You change one thing here and ten other things start failing over there. Welcome to the Big Ball of Mud. -
» Why you should ditch YAML and use Jsonnet instead (, en)
I don’t know exactly when the realisation came, but looking at the YAML format and how it is used: it must have been one of the devil’s masterpieces. Similar to flies attracted to a huge pile of cow excrement, developers, me included, are pushed by an invisible force towards this format. It could have been so easy. I mean, there... -
» Build your own custom protocol handler for MacOS (, en)
I keep my personal wiki/knowledge base in Markdown. Usually it is enough to edit the files with a text editor. I also like to have my wiki as static pages served locally. There are plenty of solutions out there, such as Hugo or MkDocs. However, the transition from editor to webpage to editor is not seamless and I decided to... -
» Retrieve pass store secrets in Python, Bash and Perl scripts (, en)
One of the major advantages of Pass: The Standard Unix Password Manager is its interoperability. You can basically call it from anywhere. Basically also means that there might be a catch: I use the ncurses version of pinentry on the console. If you call pass from a script it needs to be able to start pinentry and show the dialog... -
» Paste the unpastable: how to paste in RDP sessions that don't allow pasting (, en)
NOTE: This solution works, but has its quirks. Enjoy with care! Some companies, notably banks, put security on top priority. There is nothing wrong about it. I even support it. However, if taken too far, security becomes an unnecessary burden. Setting the stage You are connected via RDP to a VM, aka secure environment. Copy and paste is disabled. The... -
» YAML tricks (, en)
YAML is a tricky format and can lead to surprises. -
» Code Quality Essentials (, en)
My most important and basic recommendiations on code quality, which hopefully result in a high quality code base. -
» Publish your Swift app via homebrew
(, en)
This is a recording of my own odyssey developing my first Swift command-line (CLI) app to change the default browser on macOS. -
» An alternative to exceptions in Java: validations, part 2 (, en)
Validations are a concept to handle errors in a direct way. In essence, this means that errors can be treated as first class citizens and returned by a function. Suddenly they change from being a byproduct to being »into your face«. Is this good? Sometimes yes and sometimes no. It might get mazy. -
» Never again: broken code snippets in your blog posts (, en)
You probably know the feeling when you discover that your code snippets you embed into your blog are not doing what they should do or, even worse, not even compiling. I mean, you did your best, carefully checking everything in the IDE and copying it over. Perhaps it happens here or in a later stage where you change some little... -
» Make your app fast again: caching function calls in Python (, en)
It’s the usual pattern: you start with a new webapp project, the app is responsive and fast. But after a while it gets slow and messy. There are many reasons why it can happen. Set aside the obvious reasons such as »technical debt«, messy code and lack of concurrency/parallelism, performance bottlenecks can arise from slow functions that are called frequently... -
» Python logging in Azure: adding application-wide custom dimensions (, en)
Integrating Azure App Insights into Python for logging purposes can be quite tricky, in praticular if you want to add custom properties to the log entries in Azure Log Monitor. This post gives a short outline on this topic. -
» An alternative to exceptions in Java: validations, part 1 (, en)
Exceptions in Java are inconsistent due to their special handling. They are like a separate flow of information, which not only claims extra resources of a developers mind, but also comes with a lot of boilerplate code and high likelihood of new bugs. Instead of exceptions, errors can be handled with »validations«. The underlying concept of a validation offers an... -
» The complete picture: Lagom and Play in action (Java) (, en)
Lagom and Play fall into the category of reactive microservices. Lagom serves as basis for microservices and with Play you can build gateways that tie these services together. What puzzles me, though, is that Play and Lagom are handled in isolation when searching for information or going through the tutorials.