Great news from Google, there is now an official Google Chrome Headless library called Puppeteer. In the first Chrome headless blog post, we used the CDP interface library which is quite a low-level interaction for Chrome. In this post, we go through some of the cons and pros of using Puppeteer.
Puppeteer allows a higher level to control the headless Chrome, it has better and easier to understand API. By installing Puppeteer package you also download separate Chrome instance(~71Mb Mac, ~90Mb Linux, ~110Mb Win.
- With the recent years, the JavaScript language adoption has skyrocketed and it’s hard to find web pages which are not using a single line of JavaScript. Many sites have converted from the traditional model of server side rendered pages to Single Page Applications (SPA). Which means that traditional web data mining, scrapers tools do not work with the SPA applications or do not give the expected results due to the dynamic nature.
- Raspberry PI has the most amazing hardware to create your own simple surveillance camera by combining free/open source software. My end goal is to make automated person/human detection and based on the detection send me an email or push notification with an image. Another important goal is to keep the whole solution based on open-source or free software components/services. Component list: Raspberry PI - model A RaspberrryPI official noIR camera(tested also with USB cameras) Passive infrared sensor(PIR) The flow begins with movement detection, there are roughly two ways for detection: hardware and software.
- Batch workers are one of the common patterns to separate more heavyweight data processing background jobs from the main application. That’s all great, but to do this you usually need to create a separate server/instance/container job for this and do the maintenance. This could be easily changed by using serverless architecture, provided by Azure, Google, Amazon etc. In this blog post, we are using specifically Amazon’s technology Lambda and SQS. Beside the Simple Queue Service there are also other similar purpose services:
- Exporting could be a quite tedious manual work if you have to do it like 20+ times. Also, the GUI(graphical user interface) settings don’t change much, only press export button. With Native Mobile applications usually single size won’t be enough and you have to do it again usually in three different sizes. In this post let’s go through some alternative options to make exporting much easier. All the below techniques are used on SVG so if you have Adobe Illustrator content make sure you convert it to plain SVG before.