Table of Contents More Shells for FreeCommand PromptPowershellWindows Subsystem for Linux (WSL)Git BashCygwinSSHBean ShellMore powerApplet Runner ProAnt Commander ProConclusion You may be using one of the terminal applications installed on your operating system or use the included terminal panel of …
-
Foojay Podcast #63: How do we keep our Java applications up to date and secure?
Table of Contents Last month, I published a Foojay article about the risks in systems that are stuck on old or outdated Java versions and got a lot of feedback from developers. Most of them want to move on but …
-
The Home Assistant Model
Table of Contents IntegrationsDevicesEntitiesOther objectsConclusion Home Assistant (home-assistant.io) is a massive beast. It can be overwhelming for a newcomer; it was for me. In this article, I want to describe the underlying model of Home Assistant, which is a good …
-
Why Home Assistant
Table of Contents My existing infrastructureMy goals Last June, I spoke at Berlin Buzzwords. In all honesty, I rarely attend others’ talks for a variety of reasons: lack of time, lack of energy, no interest in the proposed subjects, etc. …
-
Task Schedulers in Java: Modern Alternatives to Quartz Scheduler
Table of Contents Quartz is often considered the standard job scheduling library in Java, which can lead developers to overlook more modern alternatives.Limitations of QuartzQuartz is showing its agePerforms worse than modern alternativesLack of built-in monitoringDistributed scheduling is opt-inSporadic maintenanceAlternatives …
-
Augmenting the client with Alpine.js
Table of Contents Laying out the workServer-sideClient-sideThe Alpine codeOur first steps into AlpineBasic interactionsClient-side modelUpdating the modelConclusion This article is part of a series comparing different ways to implement asynchronous requests on the client, which is colloquially known as AJAX. …
-
Augmenting the client with Vue.js
Table of Contents Laying out the workServer-sideClient-sideThe Vue codeOur first steps into VueBasic interactionsClient-side modelUpdating the modelConclusion In my previous article, I laid the ground to build upon; now is the time to start “for real”. I heard a lot …
-
Unleashing the Power of Git Bisect
Table of Contents The Essence of Debugging with GitSetting the Stage for DebuggingInitiating Bisect ModeMarking the Known Good RevisionMarking the Known Bad RevisionBisecting to Find the CulpritExpected OutputReset and AnalysisAdvanced Usage and TipsScript Automation for Precision and EfficiencyHandling Flaky Tests …
-
Easily containerize Java applications with cloud native buildpacks
Table of Contents What are cloud native buildpacks?But what is a cloud native buildpack?How do Cloud Native Buildpacks work?What is a builder?Advantages of using buildpacks over alternative solutionsWhat are Paketo Buildpacks?Getting started with buildpacks in 6 easy stepsSummary and next …
-
FEPCOS-J: Implementing a Java Server and a Rust Client without Manual Network Programming
Table of Contents IntroductionJava server and Rust client implemented using tools from the FEPCOS-ProjectJava server and Rust client implemented as examplesImplementing the Java serverImplementing the Rust clientExecuting the client-server applicationJava server and Rust client can be implemented without manually network …
-
Foojay Podcast #58: How Java Developers Can Secure Their Code
Table of Contents VideoPodcast (audio only)GuestsJonathan VilaBrian VermeerErik CostlowContent Three years after Log4Shell caused a significant security issue, we still struggle with insecure dependencies and injection problems. In this podcast, we’ll discuss how developers can secure their code. I talked …