At Wehkamp we ❤️ Slack! Seriously, in order to improve our efficiency, we’ve connected many of our applications, alerts and dashboards to Slack channels. But, as with all things, there is a right way and a wrong way of integrating a webhook at enterprise level.
Let’s explore how easy it is to create an application.
Chris Vahl (Cloud Engineer) and me did a talk on Full Stack Live #2 (Orange Talent: At Wehkamp we did a very successful influencer campaign, but it didn’t go well for our website. In this session we discuss what happened and how we mitigated our problems. We also show how we want to move forward using Kubernetes, Karpenter and Keda, to create a platform that scales better. This session is in Dutch.
Let’s use a small snippet to convert any article to Markdown. This might come in handy if you want to repost your articles to blogs that support Markdown like DEV.
Let’s run Jupyter notebooks in a Visual Studio Code development container, so we keep our host system clean and our development setup replicable. We’re building a scraper, so let’s add support for Puppeteer (pyppeteer) as well!
Let’s face it: sometimes DateTime is just too much: you only want to deal with dates. Since .NET 6, we finally have support for DateOnly. In this blog I’ll look at how to interact with it and how to add it to your Swagger API docs.
You have a bunch of online services that let you take screenshots of a site and save them in a folder. While it can be very useful to pay for such a system, it is not so hard to create it. Let’s use Chrome / Chromium with Puppeteer and Node.js (cluster) to take some snapshots in no-time. We’ll use the Puppeteer Cluster package to run multiple threads / workers to grab those screens in parallel. We’ll be using TypeScript.
The web is unreliable. Here’s a compact exponential back-off retry utility for TypeScript — one function, no dependencies, proportional jitter included.
This week we had to exfil some data out of a bucket with 5M+ of keys. After doing some calculations and testing with a Bash script that used AWS cli, we decided to go a more performant route and use s3p. They claim to be 5-50 times faster than AWS cli 😊.
Positional arguments like $1 and $2 are hard to read. This Bash pattern maps named options to explicitly allowed variables and validates the required input.
Yesterday we’ve encountered a curious problem: we needed use Spark to parse JSON data that was produced by AWS Kinesis. Unfortunately, the data was in a concatenated JSON format. Spark does not support that format, so we had to come up with something our selves.