20 random bookmarks

Тут будут ссылки на всё-всё, что я найду интересным

2026-09-09

1016.

Heap's algorithm

en.wikipedia.org/wiki/Heap's_algorithm
// Output the k! permutations of A in which the first k elements are permuted in all ways.
// To get all permutations of A, use k := length of A.
//
// If k > length of A, will try to access A out of bounds.
// If k <= 0 there will be no output (empty array has no permutations)
procedure permutations(k : integer, A : array of any):
    if k = 1 then
        output(A)
    else
        // permutations with last element fixed
        permutations(k - 1, A)
        // permutations with last element swapped out
        for i := 0; i < k-1; i += 1 do
            if k is even then
                swap(A[i], A[k-1])
            else
                swap(A[0], A[k-1])
            end if
            permutations(k - 1, A)
        end for
    end if

2026-08-27

1012.

Understanding Polylith through the lens of Hexagonal Architecture

tengstrand.github.io/blog/2023-11-01-understanding-polylith-through-the-lens-of-hexagonal-architecture.html

2025-06-24

878.

Every service should have a killswitch

www.seangoedecke.com/killswitches

The more time you spend designing systems, the more paranoid you get about things going wrong

2025-01-16

823.

Cosmos Keyboard

ryanis.cool/cosmos

Custom keyboard configuration builder

2024-12-17

808.

Question Best Practices

ajkprojects.com/questionbestpractices

2024-09-11

761.

Every productivity thought I've ever had, as concisely as possible - Alexey Guzey

guzey.com/productivity

A - The task requirements and goals might not be clear enough. If you are trying to get yourself to “plan for a project” or “write a book” then it’s hard to identify the next actionable items. Put some time aside to figure out what physical things you can do to move the project forward. Try break down the larger tasks into the smallest pieces possible. The goal of the project might need identifying, or the requirements fleshed out from a supervisor.

B - The task might exceed your current competency. Sometimes we know what we have to do, but don’t know how to do it, and then we become avoidant rather than admitting this. In this case, it’s worth figuring out what you do know how to do and what you don’t know how to do, and be honest with that. Then slowly ask for help or read up on the things you don’t know.

C - The tasks might really not be worth it. Sometimes you are assigned tasks that don’t actually help you achieve your long-term goals, and so your brain demotivate you from doing them. Maybe the payoff is low, maybe you don’t learn anything new from them, or maybe a colleague you don’t like will gain credit for the tasks, or maybe you just wont be rewarded or appreciated for getting the tasks done.

2024-09-05

759.

Iceberger

joshdata.me/iceberger.html

2024-08-28

748.

Сколько стоит эффективность терапии

spectator.ru/entry/6709

2024-08-23

746.

Выбор мест в самолёте

ilyabirman.ru/meanwhile/all/mesto-v-samolyote

2024-08-18

743.

Big Tech’s bid to rewrite the rules on net zero

archive.ph/2024.08.17-111259/https://www.ft.com/content/2d6fc319-2165-42fb-8de1-0edf1d765be3

Крупные технологические компании производят гораздо больше выбросов углерода, чем предполагают в своих отчетах об устойчивом развитии.

Они активно лоббируют переписывание правил о том, как рассчитываются выбросы, чтобы показать чистый ноль на бумаге, но не на практике.

2024-04-11

604.

How I write tests in Go

blog.verygoodsoftwarenotvirus.ru/posts/testing-in-go

In many other languages, you have to not only evaluate testing libraries, but also write your tests in a style that complies with that library’s expectations. Gophers are blessed to have a thoroughly adequate solution out-of-the-box, and even further blessed to have an active ecosystem where folks are making in-depth testing a walk in the park.

2023-12-21

Reposted 465.

Towards a folk computer

folk.computer/notes/tableshots

The coolest thing I've seen today!

2023-11-16

421.

Case-Insensitive Search in SQL

use-the-index-luke.com/sql/where-clause/functions/case-insensitive-search

Using UPPER or LOWER for case-insensitive search is not a good practice. Prefer using a _CI collation if possible or at least add the right indexes to make your query fast.

2023-11-14

412.

LIMIT vs. FETCH in SQL

antonz.org/sql-fetch

Fun fact: There is no limit clause in the SQL standard.

Everyone uses limit.
And yet, according to the standard, we should be using fetch

2023-11-04

Reposted 390.

Inbox Zero - Björn Wärmedal

warmedal.se/~bjorn/posts/2022-02-19-inbox-zero.html

Now I use my inbox as a to do list of sorts. Emails are only there as long as they're relevant. Confirmation of a table reservation at a restaurant? It's at most relevant until the date of the booking has past. Archive it.

2023-10-21

369.

Text Rendering Hates You

faultlore.com/blah/text-hates-you

Rendering text, how hard could it be? As it turns out, incredibly hard! To my knowledge, literally no system renders text “perfectly”. It’s all best-effort, although some efforts are more important than others.

2023-08-02

272.

Essays on Reducing Suffering

reducing-suffering.org

This site contains writings on the topic of reducing suffering, including the suffering of non-human animals and far-future beings. Most content is by Brian Tomasik, though a few pieces are written by others.

2023-06-18

209.

Chronotrains

www.chronotrains.com/en

На этой карте показано, как далеко можно уехать по железным дорогам Европы за 8 часов

2023-06-10

202.

Privacy Tools & Software Guide

www.privacytools.io

2023-02-18

3.

Nihgtwave Plaza

plaza.one

Online Vaporwave Radio