Category Uncategorized

Bluetooth headset blues

After much deliberation, I finally purchased a pair of Nokia BH-505 headsets:

The Final Frontier

I, like tons of other people, have tried to start, and continuously contribute to a blog of my own. And failed, like tons of other people.

Category MongoDB

MongoDB: Can't take a write lock while out of disk space

While working on a project recently, we had to process a large number of files and dump the results into MongoDB. The client even provided us with a fancy instance...

MongoDB $eq operator for find()

This is going to be a short post for all the people out there who’re new to MongoDB. I had to dive into MongoDB as part of a new project...

Category Jenkins

ERROR: Couldn't find any revision to build

I love the GitHub Pull Request Builder! It makes life so much easier by ensuring that pull requests are tested before they are merged into the main code. I have...

Automatically updating fat jar with Jenkins Publish over SSH

While using the Publish over SSH plugin for Jenkins in a project recently, I thought it would be great to have Jenkins restart the deployed fat jar on the remote...

Changing the default port on Jenkins

I recently installed Jenkins on an Amazon instance for work. It was an EC2 instance running Ubuntu. I installed it using:

Category Java

Calculating the Key Check Value of a key

What are Key Check Values? When a key is transmitted securely to a third party, there is no easy way to find if the recepient got the same key or...

Creating a new UBER keystore in Java

My quest for creating a new keystore from scratch I had to store a key in a keystore for a project I’ve been working on. Unfortunately all examples I could...

Applying Key Variants manually

What are Key Variants? In systems involving two parties securely transmitting information to each other, there is always some sort of “key exchange” process. One of these processes is to...

Jelly: Experimental RPC

jelly What the heck is Jelly? Jelly is an experimental Remote Procedure Call system that tries to minimize boilerplate code in distributed systems.

Going to Maven Central!

I DONE DIDDLY DID IT! I got my first few JARs on Maven Central! I’m officially one of ‘em new town boys now, ma! Lookit me fancy shoes!

Jersey Injection Source Error: Accepting user defined entities in your API

I was writing an API for one of the projects I was involved in. The system used Jersey 2, Jetty and Java. My job was to accept a custom entity...

Distributed Thinking: A gentle introduction to distributed processing using Apache Storm and Apache Spark - Part 4

Welcome to Part 4 of Distributed Thinking! Here we discuss processing data streams. In case you missed anything, click here for Part 0. 2. Processing Data Streams I’m glad you...

ERROR: Couldn't find any revision to build

I love the GitHub Pull Request Builder! It makes life so much easier by ensuring that pull requests are tested before they are merged into the main code. I have...

What is my IP?

I wanted a simple, free, no-limits way of finding out my own public IP. I also wanted a way to use it in my Java code so I wouldn’t need...

Redirect a Port or Socket

Before I started using VPNs, I wanted a way to connect to an IRC server running at irc.rizon.net:6667 from any of my devices, without compromising my IP address. I decided...

How to check if IP is private?

While designing systems that auto-scale, one of the roadblocks that I hit was being unable to identify the public IP of the machine I was running my code on.

Get Jetty Server port

I was working on a project where I had a central load-sharing server with multiple nodes to serve data from. I wanted the project to auto-scale, i.e. bring up new...

Docker on Windows 10: Getting started

For a recent project we decided to try out containerization, so I thought it’d be good to get my feet wet by playing around with Docker.

POST call to Jersey/Jax-rs endpoints with @FormParam using Retrofit @Field

As part of testing my endpoints, I use Retrofit. It is brilliant to say the least. But finding documentation on it can be a little tricky.

Jedis: ERR wrong number of arguments for ‘rpush’ command

While refactoring a large project with some legacy unmanageable code which used Redis, I came across this exception:

Automatically updating fat jar with Jenkins Publish over SSH

While using the Publish over SSH plugin for Jenkins in a project recently, I thought it would be great to have Jenkins restart the deployed fat jar on the remote...

Swagger, Jersey2 and embedded Jetty - without strings

I remembered having used a cool framework for self-documenting APIs called Swagger on a recent contract I was working on. Swagger is brilliant, easy and intuitive. Or so I thought....

org.hibernate.exception.GenericJDBCException: Incorrect string value

I’m fairly new to Hibernate. I prefer using Java’s JDBC drivers and getting my work done without any additional frameworks on top of it. But sometimes your client comes along...

Category Android Development

ADB for generic Android device

While working on an Android project several months ago, I found that my cheap generic Chinese Android tablet wouldn’t get detected by ADB. This made it difficult to debug the...

Category API

Going to Maven Central!

I DONE DIDDLY DID IT! I got my first few JARs on Maven Central! I’m officially one of ‘em new town boys now, ma! Lookit me fancy shoes!

Jersey Injection Source Error: Accepting user defined entities in your API

I was writing an API for one of the projects I was involved in. The system used Jersey 2, Jetty and Java. My job was to accept a custom entity...

Docker on Windows 10: Getting started

For a recent project we decided to try out containerization, so I thought it’d be good to get my feet wet by playing around with Docker.

POST call to Jersey/Jax-rs endpoints with @FormParam using Retrofit @Field

As part of testing my endpoints, I use Retrofit. It is brilliant to say the least. But finding documentation on it can be a little tricky.

Swagger, Jersey2 and embedded Jetty - without strings

I remembered having used a cool framework for self-documenting APIs called Swagger on a recent contract I was working on. Swagger is brilliant, easy and intuitive. Or so I thought....

Category Swagger

Swagger, Jersey2 and embedded Jetty - without strings

I remembered having used a cool framework for self-documenting APIs called Swagger on a recent contract I was working on. Swagger is brilliant, easy and intuitive. Or so I thought....

Category MySQL

MySQL Command Window Popup

I recently installed MySQL after a long time. I’ve been so used to the flexibility that MongoDB offers me that I haven’t looked at MySQL in ages. However I had...

Category Redis

Jedis: ERR wrong number of arguments for ‘rpush’ command

While refactoring a large project with some legacy unmanageable code which used Redis, I came across this exception:

Category Jetty

Get Jetty Server port

I was working on a project where I had a central load-sharing server with multiple nodes to serve data from. I wanted the project to auto-scale, i.e. bring up new...

POST call to Jersey/Jax-rs endpoints with @FormParam using Retrofit @Field

As part of testing my endpoints, I use Retrofit. It is brilliant to say the least. But finding documentation on it can be a little tricky.

Category Containerization

Docker on Windows 10: Getting started

For a recent project we decided to try out containerization, so I thought it’d be good to get my feet wet by playing around with Docker.

Category Docker

Fixing VERR_INTNET_FLT_IF_NOT_FOUND problems

I recently installed the November Windows 10 update on my computer, and while everything went smoothly, my VirtualBox went belly-up.

Docker on Windows 10: Getting started

For a recent project we decided to try out containerization, so I thought it’d be good to get my feet wet by playing around with Docker.

Category TensorFlow

Category Windows

Corrupt Disk: Diskpark or Disk Management will not start on Windows

I recently purchased a Raspberry Pi 3 and wanted to play around with it. After flashing the Raspbian OS onto the MicroSD card using Win32DiskImager, I noticed that it had...

Category VirtualBox

Fixing VERR_INTNET_FLT_IF_NOT_FOUND problems

I recently installed the November Windows 10 update on my computer, and while everything went smoothly, my VirtualBox went belly-up.

Category GitHub

ERROR: Couldn't find any revision to build

I love the GitHub Pull Request Builder! It makes life so much easier by ensuring that pull requests are tested before they are merged into the main code. I have...

Category Amazon

Category AWS

Category InfluxDB

Category Ubuntu

Category Service

Category Apache

Category Reflection

Category JUnit

Category Storm

Distributed Thinking: A gentle introduction to distributed processing using Apache Storm and Apache Spark - Part 4

Welcome to Part 4 of Distributed Thinking! Here we discuss processing data streams. In case you missed anything, click here for Part 0. 2. Processing Data Streams I’m glad you...

Category Spark

Distributed Thinking: A gentle introduction to distributed processing using Apache Storm and Apache Spark - Part 4

Welcome to Part 4 of Distributed Thinking! Here we discuss processing data streams. In case you missed anything, click here for Part 0. 2. Processing Data Streams I’m glad you...

Category Scala

Tail Recursion in Scala

Tail Recursion in Scala

SBT complains about unresolved dependencies for multi-module projects

Or how I learnt a bit more SBT, and continue to be mildly disgruntled by the bomb

Building Android apps in Scala using Activator Templates on Windows 10

So, like me, you decided to combine Scala and Android and get your hands dirty. If, like me, you’re on Windows and things aren’t working the way they should, maybe...

Distributed Thinking: A gentle introduction to distributed processing using Apache Storm and Apache Spark - Part 4

Welcome to Part 4 of Distributed Thinking! Here we discuss processing data streams. In case you missed anything, click here for Part 0. 2. Processing Data Streams I’m glad you...

Category Android

Building Android apps in Scala using Activator Templates on Windows 10

So, like me, you decided to combine Scala and Android and get your hands dirty. If, like me, you’re on Windows and things aren’t working the way they should, maybe...

Category Activator

Building Android apps in Scala using Activator Templates on Windows 10

So, like me, you decided to combine Scala and Android and get your hands dirty. If, like me, you’re on Windows and things aren’t working the way they should, maybe...

Category CPU

Category Threadpool

Category Jersey

Going to Maven Central!

I DONE DIDDLY DID IT! I got my first few JARs on Maven Central! I’m officially one of ‘em new town boys now, ma! Lookit me fancy shoes!

Jersey Injection Source Error: Accepting user defined entities in your API

I was writing an API for one of the projects I was involved in. The system used Jersey 2, Jetty and Java. My job was to accept a custom entity...

Category Maven

Submitting Multi-Module artifacts to Maven: My JAR does not download!

Submitting Multi-Module artifacts to Maven: My JAR does not download!

Category Bintray

Submitting Multi-Module artifacts to Maven: My JAR does not download!

Submitting Multi-Module artifacts to Maven: My JAR does not download!

Category Life

The Requirement behind the requirement

Or why your manager seems so anal-retentive

Category Work

The Requirement behind the requirement

Or why your manager seems so anal-retentive

Category Diskpart

Corrupt Disk: Diskpark or Disk Management will not start on Windows

I recently purchased a Raspberry Pi 3 and wanted to play around with it. After flashing the Raspbian OS onto the MicroSD card using Win32DiskImager, I noticed that it had...

Category Disk Management

Corrupt Disk: Diskpark or Disk Management will not start on Windows

I recently purchased a Raspberry Pi 3 and wanted to play around with it. After flashing the Raspbian OS onto the MicroSD card using Win32DiskImager, I noticed that it had...

Category GParted

Corrupt Disk: Diskpark or Disk Management will not start on Windows

I recently purchased a Raspberry Pi 3 and wanted to play around with it. After flashing the Raspbian OS onto the MicroSD card using Win32DiskImager, I noticed that it had...

Category Raspberry Pi

Raspberry Pi 3 Raspbian Jessie with WiFi, SSH, Headless Setup with No Keyboard or Ethernet

A quick guide to getting your Raspberry Pi 3 running in headless mode with SSH and WiFi without a Keyboard, HDMI or Ethernet

Category SBT

SBT complains about unresolved dependencies for multi-module projects

Or how I learnt a bit more SBT, and continue to be mildly disgruntled by the bomb

Category Functional Programming

Tail Recursion in Scala

Tail Recursion in Scala

Category Distributed Computing

Jelly: Experimental RPC

jelly What the heck is Jelly? Jelly is an experimental Remote Procedure Call system that tries to minimize boilerplate code in distributed systems.

Category Remote Procedure Call

Jelly: Experimental RPC

jelly What the heck is Jelly? Jelly is an experimental Remote Procedure Call system that tries to minimize boilerplate code in distributed systems.

Category HSM

Applying Key Variants manually

What are Key Variants? In systems involving two parties securely transmitting information to each other, there is always some sort of “key exchange” process. One of these processes is to...

Category Key Variants

Applying Key Variants manually

What are Key Variants? In systems involving two parties securely transmitting information to each other, there is always some sort of “key exchange” process. One of these processes is to...

Category Bouncy Castle

Calculating the Key Check Value of a key

What are Key Check Values? When a key is transmitted securely to a third party, there is no easy way to find if the recepient got the same key or...

Creating a new UBER keystore in Java

My quest for creating a new keystore from scratch I had to store a key in a keystore for a project I’ve been working on. Unfortunately all examples I could...

Category Uber Keystore

Creating a new UBER keystore in Java

My quest for creating a new keystore from scratch I had to store a key in a keystore for a project I’ve been working on. Unfortunately all examples I could...

Category Key Check Value

Calculating the Key Check Value of a key

What are Key Check Values? When a key is transmitted securely to a third party, there is no easy way to find if the recepient got the same key or...

Category Hardware Security Modules

Calculating the Key Check Value of a key

What are Key Check Values? When a key is transmitted securely to a third party, there is no easy way to find if the recepient got the same key or...

Category technology

Automatic Garage Door

I am one of the lucky few who happens to have a covered parking lot in the basement of my apartment. When I moved in here, it was one of...

Picking a backend language

I recently came across a question on Ask HN where the asker wanted to know which backend language they should learn. These posts can get opinionated, and I try not...

My Plant Pet

The motivation Working from home has taken a toll on all of us. I say that despite the fact that nothing significant has changed for me personally - I still...

Category IoT

Automatic Garage Door

I am one of the lucky few who happens to have a covered parking lot in the basement of my apartment. When I moved in here, it was one of...

My Plant Pet

The motivation Working from home has taken a toll on all of us. I say that despite the fact that nothing significant has changed for me personally - I still...

Category Personal

Why did I become a software developer?

I love tinkering Ever since I was a child, I have loved tinkering on things. I remember hammering my thumb and losing a fingernail while trying to nail two blocks...

Rebooting the blog

So once again I’ve come back to my own blog to “revamp” it. This has been a long time coming, and there are a few threads of thought that have...