Imagine a bacon-wrapped Ferrari. Still not better than our free technical reports.

OSX productivity tips: advanced shortcuts and windows manager

I’ve been a long time OSX user. The saying goes: “Once you go Mac, you never go back!” And while I absolutely love what Apple has done with the operating system, there are always some customization and productivity tricks that can make the entire experience even more awesome.

Today I would like to share a couple of customizations with you. I use these whenever I get my hands on a new Mac. I am somewhat of a shortcut junkie and I try to avoid using the mouse as much as possible. This blog post is heavily centered around that and adding new global keyboard shortcuts to OSX.

Read more

SQL cheat sheet

RebelLabs-SQL-cheat-sheet

If there’s one thing that almost no application can live without, it’s the database. The pillar that holds the data, the ultimate source of the data conflict resolution, the storage that survives power outages. Working with a database correctly is the key to successful application design.

That is why it’s time to turn our attention to the crown jewel of the declarative programming languages: SQL. And while we realize that it’s hard to fit everything you need to know about SQL on a single A4 page, we’ve tried to incorporate some of the essential information you will need to reference again and again.

Read more

Getting started with Firebase on Android

Architecting an Android application is a fascinating task. Besides designing how the component of you app will interact, you need to take care of the common functionality that any application needs. Typically that includes the requirements that go span across the functionality, like logging, managing users and credentials, metrics and analytics, and so on. Since you cannot always store all the necessary data on the device, you’ll need to think about some sort of a backend service.

When you are just starting a project you might be reluctant to build a backend service from scratch. One option you should consider is Firebase. A platform that contains a lot of the common functionality for you and offers features like notifications, file storage, analytics, remote config and so one as a service. At the moment it has eleven services that help you to develop, grow and earn money from your applications.

In this getting started with Firebase on Android post I’ll walk you through setting up an Android project with the Firebase platform. We make our project implement its application analytics and send events to the Firebase console.

Read more

ZTLive Webinar: Functional programming in Java 8

ZTLive webinar Java 8 header

A ZTLive Webinar: Functional programming in Java 8


This webinar is sponsored by ZeroTurnaround and is scheduled for June 29th at 10am PDT / 1pm EDT / 6pm BST / 2am JST.

Read more

Getting started with Retrofit 2

Today, I’ll look at using the Retrofit 2 HTTP client to see how complicated vs how beneficial it is for my application. Retrofit is one of the amazing tools that Square Inc. has released into the open source community. It’s a type-safe HTTP client, both for Android and Java applications.

The main premise behind type-safe HTTP clients is that you only need to worry about the semantics of the queries that you send over the network, rather than the details of how to construct URLs, specify parameters correctly and so forth. Retrofit makes this really easy by requiring you to write just a couple of interfaces, and that’s it!

Let’s see how it works on an example. The repository which I’ve added all my code to is available on Github, and as always, the best way to learn is to check it out and tinker with it yourself.

Read more

Developer Productivity Report 2016: Java Tools and Technologies sneak peek

Summer is coming. You know what that means for you, dear RebelLabs reader. We’re about to publish the results of our annual survey. It’s the one where we ask Java developers to tell us which technologies are they using, what tools they spend most of their time tinkering with, and which frameworks make their lives easier. This information gives us incredible insight into the community and allows us to pick more relevant topics for upcoming blog posts.

Back in February this year, we launched the survey and asked everyone we knew of in the Java community to contribute to the data by answering the questions. We also asked them to share it with their colleagues, peers, friends and anyone else in the community. We also promised to support Devoxx for Kids with a $1000 contribution if we received 2000 responses.

Read more

XRebel 3.1 Released: Featuring Eclipse plugin.

For better user convenience, XRebel is now available as an Eclipse plugin. You can install the plugin via the Eclipse Marketplace client. The XRebel agent will then be enabled for the configured WTP servers in your workspace.

Read more

JRebel for Android and Instant Run: Hot Swaps, Warm Swaps, Cold Swaps, all the Swaps!

Hi, Sten the Product Manager from JRebel for Android here. People keep asking me about the differences between JRebel for Android and Google’s own Instant Run. Since Android Studio 2.0 has finally been released, this is a good time to compare the two.

Back in November of 2015, Google announced Android Studio 2.0. Complete with a totally new feature titled “Instant Run”. Delivering faster build times to Android developers by supporting hot swapping code and resources in an already running application. The idea itself is nothing that new — it has been present in Java for over a decade. JRebel, the Java code reloading tool for Java SE/EE, has been enhancing developers’ lives for the past 8 years. This leads us to JRebel for Android. A tool that is approximately 1.5 years old, bringing the same technology to Android developers.

Today, I will provide an overview of how Google’s Instant Run and JRebel for Android handle code and resource changes. Side by side.

Read more

7 best Android libraries developers should know about

Android & Java both have quite similar APIs. Naturally, the benefit of Android & Java’s APIs being similar is that it makes it possible to develop frameworks and libraries that work on both platforms. This blogpost takes a look at seven Android libraries which Java developers should at least know about. Also, it’s a good post for Android developers to be aware of too, just in case there are some libraries you may not be aware of.

Read more

If and when you should use Test-Driven Development

Have you ever argued about the efficiency of test-driven development in your day job? I certainly have, and on both sides of the argument. I have worked in the software development sector for 9 years as a developer and an architect on seven different projects ranging from mobile apps to a custom made telecom self services. I’m fed up of the pointless arguments – the ones based on solo experiences and anecdotal evidence. In this article I try to remedy this situation and clarify TDD in an objective way. Arguments should be based on a common understanding of what TDD is and your current project situation at hand: people involved, technology, goal, deadline, etc.

Read more