java puzzle Java Puzzle: The One Word Solution Worth $250

Earlier this month we posted Takipi’s 1st Java puzzle, as a tribute to “Java Puzzlers” by Joshua Bloch and Neal Gafter. We assumed this puzzle might get some attention, but even we were amazed with the sheer volume of responses and their quality.

We received hundreds of solutions, some more creative than others (not necessarily a good thing in this case). Some readers told us it took several sleepless nights to solve this puzzle, while others thought they had the correct answer without changing anything at all. Some developers even missed the deadline, but sent a solution anyway, just to share their take on it.

Eventually, out of 34 correct answers, one was randomly drawn as the winner, and will receive a $250 Amazon gift card. However, we had so much fun creating this puzzle and getting great responses from the Java community, we will definitely have more puzzles in the near future. You can follow us on twitter to know exactly when they’re posted.

Let’s cut to the chase.

Continue Reading…

Java 9 Telescope Java 9 The Ultimate Feature List

This post will be updated with new features targeted at the upcoming Java 9 release (last updated: 9/9/2014)

The OpenJDK development is picking up speed: after the Java 8 launch in March 2014, we’re expecting to enter a 2 year release cycle. Java 9 will reportedly be released in 2016, and an early list of JEPs (JDK Enhancement Proposals) that target the release has already been published. Moreover, some JSRs (Java Specification Requests) are already being worked on and we’ve also added a hint of other features that might be included.

Continue Reading…

Takipi1 Java Puzzle: Can You Change One Word to Fix This Bug? Win $250

As big fans of the book “Java Puzzlers” by Joshua Bloch and Neal Gafter, we’re always looking for new Java puzzles to solve. Since we haven’t seen good ones in a while, and as a tribute to their Java brainteasers we’ve decided to add a puzzle of our own. In their own words: “By working through the puzzles, you will become less likely to fall prey to these dangers in your code and more likely to spot them in code that you are reviewing or revising”. And besides, it’s also really fun. To spice it up a bit more we’ve added a $250 Amazon gift card to the one developer who manages to solve it. In one move. And give the right explanation as to what exactly happened there. We hope your kung fu is strong today.

Continue Reading…

Blog Trash 1 Garbage Collectors Serial vs. Parallel vs. CMS vs. G1 (and what’s new in Java 8)

 

The 4 Java Garbage Collectors – How the Wrong Choice Dramatically Impacts Performance

The year is 2014 and there are two things that still remain a mystery to most developers – Garbage collection and understanding the opposite sex. Since I don’t know much about the latter, I thought I’d take a whack at the former, especially as this is an area that has seen some major changes and improvements with Java 8, especially with the removal of the PermGen and some new and exciting optimizations (more on this towards the end).

When we speak about garbage collection, the vast majority of us know the concept and employ it in our everyday programming. Even so, there’s much about it we don’t understand, and that’s when things get painful. One of the biggest misconceptions about the JVM is that it has one garbage collector, where in fact it provides four different ones, each with its own unique advantages and disadvantages. The choice of which one to use isn’t automatic and lies on your shoulders and the differences in throughput and application pauses can be dramatic.

Continue Reading…

Blog route53c Route 53 Benchmark: The New AWS Geolocations Surprising Results

Latency vs. Geolocation: Testing DNS configurations across multiple EC2 regions using AWS Route 53

If you’re using the AWS stack, you’ve probably been through this: Deciding which EC2 instance to fire up and which region to deploy them on is tricky. Some of you might have started multiple EC2 instances behind a load balancer – but that’s almost never enough. Our Aussie friends shouldn’t have to wait for resources coming from Virginia. What we really need is an easy to use global solution.

This is where Amazon’s Route 53 DNS routing comes in handy. Adding routing policies to your domain will help guarantee that users get the fastest responses, and as we all know, speed == happiness.

At the end of July 2014, Amazon announced a new Route 53 routing policy: Geolocation. We are big advocates of latency-based routing so we wanted to put the new policy to the test.

Continue Reading…

VS Sublime VS. Atom: Can GitHub Take the Lead?
Comparing Sublime and Github’s Atom in 10 major categories

Sublime has been the undisputed text editing champion for a while now. But a new contender – GitHub’s Atom – is stepping into the spotlight, making noise and trying to steal the not-so-old champion’s thunder. 5 Months after the release of its beta, and some 30 versions later, we felt it would be a good time to test these two head-to-head. On the left corner, in the black shorts with the orange stripes – the long standing champion Sublime. In the green corner – the young and “hackable” contender – GitHub’s Atom.

Let’s get started:

Continue Reading…

Fracture Oracles Latest Java 8 Update Broke Your Tools — How Did it Happen?
If you’ve been keeping up with the news in the Java world lately, you’ve probably heard that the latest Java 8 build released by Oracle, Java 8u11 (and Java 7u65), introduced errors and broke some popular 3rd party tools such as ZeroTurnaround’s JRebel, Javassist, Google’s Guice, and even Groovy itself.

Continue Reading…

EC2S3 AWS Speed Test: What are the Fastest EC2 and S3 Regions?

How do different AWS regions compare to one another? A benchmark of transferring data from EC2 instances to S3 buckets

Many developers choose to host their data and code in the Amazon Web Services cloud, but when it comes to choosing a region it’s not that clear how to choose between the different options. To help shed some light on this, we’ve tested the upload/download speeds between the 8 available AWS regions – in the US, Asia, South America, Europe and Australia. We wanted to learn about the tradeoffs between regions and what kind of speeds to expect.

To add more insight, we then compared the results to a similar test we ran last year, which helped shed some light into the changes Amazon has made since. An interesting side effect of this was that we saw how physical infrastructure changes affect the results. For example, the deployment of an optical fiber from one point to another has improved the upload time by almost 3x.

Continue Reading…

duke log1 How to Instantly Improve Your Java Logging With 7 Logback Tweaks

The benchmark tests to help you discover how Logback performs under pressure

Logging is essential for server-side applications but it comes at a cost. It’s surprising to see though how much impact small changes and configuration tweaks can have on an app’s logging throughput. In this post we will benchmark Logback’s performance in terms of log entries per minute. We’ll find out which appenders perform best, what is prudent mode, and what are some of the awesome side effects of Async methods, sifting and console logging. Let’s get to it.

Continue Reading…

DukeXray 6 Reasons Not to Switch to Java 8 Just Yet

Java 8 is awesome. Period. But… after we had the chance to have fun and play around with it, the time has come to quit avoiding the grain of salt. All good things come with a price and in this post I will share the main pain points of Java 8. Make sure you’re aware of these before upgrading and letting go of 7.

Continue Reading…