Acknowledging what you don’t know is the dawning of wisdom

M365 Entra Authentication with Go

Download: https://pkg.go.dev/github.com/jeannot-muller/marstore Purpose of the ‘marstore’ package marstore stands for m365, authentication, redis, and (redis)-store. This package helps business developers authenticate their users against M365 (business and university) accounts. This package helps with authenticating M365 / Entra services in the Go language. Developers interested in standard Microsoft online authentication or Azure accounts can try the Goth package: https://github.com/markbates/goth Technical documentation Details can be found here: https://pkg.go.dev/github.com/jeannot-muller/marstore#pkg-overview Prerequisites A working Redis server for both development and production (required). ...

August 11, 2024 · 2 min

"Cork" a modern alternative to "CakeBrew"

Most tasks in “home brew” are quick and easy to do in the terminal, such as installing or uninstalling software. However, when it comes to deleting orphan files, caches, or checking the system, I often have to look up how to do it again because I don’t use these functions very often. That was why years ago, I installed the CakeBrew app. This small, free program shows your brew installations in a user-friendly way, allowing you to selectively work, like updating only the files you choose. ...

March 20, 2024 · 1 min

Create Avatars from Initials

Interesting development on Google Play: As of November 13, 2023, anyone who opens a new indie account must have at least 20 testers before their app has a chance of being published in the store, according to the latest policy change. Alternatively, one can register a business, which then requires a D-U-N-S number. The requirement of 20 testers is likely quite high, particularly for hobby developers, even though communities are already forming and existing developer forums pledge to support one another. ...

November 25, 2023 · 3 min

Running Vaadin 24 with Gradle on Java 21

Gradle has not been officially released for Java 21, but it works sufficiently well with Gradle 8.4 or later for compilation and execution. Essentially, this means that Gradle cannot run on Java 21 LTS just yet. I will briefly demonstrate how I managed to upgrade to Java 21 LTS in my environment using IntelliJ. Install Java 21 (I’m using Adoptium Temurin) via sdkman. Pre-requisites: Install Java 21 only on your production system. Use somewhere in your code a command which is unique to the latest Java 21 (in this case.getLast() on a List. ...

October 12, 2023 · 2 min

Translating a Vaadin DatePicker

Translating (internationalization of) the default English DatePicker in Vaadin (Flow) is quite straightforward. I created a compact subroutine for effortless reuse in all of my date pickers. // Declaration private final DatePicker birthday = new DatePicker("Geburtstag"); // Set German DatePicker birthday.setI18n(Parsers.setGermanDatePicker()); The code above calls the “setGermanDatePicker” method, which is located in the “Parsers” class in my specific case. /** * Set German DatePicker * Fill the DatePickerI18n with German values (First day Monday, etc.) * * @return */ public static DatePickerI18n setGermanDatePicker() { DatePickerI18n dpI18n = new DatePicker.DatePickerI18n(); dpI18n.setDateFormat("dd.MM.yyyy"); dpI18n.setFirstDayOfWeek(1); dpI18n.setToday("Heute"); dpI18n.setCancel("Abbrechen"); dpI18n.setMonthNames(List.of("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember")); dpI18n.setWeekdays(List.of("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag")); dpI18n.setWeekdaysShort(List.of("So", "Mo", "Di", "Mi", "Do", "Fr", "Sa")); return dpI18n; } It should be simple to adapt the above code for other languages or more complex situations, such as translating based on the locale passed to the function. However, I only require German for this Vaadin app. ...

September 8, 2023 · 1 min

Guide for Submitting a JavaFX App to the Windows Store

Certifying Windows programs independently has not only become a costly endeavour but also significantly more complex, as you either require a hardware token (USB Stick) or must utilize one of the few pricey cloud providers. The Windows Store serves as an alternative. Here, Microsoft signs the apps themselves, so you only need to cover the one-time cost for developer access. The Windows Store also offers the benefit of managing updates, eliminating the need for developers to create their routines. Furthermore, compared to the Apple Store, Microsoft is considerably more lenient regarding the functional and design requirements of an app. ...

July 14, 2023 · 13 min

Choosing the best programming language to learn

What is the best programming language to learn? The only correct answer IMHO is: it depends. In other words, the question cannot be answered without background information. It matters if I simply want to learn the basics of programming or if I aim to solve a specific problem. Additionally, it’s important to consider whether I want to write programs occasionally or develop software professionally. Furthermore, it’s essential to determine if I primarily work on the web, in the backend, or both, and whether desktop and mobile apps are significant factors, among other things. ...

July 12, 2023 · 3 min

JavaFX or Swing in 2023?

Are you wondering whether to use JavaFX or Swing for your desktop application development in 2023? Despite Swing’s stability over the years, there hasn’t been much development in new features. Meanwhile, JavaFX is still gaining ground, but it’s difficult to find up-to-date information on its future. Some developers even claim that desktops are no longer relevant in the age of Electron and Tauri. However, JavaFX is still a popular choice in the professional sector, and recent developments suggest that it’s not going away anytime soon. In this article, we’ll explore the current state of JavaFX and Swing and what you can expect in the future. ...

April 18, 2023 · 2 min

Rust versus OpenJDK Trademark Policy

Looks like an April Fool joke, but it’s not! This discussion template looks a bit cluttered, compared to the OpenJDK version: https://openjdk.org/legal/openjdk-trademark-notice.html

April 11, 2023 · 1 min

Search Online Help for all Languages

devdocs.io More and more developers use several programming languages at the same time or different languages per project. devdocs.io often solves 2 problems: One interface for all online help manuals Searching across all selected programming languages The tool is customizable to your needs and you can only enable the languages you are interested in. In this example I searched for Java and could now “Enable” the OpenJDK package I’m interested in. ...

March 27, 2023 · 1 min