Blog_ JSON (1)

Which JSON library for Java can parse JSON files the fastest?

JSON is the accepted standard these days for transmitting data between servers and web applications, but like many things we’ve accepted, it’s easy to take it for granted and not put much further thought into it. We often don’t think about the JSON libraries we use, but there are some differences between them. With that in mind, we ran a benchmark test to see how fast four of the most popular JSON libraries for Java parse different sizes of files. Today, we’re sharing those results with you guys.

JSON is often used to transport and parse big files. This is a scenario that’s common in data processing applications running in Hadoop or Spark clusters. Given the size of these files, you can be looking at significant differences in parsing speed between libraries.

Continue Reading…

deathmatch

Do you have what it takes to navigate through a Java deathmatch? Can you solve our Java puzzle fast enough to get on the scoreboard? Test yourself or face off against challengers in Takipi’s Java Deathmatch.

play-button

 

 

deathmatch

 

Continue Reading…

Takipi Fred Ops

A step-by-step walkthrough for choosing a Graphite monitoring architecture for your application 

Graphite is an excellent open source tool for handling visualizations and metrics. It has a powerful querying API and a fairly feature-rich setup. In fact, the Graphite metric protocol is often chosen the de facto format for many metrics gatherers. However, Graphite isn’t always a straightforward tool to deploy and use. It runs into some issues with scale, thanks to its design and its use of huge amounts of small I/O operations, and can be a bit of a pain to deploy.

Continue Reading…

Duke oAuth

A guide to adding Google and GitHub OAuth sign-in to your Java application

One of the most recent features that we’ve added to Takipi is 3rd party sign-in. If you’re remotely lazy like I do, then I guess you also prefer skipping on filling up forms and making up new passwords. When available, many people prefer a 3rd party sign-in as long as the permissions they’re asked for are non-intrusive – no-one really wants random posts showing up on their Facebook wall, so this kind of access includes only the user’s basic info like name and email addresses. In this post you’ll get a sneak peak to how we implemented this in Takipi, how you can use 3rd party sign-in in your application and a few insights that we came across that will save you some precious time if you decide to integrate this with your own application.

Continue Reading…

Roland Kuhn

Back to the drawing board: The lost lines of code on the road to Akka Streams, Akka HTTP and Akka Typed

If you’ve ever been curious about how new core features are being developed and why your favorite technologies take on a certain path, you’ve reached the right place. In the new design decisions series on the Takipi blog you’ll discover the driving forces behind the tools and frameworks you use on a daily basis. You’ll see what makes them tick, how the gears fall into place, meet the developers behind all those lines of code and get a chance to pitch in and ask the tough questions that you want answered.

Continue Reading…

Bart Duke

The most interesting Coursera courses for Java and Scala developers 

It’s been said that learning doesn’t stop when you leave the classroom, and I’ve found that mostly true. One big difference is that you have to put more effort into it outside of school. Luckily for all of us, there are several great resources for continuing to learn on our own time, and the best thing is that they’re available for all of us, no matter who we are.

One such great resource is Coursera. Coursera is excellent for finding online classes from good universities on a huge range of topics. Whether you want to expand your knowledge or refresh your memory, you can often find something of value there. We’ve taken a look at the current offerings on Coursera that are relevant for Java and Scala developers, and here are some of the most interesting ones we found.

Continue Reading…

Duke Java x-ray

What can you learn when your application crashes?

I think, “Hindsight is 20 / 20” is one of the favourite phrases of Toomas Römer, ZeroTurnaround’s VP of Engineering. Well, I’m not actually sure what place in his top of phrases it takes, but I’ve heard him saying it several times. Given that it means that looking at the past you can reason about things much better than predict them happening in the future, it usually happens when we have failed to predict something correctly and reflected on the results of the actions. If you hear this phrase often enough it means that you often enough reflect on things and you know that every failure, every mistake offers a lesson to learn.

Well, it might be the case that you don’t make mistakes, or you don’t make any important mistakes that propagate to your final product, to the end-users. I do make them occasionally, more than once I fork-bombed our servers and countless times committed broken code. Sometimes it slipped into final products as well. Every time the broken code I wrote came back to bite me, I learned something. Every time I had to investigate what was the reason for the errors at hand, reproduce it on my machine, and produce a fix.

In this post I want to look at the tools and techniques that can help you obtain relevant information about errors and help you reproduce and fix them.

Continue Reading…

Canary Server

What are some considerations and things to think about if I want to get the most out of testing in my production environment?

Production environments are a different beast. No matter how much effort you put into staging environments, you’re only truly getting real life conditions, and therefore real life data, in production. Everyone does some degree of testing in production, but getting actual valuable data from testing in production requires intent and planning.

Continue Reading…

Java Staging

How come there are companies who skip staging and push new code straight to production? 

The classic model of developing software applications has several environments: development, integration, testing, QA, staging, and finally production. In practice, particularly today, several of these environments are streamlined or done away with altogether. As the software world has evolved, it’s worth revisiting some central assumptions about the development models we use. Today, we’re looking at one environment in particular: staging. Many developers are forgoing it anyway and taking on the risks of testing directly in production, so the question is: do we really need staging environments anymore?

To help ruminate on this question, we spoke with Avishai Ish-Shalom from Fewbytes (who also shared his insights with us on my earlier Docker post). What follows is drawn from that conversation.

Continue Reading…

Github Java Libraries

What are the top Java libraries used by some of the most popular projects on Github? Based on analyzing 60,678 dependencies

We like backing up everything we say with data, that’s why some people claim we’re not that fun at parties. Obviously, they’re going to the wrong parties. In this post we’ve looked into 60,678 import statements of 11,939 unique Java libraries that are used by the top 5,216 Java projects on Github – and extracted the top 100 to a list. Or how we like to call it, a fun way to spend a rainy weekend.

webinar_facebook (1)

There’s a tension between new rising technologies and good ol’ tried and tested libraries that we all like to use. The new libraries and frameworks tend to generate more buzz up to a point where it seems everybody are using them and you’re left behind the curve – This is often NOT the case and this post brings the numbers to prove it.

Continue Reading…