An even better way of typing
In which I improve upon the past.
In which I improve upon the past.
In which I setup my NAS to perform backups automatically.
In which you, dear reader, get your mind blown.
In which I share how I managed to ditch Ant in favor of Maven in my Android project.
In which I show my fancy color prompt script.
Part 3 of my series, in which I show how I shared my .bashrc and other bash scripts through Dropbox.
Part 2 of my series, in which I show how I shared my Eclipse configuration through Dropbox, using the Workbench Mechanic plugin.
Part 1 of my series, in which I show how I shared my .vimrc through Dropbox.
Part 0 of my series in which I show how I shared all my configuration files through Dropbox.
In which I show how I added my app to the Android Market.
In which I explain how I wrote an Android app in Scala.
In which I compare and rate code formatting tools for Java.
In which I describe how I implemented EqualsVerifier’s multi-release jar file build using Maven, and discuss the issues I had to solve to get there.
In which I test the artifacts produced by a Maven build.
In which I provide ammo to annoy your coworkers.
In which I take things way too far by implementing LISP using only Java annotations, then using that language to implement another LISP.
In which I show how to hack the Java language and break your code.
In which I share how I managed to get my unit tests back under control.
In which I share an elaborate hack.
In which I follow up on a problem I discovered in my previous post.
In which I nerd-sniped into writing a complicated equals method.
In which I list the talks I liked the most.
In which I throw away code that I’d already released.
In which I take a trip down memory lane.
In which I describe how I implemented EqualsVerifier’s multi-release jar file build using Maven, and discuss the issues I had to solve to get there.
In which I test the artifacts produced by a Maven build.
In which I apply the things I’ve learned in the previous post.
In which I take a deep dive into Java’s reflection API.
In which I show how to hack the Java language and break your code.
In which I share an elaborate hack.
In which I post-mortem a botched release.
In which I follow up on a problem I discovered in my previous post.
In which I nerd-sniped into writing a complicated equals method.
In which I present a way to make sure Scala’s implicit global ExecutionContext isn’t used accidentally.
In which I share my views on this book.
In which I use my programming skills to delight and annoy my uncle.
In which I show how I added my app to the Android Market.
In which I list the talks I liked the most.
In which I explain how I wrote an Android app in Scala.
In which I share my experiences building an app with ChatGPT so I can start annoying my uncle again.
In which I deliver the final blow of delight and annoyance to my uncle.
In which I manage to delight and annoy my uncle much more quickly.
In which I look forward to a new year of delighting and annoying my uncle.
In which I manage to delight and annoy my uncle even more.
In which I use my programming skills to delight and annoy my uncle.
In which I discuss how I use Vim instead of an IDE to edit Java code.
In which I show how I added my app to the Android Market.
In which I list the talks I liked the most.
In which I explain how I wrote an Android app in Scala.
In which I discover a piece of BASIC code in Umberto Eco’s novel Foucault’s Pendulum.
In which I discuss how I use Vim instead of an IDE to edit Java code.
Part 3 of my series, in which I show how I shared my .bashrc and other bash scripts through Dropbox.
Part 2 of my series, in which I show how I shared my Eclipse configuration through Dropbox, using the Workbench Mechanic plugin.
Part 1 of my series, in which I show how I shared my .vimrc through Dropbox.
Part 0 of my series in which I show how I shared all my configuration files through Dropbox.
Part 3 of my series, in which I show how I shared my .bashrc and other bash scripts through Dropbox.
Part 2 of my series, in which I show how I shared my Eclipse configuration through Dropbox, using the Workbench Mechanic plugin.
Part 1 of my series, in which I show how I shared my .vimrc through Dropbox.
Part 0 of my series in which I show how I shared all my configuration files through Dropbox.
In which Eric Lippert follows up on the potential bug I found last time.
In which I find a possible bug in the language.
In which I follow up on a problem I discovered in my previous post.
In which I nerd-sniped into writing a complicated equals method.
In which I describe how easy it is to set up a local LLM on my laptop.
In which I share my experiences building an app with ChatGPT so I can start annoying my uncle again.
In which I explore the ups and downs of using ChatGPT as a developer, navigating the maze of GNOME documentation, learning from its mistakes, and appreciatin...
In which I share my experience with ChatGPT as a developer, highlighting its potential and limitations while providing useful tips and insights.
In which I share how I managed to ditch Ant in favor of Maven in my Android project.
In which I show how I added my app to the Android Market.
In which I explain how I wrote an Android app in Scala.
In which I fall into a typographic rabbit hole.
In which I rant about blogging platforms - again.
In which I rant about blogging platforms.
In which I describe how I implemented EqualsVerifier’s multi-release jar file build using Maven, and discuss the issues I had to solve to get there.
In which I test the artifacts produced by a Maven build.
In which I share how I managed to ditch Ant in favor of Maven in my Android project.
In which Eric Lippert follows up on the potential bug I found last time.
In which I find a possible bug in the language.
In which I share my solution to a surprisingly tricky problem.
In which I test the artifacts produced by a Maven build.
In which I share how I managed to get my unit tests back under control.
In which I share my solution to a surprisingly tricky problem.
In which I share my experiences building an app with ChatGPT so I can start annoying my uncle again.
In which I explore the ups and downs of using ChatGPT as a developer, navigating the maze of GNOME documentation, learning from its mistakes, and appreciatin...
In which I share my experience with ChatGPT as a developer, highlighting its potential and limitations while providing useful tips and insights.
In which I share my experiences building an app with ChatGPT so I can start annoying my uncle again.
In which I explore the ups and downs of using ChatGPT as a developer, navigating the maze of GNOME documentation, learning from its mistakes, and appreciatin...
In which I share my experience with ChatGPT as a developer, highlighting its potential and limitations while providing useful tips and insights.
In which I cross-post a summary of my experiences with JH, Hanno and Julien hosting a panel about sustainability at Devoxx and J-Fall.
In which I list the talks I liked the most.
In which I discuss how I use Vim instead of an IDE to edit Java code.
Part 1 of my series, in which I show how I shared my .vimrc through Dropbox.
In which I show my fancy color prompt script.
Part 3 of my series, in which I show how I shared my .bashrc and other bash scripts through Dropbox.
In which I rant about blogging platforms - again.
In which I rant about blogging platforms.
In which I manage to delight and annoy my uncle even more.
In which I use my programming skills to delight and annoy my uncle.
In which I deliver the final blow of delight and annoyance to my uncle.
In which I manage to delight and annoy my uncle even more.
In which I improve upon the past.
In which you, dear reader, get your mind blown.
In which I apply the things I’ve learned in the previous post.
In which I take a deep dive into Java’s reflection API.
In which I discover a piece of BASIC code in Umberto Eco’s novel Foucault’s Pendulum.
In which I discover a piece of BASIC code in Umberto Eco’s novel Foucault’s Pendulum.
In which I discover a piece of BASIC code in Umberto Eco’s novel Foucault’s Pendulum.
In which I discuss the things that fascinate me about the Arabic language.
In which I discuss the things that fascinate me about the Arabic language.
In which I list the talks I liked the most.
Part 2 of my series, in which I show how I shared my Eclipse configuration through Dropbox, using the Workbench Mechanic plugin.
In which I show my fancy color prompt script.
In which I show my fancy color prompt script.
In which I rant about blogging platforms.
In which I rant about blogging platforms.
In which I rant about blogging platforms.
In which I rant about blogging platforms.
In which I use my programming skills to delight and annoy my uncle.
In which I rant about blogging platforms - again.
In which I rant about blogging platforms - again.
In which I post-mortem a botched release.
In which I post-mortem a botched release.
In which I share my solution to a surprisingly tricky problem.
In which I look forward to a new year of delighting and annoying my uncle.
In which you, dear reader, get your mind blown.
In which you, dear reader, get your mind blown.
In which you, dear reader, get your mind blown.
In which I manage to delight and annoy my uncle much more quickly.
In which I manage to delight and annoy my uncle much more quickly.
In which I share an elaborate hack.
In which I share an elaborate hack.
In which I setup my NAS to perform backups automatically.
In which I show how to hack the Java language and break your code.
In which I show how to hack the Java language and break your code.
In which I share an article I wrote for the Dutch Java Magazine.
In which I share an article I wrote for the Dutch Java Magazine.
In which I share my views on this book.
In which I improve upon the past.
In which I improve upon the past.
In which I present a way to make sure Scala’s implicit global ExecutionContext isn’t used accidentally.
In which I present a way to make sure Scala’s implicit global ExecutionContext isn’t used accidentally.
In which I make a list of stuff I have installed on my laptop, for future reference.
In which I talk about the music that was most influential in my life.
In which I take things way too far by implementing LISP using only Java annotations, then using that language to implement another LISP.
In which I take things way too far by implementing LISP using only Java annotations, then using that language to implement another LISP.
In which I take things way too far by implementing LISP using only Java annotations, then using that language to implement another LISP.
In which I provide ammo to annoy your coworkers.
In which I provide ammo to annoy your coworkers.
In which I provide ammo to annoy your coworkers.
In which I provide ammo to annoy your coworkers.
In which I describe how I implemented EqualsVerifier’s multi-release jar file build using Maven, and discuss the issues I had to solve to get there.
In which I cross-post a summary of my experiences with JH, Hanno and Julien hosting a panel about sustainability at Devoxx and J-Fall.
In which I cross-post a summary of my experiences with JH, Hanno and Julien hosting a panel about sustainability at Devoxx and J-Fall.
In which I share my experiences building an app with ChatGPT so I can start annoying my uncle again.
In which I fall into a typographic rabbit hole.
In which I fall into a typographic rabbit hole.
In which I compare and rate code formatting tools for Java.
In which I throw away code that I’d already released.