20 random bookmarks

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

2026-05-02

968.

Бизнесу надо

ambment.cat/posts/2026-4-29-1.html

Меня просто нечеловечески бесит, когда разработчики оправдывают собственную некомпетентность мантрой «бизнесу надо». Если программист любой степени квалификации, от стажёра — до принципала — использует в качестве аргумента в любой дискуссии фразу «бизнесу надо» — знайте, перед вами тупой самозванец, гоните его в шею.

2026-01-21

925.

Кайфовый интерфейс — это база (доклад в Лимассоле)

www.youtube.com/watch?v=G5XyWWvre8o

Доклад о том, как и почему интерфейсы портятся и что нужно, чтобы они не портились.

2025-11-26

915.

How to get hired in 2025

tonsky.me/blog/hiring-ai

Following are the main red flags in test assignments that should be avoided:

  • The assignment was read and understood in full.

  • All parts are implemented.

  • Industry-standard tools and frameworks are used.

  • The code is split into small, readable functions.

  • Variables have descriptive names.

  • Complex parts have comments.

  • Errors are handled, error messages are easy to follow.

  • Source files are organized reasonably.

  • The web interface looks nice.

  • There are tests.

Avoid these AI giveaways and spread the word!

2024-07-09

Reposted 705.

Выгорание - личный опыт и пошаговая инструкция по приведению себя в порядок за 24 часа

vc.ru/life/1293647
  • 17:00 - 20:00 - отпустить тормоза. Избегайте наркотиков, но в остальном дайте себе полный карт-бланш в том, что вы себе обычно не позволяете.

  • 20:00 - 22:00 - прислушайтесь к своим чувствам. Включите музыку, побейте грушу, посидите в тишине. У каждого свой метод. На этом этапе важно дать волю эмоциям.

  • 22:00 - 7:00 - сон. Чем дольше, тем лучше. Но важно не валяться, если вы уже проснулись.

  • 07:00 - 10:00 - уборка. Чем больше вы выкинете или подарите кому-то, тем лучше. Делайте это с предельной жестокостью.

  • 10:00 - 13:00 - спорт, массаж, баня (безусловно можно сочетать). Помните о том, что здесь важно почувствовать тело. Вернуться в реальность через ощущения и движения.

  • 13:00 - 14:30 - десять дел. Важно не делать больше, не делать сложного, но использовать этот метод для разгона внутреннего генератора и перевода его в созидательное русло.

  • 14:30 - 17:00 - потоковое творчество. От футбола до рисования. Это очень индивидуально. Принципиально важно на этом этапе создать что-то свое, вернуть вкус творчества и игры.

2024-05-22

663.

Writing commit messages

www.chiark.greenend.org.uk/~sgtatham/quasiblog/commit-messages

Гайд, как правильно писать сообщения для коммитов. О важности упоминания не просто того, что делает изменение, а зачем оно это делает. Очень мудро.

2024-05-17

641.

How to Pay Programmers Less

www.yegor256.com/2016/12/06/how-to-pay-programmers-less.html

Programmers are expensive and difficult to control; here are a few tricks to keep them underpaid and happy, for a while.

2024-04-16

607.

Organize your browser bookmarks

practicalbetterments.com/organize-your-browser-bookmarks

2024-03-06

547.

Dysfunctional options pattern in Go

rednafi.com/go/dysfunctional_options_pattern
package src

type config struct {
    // Required
    foo, bar string

    // Optional
    fizz, bazz int
}

// Each optional configuration attribute will have its own public method
func (c *config) WithFizz(fizz int) *config {
    c.fizz = fizz
    return c
}

func (c *config) WithBazz(bazz int) *config {
    c.bazz = bazz
    return c
}

// This only accepts the required options as params
func NewConfig(foo, bar string) *config {
    // First fill in the options with default values
    return &config{foo, bar, 10, 100}
}

func Do(c *config) {}

You’d use the API as follows:

package main

import ".../src"

func main() {
    // Initialize the struct with only the required options and then chain
    // the option methods to update the optional configuration attributes
    c := src.NewConfig("hello", "world").WithFizz(0).WithBazz(42)
    src.Do(c)
}

2024-02-03

516.

Трамваи и автобусы Осло

ilyabirman.ru/meanwhile/all/oslo-trams-buses

Может, вы сидели и думали, что в Осло нет трамваев. А они есть!

2024-01-14

492.

Профессиональное выгорание: кто виноват и что делать

www.youtube.com/watch?v=45hEPff4loE

Саша рассказывает про выгорание

Reposted 491.

LibriVox | free public domain audiobooks

librivox.org

Libre audio books. Recommended by Flancian.

2023-12-16

Reposted 456.

The Decline of Usability

www.datagubbe.se/decusab

The author doesn't like how modern UI:s are designed. Gives good examples.

2023-11-19

426.

Programming On 34 Keys

peppe.rs/posts/programming_on_34_keys

Minimizing your keyboard layout is a slippery slope.
34-keys has been reasonably comfortable to use, for both prose and program. My palms do not move across the desk at all, as I reach for keys. I mostly write Rust and Bash, and my layout has evolved to accomodate special characters from their grammars (angled brackets and hyphens, specifically). If you are on a similar journey, I would suggest focusing on accuracy and comfort over speed. Speed comes with time.

2023-09-27

341.

Objective-See: LuLu

objective-see.org/products/lulu.html

LuLu is the free, open-source firewall that aims to block unknown outgoing connections, protecting your privacy and your Mac!

2023-09-05

314.

Я вижу как ты мусоришь со своего балкона / Хабр

habr.com/ru/articles/758894

Как технически обнаружить мусорщика и почему камеры, смотрящие не на фасад, бесполезны

2023-08-07

279.

Elements of C Style

www.teamten.com/lawrence/style

Заметки о том, как писать и оформлять код на Си

2023-03-11

112.

Shift Happens: Typewriter simulator

shifthappens.site/typewriter

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

2023-03-05

54.

Буква Ё

ilyabirman.ru/meanwhile/all/yo-dots

О том, почему ё важна

2023-03-03

52.

Surviving the Release Version

www.codeproject.com/Articles/548/Surviving-the-Release-Version

OK, your program works. You've tested everything in sight. It's time to ship it. So you make a release version.

And the world crumbles to dust.

You get memory access failures, dialogs don't come up, controls don't work, results come out incorrectly, or any or all of the above. Plus a few more problems that are specific to your application.

Now what?

That's what this essay is all about.

2023-02-26

42.

Designing devices for long-term care and reuse

cheapskatesguide.org/articles/uncharitable.html