Posts

Rewriting History with Git

Rewriting History with Git

Commits do not always turn out as you'd like them. However, using interactive rebases, you can craft beautiful commits by modifying your commit history.

0

Git is the most widely used version control system for software. When collaborating in teams, it is vital that individual commits to the central repository are easily comprehensible. Here you will learn how to manipulate your Git history using interactive rebases.

The Roles You will Encounter in Most IT Projects

The Roles You will Encounter in Most IT Projects

Are you confused by all the different roles in IT projects? Then this post is for you!

0

In IT projects you will encounter people with various backgrounds. In this post, I shed some light on the Scrum roles, as well as other rules including software architects and machine learning engineers.

Two Environment Variables for More Robust R Code

Two Environment Variables for More Robust R Code

The good, the bad, and the ugly of R's typing system and how environment variables can remedy the situation.

1

R's type system is known to be flexible, which, at the same time makes the language very fragile. Luckily, there are environment variables that can make our code more robust. In this post, you will learn how to use two environment variables in order to prevent mistakes when dealing with conditionals and logical operators.

Navigating in Gridworld using Policy and Value Iteration

Navigating in Gridworld using Policy and Value Iteration

Learn how reinforcement learning algorithms such as policy evaluation, policy iteration, and value iteration can be used to find the shortest path in gridworld.

0

With perfect knowledge of the environment, reinforcement learning can be used to plan the behavior of an agent. In this post, I use gridworld to demonstrate three dynamic programming algorithms for Markov decision processes: policy evaluation, policy iteration, and value iteration.

The SOLID Principles: a Guide for Object-Oriented Design

The SOLID Principles: a Guide for Object-Oriented Design

0

Writing high-quality software can be hard. Luckily, there are principles that can guide object-oriented software design such as the SOLID principles, which consist of the single-responsibility principle, the open-closed principle, the Liskov substitution principle, the interface segregation principle, and the dependency inversion principle. In this post, I give a short explanation of each principle and give practical examples of their application.

The 5 Skills of Successful PhD Students

The 5 Skills of Successful PhD Students

The soft skills you need to be a successful PhD student.

1

Doing a PhD requires considerable scientific and technical skills. To be a successful PhD student, these hard skills must be complemented by an array of soft skills. In this post, I delineate what I find are the most important soft skills for PhD students.

Preventing Spam Using ReCAPTCHA and Staticman

Preventing Spam Using ReCAPTCHA and Staticman

3

Staticman makes it easy to implement commenting systems. However, spam can be a big problem. One way to prevent comments from bots is to integrate ReCAPTCHA and Staticman. In this post, I delineate my journey towards ReCAPTCHA verification.

Transitioning from Academia to Industry

Transitioning from Academia to Industry

Learn about the greatest differences between a data science role in academia and a software engineering role in industry. How to prepare for the transition?

0

Transitioning from academia to industry can be challenging. Based on working as a data scientist in research and as a DevOps engineer in industry, I share what I find are the greatest differences between working in academia vs industry. Finally, I offer some tips on how to prepare for an industry job.

Studying Bioinformatics: Is it Worth it?

Studying Bioinformatics: Is it Worth it?

Prospects as a bioinformatics graduate

3

Bioinformatics is an interdisciplinary field at the junction of computer science and biology. Considering aspects such as job options, however, is it worth studying bioinformatics?

Why Academic Software Sucks

Why Academic Software Sucks

What can academic coders learn from software developers in industry?

0

The way in which academic software is developed differs starkly from the way that software is engineered in industry. In this article, I summarize the main differences between academic and professional software development and reveal how academics can up their game.