Home » Author Archives: Remon Sinnema (page 2)

Author Archives: Remon Sinnema

REST Maturity

software-development-2-logo

In 2008, Leonard Richardson published his Maturity Heuristic that classified web services into three levels based on their use of URI, HTTP, and hypermedia. Back then, most web services were stuck at either level 1 or 2. Unfortunately, not a whole lot has improved since then in that respect: so-called pragmatic REST is still the norm.   BTW, I really ...

Read More »

Managers and Individual Contributors in Code

software-development-2-logo

I’m lucky to work for a company that makes it possible to have a good technical career, so that I don’t have to become a manager just to get more money. I like being an individual contributor because it gives me a sense of accomplishment when I get stuff done myself.   Anyway, I believe the distinction between manager and ...

Read More »

Conway’s Game of Life and the Flyweight Pattern

software-development-2-logo

Conway’s Game of Life is fascinating, both from a functional and from a technical perspective. This may explain why it’s often used for code retreats. Code retreats are a fun way to learn. It’s amazing how working with new pairs gives you new insights virtually every time.   At the last code retreat that I attended, one of my pairs ...

Read More »

The Decorator Pattern

java-logo

The Decorator Pattern One design pattern that I don’t see being used very often is Decorator. I’m not sure why this pattern isn’t more popular, as it’s quite handy. The Decorator pattern allows one to add functionality to an object in a controlled manner. This works at runtime, even with statically typed languages! The decorator pattern is an alternative to subclassing. ...

Read More »

Communicate Through Stories Rather Than Tasks

agile-logo

Communicate Through Stories Rather Than Tasks Last time I talked about interfaces between pieces of code. Today I want to discuss the interface between groups of people involved in developing software. There are two basic groups: those who develop the software, and those who coordinate that development. In Agile terms, those groups are the Development Team on the one hand, and ...

Read More »

REST 101 For Developers

java-interview-questions-answers

Local Code Execution Functions in high-level languages like C are compiled into procedures in assembly. They add a level of indirection that frees us from having to think about memory addresses. Methods and polymorphism in object-oriented languages like Java add another level of indirection that frees us from having to think about the specific variant of a set of similar ...

Read More »

How To Start With Software Security – Part 2

software-development-2-logo

Last time, I wrote about how an organization can get started with software security. Today I will look at how to do that as an individual. From Development To Secure Development As a developer, I wasn’t always aware of the security implications of my actions. Now that I’m the Engineering Security Champion for my project, I have to be. It ...

Read More »

How To Implement Input Validation For REST resources

java-interview-questions-answers

How To Implement Input Validation For REST resources The SaaS platform I’m working on has a RESTful interface that accepts XML payloads. Implementing REST Resources For a Java shop like us, it makes sense to use JAX-B to generate JavaBean classes from an XML Schema. Working with XML (and JSON) payloads using JAX-B is very easy in a JAX-RS environment like ...

Read More »

Securing HTTP-based APIs With Signatures

java-logo

I work at EMC on a platform on top of which SaaS solutions can be built. This platform has a RESTful HTTP-based API, just like a growing number of other applications. With development frameworks like JAX-RS, it’s relatively easy to build such APIs. It is not, however, easy to build them right.   Issues With Building HTTP-based APIs The problem ...

Read More »

How To Remove Friction From Your Version Control Experience

software-development-2-logo

Last week, I spend several days fixing a bug that only surfaced in a distributed environment.I felt pressure to fix it quickly, because our continuous integration build was red, and we treat that as a “stop the line” event. Then I came across a post from Tomasz Nurkiewicz who claims that breaking the build is not a crime. Tomasz argues ...

Read More »
Want to take your Java Skills to the next level?
Grab our programming books for FREE!
  • Save time by leveraging our field-tested solutions to common problems.
  • The books cover a wide range of topics, from JPA and JUnit, to JMeter and Android.
  • Each book comes as a standalone guide (with source code provided), so that you use it as reference.
Last Step ...

Where should we send the free eBooks?

Good Work!
To download the books, please verify your email address by following the instructions found on the email we just sent you.