Learn how to upload Markdown files to Medium including local images, formulas, cross-references, and bibliography — a scientific, concise workflow.


I love writing Markdown at work and for my private projects and my website as well. However, when publishing Markdown files to Medium by copy & paste from my WYSIWYG Markdown editor most of the formatting got lost. That was always a lot of work to refurbish the article again within the Medium web interface. Lots of wasted time! Here comes the solution; if you are a Markdown fan like me. Or you might get a Markdown fan.

Hereto, I…

7 reasons to use Markdown for your documentation. Markdown is the least common denominator. It just focuses on text — without any clutter.

Photo by Debby Hudson on Unsplash

Software engineering has a lot to do with writing code. And it is even more about writing text which humans — such as customers, project managers, team members — need to read and understand such as

  • Detailed offers
  • Concepts and architectures
  • User documentation
  • Developer documentation

Microsoft Word, Apple Pages, OpenOffice, LibreOffice, and others are all word processing software focusing mainly on layout which is useful in many cases — especially for print. …

Origins, side effects, and a cure

Photo by Gift Habeshaw on Unsplash

Editor’s note: Anxiety can be serious medical condition, while the author has written about anxiety here in relation to code, if you are experiencing real anxiety, please seek medical help. The following article is obviously not medical advice.

Why you should delete a lot of source code without fear — as early as possible in your project!

Source code deletion anxiety is a disease in software developers leading to a lot of problems in the future as it produces unnecessary software clutter for you and others which must work with your codebase. Unfortunately, it cannot be cured by a physician…

How to correctly process time in R — dates, times, periods, durations, flux capacitor, time-traveling, and time intervals — what? I give you some help in the time jungle.

The processing of time often appears weird. Photo by Jon Tyson on Unsplash

Whenever I need to process dates and times in R (and other programming languages) I usually run into difficulties — parsing, printing, time zones, daylight savings, time differences. Probably you are one of those poor wretches like me. So this article is for those and my future self which always forgets about those concepts. This article is a loose connection of hints, packages, and functions showing how to cope with dates and times.


A standard representation of a point in time (that is a date together with time) in R uses the so-called UNIX Epoch time or POSIX time which…

Why unit testing is really a good idea — even for non-packages. Write tests for creating robust software, save time, and have fun!

You will ask: “Why unit tests? My code is working!”. Unit testing helps to create robust code. After a short motivation what robust code is, I give a survey of the basic unit testing idea. Finally, I show how to use them quickly in R, even for simple scripts (no burden to create R packages).

Entangled software breaks upon tiny changes — like these wirings (Photo by Pexel on Pixabay)

Robust code

  • will not break easily upon changes (e.g. new R version, package updates, bug fixes, new features, etc.)
  • can be refactored simply
  • can be extended without breaking the rest
  • can be tested

Unit tests are important for writing robust code — they allow to…

Reduce conflicts and make your source code more concise and future safe with explicit namespaces

R packages exporting the same symbol lead to conflicts when imported into the global namespace (Photo by Siala on pixabay)

A common problem in R occurs when attaching several libraries at the top of your script by library() calls. Loading all symbols into the global R environment often results in name conflicts. The last imported package wins the fight — the order matters, by which libraries appear at the top of your script!

R is a fast-growing language with a vivid community contributing countless packages (c.f. R Package Documentation). Chances are that yesterdays script will not work tomorrow because an updated package now exports a function conflicting with another globally attached package.

So I propose here the mindful use of…

André Müller

Computer scientist, senior software developer acting in R, Python, C++, Kotlin an many other languages. Machine learning, data visualization, statistics.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store