How much apples do you need to understand Plato?

A couple of days ago I met a fellow student for some mulled wine. We started talking about work, coding and our current projects. At some point during the evening we ended up discussing the question “how much math in your studies do you need to be a good computer scientist”.

We got to the question by having a disput about the best courses of studies. My Point was, that it is best to have a very small amout of basic logic courses and a very big free chooseable stock of modules. His point was vice versa. He made pretty clear that he only was able to understand difficult computer problems because he was forced to pass hard math exams. He thought that without calculating ruff equations, there was no way he would be able to do what he does now. My opinion was that you only need to understand the concept and not actually calculate the solution.


After some time we agreed that there are always two ways to find a solution for a problem. The first way is the apple way. Some People can calculate the price of 3 apples and 2 peaches, but they can’t do the same equation when there are xs and ys instead of apples and peaches. The method to teach these people about equations is to give them a lot of use cases. After let’s say 1000 use cases meaning equations with different price tags for apples and peaches, they end up seeing a pattern. The pattern is the concept of a variable. Hopefully they understand variables and now are able to find a solution for every equation. But if they don’t see the pattern, than at some point they know every possible equation there is and like this find a solution meaning all possible the costs of the grocceries. We aggred that the apple way to solve a problem is to know every possible use case meaning knowing the answer.


The secound way is the plato way. The theory of forms implies that to really understand something, you need to get the idea behind it. If you want to make sense of the idea, you need to find a logical explanation for somehing. It means referred to apples and peaches understand the concept of a variable. Knowing the concept you can just look at the edge cases, define them and thereby have your solution meaning knowing the answer.

After defining the basic ways we enden up knowing that hard analysis exams are use cases of logic concepts written in math. But do you need to solve a use case to be a good computer scientist? I think NOT! If you want to be a good computer scientist you need to find your way from philosophy down to the problem and not the other way around, but why?


If you want to be an expert in computer science and it doesn’t matter what’s your expertise, you need to find a solution for every problem. The best way to do this is the plato way because it takes the scope on the edge cases. Defining the edge cases before will save you a lot of time and nerves. The bug/issue that could be avoided 10 years ago with an easy change is always an edge case and now it will cost you days to fix.

In conclusion it has to be said that every person needs another amount of hours with the apple way to get it the plato way meaning that every student has his own way for studying computer science. But no matter what don’t forget about philosophy part otherwise it will be a pain in the ass 😉

Porting Status Programm for SQL Server and SAP Hana

hi fellows,

I wrote a programm that checks the status of a porting process. The Porting happens between an Microsoft SQL Server and a SAP Hana Database. The Programm connects via jdbc to both Databases, gets all schemas excluding system tables from the SQL Server and iterates through every table in every schema executing an “select count(1) from ‘specific table'”. The output will be printed to a file.

The whole project is on github and managed in gradle. Feel free to contribute!


Church of Spring

Also da Sprach der Springprophet:

Trampi unser im Servletcontainer
geheiligt werde Dein Framework.
Dein Kontext komme.
Dependency Injection geschehe,
wie im Server, so auf dem Client.
Unser tägliche Abstraktion gib uns heute.
Und vergib uns unsere Abhängigkeit,
wie auch wir vergeben unsere Kopplung.
Und führe uns nicht in die J2EE,
sondern erlöse uns von Glassfish.
Denn Dein ist die Dependency Injection,
und die Inversion of Control
und die Abstraktion für die Ewigkeit.