How Continuous Integration Works, and The Big Benefit No One Talks About

Discover faster, more efficient performance monitoring with an enterprise APM product learning from your apps. Take the AppDynamics APM Guided Tour! In DevOps, Continuous Integration (CI) is increasingly the integration method of choice, in large part because of the speed at which it enables the release of new features, bug fixes, and product update. In a digital world that moves ...

Read More »

Top 20 Online Programming Courses to Boost your Career

Do you want to know what is the best investment you can make with your time and money? Knowledge As a software developer you should be constantly acquiring new skills. This is the best way to advance your career and enjoy the rewards (monetary, emotional etc.). Towards that direction you should be reading books, devouring technical articles and staying informed ...

Read More »

Alan Kay Was Wrong About Him Being Wrong

Time to time someone is asking me what I think about what Alan Kay, the father of OOP, the designer of Smalltalk, the first object-oriented language, said in 1998 about OOP. He literally said that the very term “object” was misleading and a more appropriate one would be “messaging.” Here is what I think.             ...

Read More »

Handling Exceptions In Java

Every programmer wants to write a flawless program. That is, a program that runs without any hitch or glitch. Well, if wishes were horses, beggars would ride. Beyond all the wishes of a programmer, sometimes unforeseen circumstances happen. These unforeseen circumstances are generally categorized as ”exceptions” in Java. Exceptions interfere with the smooth running of our code and terminate the ...

Read More »

Handle custom exception types in JAX-RS

java-interview-questions-answers

JAX-RS supports handling custom exceptions — thrown in either EJBs or CID beans — to custom HTTP responses. Assuming we have an “exceptional” EJB: @Stateless public class Hello { public String greeting() { if (new Random().nextBoolean()) throw new GreetingException("Could not greet"); return "hello"; } } @ApplicationException public class GreetingException extends RuntimeException { public GreetingException(String message) { super(message); } } The EJB is used in ...

Read More »

Microservices with Akka

As mobile and data-driven applications increasingly dominate, users are demanding real-time access to everything everywhere. System resilience and responsiveness are no longer “nice to have”; they’re essential business requirements. Businesses increasingly need to trade up from static, centralized architectures in favor of flexible, distributed, and elastic systems. But where to start and which architecture approach to is still a little ...

Read More »

Gettin’ schwifty with Clojure’s core.async

A few months ago, somebody in the office pointed us to an interesting  job offer from CartoDB which looked as follows: What follows is a technical test for this job offer at CARTO: https://boards.greenhouse.io/cartodb/jobs/705852#.WSvORxOGPUI Build the following and make it run as fast as you possibly can using Python 3 (vanilla). The faster it runs, the more you will impress us! ...

Read More »

Learning to use Wholly GraalVM!

Introduction In the post Truffle served in a Holy Graal: Graal and Truffle for polyglot language interpretation on the JVM, we got a brief introduction and a bit of deep dive into Graal, Truffle and some of the concepts around it. But no technology is fun without diving deep into its practicality, otherwise its like Theoretical Physics or Pure Maths ...

Read More »

Invest in a Github Organization!

To start, let me say that Github is the subject here simply because they are the biggest in the open source industry. Github has become the Facebook of software development and that is why it makes sense to focus on it. In the future, a better platform might show up and then this article will apply to that one. A ...

Read More »

Recursion

Recursion is a technique that allows us to break down a problem into smaller pieces. This technique allows us to remove some local side effects that we perform while writing looping structures and also makes our code more expressive and readable. In this post we will see why it is a very useful technique in functional programming and how it can help ...

Read More »

Introducing Interaction-Driven Design

Before reading this post, I strongly recommend you read the two previous blog posts that serve as a foundation to this blog: MVC, Delivery Mechanism and Domain Model and A Case for Outside-In Development. Most software projects become very difficult to maintain and evolve after a period of time. Business is constantly complaining that things take forever to be delivered. Developers complain the ...

Read More »