Recently, I’ve been working with a project team embracing code reviews. The experience wasn’t pleasant. Most of the time, it was downright annoying. The general idea of code reviews is that one of your team members dedicates several hours of their precious time to look at your code and help you to improve it. That’s […]
I guess you all know the situation. One day or another, you realize that you’ve got more work than you can manage. So your boss adds a new team member to your team. It goes without saying that you embrace them full-heartedly and teach them their new job with all the respect and empathy they […]
Recently, I’ve seen a number of surveys covering the popularity of Java and Java UI frameworks. Most surveys show that either Spring or Java EE is more popular. However, they don’t answer two important questions: is Java becoming more or less important? Currently, I’m mostly interested in UI frameworks, so the next logical question is: […]
After seven weeks of hard work, we’ve published BootsFaces 0.9.0. It’s a major improvement over BootsFaces 0.8.6. Unfortunately, a little error slipped through our QA gate: It seems we’ve involuntarily published a Java 8 version. If you are using Java 6 or 7, you’ll have to wait until 0.9.1 comes out in a few weeks, […]
Granted, this is a minor topic, much less sophisticated than most of my blog’s posts. But it took me a couple of hours to find out how to run the Atom editor behind a firewall, so it me be worth a short article. If you’re running Atom behind a firewall, you won’t be able to […]
It’s a bit inconvenient and error-prone to define an ID for each input field, each label and each message of a JSF view. You can make your like easier using the advanced search expressions. Used wisely, advanced search expressions enable you to move input fields on the screen or between JSF views without having to […]
These days it’s kind of official: AngularJS implements the Model-View-Whatever paradigm. That’s a nice solution to a series of fruitless discussions about whether AngularJS implements MVVM, MVC or something else. However, one of these days I stumbled upon a couple of slides claiming AngularJS implements the MVC pattern during my research for another article. I […]
More often than not, the keyword static confuses Java programmers. As a consequence, Ken Fogel asks his students never to use static in Java unless explicitely told to do so. While that’s a good hint for starters, it’s only part of the story. Funny thing is, I recommend to use static as often as possible. […]
Stop looking for our Easter egg: you’ve found it. The BootsFaces team celebrate Easter with a new version of their responsive JSF framework. By now, BootsFaces is available on Maven Central, and in a couple of days it’ll arrive on the jCenter repository. Basically, BootsFaces 0.6.6 is a bug fix release. There are also a […]
You readers rock! In 2014, BeyondJava has been read more than 400.000 times. That’s 400.000 reasons to carry on. What’s in score for you in 2015? Time will tell… but there are a few articles I’ve already prepared, so I can pique your curiosity. BootsFaces 0.6 has just been released, so it deserves an article […]
Did you know characters don’t always fit into chars? Did you know String::length() does not always return the number of letters of the String? Did you know you can’t reliably read a text using a ByteArrayInputStreamReader? Did you know many characters have more than one Unicode encoding? The latter you should know, at least if […]
There’s good news to all those who hadn’t the opportunity to visit this years JavaOne: Quite a few talks have been published on parleys.com. At the time of writing roughly 60 talks are available for you. Most of the videos are just the sliders with the audio track underlaid, so don’t be surprised if you […]
Today, I’ve found a nice description why Java’s RunTime.exec() method feels to clumsy. Since Java 5 there’s a major improvement – the ProcessBuilder class – but still, it could be done better. AdiGuba offers an library to do so (see Runtime.ecec() n’est pas de plus simple). If you’re able to read an article written in […]
There is a nice library that makes creating and reading JSON object fun: Google GSon. I use it in every class of mine to implement a toString() method. You can even use to to implement the clone() method (if you don’t care about performance):
During my last trip to France, I bought a french prepaid sim card to reduce costs. However, it didn’t pay.
Zipping a file in Java is a rather trivial task you can find in many tutorials. However, I’d like to use it in a subsequent article, so I publish it anyways. By the way, it is another example of (almost) correct resource handling before Java 7.
I’ve seen so many questionable solutions of Java file and database IO that I decided to offer a template you can freely copy. By the way, being a hurried (and lazy) programmer, I frequently do Java IO wrong myself, so I will copy this template, too :).
Dear Readers, your comments are important to me. They help me a lot to improve this blog – and they show me there are people who read this blog, and, judging from your comments, even enjoy it. Thank you very much!