JDriven Blog

Trojans in your source code

Posted on by  
Coen Goedegebure

As part of my work I frequently perform source code reviews for security issues. Looking for vulnerabilities in the logic of the source code is not easy, but when the encoding of that code is attacked, things get unreal pretty fast. Especially when you realise how often code is copy-pasted from sites like StackOverflow.

This article describes the dangers of hidden Unicode control characters and how they can make your source code appear differently than it is executed.

Continue reading →

Spocklight: Adjusting Time With MutableClock

Posted on by  
Hubert Klein Ikkink

Testing classes that work with date calculations based on the current date and time (now) can be difficult. First of all we must make sure our class under test accepts a java.time.Clock instance. This allows us to provide a specific Clock instance in our tests where we can define for example a fixed value, so our tests don’t break when the actual date and time changes. But this can still not be enough for classes that will behave different based on the value returned for now. The Clock instances in Java are immutable, so it is not possible to change the date or time for a Clock instance.

In Spock 2.0 we can use the new MutableClock class in our specifications to have a Clock that can be used to go forward or backward in time on the same Clock instance. We can create a MutableClock and pass it to the class under test. We can test the class with the initial date and time of the Clock object, then change the date and time for the clock and test the class again without having to create a new instance of the class under test. This is handy in situations like a queue implementation, where a message delivery date could be used to see if messages need to be delivered or not. By changing the date and time of the clock that is passed to the queue implementation we can write specifications that can check the functionality of the queue instance.

Continue reading →

5 Phases of hacking

Posted on by  
Coen Goedegebure

An ethical hacker follows a similar process to that of a malicious hacker to gain and maintain access to a computer system. The process of a typical attack scenario can be broken down into five distinct phases, which are described in this article.

Continue reading →

What value do you think being agile will bring you?

Posted on by  
Jasper Bogers

Here are my thoughts on some of the recent doubts I’ve had as someone who is usually a change agent and agile evangelist in some capacity or other.

These are questions you can ask yourself as an agile coach, as a sociotechnical delivery consultant, as an architect, as a developer, as a development manager, as an HR manager, and really as any person who plays a part in an organization’s efforts to deliver on its mission statement.

Continue reading →

Why I miss developing software

Posted on by  
Bas W. Knopper

This short story is all about the absolute joy you can experience as a Developer. I wrote it to share what it is that I miss sometimes, now that I’ve taken on a different path these last years. I wanted to write it down to share a combination of feelings that I miss that other developers might recognise as well and can cherish even more because it is written down. Hopefully this blog brings a smile to your face if you’re a developer, and can even be something that you can rely on in darker times. When those blasted builds just won’t go green, tests won’t pass, or production is not the happy place that it should be.

Continue reading →

Implementing a REST API for Object Detection with KotlinDL and KTor

Posted on by  
Rob Brinkman

After completing the Kotlin for Java Developers Course on Coursera I was looking for an excuse to put my freshly gained Kotlin knowledge into action. I decided to address my frustration about the large amount of falsely detected movements by one of my security camera’s.

One of the core components of that solution is a REST API that receives an image and returns a list of detected objects. I decided to develop that using Kotlin, KotlinDL and KTor.

This blog posts describes the core components of the solution. The source code of the example is available at GitHub.

Continue reading →

Elasticsearch: blazing fast products per category

Posted on by  
Michel Breevoort

This post will show how to create a list with how many products there are in a category and their sub categories with Elasticsearch aggregations covered with tests.

On our site there are products with a category and they have a sub category, for example product category is shoes and sneakers is a sub category.

shirts (134)
shoes (254)
    - running (54)
    - sneakers (200)

Continue reading →

shadow-left