- java 42
- java 8 11
- spring 8
- linux 8
- windows 7
- ubuntu 7
- testing 7
- lambda 7
- php 6
- ssh 5
- apache 4
- rdp 4
- ansible 4
- optional 4
- spring boot 4
- how-to 3
- configuration 3
- pki 3
- redis 3
- git 3
- vagrant 3
- arduino 3
- dropwizard 3
- cdct 3
- weblogic 2
- maven 2
- tips 2
- tricks 2
- break 2
- SSL 2
- ssl 2
- tls 2
- tomcat 2
- cron 2
- composer 2
- resque 2
- yii 2
- error 2
- tutorial 2
- gradle 2
- remote desktop 2
- remmina 2
- qv 2
- qlikview 2
- wifi 2
- tunneling 2
- raspberry pi 2
- streams 2
- functional programming 2
- stream 2
- sugarcrm 2
- vcs 2
- version control 2
- deployment 2
- configuration management 2
- python 2
- electronics 2
- hardware 2
- null reference 2
- esp8266 2
- IoT 2
- provisioning 2
- design pattern 2
- observer 2
- rest 2
- jersey 2
- dependency injection 2
- control flow 2
- conditional 2
- java 9 2
- pact 2
- postgres 2
- locks 2
- ant 1
- path 1
- jrebel 1
- pom.xml 1
- rebel.xml 1
- phpmyadmin 1
- programming 1
- Apache 1
- Tomcat 1
- sni 1
- openssl 1
- esteid 1
- client certificates 1
- crl 1
- ocsp 1
- background processing 1
- unix 1
- codeception 1
- background 1
- job 1
- php-resque 1
- phpredis 1
- autoload 1
- replication 1
- master 1
- slave 1
- redis-cli 1
- redis-server 1
- virtualbox 1
- virtualization 1
- vm 1
- network 1
- ascii 1
- apache commons 1
- utf-8 1
- mysql 1
- jdbc 1
- exception 1
- dbcp 1
- mock 1
- stub 1
- mockito 1
- logging 1
- catalina 1
- rdesktop 1
- share 1
- freerdp 1
- bat 1
- batch 1
- windows task scheduler 1
- schedule 1
- security 1
- shell 1
- secure shell 1
- excel 1
- xls 1
- access point 1
- ntlm 1
- raring 1
- saucy 1
- apple 1
- macbook 1
- wireless 1
- broadcom 1
- bcmwl-kernel-source 1
- joda-time 1
- jdk 1
- unittesting 1
- vpn 1
- windows server 1
- networking 1
- work 1
- pomodoro 1
- health 1
- predicate 1
- function 1
- lambdaj 1
- guava 1
- retrolambda 1
- jekyll 1
- github 1
- blog 1
- blogging 1
- markdown 1
- ruby 1
- YAML 1
- wordpress 1
- method reference 1
- class 1
- constructor 1
- upstart 1
- system v 1
- service 1
- mule 1
- esb 1
- init 1
- collector 1
- collect 1
- reduce 1
- fold 1
- rc car 1
- fork 1
- join 1
- concurrency 1
- concurrent programming 1
- fork/join 1
- sparkfun 1
- SoC 1
- gtkterm 1
- dtr 1
- multithreading 1
- i/0 1
- publish-subscribe 1
- loose coupling 1
- puzzler 1
- unicode 1
- compiler 1
- chromium 1
- chrome 1
- mtu 1
- ifconfig 1
- kata 1
- javascript 1
- binary search 1
- binary tree 1
- algorithm 1
- data structure 1
- web service 1
- jackson 1
- intellij 1
- eclipse 1
- netbeans 1
- streams api 1
- crud 1
- back-end 1
- time 1
- clock 1
- basics 1
- loop 1
- autowire 1
- inject 1
- package 1
- architecture 1
- layer 1
- react 1
- web 1
- microservices 1
- CI/CD 1
- JWT 1
- JSON Web Token 1
- authentication 1
- graalvm 1
- native image 1
- containers 1
- records 1
- npe 1
- instanceOf 1
- devops 1
- kubernetes 1
- nginx 1
- aws 1
- ec2 1
- pit 1
- database 1
- sql 1
- aurora postgres 1
- lockmanager 1
- fast-path 1
java
Improve the Quality of Your Tests With Mutation Testing
Ever wondered if your tests are actually catching bugs as they should? Let’s dive into mutation testing, a clever technique that helps us validate the quality of our tests.
Pattern Matching for instanceOf in Java 14
Pattern matching capabilities added to the instanceOf operator in Java 14 is going to enhance the programming language.
Helpful NullPointerExceptions in Java 14
Helpful NullPointerExceptions in Java 14 improve NPE error messages by describing precisely which variable was null.
Java 14 Records
Java 14 introduces a new preview feature to the language—Records—with a goal to provide a compact syntax for declaring containers of shallowly immutable data.
Running Spring Boot apps as GraalVM native images
GraalVM is a high-performance polyglot virtual machine. It’s ability to create ahead-of-time compiled native images considerably speed up Spring Boot startup times.
Misusing Java’s Optional type
Java’s Optional type has been criticised for its flaws. It’s also being used for things it was perhaps not designed. This post shows some situations where I think Optional is being misused.
Serving React apps from Spring Boot
You’ve decided to build a wep app with React and want to use Spring Boot for the back end. This post will show you how to serve a React app from Spring Boot.
Structuring packages in Java web applications
Often times in Java web applications we see that the package structure indicates that a layered architecture is used. In this post we’re going to explore the ideas around what would happen if layers were not the topmost level of organization in an application architecture.
Improvements to Optional in Java 9
Java 9 introduced three new methods to the Optional class. This post covers what they do and how to use them.
Using environment variables with Spring Boot
This post will cover how you can use OS environment variables to pass configuration values to a Spring Boot application.
takeWhile and dropWhile in Java 9 Streams
Arguably one of the most noteworthy new features introduced in Java 8 was the Streams API. Java 9 offers two new stream operations—takeWhile and dropWhile.
To field inject, or not to field inject in Spring?
Nearly all Spring projects that I have worked with make heavy use of field injection. This must be a popular approach because it is concise and reads well. But have you ever considered the downsides of field injection?
Java’s While and Do-While Loops in Five Minutes
A while loop is a control flow statement that runs a piece of code multiple times. It consists of a loop condition and body. Java also has a do while loop.
Java’s Ternary Operator in Three Minutes
The ternary operator is a form of syntactic sugar for if-then-else statements. It is also known as the conditional operator, which is perhaps a more meaningful name because it evaluates conditions like if does.
Java’s If Statement in Five Minutes
The if statement is the most basic conditional statement. It checks a condition, which is any boolean expression, and runs a block of code if it is true.
Unit testing classes that depend on time
Dependency inversion principle states that we should depend upon abstractions. Taking that into account, time should also be considered as a dependency.
Type-safe configuration in Spring Boot
Spring Boot provides a type-safe way to handle configuration by allowing you to create a bean and populating it with property values from your configuration file.
Externalized configuration in Spring Boot
Externalized configuration is essential if you wish to deploy the same deployable unit to different environments without modifying the source code. Spring Boot provides several easy methods of doing that.
Getting started with Dropwizard - CRUD operations
Dropwizard is a framework for building RESTful web services in Java. This tutorial shows how to create, retrieve, update, and delete resources.
5 ways to create a Stream in Java 8
Java 8 introduced the Streams API which allows developers to declaratively manipulate collections. Here are five ways to create a Stream in Java 8.
Running a Dropwizard application in IntelliJ IDEA, Eclipse and NetBeans
In addition to executing a Dropwizard application from the command line, you can increase your productivity by configuring your IDE to do that for you. This post is going to be looking at how to run a Dropwizard application in IntelliJ IDEA, Eclipse and NetBeans.
Getting started with Dropwizard
Dropwizard is a framework for building RESTful web services in Java. In this tutorial we’re going to have a look at how to get started with developing a Dropwizard application by building a new service from scratch.
Java, Unicode, and the Mysterious Compiler Error
This post covers how the Java compiler handles Unicode escapes and how they can cause mysterious compiler errors.
Java 8 Puzzlers: Streams
In the spirit of the book Java Puzzlers by Joshua Bloch and Neal Gafter, this post discusses a Puzzler that can be found in Java 8 Streams.
Design patterns: Specialization of the classic observer pattern
In the typical case, the observer is responsible of getting the updated state from the subject. This means that the observer has to hold a reference to the subject (also the subject holds a reference to the observer, meaning we have created a circular reference).
Design patterns: Observer pattern implementation in Java
Observer pattern is a design pattern with an intent to define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
Java 8: CompletableFuture
CompletableFuture is an implementation of the Future interface but with a modern twist. It takes advantage of functional operations to promote asynchronous/event-driven programming model.
Chaining Optionals in Java 8
Optionals in Java can help you to write a program without null checks. Chaining Optionals in a Stream enables to pick the first Optional which has a value and return it.
Optionals in Java 8
If you have had any experience with Java, then you most likely have seen the NullPointerException. Optional in Java 8 are a way to fight them.
The fork/join framework in Java
Introduced in Java 7, the fork/join framework is used to divide a parallelizable task into smaller ones and afterwards combine the intermediate results to get the end result.
Creating a custom collector in Java 8
A collector is a recipe for how to build a summary of the elements in a Stream. In this post you’ll see how to create a custom collector in Java 8.
Four types of method references in Java 8
Method references let you reuse existing method definitions and pass them just like lambdas. They can be useful in making the code more readable.
Java 8: Lambda expressions
In computer programming, an anonymous function (also function literal or lambda abstraction) is a function definition that is not bound to an identifier.
Java 8: Behavior parameterization
Behavior parameterization is essentially taking a block of code and making it available without executing it. Here’s how to do it with Java.
Using Joda-Time in unit tests
Joda-Time is a Java library which provides a quality replacement for the Java date and time classes.
SEVERE: Error listenerStart - debugging Tomcat applications
How to debug the dreaded ‘Error listenerStart’ error message
Getting started with Mockito - a tutorial for beginners
A tutorial for getting your feet of the ground with Mockito
Solving MySql JDBC CommunicationsException
I faced a com.mysql.jdbc.exceptions.jdbc4.CommunicationsException and this is how I solved it.
Character set problem when uploading a file
Non-ASCII characters in file name get garbled when uploading a file with Apache Commons and Spring CommonsMultipartResolver.
Configuring Tomcat to accept Estonian ID card
In order to accept Estonian ID card, Tomcat needs to be configured to accept client side certificates.
XsltException caused by JRebel
XsltException caused by a seemingly missing stylesheet. Turns out JRebel was the culprit.
Wrong version of Ant in path
Recently, working on a Windows box, I had a problem where my ANT_HOME and ant -version result did not match.
java 8
Unit testing classes that depend on time
Dependency inversion principle states that we should depend upon abstractions. Taking that into account, time should also be considered as a dependency.
5 ways to create a Stream in Java 8
Java 8 introduced the Streams API which allows developers to declaratively manipulate collections. Here are five ways to create a Stream in Java 8.
Java 8 Puzzlers: Streams
In the spirit of the book Java Puzzlers by Joshua Bloch and Neal Gafter, this post discusses a Puzzler that can be found in Java 8 Streams.
Design patterns: Specialization of the classic observer pattern
In the typical case, the observer is responsible of getting the updated state from the subject. This means that the observer has to hold a reference to the subject (also the subject holds a reference to the observer, meaning we have created a circular reference).
Java 8: CompletableFuture
CompletableFuture is an implementation of the Future interface but with a modern twist. It takes advantage of functional operations to promote asynchronous/event-driven programming model.
Chaining Optionals in Java 8
Optionals in Java can help you to write a program without null checks. Chaining Optionals in a Stream enables to pick the first Optional which has a value and return it.
Optionals in Java 8
If you have had any experience with Java, then you most likely have seen the NullPointerException. Optional in Java 8 are a way to fight them.
Creating a custom collector in Java 8
A collector is a recipe for how to build a summary of the elements in a Stream. In this post you’ll see how to create a custom collector in Java 8.
Four types of method references in Java 8
Method references let you reuse existing method definitions and pass them just like lambdas. They can be useful in making the code more readable.
Java 8: Lambda expressions
In computer programming, an anonymous function (also function literal or lambda abstraction) is a function definition that is not bound to an identifier.
Java 8: Behavior parameterization
Behavior parameterization is essentially taking a block of code and making it available without executing it. Here’s how to do it with Java.
spring
Serving React apps from Spring Boot
You’ve decided to build a wep app with React and want to use Spring Boot for the back end. This post will show you how to serve a React app from Spring Boot.
Structuring packages in Java web applications
Often times in Java web applications we see that the package structure indicates that a layered architecture is used. In this post we’re going to explore the ideas around what would happen if layers were not the topmost level of organization in an application architecture.
Using environment variables with Spring Boot
This post will cover how you can use OS environment variables to pass configuration values to a Spring Boot application.
To field inject, or not to field inject in Spring?
Nearly all Spring projects that I have worked with make heavy use of field injection. This must be a popular approach because it is concise and reads well. But have you ever considered the downsides of field injection?
Type-safe configuration in Spring Boot
Spring Boot provides a type-safe way to handle configuration by allowing you to create a bean and populating it with property values from your configuration file.
Externalized configuration in Spring Boot
Externalized configuration is essential if you wish to deploy the same deployable unit to different environments without modifying the source code. Spring Boot provides several easy methods of doing that.
Solving MySql JDBC CommunicationsException
I faced a com.mysql.jdbc.exceptions.jdbc4.CommunicationsException and this is how I solved it.
Character set problem when uploading a file
Non-ASCII characters in file name get garbled when uploading a file with Apache Commons and Spring CommonsMultipartResolver.
linux
Using a serial monitor with SparkFun ESP8266 Thing on Linux
Using Arduino IDE’s serial monitor with SparkFun ESP8266 Thing does not work. In this post you’ll see how to use a serial terminal with the SparkFun ESP8266 Thing on Linux.
Service won’t start when using the service utility
I debugged a service which didn’t start when using the service utility but was working fine when calling the init script directly.
Setting up a reverse SSH tunnel with a Raspberry Pi part 2
In part 2 I promised to show an example use case on how to connect to a Windows Server over RDP via a reverse SSH tunnel.
Setting up a reverse SSH tunnel with a Raspberry Pi part 1
You need to access your work computer or network from your home. Maybe a Raspberry Pi can help you.
NTLM authentication fails on Linux when accessing QlikView Access Point
I was unable to connect to QlikView Access Point from a Linux machine. My browser presented me with a username/password prompt and after entering the correct credentials, it seemed like no authentication was made.
5 steps to improve SSH security
SSH is something we (developers, sysadmins) use daily to connect to remote servers. Here are a few tips to keep your SSH connection secure.
Remmina: cannot connect to Windows server over RDP
What to do when suddenly you’re unable to connecto to a Windows server with Remmina over RDP
Sharing a local folder during a remote desktop session with RDesktop
Rdesktop is an open source client for Windows Remote Desktop Services, capable of natively speaking Remote Desktop Protocol (RDP) in order to present the user’s Windows desktop
windows
Setting up a reverse SSH tunnel with a Raspberry Pi part 1
You need to access your work computer or network from your home. Maybe a Raspberry Pi can help you.
NTLM authentication fails on Linux when accessing QlikView Access Point
I was unable to connect to QlikView Access Point from a Linux machine. My browser presented me with a username/password prompt and after entering the correct credentials, it seemed like no authentication was made.
Batch file in Windows Task Scheduler does not run
Creating a scheduled task in Windows Task Scheduler to run a batch file is relatively straight forward, or so I thought.
Remmina: cannot connect to Windows server over RDP
What to do when suddenly you’re unable to connecto to a Windows server with Remmina over RDP
Sharing a local folder during a remote desktop session with RDesktop
Rdesktop is an open source client for Windows Remote Desktop Services, capable of natively speaking Remote Desktop Protocol (RDP) in order to present the user’s Windows desktop
XsltException caused by JRebel
XsltException caused by a seemingly missing stylesheet. Turns out JRebel was the culprit.
Wrong version of Ant in path
Recently, working on a Windows box, I had a problem where my ANT_HOME and ant -version result did not match.
ubuntu
Service won’t start when using the service utility
I debugged a service which didn’t start when using the service utility but was working fine when calling the init script directly.
Fixing wireless on Macbook Pro with Ubuntu 13.10
Downgrading Broadcom’s proprietary driver and making sure no updates are applied to it.
NTLM authentication fails on Linux when accessing QlikView Access Point
I was unable to connect to QlikView Access Point from a Linux machine. My browser presented me with a username/password prompt and after entering the correct credentials, it seemed like no authentication was made.
Remmina: cannot connect to Windows server over RDP
What to do when suddenly you’re unable to connecto to a Windows server with Remmina over RDP
How to configure VirtualBox VM with 2 network adapters
This post describes how to create a VM which has a connection to the internet and also to other VMs in the virtual network.
Setting up Redis replication
The goal of this post is to install Redis on both of them and set up a master-slave replication configuration
How to access phpmyadmin after installation?
You’ve just installed phpmyadmin from your package manager. Here’s what you need to do in order to access it
testing
Improve the Quality of Your Tests With Mutation Testing
Ever wondered if your tests are actually catching bugs as they should? Let’s dive into mutation testing, a clever technique that helps us validate the quality of our tests.
Rock-solid Consumer Driven Contract Testing Workflow With Pact
To make the most out of Pact, you should put some time into automation. This post will cover the steps you need to take to create a rock-solid workflow that helps you to reap the benefits of consumer driven contract testing.
Consumer Driven Contract Testing with Pact
Consumer driven contract testing is a method that can be used to verify that services speak the same language. It is an alternative to traditional integration testing that gives you faster feedback.
The Challenges of Testing Microservices
Microservices provide you with several benefits. But there’s no question that they introduce a new set of challenges, one of them being testing.
Unit testing classes that depend on time
Dependency inversion principle states that we should depend upon abstractions. Taking that into account, time should also be considered as a dependency.
Using Joda-Time in unit tests
Joda-Time is a Java library which provides a quality replacement for the Java date and time classes.
Getting started with Mockito - a tutorial for beginners
A tutorial for getting your feet of the ground with Mockito
lambda
Misusing Java’s Optional type
Java’s Optional type has been criticised for its flaws. It’s also being used for things it was perhaps not designed. This post shows some situations where I think Optional is being misused.
Design patterns: Specialization of the classic observer pattern
In the typical case, the observer is responsible of getting the updated state from the subject. This means that the observer has to hold a reference to the subject (also the subject holds a reference to the observer, meaning we have created a circular reference).
Chaining Optionals in Java 8
Optionals in Java can help you to write a program without null checks. Chaining Optionals in a Stream enables to pick the first Optional which has a value and return it.
Optionals in Java 8
If you have had any experience with Java, then you most likely have seen the NullPointerException. Optional in Java 8 are a way to fight them.
Four types of method references in Java 8
Method references let you reuse existing method definitions and pass them just like lambdas. They can be useful in making the code more readable.
Java 8: Lambda expressions
In computer programming, an anonymous function (also function literal or lambda abstraction) is a function definition that is not bound to an identifier.
Java 8: Behavior parameterization
Behavior parameterization is essentially taking a block of code and making it available without executing it. Here’s how to do it with Java.
php
Version control and deployment practices for SugarCRM
This post will give you ideas on how to do version control with SugarCRM and how to manage multiple environments and deployments.
Autoloading Yii application classes in external scripts
Sometimes I want to have access to all of my classes in a Yii application externally.
Background jobs with PHP part 2
In this post, as promised, we’re going to implement a queue of jobs with Resque and Redis
PHP Fatal error: Cannot redeclare class with Yii
I am fairly new to PHP and Yii. Lately i struggled with a ‘cannot redeclare class’ error.
Background jobs with PHP part 1
A background job is a task that is executed ‘behind the scenes’ and without user intervention.
How to access phpmyadmin after installation?
You’ve just installed phpmyadmin from your package manager. Here’s what you need to do in order to access it
ssh
Accessing EC2 Instances with AWS SSM
Discover how to access your EC2 instances with AWS Systems Manager (SSM), eliminating the need for complex networking setups or SSH key management.
ERR_EMPTY_RESPONSE and SSH not working
Chrome is returning ERR_EMPTY_RESPONSE, Git and SSH connection hangs at expecting SSH2_MSG_KEX_ECDH_REPLY. Seems to be an MTU/fragmentation problem.
Setting up a reverse SSH tunnel with a Raspberry Pi part 2
In part 2 I promised to show an example use case on how to connect to a Windows Server over RDP via a reverse SSH tunnel.
Setting up a reverse SSH tunnel with a Raspberry Pi part 1
You need to access your work computer or network from your home. Maybe a Raspberry Pi can help you.
5 steps to improve SSH security
SSH is something we (developers, sysadmins) use daily to connect to remote servers. Here are a few tips to keep your SSH connection secure.
apache
SEVERE: Error listenerStart - debugging Tomcat applications
How to debug the dreaded ‘Error listenerStart’ error message
Configuring Tomcat to accept Estonian ID card
In order to accept Estonian ID card, Tomcat needs to be configured to accept client side certificates.
Setting up SSL on Apache
This article explains how to create an SSL certificate, get it signed and configure Apache web server
How to access phpmyadmin after installation?
You’ve just installed phpmyadmin from your package manager. Here’s what you need to do in order to access it
rdp
Setting up a reverse SSH tunnel with a Raspberry Pi part 2
In part 2 I promised to show an example use case on how to connect to a Windows Server over RDP via a reverse SSH tunnel.
Setting up a reverse SSH tunnel with a Raspberry Pi part 1
You need to access your work computer or network from your home. Maybe a Raspberry Pi can help you.
Remmina: cannot connect to Windows server over RDP
What to do when suddenly you’re unable to connecto to a Windows server with Remmina over RDP
Sharing a local folder during a remote desktop session with RDesktop
Rdesktop is an open source client for Windows Remote Desktop Services, capable of natively speaking Remote Desktop Protocol (RDP) in order to present the user’s Windows desktop
ansible
Ansible force remote user with Vagrant 1.8
My Ansible playbook stopped working when using Vagrant 1.8 or above. The problem seems to be with changes made in Vagrant.
Ansible skipping localhost when using Vagrant
Vagrant Ansible provisioner skips plays that are meant to be run on localhost. There’s a simple workaround for that.
Using Ansible to manage SugarCRM 7 environments and deployments
I’ve decided to use Ansible to manage SugarCRM environments and deployments. Here’s an overview of Ansible playbooks I’ve created.
Version control and deployment practices for SugarCRM
This post will give you ideas on how to do version control with SugarCRM and how to manage multiple environments and deployments.
optional
Misusing Java’s Optional type
Java’s Optional type has been criticised for its flaws. It’s also being used for things it was perhaps not designed. This post shows some situations where I think Optional is being misused.
Improvements to Optional in Java 9
Java 9 introduced three new methods to the Optional class. This post covers what they do and how to use them.
Chaining Optionals in Java 8
Optionals in Java can help you to write a program without null checks. Chaining Optionals in a Stream enables to pick the first Optional which has a value and return it.
Optionals in Java 8
If you have had any experience with Java, then you most likely have seen the NullPointerException. Optional in Java 8 are a way to fight them.
spring boot
Serving React apps from Spring Boot
You’ve decided to build a wep app with React and want to use Spring Boot for the back end. This post will show you how to serve a React app from Spring Boot.
Using environment variables with Spring Boot
This post will cover how you can use OS environment variables to pass configuration values to a Spring Boot application.
Type-safe configuration in Spring Boot
Spring Boot provides a type-safe way to handle configuration by allowing you to create a bean and populating it with property values from your configuration file.
Externalized configuration in Spring Boot
Externalized configuration is essential if you wish to deploy the same deployable unit to different environments without modifying the source code. Spring Boot provides several easy methods of doing that.
how-to
Configure SSL on Apache Tomcat
Here we are going to have a look at how to set up SSL on Apache Tomcat 7.0.
How to enable SSL listen port in Weblogic
Where to find the option in Weblogic console to enable SSL?
How to access phpmyadmin after installation?
You’ve just installed phpmyadmin from your package manager. Here’s what you need to do in order to access it
configuration
Type-safe configuration in Spring Boot
Spring Boot provides a type-safe way to handle configuration by allowing you to create a bean and populating it with property values from your configuration file.
Externalized configuration in Spring Boot
Externalized configuration is essential if you wish to deploy the same deployable unit to different environments without modifying the source code. Spring Boot provides several easy methods of doing that.
Configure SSL on Apache Tomcat
Here we are going to have a look at how to set up SSL on Apache Tomcat 7.0.
pki
5 steps to improve SSH security
SSH is something we (developers, sysadmins) use daily to connect to remote servers. Here are a few tips to keep your SSH connection secure.
Configuring Tomcat to accept Estonian ID card
In order to accept Estonian ID card, Tomcat needs to be configured to accept client side certificates.
Setting up SSL on Apache
This article explains how to create an SSL certificate, get it signed and configure Apache web server
redis
Setting up Redis replication
The goal of this post is to install Redis on both of them and set up a master-slave replication configuration
Background jobs with PHP part 2
In this post, as promised, we’re going to implement a queue of jobs with Resque and Redis
Background jobs with PHP part 1
A background job is a task that is executed ‘behind the scenes’ and without user intervention.
git
How to write a good commit message
Version control systems play a vital role in tracking the history of changes in a codebase. Knowing how to write good commit messages is an essential skill if you wish to have your project’s history well documented.
ERR_EMPTY_RESPONSE and SSH not working
Chrome is returning ERR_EMPTY_RESPONSE, Git and SSH connection hangs at expecting SSH2_MSG_KEX_ECDH_REPLY. Seems to be an MTU/fragmentation problem.
Blogging with Jekyll and Github
It is possible to host your blog at Github and version control your blog posts with Git. Here’s how.
vagrant
Ansible force remote user with Vagrant 1.8
My Ansible playbook stopped working when using Vagrant 1.8 or above. The problem seems to be with changes made in Vagrant.
Ansible skipping localhost when using Vagrant
Vagrant Ansible provisioner skips plays that are meant to be run on localhost. There’s a simple workaround for that.
Version control and deployment practices for SugarCRM
This post will give you ideas on how to do version control with SugarCRM and how to manage multiple environments and deployments.
arduino
How to control an RC car over WiFi with ESP8266
ESP8266 is a low-cost WiFi chip with a full TCP/IP stack and a microcontroller capability. Here is how I used it to control an RC car.
Using a serial monitor with SparkFun ESP8266 Thing on Linux
Using Arduino IDE’s serial monitor with SparkFun ESP8266 Thing does not work. In this post you’ll see how to use a serial terminal with the SparkFun ESP8266 Thing on Linux.
Controlling an RC car with an Arduino
Looking for an easy hardware project? Controlling an RC car with an Arduino board is relatively simple. I’ll share my experience.
dropwizard
Getting started with Dropwizard - CRUD operations
Dropwizard is a framework for building RESTful web services in Java. This tutorial shows how to create, retrieve, update, and delete resources.
Running a Dropwizard application in IntelliJ IDEA, Eclipse and NetBeans
In addition to executing a Dropwizard application from the command line, you can increase your productivity by configuring your IDE to do that for you. This post is going to be looking at how to run a Dropwizard application in IntelliJ IDEA, Eclipse and NetBeans.
Getting started with Dropwizard
Dropwizard is a framework for building RESTful web services in Java. In this tutorial we’re going to have a look at how to get started with developing a Dropwizard application by building a new service from scratch.
cdct
Rock-solid Consumer Driven Contract Testing Workflow With Pact
To make the most out of Pact, you should put some time into automation. This post will cover the steps you need to take to create a rock-solid workflow that helps you to reap the benefits of consumer driven contract testing.
Consumer Driven Contract Testing with Pact
Consumer driven contract testing is a method that can be used to verify that services speak the same language. It is an alternative to traditional integration testing that gives you faster feedback.
The Challenges of Testing Microservices
Microservices provide you with several benefits. But there’s no question that they introduce a new set of challenges, one of them being testing.
weblogic
How to enable SSL listen port in Weblogic
Where to find the option in Weblogic console to enable SSL?
Wrong version of Ant in path
Recently, working on a Windows box, I had a problem where my ANT_HOME and ant -version result did not match.
maven
Getting started with Mockito - a tutorial for beginners
A tutorial for getting your feet of the ground with Mockito
XsltException caused by JRebel
XsltException caused by a seemingly missing stylesheet. Turns out JRebel was the culprit.
tips
The importance of taking a break
If you’re going to dedicate the best years of your life to work, make sure you’re doing it for the right reasons.
Programming tips and tricks #1
These are not necessarily related to the technical aspects of programming.
tricks
The importance of taking a break
If you’re going to dedicate the best years of your life to work, make sure you’re doing it for the right reasons.
Programming tips and tricks #1
These are not necessarily related to the technical aspects of programming.
break
The importance of taking a break
If you’re going to dedicate the best years of your life to work, make sure you’re doing it for the right reasons.
Programming tips and tricks #1
These are not necessarily related to the technical aspects of programming.
SSL
Configure SSL on Apache Tomcat
Here we are going to have a look at how to set up SSL on Apache Tomcat 7.0.
How to enable SSL listen port in Weblogic
Where to find the option in Weblogic console to enable SSL?
ssl
Configuring Tomcat to accept Estonian ID card
In order to accept Estonian ID card, Tomcat needs to be configured to accept client side certificates.
Setting up SSL on Apache
This article explains how to create an SSL certificate, get it signed and configure Apache web server
tls
Configuring Tomcat to accept Estonian ID card
In order to accept Estonian ID card, Tomcat needs to be configured to accept client side certificates.
Setting up SSL on Apache
This article explains how to create an SSL certificate, get it signed and configure Apache web server
tomcat
SEVERE: Error listenerStart - debugging Tomcat applications
How to debug the dreaded ‘Error listenerStart’ error message
Configuring Tomcat to accept Estonian ID card
In order to accept Estonian ID card, Tomcat needs to be configured to accept client side certificates.
cron
Autoloading Yii application classes in external scripts
Sometimes I want to have access to all of my classes in a Yii application externally.
Background jobs with PHP part 1
A background job is a task that is executed ‘behind the scenes’ and without user intervention.
composer
Autoloading Yii application classes in external scripts
Sometimes I want to have access to all of my classes in a Yii application externally.
Background jobs with PHP part 1
A background job is a task that is executed ‘behind the scenes’ and without user intervention.
resque
Background jobs with PHP part 2
In this post, as promised, we’re going to implement a queue of jobs with Resque and Redis
Background jobs with PHP part 1
A background job is a task that is executed ‘behind the scenes’ and without user intervention.
yii
Autoloading Yii application classes in external scripts
Sometimes I want to have access to all of my classes in a Yii application externally.
PHP Fatal error: Cannot redeclare class with Yii
I am fairly new to PHP and Yii. Lately i struggled with a ‘cannot redeclare class’ error.
error
SEVERE: Error listenerStart - debugging Tomcat applications
How to debug the dreaded ‘Error listenerStart’ error message
PHP Fatal error: Cannot redeclare class with Yii
I am fairly new to PHP and Yii. Lately i struggled with a ‘cannot redeclare class’ error.
tutorial
Getting started with Mockito - a tutorial for beginners
A tutorial for getting your feet of the ground with Mockito
Background jobs with PHP part 2
In this post, as promised, we’re going to implement a queue of jobs with Resque and Redis
gradle
Serving React apps from Spring Boot
You’ve decided to build a wep app with React and want to use Spring Boot for the back end. This post will show you how to serve a React app from Spring Boot.
Getting started with Mockito - a tutorial for beginners
A tutorial for getting your feet of the ground with Mockito
remote desktop
Remmina: cannot connect to Windows server over RDP
What to do when suddenly you’re unable to connecto to a Windows server with Remmina over RDP
Sharing a local folder during a remote desktop session with RDesktop
Rdesktop is an open source client for Windows Remote Desktop Services, capable of natively speaking Remote Desktop Protocol (RDP) in order to present the user’s Windows desktop
remmina
Remmina: cannot connect to Windows server over RDP
What to do when suddenly you’re unable to connecto to a Windows server with Remmina over RDP
Sharing a local folder during a remote desktop session with RDesktop
Rdesktop is an open source client for Windows Remote Desktop Services, capable of natively speaking Remote Desktop Protocol (RDP) in order to present the user’s Windows desktop
qv
NTLM authentication fails on Linux when accessing QlikView Access Point
I was unable to connect to QlikView Access Point from a Linux machine. My browser presented me with a username/password prompt and after entering the correct credentials, it seemed like no authentication was made.
Error when exporting to Excel in QlikView AccessPoint
A client of mine was unable to export data from QlikView Access Point to Excel.
qlikview
NTLM authentication fails on Linux when accessing QlikView Access Point
I was unable to connect to QlikView Access Point from a Linux machine. My browser presented me with a username/password prompt and after entering the correct credentials, it seemed like no authentication was made.
Error when exporting to Excel in QlikView AccessPoint
A client of mine was unable to export data from QlikView Access Point to Excel.
wifi
How to control an RC car over WiFi with ESP8266
ESP8266 is a low-cost WiFi chip with a full TCP/IP stack and a microcontroller capability. Here is how I used it to control an RC car.
Fixing wireless on Macbook Pro with Ubuntu 13.10
Downgrading Broadcom’s proprietary driver and making sure no updates are applied to it.
tunneling
Setting up a reverse SSH tunnel with a Raspberry Pi part 2
In part 2 I promised to show an example use case on how to connect to a Windows Server over RDP via a reverse SSH tunnel.
Setting up a reverse SSH tunnel with a Raspberry Pi part 1
You need to access your work computer or network from your home. Maybe a Raspberry Pi can help you.
raspberry pi
Setting up a reverse SSH tunnel with a Raspberry Pi part 2
In part 2 I promised to show an example use case on how to connect to a Windows Server over RDP via a reverse SSH tunnel.
Setting up a reverse SSH tunnel with a Raspberry Pi part 1
You need to access your work computer or network from your home. Maybe a Raspberry Pi can help you.
streams
takeWhile and dropWhile in Java 9 Streams
Arguably one of the most noteworthy new features introduced in Java 8 was the Streams API. Java 9 offers two new stream operations—takeWhile and dropWhile.
Java 8: Behavior parameterization
Behavior parameterization is essentially taking a block of code and making it available without executing it. Here’s how to do it with Java.
functional programming
Chaining Optionals in Java 8
Optionals in Java can help you to write a program without null checks. Chaining Optionals in a Stream enables to pick the first Optional which has a value and return it.
Java 8: Lambda expressions
In computer programming, an anonymous function (also function literal or lambda abstraction) is a function definition that is not bound to an identifier.
stream
Java 8 Puzzlers: Streams
In the spirit of the book Java Puzzlers by Joshua Bloch and Neal Gafter, this post discusses a Puzzler that can be found in Java 8 Streams.
Creating a custom collector in Java 8
A collector is a recipe for how to build a summary of the elements in a Stream. In this post you’ll see how to create a custom collector in Java 8.
sugarcrm
Using Ansible to manage SugarCRM 7 environments and deployments
I’ve decided to use Ansible to manage SugarCRM environments and deployments. Here’s an overview of Ansible playbooks I’ve created.
Version control and deployment practices for SugarCRM
This post will give you ideas on how to do version control with SugarCRM and how to manage multiple environments and deployments.
vcs
How to write a good commit message
Version control systems play a vital role in tracking the history of changes in a codebase. Knowing how to write good commit messages is an essential skill if you wish to have your project’s history well documented.
Version control and deployment practices for SugarCRM
This post will give you ideas on how to do version control with SugarCRM and how to manage multiple environments and deployments.
version control
How to write a good commit message
Version control systems play a vital role in tracking the history of changes in a codebase. Knowing how to write good commit messages is an essential skill if you wish to have your project’s history well documented.
Version control and deployment practices for SugarCRM
This post will give you ideas on how to do version control with SugarCRM and how to manage multiple environments and deployments.
deployment
Using Ansible to manage SugarCRM 7 environments and deployments
I’ve decided to use Ansible to manage SugarCRM environments and deployments. Here’s an overview of Ansible playbooks I’ve created.
Version control and deployment practices for SugarCRM
This post will give you ideas on how to do version control with SugarCRM and how to manage multiple environments and deployments.
configuration management
Using Ansible to manage SugarCRM 7 environments and deployments
I’ve decided to use Ansible to manage SugarCRM environments and deployments. Here’s an overview of Ansible playbooks I’ve created.
Version control and deployment practices for SugarCRM
This post will give you ideas on how to do version control with SugarCRM and how to manage multiple environments and deployments.
python
How to control an RC car over WiFi with ESP8266
ESP8266 is a low-cost WiFi chip with a full TCP/IP stack and a microcontroller capability. Here is how I used it to control an RC car.
Controlling an RC car with an Arduino
Looking for an easy hardware project? Controlling an RC car with an Arduino board is relatively simple. I’ll share my experience.
electronics
How to control an RC car over WiFi with ESP8266
ESP8266 is a low-cost WiFi chip with a full TCP/IP stack and a microcontroller capability. Here is how I used it to control an RC car.
Controlling an RC car with an Arduino
Looking for an easy hardware project? Controlling an RC car with an Arduino board is relatively simple. I’ll share my experience.
hardware
How to control an RC car over WiFi with ESP8266
ESP8266 is a low-cost WiFi chip with a full TCP/IP stack and a microcontroller capability. Here is how I used it to control an RC car.
Controlling an RC car with an Arduino
Looking for an easy hardware project? Controlling an RC car with an Arduino board is relatively simple. I’ll share my experience.
null reference
Misusing Java’s Optional type
Java’s Optional type has been criticised for its flaws. It’s also being used for things it was perhaps not designed. This post shows some situations where I think Optional is being misused.
Optionals in Java 8
If you have had any experience with Java, then you most likely have seen the NullPointerException. Optional in Java 8 are a way to fight them.
esp8266
How to control an RC car over WiFi with ESP8266
ESP8266 is a low-cost WiFi chip with a full TCP/IP stack and a microcontroller capability. Here is how I used it to control an RC car.
Using a serial monitor with SparkFun ESP8266 Thing on Linux
Using Arduino IDE’s serial monitor with SparkFun ESP8266 Thing does not work. In this post you’ll see how to use a serial terminal with the SparkFun ESP8266 Thing on Linux.
IoT
How to control an RC car over WiFi with ESP8266
ESP8266 is a low-cost WiFi chip with a full TCP/IP stack and a microcontroller capability. Here is how I used it to control an RC car.
Using a serial monitor with SparkFun ESP8266 Thing on Linux
Using Arduino IDE’s serial monitor with SparkFun ESP8266 Thing does not work. In this post you’ll see how to use a serial terminal with the SparkFun ESP8266 Thing on Linux.
provisioning
Ansible force remote user with Vagrant 1.8
My Ansible playbook stopped working when using Vagrant 1.8 or above. The problem seems to be with changes made in Vagrant.
Ansible skipping localhost when using Vagrant
Vagrant Ansible provisioner skips plays that are meant to be run on localhost. There’s a simple workaround for that.
design pattern
Design patterns: Specialization of the classic observer pattern
In the typical case, the observer is responsible of getting the updated state from the subject. This means that the observer has to hold a reference to the subject (also the subject holds a reference to the observer, meaning we have created a circular reference).
Design patterns: Observer pattern implementation in Java
Observer pattern is a design pattern with an intent to define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
observer
Design patterns: Specialization of the classic observer pattern
In the typical case, the observer is responsible of getting the updated state from the subject. This means that the observer has to hold a reference to the subject (also the subject holds a reference to the observer, meaning we have created a circular reference).
Design patterns: Observer pattern implementation in Java
Observer pattern is a design pattern with an intent to define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
rest
Getting started with Dropwizard - CRUD operations
Dropwizard is a framework for building RESTful web services in Java. This tutorial shows how to create, retrieve, update, and delete resources.
Getting started with Dropwizard
Dropwizard is a framework for building RESTful web services in Java. In this tutorial we’re going to have a look at how to get started with developing a Dropwizard application by building a new service from scratch.
jersey
Getting started with Dropwizard - CRUD operations
Dropwizard is a framework for building RESTful web services in Java. This tutorial shows how to create, retrieve, update, and delete resources.
Getting started with Dropwizard
Dropwizard is a framework for building RESTful web services in Java. In this tutorial we’re going to have a look at how to get started with developing a Dropwizard application by building a new service from scratch.
dependency injection
To field inject, or not to field inject in Spring?
Nearly all Spring projects that I have worked with make heavy use of field injection. This must be a popular approach because it is concise and reads well. But have you ever considered the downsides of field injection?
Unit testing classes that depend on time
Dependency inversion principle states that we should depend upon abstractions. Taking that into account, time should also be considered as a dependency.
control flow
Java’s Ternary Operator in Three Minutes
The ternary operator is a form of syntactic sugar for if-then-else statements. It is also known as the conditional operator, which is perhaps a more meaningful name because it evaluates conditions like if does.
Java’s If Statement in Five Minutes
The if statement is the most basic conditional statement. It checks a condition, which is any boolean expression, and runs a block of code if it is true.
conditional
Java’s Ternary Operator in Three Minutes
The ternary operator is a form of syntactic sugar for if-then-else statements. It is also known as the conditional operator, which is perhaps a more meaningful name because it evaluates conditions like if does.
Java’s If Statement in Five Minutes
The if statement is the most basic conditional statement. It checks a condition, which is any boolean expression, and runs a block of code if it is true.
java 9
Improvements to Optional in Java 9
Java 9 introduced three new methods to the Optional class. This post covers what they do and how to use them.
takeWhile and dropWhile in Java 9 Streams
Arguably one of the most noteworthy new features introduced in Java 8 was the Streams API. Java 9 offers two new stream operations—takeWhile and dropWhile.
pact
Rock-solid Consumer Driven Contract Testing Workflow With Pact
To make the most out of Pact, you should put some time into automation. This post will cover the steps you need to take to create a rock-solid workflow that helps you to reap the benefits of consumer driven contract testing.
Consumer Driven Contract Testing with Pact
Consumer driven contract testing is a method that can be used to verify that services speak the same language. It is an alternative to traditional integration testing that gives you faster feedback.
postgres
Dealing With LWLock:LockManager Wait Events in Aurora Postgres
Learn how Postgres’ lock manager, lightweight locks, and fast-path locking work together—and what to do when LWLock:LockManager wait events slow down your system.
How to Safely Alter a Busy Table in Postgres
When altering busy tables in Postgres, acquiring the required locks can lead to application downtime if not handled carefully. This post explains the potential pitfalls of using ALTER TABLE on high-traffic tables, and provides strategies for minimizing disruptions.
locks
Dealing With LWLock:LockManager Wait Events in Aurora Postgres
Learn how Postgres’ lock manager, lightweight locks, and fast-path locking work together—and what to do when LWLock:LockManager wait events slow down your system.
How to Safely Alter a Busy Table in Postgres
When altering busy tables in Postgres, acquiring the required locks can lead to application downtime if not handled carefully. This post explains the potential pitfalls of using ALTER TABLE on high-traffic tables, and provides strategies for minimizing disruptions.
ant
Wrong version of Ant in path
Recently, working on a Windows box, I had a problem where my ANT_HOME and ant -version result did not match.
path
Wrong version of Ant in path
Recently, working on a Windows box, I had a problem where my ANT_HOME and ant -version result did not match.
jrebel
XsltException caused by JRebel
XsltException caused by a seemingly missing stylesheet. Turns out JRebel was the culprit.
pom.xml
XsltException caused by JRebel
XsltException caused by a seemingly missing stylesheet. Turns out JRebel was the culprit.
rebel.xml
XsltException caused by JRebel
XsltException caused by a seemingly missing stylesheet. Turns out JRebel was the culprit.
phpmyadmin
How to access phpmyadmin after installation?
You’ve just installed phpmyadmin from your package manager. Here’s what you need to do in order to access it
programming
Programming tips and tricks #1
These are not necessarily related to the technical aspects of programming.
Apache
Configure SSL on Apache Tomcat
Here we are going to have a look at how to set up SSL on Apache Tomcat 7.0.
Tomcat
Configure SSL on Apache Tomcat
Here we are going to have a look at how to set up SSL on Apache Tomcat 7.0.
sni
Setting up SSL on Apache
This article explains how to create an SSL certificate, get it signed and configure Apache web server
openssl
Setting up SSL on Apache
This article explains how to create an SSL certificate, get it signed and configure Apache web server
esteid
Configuring Tomcat to accept Estonian ID card
In order to accept Estonian ID card, Tomcat needs to be configured to accept client side certificates.
client certificates
Configuring Tomcat to accept Estonian ID card
In order to accept Estonian ID card, Tomcat needs to be configured to accept client side certificates.
crl
Configuring Tomcat to accept Estonian ID card
In order to accept Estonian ID card, Tomcat needs to be configured to accept client side certificates.
ocsp
Configuring Tomcat to accept Estonian ID card
In order to accept Estonian ID card, Tomcat needs to be configured to accept client side certificates.
background processing
Background jobs with PHP part 1
A background job is a task that is executed ‘behind the scenes’ and without user intervention.
unix
Background jobs with PHP part 1
A background job is a task that is executed ‘behind the scenes’ and without user intervention.
codeception
PHP Fatal error: Cannot redeclare class with Yii
I am fairly new to PHP and Yii. Lately i struggled with a ‘cannot redeclare class’ error.
background
Background jobs with PHP part 2
In this post, as promised, we’re going to implement a queue of jobs with Resque and Redis
job
Background jobs with PHP part 2
In this post, as promised, we’re going to implement a queue of jobs with Resque and Redis
php-resque
Background jobs with PHP part 2
In this post, as promised, we’re going to implement a queue of jobs with Resque and Redis
phpredis
Background jobs with PHP part 2
In this post, as promised, we’re going to implement a queue of jobs with Resque and Redis
autoload
Autoloading Yii application classes in external scripts
Sometimes I want to have access to all of my classes in a Yii application externally.
replication
Setting up Redis replication
The goal of this post is to install Redis on both of them and set up a master-slave replication configuration
master
Setting up Redis replication
The goal of this post is to install Redis on both of them and set up a master-slave replication configuration
slave
Setting up Redis replication
The goal of this post is to install Redis on both of them and set up a master-slave replication configuration
redis-cli
Setting up Redis replication
The goal of this post is to install Redis on both of them and set up a master-slave replication configuration
redis-server
Setting up Redis replication
The goal of this post is to install Redis on both of them and set up a master-slave replication configuration
virtualbox
How to configure VirtualBox VM with 2 network adapters
This post describes how to create a VM which has a connection to the internet and also to other VMs in the virtual network.
virtualization
How to configure VirtualBox VM with 2 network adapters
This post describes how to create a VM which has a connection to the internet and also to other VMs in the virtual network.
vm
How to configure VirtualBox VM with 2 network adapters
This post describes how to create a VM which has a connection to the internet and also to other VMs in the virtual network.
network
How to configure VirtualBox VM with 2 network adapters
This post describes how to create a VM which has a connection to the internet and also to other VMs in the virtual network.
ascii
Character set problem when uploading a file
Non-ASCII characters in file name get garbled when uploading a file with Apache Commons and Spring CommonsMultipartResolver.
apache commons
Character set problem when uploading a file
Non-ASCII characters in file name get garbled when uploading a file with Apache Commons and Spring CommonsMultipartResolver.
utf-8
Character set problem when uploading a file
Non-ASCII characters in file name get garbled when uploading a file with Apache Commons and Spring CommonsMultipartResolver.
mysql
Solving MySql JDBC CommunicationsException
I faced a com.mysql.jdbc.exceptions.jdbc4.CommunicationsException and this is how I solved it.
jdbc
Solving MySql JDBC CommunicationsException
I faced a com.mysql.jdbc.exceptions.jdbc4.CommunicationsException and this is how I solved it.
exception
Solving MySql JDBC CommunicationsException
I faced a com.mysql.jdbc.exceptions.jdbc4.CommunicationsException and this is how I solved it.
dbcp
Solving MySql JDBC CommunicationsException
I faced a com.mysql.jdbc.exceptions.jdbc4.CommunicationsException and this is how I solved it.
mock
Getting started with Mockito - a tutorial for beginners
A tutorial for getting your feet of the ground with Mockito
stub
Getting started with Mockito - a tutorial for beginners
A tutorial for getting your feet of the ground with Mockito
mockito
Getting started with Mockito - a tutorial for beginners
A tutorial for getting your feet of the ground with Mockito
logging
SEVERE: Error listenerStart - debugging Tomcat applications
How to debug the dreaded ‘Error listenerStart’ error message
catalina
SEVERE: Error listenerStart - debugging Tomcat applications
How to debug the dreaded ‘Error listenerStart’ error message
rdesktop
Sharing a local folder during a remote desktop session with RDesktop
Rdesktop is an open source client for Windows Remote Desktop Services, capable of natively speaking Remote Desktop Protocol (RDP) in order to present the user’s Windows desktop
freerdp
Remmina: cannot connect to Windows server over RDP
What to do when suddenly you’re unable to connecto to a Windows server with Remmina over RDP
bat
Batch file in Windows Task Scheduler does not run
Creating a scheduled task in Windows Task Scheduler to run a batch file is relatively straight forward, or so I thought.
batch
Batch file in Windows Task Scheduler does not run
Creating a scheduled task in Windows Task Scheduler to run a batch file is relatively straight forward, or so I thought.
windows task scheduler
Batch file in Windows Task Scheduler does not run
Creating a scheduled task in Windows Task Scheduler to run a batch file is relatively straight forward, or so I thought.
schedule
Batch file in Windows Task Scheduler does not run
Creating a scheduled task in Windows Task Scheduler to run a batch file is relatively straight forward, or so I thought.
security
5 steps to improve SSH security
SSH is something we (developers, sysadmins) use daily to connect to remote servers. Here are a few tips to keep your SSH connection secure.
shell
5 steps to improve SSH security
SSH is something we (developers, sysadmins) use daily to connect to remote servers. Here are a few tips to keep your SSH connection secure.
secure shell
5 steps to improve SSH security
SSH is something we (developers, sysadmins) use daily to connect to remote servers. Here are a few tips to keep your SSH connection secure.
excel
Error when exporting to Excel in QlikView AccessPoint
A client of mine was unable to export data from QlikView Access Point to Excel.
xls
Error when exporting to Excel in QlikView AccessPoint
A client of mine was unable to export data from QlikView Access Point to Excel.
access point
NTLM authentication fails on Linux when accessing QlikView Access Point
I was unable to connect to QlikView Access Point from a Linux machine. My browser presented me with a username/password prompt and after entering the correct credentials, it seemed like no authentication was made.
ntlm
NTLM authentication fails on Linux when accessing QlikView Access Point
I was unable to connect to QlikView Access Point from a Linux machine. My browser presented me with a username/password prompt and after entering the correct credentials, it seemed like no authentication was made.
raring
Fixing wireless on Macbook Pro with Ubuntu 13.10
Downgrading Broadcom’s proprietary driver and making sure no updates are applied to it.
saucy
Fixing wireless on Macbook Pro with Ubuntu 13.10
Downgrading Broadcom’s proprietary driver and making sure no updates are applied to it.
apple
Fixing wireless on Macbook Pro with Ubuntu 13.10
Downgrading Broadcom’s proprietary driver and making sure no updates are applied to it.
macbook
Fixing wireless on Macbook Pro with Ubuntu 13.10
Downgrading Broadcom’s proprietary driver and making sure no updates are applied to it.
wireless
Fixing wireless on Macbook Pro with Ubuntu 13.10
Downgrading Broadcom’s proprietary driver and making sure no updates are applied to it.
broadcom
Fixing wireless on Macbook Pro with Ubuntu 13.10
Downgrading Broadcom’s proprietary driver and making sure no updates are applied to it.
bcmwl-kernel-source
Fixing wireless on Macbook Pro with Ubuntu 13.10
Downgrading Broadcom’s proprietary driver and making sure no updates are applied to it.
joda-time
Using Joda-Time in unit tests
Joda-Time is a Java library which provides a quality replacement for the Java date and time classes.
jdk
Using Joda-Time in unit tests
Joda-Time is a Java library which provides a quality replacement for the Java date and time classes.
unittesting
Using Joda-Time in unit tests
Joda-Time is a Java library which provides a quality replacement for the Java date and time classes.
vpn
Setting up a reverse SSH tunnel with a Raspberry Pi part 1
You need to access your work computer or network from your home. Maybe a Raspberry Pi can help you.
windows server
Setting up a reverse SSH tunnel with a Raspberry Pi part 2
In part 2 I promised to show an example use case on how to connect to a Windows Server over RDP via a reverse SSH tunnel.
networking
Setting up a reverse SSH tunnel with a Raspberry Pi part 2
In part 2 I promised to show an example use case on how to connect to a Windows Server over RDP via a reverse SSH tunnel.
work
The importance of taking a break
If you’re going to dedicate the best years of your life to work, make sure you’re doing it for the right reasons.
pomodoro
The importance of taking a break
If you’re going to dedicate the best years of your life to work, make sure you’re doing it for the right reasons.
health
The importance of taking a break
If you’re going to dedicate the best years of your life to work, make sure you’re doing it for the right reasons.
predicate
Java 8: Behavior parameterization
Behavior parameterization is essentially taking a block of code and making it available without executing it. Here’s how to do it with Java.
function
Java 8: Behavior parameterization
Behavior parameterization is essentially taking a block of code and making it available without executing it. Here’s how to do it with Java.
lambdaj
Java 8: Behavior parameterization
Behavior parameterization is essentially taking a block of code and making it available without executing it. Here’s how to do it with Java.
guava
Java 8: Behavior parameterization
Behavior parameterization is essentially taking a block of code and making it available without executing it. Here’s how to do it with Java.
retrolambda
Java 8: Behavior parameterization
Behavior parameterization is essentially taking a block of code and making it available without executing it. Here’s how to do it with Java.
jekyll
Blogging with Jekyll and Github
It is possible to host your blog at Github and version control your blog posts with Git. Here’s how.
github
Blogging with Jekyll and Github
It is possible to host your blog at Github and version control your blog posts with Git. Here’s how.
blog
Blogging with Jekyll and Github
It is possible to host your blog at Github and version control your blog posts with Git. Here’s how.
blogging
Blogging with Jekyll and Github
It is possible to host your blog at Github and version control your blog posts with Git. Here’s how.
markdown
Blogging with Jekyll and Github
It is possible to host your blog at Github and version control your blog posts with Git. Here’s how.
ruby
Blogging with Jekyll and Github
It is possible to host your blog at Github and version control your blog posts with Git. Here’s how.
YAML
Blogging with Jekyll and Github
It is possible to host your blog at Github and version control your blog posts with Git. Here’s how.
wordpress
Blogging with Jekyll and Github
It is possible to host your blog at Github and version control your blog posts with Git. Here’s how.
method reference
Four types of method references in Java 8
Method references let you reuse existing method definitions and pass them just like lambdas. They can be useful in making the code more readable.
class
Four types of method references in Java 8
Method references let you reuse existing method definitions and pass them just like lambdas. They can be useful in making the code more readable.
constructor
Four types of method references in Java 8
Method references let you reuse existing method definitions and pass them just like lambdas. They can be useful in making the code more readable.
upstart
Service won’t start when using the service utility
I debugged a service which didn’t start when using the service utility but was working fine when calling the init script directly.
system v
Service won’t start when using the service utility
I debugged a service which didn’t start when using the service utility but was working fine when calling the init script directly.
service
Service won’t start when using the service utility
I debugged a service which didn’t start when using the service utility but was working fine when calling the init script directly.
mule
Service won’t start when using the service utility
I debugged a service which didn’t start when using the service utility but was working fine when calling the init script directly.
esb
Service won’t start when using the service utility
I debugged a service which didn’t start when using the service utility but was working fine when calling the init script directly.
init
Service won’t start when using the service utility
I debugged a service which didn’t start when using the service utility but was working fine when calling the init script directly.
collector
Creating a custom collector in Java 8
A collector is a recipe for how to build a summary of the elements in a Stream. In this post you’ll see how to create a custom collector in Java 8.
collect
Creating a custom collector in Java 8
A collector is a recipe for how to build a summary of the elements in a Stream. In this post you’ll see how to create a custom collector in Java 8.
reduce
Creating a custom collector in Java 8
A collector is a recipe for how to build a summary of the elements in a Stream. In this post you’ll see how to create a custom collector in Java 8.
fold
Creating a custom collector in Java 8
A collector is a recipe for how to build a summary of the elements in a Stream. In this post you’ll see how to create a custom collector in Java 8.
rc car
Controlling an RC car with an Arduino
Looking for an easy hardware project? Controlling an RC car with an Arduino board is relatively simple. I’ll share my experience.
fork
The fork/join framework in Java
Introduced in Java 7, the fork/join framework is used to divide a parallelizable task into smaller ones and afterwards combine the intermediate results to get the end result.
join
The fork/join framework in Java
Introduced in Java 7, the fork/join framework is used to divide a parallelizable task into smaller ones and afterwards combine the intermediate results to get the end result.
concurrency
The fork/join framework in Java
Introduced in Java 7, the fork/join framework is used to divide a parallelizable task into smaller ones and afterwards combine the intermediate results to get the end result.
concurrent programming
The fork/join framework in Java
Introduced in Java 7, the fork/join framework is used to divide a parallelizable task into smaller ones and afterwards combine the intermediate results to get the end result.
fork/join
The fork/join framework in Java
Introduced in Java 7, the fork/join framework is used to divide a parallelizable task into smaller ones and afterwards combine the intermediate results to get the end result.
sparkfun
Using a serial monitor with SparkFun ESP8266 Thing on Linux
Using Arduino IDE’s serial monitor with SparkFun ESP8266 Thing does not work. In this post you’ll see how to use a serial terminal with the SparkFun ESP8266 Thing on Linux.
SoC
Using a serial monitor with SparkFun ESP8266 Thing on Linux
Using Arduino IDE’s serial monitor with SparkFun ESP8266 Thing does not work. In this post you’ll see how to use a serial terminal with the SparkFun ESP8266 Thing on Linux.
gtkterm
Using a serial monitor with SparkFun ESP8266 Thing on Linux
Using Arduino IDE’s serial monitor with SparkFun ESP8266 Thing does not work. In this post you’ll see how to use a serial terminal with the SparkFun ESP8266 Thing on Linux.
dtr
Using a serial monitor with SparkFun ESP8266 Thing on Linux
Using Arduino IDE’s serial monitor with SparkFun ESP8266 Thing does not work. In this post you’ll see how to use a serial terminal with the SparkFun ESP8266 Thing on Linux.
multithreading
Java 8: CompletableFuture
CompletableFuture is an implementation of the Future interface but with a modern twist. It takes advantage of functional operations to promote asynchronous/event-driven programming model.
i/0
Java 8: CompletableFuture
CompletableFuture is an implementation of the Future interface but with a modern twist. It takes advantage of functional operations to promote asynchronous/event-driven programming model.
publish-subscribe
Design patterns: Observer pattern implementation in Java
Observer pattern is a design pattern with an intent to define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
loose coupling
Design patterns: Observer pattern implementation in Java
Observer pattern is a design pattern with an intent to define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
puzzler
Java 8 Puzzlers: Streams
In the spirit of the book Java Puzzlers by Joshua Bloch and Neal Gafter, this post discusses a Puzzler that can be found in Java 8 Streams.
unicode
Java, Unicode, and the Mysterious Compiler Error
This post covers how the Java compiler handles Unicode escapes and how they can cause mysterious compiler errors.
compiler
Java, Unicode, and the Mysterious Compiler Error
This post covers how the Java compiler handles Unicode escapes and how they can cause mysterious compiler errors.
chromium
ERR_EMPTY_RESPONSE and SSH not working
Chrome is returning ERR_EMPTY_RESPONSE, Git and SSH connection hangs at expecting SSH2_MSG_KEX_ECDH_REPLY. Seems to be an MTU/fragmentation problem.
chrome
ERR_EMPTY_RESPONSE and SSH not working
Chrome is returning ERR_EMPTY_RESPONSE, Git and SSH connection hangs at expecting SSH2_MSG_KEX_ECDH_REPLY. Seems to be an MTU/fragmentation problem.
mtu
ERR_EMPTY_RESPONSE and SSH not working
Chrome is returning ERR_EMPTY_RESPONSE, Git and SSH connection hangs at expecting SSH2_MSG_KEX_ECDH_REPLY. Seems to be an MTU/fragmentation problem.
ifconfig
ERR_EMPTY_RESPONSE and SSH not working
Chrome is returning ERR_EMPTY_RESPONSE, Git and SSH connection hangs at expecting SSH2_MSG_KEX_ECDH_REPLY. Seems to be an MTU/fragmentation problem.
kata
Practice programming with code katas
Kata is an exercise where the novice repeatedly tries to emulate a master. In karate, these kata are a sequence of basic moves, strung together in a way that makes sense. PragDave proposes the idea of doing the same with programming.
javascript
Practice programming with code katas
Kata is an exercise where the novice repeatedly tries to emulate a master. In karate, these kata are a sequence of basic moves, strung together in a way that makes sense. PragDave proposes the idea of doing the same with programming.
binary search
Practice programming with code katas
Kata is an exercise where the novice repeatedly tries to emulate a master. In karate, these kata are a sequence of basic moves, strung together in a way that makes sense. PragDave proposes the idea of doing the same with programming.
binary tree
Practice programming with code katas
Kata is an exercise where the novice repeatedly tries to emulate a master. In karate, these kata are a sequence of basic moves, strung together in a way that makes sense. PragDave proposes the idea of doing the same with programming.
algorithm
Practice programming with code katas
Kata is an exercise where the novice repeatedly tries to emulate a master. In karate, these kata are a sequence of basic moves, strung together in a way that makes sense. PragDave proposes the idea of doing the same with programming.
data structure
Practice programming with code katas
Kata is an exercise where the novice repeatedly tries to emulate a master. In karate, these kata are a sequence of basic moves, strung together in a way that makes sense. PragDave proposes the idea of doing the same with programming.
web service
Getting started with Dropwizard
Dropwizard is a framework for building RESTful web services in Java. In this tutorial we’re going to have a look at how to get started with developing a Dropwizard application by building a new service from scratch.
jackson
Getting started with Dropwizard
Dropwizard is a framework for building RESTful web services in Java. In this tutorial we’re going to have a look at how to get started with developing a Dropwizard application by building a new service from scratch.
intellij
Running a Dropwizard application in IntelliJ IDEA, Eclipse and NetBeans
In addition to executing a Dropwizard application from the command line, you can increase your productivity by configuring your IDE to do that for you. This post is going to be looking at how to run a Dropwizard application in IntelliJ IDEA, Eclipse and NetBeans.
eclipse
Running a Dropwizard application in IntelliJ IDEA, Eclipse and NetBeans
In addition to executing a Dropwizard application from the command line, you can increase your productivity by configuring your IDE to do that for you. This post is going to be looking at how to run a Dropwizard application in IntelliJ IDEA, Eclipse and NetBeans.
netbeans
Running a Dropwizard application in IntelliJ IDEA, Eclipse and NetBeans
In addition to executing a Dropwizard application from the command line, you can increase your productivity by configuring your IDE to do that for you. This post is going to be looking at how to run a Dropwizard application in IntelliJ IDEA, Eclipse and NetBeans.
streams api
5 ways to create a Stream in Java 8
Java 8 introduced the Streams API which allows developers to declaratively manipulate collections. Here are five ways to create a Stream in Java 8.
crud
Getting started with Dropwizard - CRUD operations
Dropwizard is a framework for building RESTful web services in Java. This tutorial shows how to create, retrieve, update, and delete resources.
back-end
Getting started with Dropwizard - CRUD operations
Dropwizard is a framework for building RESTful web services in Java. This tutorial shows how to create, retrieve, update, and delete resources.
time
Unit testing classes that depend on time
Dependency inversion principle states that we should depend upon abstractions. Taking that into account, time should also be considered as a dependency.
clock
Unit testing classes that depend on time
Dependency inversion principle states that we should depend upon abstractions. Taking that into account, time should also be considered as a dependency.
basics
Java’s While and Do-While Loops in Five Minutes
A while loop is a control flow statement that runs a piece of code multiple times. It consists of a loop condition and body. Java also has a do while loop.
loop
Java’s While and Do-While Loops in Five Minutes
A while loop is a control flow statement that runs a piece of code multiple times. It consists of a loop condition and body. Java also has a do while loop.
autowire
To field inject, or not to field inject in Spring?
Nearly all Spring projects that I have worked with make heavy use of field injection. This must be a popular approach because it is concise and reads well. But have you ever considered the downsides of field injection?
inject
To field inject, or not to field inject in Spring?
Nearly all Spring projects that I have worked with make heavy use of field injection. This must be a popular approach because it is concise and reads well. But have you ever considered the downsides of field injection?
package
Structuring packages in Java web applications
Often times in Java web applications we see that the package structure indicates that a layered architecture is used. In this post we’re going to explore the ideas around what would happen if layers were not the topmost level of organization in an application architecture.
architecture
Structuring packages in Java web applications
Often times in Java web applications we see that the package structure indicates that a layered architecture is used. In this post we’re going to explore the ideas around what would happen if layers were not the topmost level of organization in an application architecture.
layer
Structuring packages in Java web applications
Often times in Java web applications we see that the package structure indicates that a layered architecture is used. In this post we’re going to explore the ideas around what would happen if layers were not the topmost level of organization in an application architecture.
react
Serving React apps from Spring Boot
You’ve decided to build a wep app with React and want to use Spring Boot for the back end. This post will show you how to serve a React app from Spring Boot.
web
Serving React apps from Spring Boot
You’ve decided to build a wep app with React and want to use Spring Boot for the back end. This post will show you how to serve a React app from Spring Boot.
microservices
The Challenges of Testing Microservices
Microservices provide you with several benefits. But there’s no question that they introduce a new set of challenges, one of them being testing.
CI/CD
Rock-solid Consumer Driven Contract Testing Workflow With Pact
To make the most out of Pact, you should put some time into automation. This post will cover the steps you need to take to create a rock-solid workflow that helps you to reap the benefits of consumer driven contract testing.
JWT
How to Invalidate JSON Web Tokens
JWTs allow us to implement stateless authentication. We don’t have to query a central database to validate the token. But how do we invalidate them?
JSON Web Token
How to Invalidate JSON Web Tokens
JWTs allow us to implement stateless authentication. We don’t have to query a central database to validate the token. But how do we invalidate them?
authentication
How to Invalidate JSON Web Tokens
JWTs allow us to implement stateless authentication. We don’t have to query a central database to validate the token. But how do we invalidate them?
graalvm
Running Spring Boot apps as GraalVM native images
GraalVM is a high-performance polyglot virtual machine. It’s ability to create ahead-of-time compiled native images considerably speed up Spring Boot startup times.
native image
Running Spring Boot apps as GraalVM native images
GraalVM is a high-performance polyglot virtual machine. It’s ability to create ahead-of-time compiled native images considerably speed up Spring Boot startup times.
containers
Running Spring Boot apps as GraalVM native images
GraalVM is a high-performance polyglot virtual machine. It’s ability to create ahead-of-time compiled native images considerably speed up Spring Boot startup times.
records
Java 14 Records
Java 14 introduces a new preview feature to the language—Records—with a goal to provide a compact syntax for declaring containers of shallowly immutable data.
npe
Helpful NullPointerExceptions in Java 14
Helpful NullPointerExceptions in Java 14 improve NPE error messages by describing precisely which variable was null.
instanceOf
Pattern Matching for instanceOf in Java 14
Pattern matching capabilities added to the instanceOf operator in Java 14 is going to enhance the programming language.
devops
The Three Ways of DevOps
If you ask three people to describe DevOps, you’ll get four different answers. This post tries to shed some light on the meaning of DevOps by summarizing the key principles from The DevOps Handbook.
kubernetes
What’s inside the Nginx Ingress Controller?
This post explores the inner workings of the Nginx Ingress Controller and provides useful insights for application developers.
nginx
What’s inside the Nginx Ingress Controller?
This post explores the inner workings of the Nginx Ingress Controller and provides useful insights for application developers.
aws
Accessing EC2 Instances with AWS SSM
Discover how to access your EC2 instances with AWS Systems Manager (SSM), eliminating the need for complex networking setups or SSH key management.
ec2
Accessing EC2 Instances with AWS SSM
Discover how to access your EC2 instances with AWS Systems Manager (SSM), eliminating the need for complex networking setups or SSH key management.
pit
Improve the Quality of Your Tests With Mutation Testing
Ever wondered if your tests are actually catching bugs as they should? Let’s dive into mutation testing, a clever technique that helps us validate the quality of our tests.
database
How to Safely Alter a Busy Table in Postgres
When altering busy tables in Postgres, acquiring the required locks can lead to application downtime if not handled carefully. This post explains the potential pitfalls of using ALTER TABLE on high-traffic tables, and provides strategies for minimizing disruptions.
sql
How to Safely Alter a Busy Table in Postgres
When altering busy tables in Postgres, acquiring the required locks can lead to application downtime if not handled carefully. This post explains the potential pitfalls of using ALTER TABLE on high-traffic tables, and provides strategies for minimizing disruptions.
aurora postgres
Dealing With LWLock:LockManager Wait Events in Aurora Postgres
Learn how Postgres’ lock manager, lightweight locks, and fast-path locking work together—and what to do when LWLock:LockManager wait events slow down your system.
lockmanager
Dealing With LWLock:LockManager Wait Events in Aurora Postgres
Learn how Postgres’ lock manager, lightweight locks, and fast-path locking work together—and what to do when LWLock:LockManager wait events slow down your system.
fast-path
Dealing With LWLock:LockManager Wait Events in Aurora Postgres
Learn how Postgres’ lock manager, lightweight locks, and fast-path locking work together—and what to do when LWLock:LockManager wait events slow down your system.