Alex Buznik's Logbook

Web-development as life-style

Links May 2020

Some more interesting links:

🛠 Development

  • Chrome Kiosk Mode to build custom kiosk devices
  • hCaptcha – recaptcha-like, but focused on privacy. Cloudflare has moved to it.
  • Ask HN: Is your company sticking to on-premise servers? Why?. Some highlights:
    • Not sure that’s universally true. We have probably tens of thousands of EC2 instances in our infra right now. Just the cost alone to build out on-prem infra and migrate things over would likely wipe out a half-decade or more of cost savings. And in the meantime our shift in focus would hurt our market position. If we’d started in the beginning (11 or 12 years ago) with our own infra, I imagine our recurring infra costs would be lower right now, but I also suspect that our 3-person founding team would have failed to produce an MVP before their initial time and money ran out. If I were starting a company now, I’d probably do things in a more “platform agnostic” way such that a cloud->on-prem migration might be easier. But I still never expect it’d be easy.
    • I agree with everything you say – I’m convinced that a huge part of the cloud’s financial success is due to how it allows CTOs/CIOs to indulge their fantasies about having a mega-scalable app – even if their workloads are very regular and predictable. Along the lines of buying an expensive sports car but never driving it fast, you’re just paying for the kudos it brings you in the eyes of other people. Having said that, we are happily using the cloud for our small app because it makes no sense to build out our own infrastructure for a single VPS and database.
  • XOD – visual IDE for Arduino.

📹 Design

🕶 Cool stuff:

Working remotely from a village

These days I’m working from a village!

Initially we planned to come here for a week or so to play with my wife’s nephew while she had school holidays.
However it has coincided with the Covid-19 outbreak and lockdown in Ukraine, so we stayed.

It’s been a month now, and I want to tell about my experience.

We’re staying in Novobohdanivka with population under 1000. It’s a relatively well-doing village, with some central water supply and town gas. There is a post office, bar, some small shops, nursery and primary school.

Workplace

Workplace against the carpet on the wall

This is my workplace. At home I have another monitor, but most of the time 15” laptop is fine for doing work and listening at the same time to DI.FM.

Also you can download the carpet backdrop for your Zoom calls.

Connection

There is no land-based Internet connection, so I brought an LTE router with me or sometimes using my phone as a router. Right now fast.com rates the download speed at 5.7Mbps. It’s enough for most of my work and occasional video-calls with multiple people. I have a 3Gb daily cap on my mobile plan, and the speed is throttled to 0.8Mbps after the limit is exhausted. It’s enough for my daily work, listening to online streaming music, and very limited 360p-Youtube-time.

Housework

When I have some free time I try to help around the house and the garden.

A couple of weeks ago we planted potato and carrot. Last week I did some digging around currant.

Also doing misc country house staff like cutting trees, coming with creative ways to join water hoses of different diameter etc.

After hours

The scenery is very nice here, got to see sunsets like this almost daily:

Sunset with the view of the kitchen-garden

I’m really happy we got to stay here during this quarantine.

Links April 2020

Here are some interesting links from this month.

 No comments   1 mon   conf-talk   fractal   links   quine

Webhook Bot

Webhook Logo

At some point I was considering to make a bird-feeder with a simple Arduino sensor to count birds.

I thought I could make use of some simple tool that would notify me of another bird visiting, or that the battery is low. E-mail would do, but it feels like too much hassle when you can send one request to a messenger of choice.

Glip and Slack offer easy creation of a public webhook URL for any chat, that you could use to send messages.

However, I wanted to use my private messenger accounts for it, and did not find a similar project nor for FB messenger, nor for Telegram.

So I made one myself. That’s how Telegram @wwwebhook_bot was created!

Initially I wanted to use it with FB messenger, but it’s hard to get it approved there for public use.

The project has first seen light of the world in August 2018.

Source code on Github

Arduino Bluetooth Car Controller

Arduino 4WD Car Kit

My wife has recently presented me an Arduino 4WD Car Kit.

The kit is great, produced by keyestudio, and based on l298n motor driver.

It took me a while to assemble and make it work, but I got so much fun in the process.

The app

The kit producer provides an Android app, but it’s quite buggy, so I looked for alternatives.

I found a simple app code by Boldi Zopcsak and tweaked a little bit tot include the MAC address input field which was hard-coded before.

Also the app now tries to connect to Bluetooth device on start.

What I’m especially happy is that I set up the Github Action to build the app on every commit. It also stores the app builds, very handy.

Check out Repo on Github.

Builds: Android CI

Links March 2020

Some links that I found useful or fun this month:

A great youtube account/director who’s focused on modern energy-efficient living:

Reading:

 No comments   2 mon   links

Repurposed an old iPad as a home status screen

Here is my new small project – TableStatus / StenGazeta.

I have been thinking about creating some kind of a status screen for my home and family for a long time.

Our friends have recently donated an old iPad 2 to us. It runs iOS 9.3.5, so I can barely install a handful of apps from Appstore. That’s where this idea started.

I could never gather all the details until this Christmas, when I got some time and slapped together a preact web app.

Try it

Features

It’s a web page that displays widgets:

  • daily weather – temperature, conditions and humidity, and lunar phase
  • agenda – events from our shared calendar for the day (events are also togglable, so you can use it as wishlist)
  • photoslider with pictures from selected google photos albums
  • simple notes

Nothing particularly interesting about those – mostly leveraging a couple of APIs.
I used openweathermap.org for weather, and Google APIs to retrieve the calendar and photos.

The notes are just a text area that stores value in localStorage, not synced across sessions.

Usage

You can just visit StenGazeta page on your iPad and it will work.

In order for Calendars and Photos to work, you need to login with your Google account.

Source and Setting Up

Right now, I’m happy with the result, though I’m adding some ideas as enchancements on Github.

Source code on Github

It has a readme which has some notes on the API keys that you need to get and some other vars to set up.

The project is build with webpack and can be hosted on any kind of hosting. I use Netlify for it.

You can set up one for youself, too.

Anyway, let me know if you’d like to use it, but it lacks something via this form.

A note to React gurus and beginners

The project is definitely not to show off my React skills, rather the opposite – I wanted to slap some stuff together in a very limited timeframe and also to try preact.

Also if you are a beginner and want to learn by its code – it’s not the best specimen.

preact

I wanted to go really minimal and was lured by preact’s promise of 3kb gzipped size.

However I ended using the preact CLI to create the project boilerplate together will the webpack and compilers and other stuff, and 260Mb node_modules.

Also tried to start with React Native, but its toolchain is still not clear to me. Ran into a couple of issues with the suggested solutions as “reinstall all your node_modules and cocoa pods”, not cool.

 No comments   3 mon   iPad   preact   projects   web app

Toy Traffic Light with Arduino and Lego Duplo

Demoing this to my son

Here is my small project that I made for my son’s 2nd birthday.

He is very fond of trains and cars, so I thought that a working traffic light would not hurt. I know there are some commercially produced toys, but I wanted to do something myself.

If you have religious feelings about Lego, proceed with caution – some damaging images ahead.

Concept

I just looked at a 2x4 regular Duplo block and thought that its bottom tubes resembled the traffic light tubes (kind of).

Those tubes also large and deep enough to accomodate regular 5mm LEDs.

However to place the Arduino and have some space for the wiring, I had to cut almost entirely the two and a half tubes with a Dremmel rotary bit. Even after this the block still has some rigidity:

Videos

How not to solder:

Almost ready:

Complete:

Parts

Project is based on Arduino Nano which fits pretty well inside the regular Duplo block.

  • Arduino Nano V3
  • Red, Green, Yellow LEDs
  • 220 Ohm resistor (3x, for the LEDs)
  • Pushbutton
  • Battery block

Power

One can use pretty much anything to power Arduino Nano with some LEDs. I had some CR2032s, 9v crown, Li-Ion 18650 and an 3xAAA battery block lying around.

Initially I wanted to go with CR2032 in order to reduce weight and complexity, but the ones that I had did not produce enough current.

18650 is a good choice, but would require more block processing to fit the battery.

So I went with a noname 3xAAA battery pack.

Coding

I started off with a python sketch, aiming to use ESP32 with micropython to allow over-the-air traffic pattern updates.

For some reason I had issues with ESP32 on my laptop (could not properly connect over serial, even with that bespoke UART driver).

So I went really simple, with a regular Arduino and C.

Wiring

Assembly

Soldering is really messy, but also the space was limited:

I’m as surprised as you are with my soldering:

Some drilling had to be applied:

Complete with some hot glue:

 No comments   3 mon   arduino   DIY   hardware   lego   projects   source-code   toy

Links January 2020

Here I’m going to collect interesting things I found during the month.

  • Cyberpunk is dead – a sad overview of cyberpunk genre development
  • Every Noise – the map of music genres with prominent artists of each one
  • DIY Air Purifier – an open source guide to build air purifier of the off-the-shelf parts
  • Crontab calculator – I forget how this works every time
  • Macintosh Switcher – history of the first application switcher in Macintosh (1984-1985)
 No comments   4 mon   links
Earlier Ctrl + ↓