Investigate problems due to User-Agent using Bash

Last week we had some problems with the Google Ads bot. It was not able to crawl a bunch of URLs while the browser had no problem getting through. The only difference was the User-Agent. This send us on a debugging journey through Cloudflare, gateways and micro-sites. To assist us, we’ve created a small bash script to visit an URL and show some debug info.


Trigger Lambda for large S3 Bucket with SQS

At Wehkamp we use AWS Lambda to classify images on S3. The Lambda is triggered when a new image is uploaded to the S3 bucket. Currently we have over 6.400.000 images in the bucket. Now we would like to run the Lambda for all images of the bucket. In this blog I’ll show how we did this with a Python 3.6 script.

Misc, Tools

My Little List of Tools for Prototyping

As a developer I love to prototype to see if an idea works. Thinking big and starting small is actually one of Wehkamp’s principles. And, let’s face it, that’s not easy!

Usually it starts by getting an idea of the core concept that should be validated. Especially when working with teams, communication is key. This list of tools helped me over the years to draw or code out some of these concepts and get a discussion started.

Every tool on this list is free and online.

.NET, Automation

Connect to Jira with a Private Key (OAuth) using .NET

We have a .NET service that needs to connect with Jira to create, update and read issues. It would be easy if we could use a username & password for authentication, but for this integration we need to implement the connection to Jira with a Private Key. All requests have to be signed with OAuth.

Automation, AWS Lambda

AWS Lambda Size: PIL+TF+Keras+Numpy?

At Wehkamp we’ve been using machine learning for a while now. We’re training models in Databricks (Spark) and Keras. This produces a Keras file that we use to make the actual predictions. Training is one thing, but getting them to production is quite another!

The main problem we’ve faced was that it was too big to actually fit into a lambda. This blogs shows how we’ve dealt with that problem.

.NET, Redis

Building a high performing last viewed list using Redis

We live in a day and age in which we can choose a data-store that matches the characteristics of our apps and (micro) services. Lately we’ve been looking into Redis as a high performing store for last viewed items. In this blog I’ll look show how to create a POC with the redis-cli and then implement it using .NET Core. We’ll be using the sorted set structure.


Fizz? Buzz? FizzBuzz? Let’s discuss.

What’s the buzz all about? Well, originally it started out as a small children’s game, but now and again I see it being used to detect weak developers in job interviews (I think there are better ways to do this). The assignment has a view nice properties. In this blog I would like to look at some implementations and discuss the pro’s and con’s of each implementation.

©2010-2019 by Kees C. Bakker, all code is licensed under MIT.
By using our website, you hereby consent to our Privacy Policy and agree to its Terms and Conditions.