IntelliJ IDEA Shortcuts

IntelliJ is without question a fantastic IDE, but learning how to work efficiently is not particularly easy for the beginner. However, it is very worthwhile to delve deeper into the functions and this includes shortcuts. I am convinced that mice and trackpads are tools for graphic artists and designers, people who write and develop a lot should keep their hands on the keyboard if possible. Shortcuts are always a complicated topic because what you want to use and what does not depends very much on your taste. Some like commenting at line level, others prefer to use block comments, and in professional projects, there are often requirements in the team or at the customer. ...

March 18, 2023 · 2 min

The Cross Platform Development Paradoxon

For decades, it sounds promising to have ONE code base and to be able to use it for many platforms without having to reinvent the wheel every time. Is it really as easy, as clicking a button and to compile for all platforms? Java, Xojo, LiveCode, PureBasic, B4X, windev are only a few examples. Add to that mix, flutter, fyne.io, Xamarin, and .NET MAUI. Many, many options, some for decades, some relatively new, and many with challenges when trying to develop something more sophisticated. ...

February 16, 2023 · 6 min

Create Avatars from Initials

First of all: I’m one of those people who doesn’t particularly like the Mac App Store, nor all this signing for Windows etc. Tauri makes it very easy to sign apps and when you combine that with GitHub Actions, it’s even easier to deploy to all platforms but you have of course first go through the mess of getting your developer certificates. Please don’t get me wrong: I see signing and verification as very useful and adding some extra security to end-users, only the way to buy a valid certificate has always been expensive, but above all time-consuming. ...

February 13, 2023 · 3 min

Publishing a Tauri App to Mac App Store

Tauri is (rightly) praised as an alternative to Electron. Many talk about it, but without possibly testing the tool, especially not whether you can get a Tauri app published as a macOS app in the Mac App Store (MAS). Are there any stumbling blocks and, if so, which ones? The Final Product I successfully published the below app and will share my experience below and in more depth in future articles. %[https://apps.apple.com/us/app/csv2excel/id1671035450] ...

February 12, 2023 · 8 min

1Password not showing up in Safari

In case you are working with Safari and you don’t see the 1Password Plugin after installation in extensions, do the following: Close Safari Open a terminal Execute the following in the terminal: /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f -R /Applications/Safari.app 4. Restart Safari 5. The 1Password extension is now working.

September 10, 2022 · 1 min

Running Java jar file as Auto Restarting Service on Linux

Running “java -jar YOURjarfile.jar” will of course start a jar on your linux machine, but it will stop running once you disconnect your ssh session for instance. So you do need to run your jar file in the background. Pierre Janineh described a way to achieve this goal: %[https://medium.com/programming-with-pierre/start-a-java-service-from-jar-on-an-ubuntu-instance-40dff8acc4a5] Another approach is obviously to run your jar “as a service” via systemd. If you ensure that this service will auto restart in case of a failure or after reboot, you Java application will again restart magically and automatically. ...

August 26, 2022 · 2 min

Tracking Open Connections of Services on Linux

In almost every programming language, you can quickly run into problems that the app establishes connections but never closes them. Some programming languages ​​” automatically” close unused connections, and this sometimes works better, sometimes worse. It is good practice to monitor if the “promises” of the vendors do work. Such open connections (I/O, databases, net/HTTP requests, etc.) accumulate over time until there are no more free connections. Boom, in simple words: the app stopped working. The annoying thing is that the app may not crash (depending on your error handling!), it just often can’t establish new connections and doesn’t work as expected. ...

July 3, 2022 · 2 min

Use own fonts for pdfs in Go (Golang) with Maroto

Maroto is a great and easy tool to generate pdfs with Go. It is very easy to achieve quickly outstanding results: %[https://github.com/johnfercher/maroto] Of course, you can add your fonts, which is particularly important if you want to use UTF8-compliant fonts: m.SetFontLocation("/PathToMyFonts/") m.AddUTF8Font(“CustomArial”, consts.Normal, “far.ttf”) m.AddUTF8Font(“CustomArial”, consts.Italic, “fai.ttf”) m.AddUTF8Font(“CustomArial”, consts.Bold, “fab.ttf”) m.AddUTF8Font(“CustomArial”, consts.BoldItalic, “fabi.ttf”) m.SetDefaultFontFamily(“CustomArial”) Now there is one challenge though! For some strange reasons, it seems that the name of the font files has to me short (8 characters?) and should not contain any special characters. ...

June 22, 2022 · 1 min

Create Avatars from Initials

As a developer, you often face the challenge of having to generate or integrate an avatar image, e.g., for the profile. There are several ways to do this: You can offer the user an upload option and then save the profile picture. A user’s email can be matched against services such as gravatar.com. It is checked whether a profile picture is stored in the authentication service used. However, if the user does not want to upload a picture, or no picture can be assigned to the user online, it is now expected that the profile picture will be replaced by a placeholder with the initials. Here we have 2 options: ...

April 24, 2022 · 2 min

Using SSH tunnels for remote debugging in Xojo

Without appropriate measures, the Internet is an unsafe playground for any developer. Implementing certificates correctly is not necessarily the easiest task, and built-in protection is of course worth nothing if it is not also implemented correctly. The simplest protection is to shield the productive server to be used very well and, if possible, not opening it at all. Often, as a beginner, you are tempted to open the ports for the database, at the latest when your program does not work properly on the productive machine, but you want to debug your solution. ...

February 9, 2022 · 3 min