Task: Save Article to Markdown
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.
Read the article Task: Save Article to MarkdownLet’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.
Read the article Task: Save Article to MarkdownYou 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.
Read the article Task: take some website screenshots and put them in a folder (in parallel)Have you tried turning it on and off again? The web is a weird place and calls might not always succeed in the right manner. A retry with an exponential back-off mechanism helps your code to be more resilient when it connects to services outside of your control. While there are many packages that can help in this area, it pretty easy to add some utility methods to your project. In this article I’ll show how you can create a general-purpose exponential back-off and retry mechanism using TypeScript and Node.js.
Read the article Retry with Exponential Back-Off utility methodThis 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 😊.
Read the article Using the S3P API to copy 1.3M of 5M of AWS S3 keysI’ve tried to use the ngrok npm package in my application, but as the documentation says: “The ngrok and all tunnels will be killed when node process is done.” I need the process to “survive” my application. Let’s see what we can do about that…
Read the article Incorporate free ngrok in your Node.js application for local developmentI love SVG, but sometimes they are hard to create, especially when you need to visualize diagrams. HTML is way easier to program. So why not combine them? Can we use HTML to generate an SVG? And can we use JsFiddle to generate that HTML?
Read the article Convert JsFiddle to SVG using Node.jsSlack is fully awesome. At Wehkamp we use it for our internal communication and as a tool for our DevOps. The Slack API allows us to build even more advanced integrations. In this blog I’ll explore how to use the API to create powerful progress indicators by updating a Slack message.
Read the article Building an updatable Slack messageTo give teams a jump start we’ve created the bot-zero open source project. It solves some setup and development problems. In this blog I’ll show how to get up and running in minutes and I’ll explain some of the choices we’ve made.
Read the article Jump-starting Slack bot projects: bot-zeroLately we’ve been playing around with ChatOps at Wehkamp. We added a Hubot to our Slack channels to automate some operational jobs. It makes work more fun and way easier. As it is hosted in our own infrastructure, it can interact with our micro-services. In this article I explore how to use ES6 and a Promise to implement a call to a simple web-service.
Read the article Hubot + ES6 + PromisesTypeScript allows for better JavaScript development. JavaScript is getting useful in more domains. But different systems require different ways of handling modules and exposing features. TypeScript solves this by compiling differently when a target is specified.
But what if you need a TypeScript script that supports both vanilla browser JS and Node.js? What if you need to expose 10+ classes?
Read the article Support both Node.js and browser JS in one TypeScript file