Find and kill a process on a specific port (lsof)

terminal-app
You might all have experienced the situation when you want to start a server either from within your IDE or via the terminal to only get the error that the “port is already in use” and the startup is aborted. This is mostly caused by aborting the server or a crash of the IDE which started it and not terminating it properly. When using macOS (or any other BSD or a Linux) there is a simple solution for this.

For such purposes macOS comes with the “lsof” command which stands for “list open files”. Its purpose is to show who is using a specific file or in our case who is using a specific port. After identifying the process it is easy to terminate it using the “kill” command. Read More »

Posted in Apple, Linux, macOS, Tech, Tools | Tagged , , , , , , , | Leave a comment

Apple MacBook Pro late 2016

apple.com

This blog should not transform to yet another Apple blog but as a Java Developer the Mac is my preferred platform which I use daily. This is the reason why I tend to take a closer look when Apple shows the next generation of macOS or Mac hardware even if I’m not buying a new one immediately. I want to get a feeling were the platform is going to. Last week Apple showed its last iteration of the MacBook Pro to the public and I want to share my thoughts as a developer about it.

At first I like the new look, the lower weight is really great for me as I often travel around with the MacBook being in my backpack and every grams you could save there is a win. The first thing that got me thinking was if it really is a good idea to start the 13″ model with just 8GB of RAM. From a developer standpoint I think that this is the absolute minimum and you should get an upgrade here if possible. When you are a Java developer and start your app server (sometimes multiple servers at once), a database in a VM, your IDE, Browser, Mail etc this will lead very fast to eating up all the RAM and swapping out to the SSD. SSDs are very fast these days but they are no match to the RAM and it will slow down your system. 16GB will be a better solution here and that Apple doesn’t offer 32GB for the 13″ model is a shame. That they commented afterwards that this decision was made because 32GB would have used to much of the battery is a reason but not one that I like. I would much more like to work a shorter time with a faster system then work longer with a slow system that has used up all its memory because this often makes effective working impossible and I guess in the future we will need more RAM than today instead of less. Read More »

Posted in Apple, english, Tech | Tagged , , , , | Leave a comment

Java Forum Nord 2016

Java Forum Nord
Last week (October 20th) I attended the second “Java Forum Nord” in Hannover. The Java Forum is now in its second year but is the evolution of an older and smaller conference in Göttingen (Source Talk Tage). The relocation and renaming of the conference was necessary because it wasn’t possible to attract an audience huge enough to get top speakers to Göttingen. To make the transfer possible the JUG Deutschland which is located in Göttingen and hosted the Source Talk cooperates now with the JUG Bremen, JUG Hamburg, JUG Hessen (Kassel), JUG Ostfalen, SUN User Group Deutschland and the local JUG Hannover.
As a result the conference professionalized very quickly and the audience grew by a huge number. After the first edition in 2015 took place in a small Hotel at the Hannover main train station and was quickly sold out they relocated to the bigger Hotel Dormero in Hannover which had space for 400 participants and was sold out, too. After I would consider last year as a transition year I had this year the feeling to be on a very serious one day conference which had definitively left the amateur status. What makes this conference so special is that it is organized by the JUGs (Java User Groups) and aims for no profit which makes it possible to give very cheap tickets away. Read More »

Posted in Allgemein, english, general, Java, Reisebericht, Talks | Tagged , , , , , | Leave a comment

Removing Excel rows with POI

https://poi.apache.org

https://poi.apache.org

When generating Excel Sheets it is sometimes necessary to remove rows which match a given criteria afterwards. The first idea for this would be to use removeRow(Row row) but this has the problem that it deletes all the row contents and leaves the empty row in your sheet which is probably not what you want. To remove the rows as a whole the shiftRows(int startRow, int endRow, int n) is needed.
Lets say we have a xls file with column A being the title which is always filled but we want to remove every row in which the data column B is not filled. For this case the following snippet would be appropriate Read More »

Posted in coding, english, howto, Java | Tagged , , , , | Leave a comment

Book review: Becoming a Better Programmer

Becoming a Better Programmer

Becoming a Better Programmer

This is a book I wish I had read when starting my career as a professional developer because I would have had a head start about many of the things everybody takes for granted but at as a student nobody tells you about.
Don’t get me wrong I don’t say that I couldn’t get anything out of the book because I have already known it all but as it tries to cover nearly everything that is important for a professional developer there are naturally some things I already was aware about.

This book is not about telling you which patterns to use or how to solve specific problems but covers more the everyday life of a developer and how to become better in getting the right behavior, communicating with colleagues and customers, important general concepts in programming, a bit of tooling hints, basics of agile development and how to learn and what to read.

Positive: Read More »

Posted in Books, coding, english | Tagged , , , | Leave a comment