RSSAmplifier

Blog

Leonid Shevtsov

Recent content on Leonid Shevtsov

leonid.shevtsov.meRSS feed ↗250 posts

Latest posts

Багатошарове освітлення одною кнопкою

Як я автоматизував світло у ванній: проводка, Shelly, Home Assistant і failover, коли сервер мовчить.

Scripts to export Safari tabs

This is a collection (ok, a couple) of Apple automation scripts to extract the tabs out of the topmost Safari window and send them elsewhere. Pull just the URLs I use this in a Shortcut to send the URLs to Reeder’s Read it Later. on run { input , parameters } tell application 'Safari' set tabURLs to {} set tabCount to 0 repeat with t in tabs of window 0 if name of t is not 'Untitled' then…

Controlling Minuflux with its Go API client

Do anything and more.

Export YouTube subscriptions into RSS

Run the script from the Developer Console and get an OPML file with your subscriptions.

Installing DietPi on an Odroid XU4 with eMMC, 2024 edition

If you know what you’re doing, it’s not so hard

UUIDs are obsolete in the age of Docker

Take care to assign a unique node name. But better use an integer ID instead.

How to change serialization level on Amazon Redshift

It only needs a couple of minutes of downtime

Стендап Сьогодні

Запрошую підписатись на мій новий канал, куди я щодня пишу про свою роботу.

My guide to macOS for (new) power users

You can make macOS do wonderful things. Let’s go deeper.

Інженерна підноготна Сінтри

Як ми удвох розробляємо найкращий сервіс для ведення денного бюджету.

M1 MacBook Air: a laptop that does not suck

Top performance and no fan. For me, it’s the best laptop.

Почему я 11 лет работаю в Railsware

Railsware - компания хороших людей и открытой критики

Always cancel promises started in React.useEffect

If you start a promise inside useEffect, make sure to cancel it in the cleanup handler.

How to build Go projects with multiple private dependencies in GitHub Actions

A path without giving up private repos or giving out access tokens with broad permissions.

How we made our Rails feature test suite twice as fast

Cut down on repetitive parts, precompile assets, avoid making external requests, and make the app faster.

How to fix "No bundle URL present" and change the packager port in React Native

TLDR: set port in Metro options, and set RCT_METRO_PORT in React-Core preprocessor definitions. But wait! There’s more.

The web architecture ladder

There are many approaches to creating a website or application. When starting a project, it’s important to focus your efforts on the ground-breaking, value-creating bits, and save on everything else.

Reselect memoization explained

Reselect does a good job of optimizing with referential transparency, but does nothing for referential stability.

Apple Silicon — M1 for Ruby developers

Is M1 ready to accept Ruby developers? Definitely.

How to set up a quasi-kanban for Jira in VS Code

To paraphrase Alf, if you don’t like Jira, you just don’t know how to cook it

Migrating a 20K SLOC production project to TypeScript

I’ve migrated Sintra from JavaScript to TypeScript. It took me a couple of weekends to finish. I’m incredibly happy with the result.

A review of the Awair Element indoor air quality monitor

A five-dimensional air quality monitor with data logging, a pleasant design, and convenient integrations.

Keychron K3 wireless mechanical keyboard review

Unbeatable feature set for a reasonable price.

How to shim legacy dependencies in Webpack (like jQuery)

You don’t need to make it complicated.

Rails is still the king

That is if you are making a web app with lots of complicated serverside business logic, but it doesn’t have to crunch large amounts of data.

Lunar lander software development

A successful software product is a compromise between three ideals: architecture, usability, and vision. If you want to succeed, make sure they are are balanced.

Things I've learned from writing React apps

Some accumulated practical wisdom.

I made a React hook to get the current date

A real life example of using hooks to solve a problem.

LG Ultrafine 4K 21" review

Best Mac monitor (asterisk) (asterisk) (asterisk)

Best code in available time

Your job is to find the optimal approximation, somewhere between spaghetti code and perfection.

A polyglot's view of Ruby&Rails

Слайды моего доклада на Ruby Meditation

The JavaScript that I like

I’m not going to criticize or evangelize JavaScript here. Let’s unwrap “my” JavaScript assumptions one at a time.

React / Redux - инженерный подход к фронтенду

Я расскажу о нескольких прикладных штуках, которые я обожаю в работе с React, но о которых сложно догадаться по рекламным материалам.

Turning an iPod Touch into a high-tech weather display

With the power of WUnderground, Clojurescript, and some double-sided tape.

How to test your gem against multiple Ruby versions on CircleCI

It’s much easier on Travis. But sometimes, you don’t have a choice.

SB - a command-line helper for Sublime Text projects

My favorite way to create and open projects in Sublime Text

How to geotag photos with Moves.app

If you are already running Moves.app, why not utilize it for something useful?

Messagepack-RPC - a fast, simple protocol for microservices

If you care about your RPC performance at all, you should be using a protocol with a persistent connection - and MessagePack-RPC is a great choice for Ruby projects.

Communicating Sequential Processes

Доклад на Lambda Club Днепропетровск 6/2016

How to serialize moment.js values with Transit

Make sure to pass the right constructor into the writer handler.

How to log errors coming from React components

And make use of propType validation.

Zen estimation - bare minimum iteration planning

Bring focus from fiddling with abstract numbers of “points” to planning out work into actionable steps.

How I used Let's Encrypt to enable HTTPS on this blog

TL:DR - it was free and took an hour to figure everything out.

How to make a Java daemon with start-stop-daemon

start-stop-daemon is a utility that, among other things, can make daemons out of regular foreground user-facing programs, and they don’t have to know anything about it.

Demystifying direct uploads from the browser to Amazon S3 - with a full example in 167 lines of code

Implementing this may sound like a big complicated job, but in fact, it’s feasible without resorting to third-party libraries.

How to build MAPS.ME for Mac OS X - an offline OpenStreetMaps browser

It’s probably better to use Organic Maps at this point.

Handle large JSONs effortlessly with jq

How would you find sense in a 4-megabyte JSON file? Turns out, this is a great opportunity to use jq - a lightweight and flexible command-line JSON processor.

The genius of React

React makes it possible to code modern web application with the same simple approach as traditional, non-interactive websites.

Companies that are using Clojure

These are only companies that have achieved household name level (at least in developer-held households.

How to index mixed-language content with Lunr.js

Details of my implementation that is now bundled into the lunr-languages library.