20 random bookmarks

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

2026-03-11

941.

Getting Rich: from Zero to Hero in One Blog Post

www.mrmoneymustache.com/2013/02/22/getting-rich-from-zero-to-hero-in-one-blog-post

2025-09-28

892.

What is "good taste" in software engineering?

www.seangoedecke.com/taste

2025-09-14

890.

Проективная идентификация для чайников

spectator.ru/entry/6719

ПИ«придумала» Кляйн, которая занималась«детским» психоанализом, и вот эти все«магические» штуки — это способы, с помощью которых дети, которые еще не умеют говорить, общаются с матерью. А потом это становятся способами, с помощью которых взрослые люди, которые не могут говорить,«общаются» с другими людьми.

2025-09-04

889.

Выбор времени

олег.кряхтит.онлайн/share/timepicker.html

2025-02-04

Reposted 833.

Зарождение новой науки.

ahitech.livejournal.com/171492.html

Алекс Хитеч подкидывает документы компании, которая забыла, как устроен её завод.

2025-01-12

820.

Как читать новости и не сойти с ума

politrussia.com/society/kak-chitat-novosti-i-ne-soyti-s-uma-904

Да, это — работа.
Сложная и требующая насилия над своими инстинктами и шаблонами мышления. Она неизбежно будет вторгаться в вашу "гражданскую" жизнь и чем дальше, тем сильнее. Есть хорошая профессиональная поговорка: то, что делаем мы, меняет нас. У этого процесса есть много плюсов (появится хладнокровие, рассудительность, обстоятельность в принятии решений), но и минусов (на фоне других людей, если не будете одевать маску, вы будете казаться холодным фриком). Решать — вам и только вам, но теперь вы по крайней мере знаете, как превратить себя из потенциальной жертвы "эмоциональных качелей", на которые вас упорно заманивают создатели новостей, в адекватного читателя-аналитика. Если вы последуете вышеизложенным советам, ваши нервы будут очень благодарны, и вы точно узнаете очень много нового о себе и о мире вокруг вас.

2024-12-20

812.

Naming is Hard

www.romainguy.dev/posts/2024/naming-is-hard

We all know that naming things in programming is hard. If you’ve read this entire post it just got a little bit harder.

2024-11-05

792.

И28: Н.А. Соболев | sobolevn, CPython, Full-time Open Source, Python vs. legacy, Performance Review

www.youtube.com/watch?v=097tW0c3Aec

2024-09-04

756.

Narcissism is a N-word

spectator.ru/entry/6656

2024-09-03

Reposted 755.

Mage :: Mage

magefile.org

Something like make, but magefiles are written in Go instead. Pretty funny.

2024-05-19

Reposted 661.

Нефтяные камни: город на сваях в открытом море - Недвижимость Onlíner

realt.onliner.by/2013/12/12/oil

В конце 1940-х годов в 100 километрах к востоку от побережья Азербайджана началась реализация удивительного проекта. Прямо в море за несколько десятилетий вырос настоящий городок с многоэтажками, поликлиникой, столовой, пекарней и даже лимонадным цехом, окруженный сотнями километров эстакад с автомобильным движением. Это Нефтяные камни, уникальный поселок нефтяников, аналогов которому на планете нет. Onliner.by рассказывает, как человек в очередной раз победил природу, построив в открытом море город.

Обалдеть

2024-05-17

650.

Are You a Hacker or a Designer?

www.yegor256.com/2014/10/26/hacker-vs-programmer-mentality.html

Twenty years ago we worried about performance. Now it is time to worry about maintainability, even though it often compromises performance.

2024-03-10

567.

Сервисы

grishaev.me/services

Я согласен с тем, что логику нужно разносить по сервисам. Но сервисы должны использовать общую шину данных: базу, очередь сообщений, файлы в S3 в конце концов. Гонять друг другу JSON выглядит хорошо в теории, но на практике — фу.

Условный Постгрес выплюнет миллион записей за доли секунды. Забрать этот же миллион из другого сервиса — приключение на неделю. Тут и метрики, лимиты, квоты, сетевые спайки, etc… А когда таких запросов несколько, сервис ложится спать.

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-26

533.

Про огнестрел

ambment.cat/posts/2024-2-26-1.html

Если для придания уверенности в себе вам нужен карманный ствол — я рекомендую обратиться к психологу. Это дурной симптом.

2024-02-25

530.

Отключить «Капслок»

ilyabirman.ru/meanwhile/all/disable-caps-lock

На клавиатуре есть кнопка «Капслок». Если её случайно нажать, то компьютер печатает большими буквами. Такое нормальному человеку не нужно никогда, поэтому во избежание ошибок эту кнопку нужно отключить.

Всё так, только на капслок у меня стоит смена языка.

2023-12-17

459.

Email vs Capitalism, or, Why We Can't Have Nice Things - Dylan Beattie - NDC Oslo 2023

www.youtube.com/watch?v=mrGfahzt-4Q

Доклад с описанием истории электронной почты и некоторыми техническими подробностями

2023-11-29

Reposted 441.

Nota Language

nota-lang.org

A fresh take on typesetting

2023-08-02

274.

Brian Tomasik

briantomasik.com

2023-07-15

235.

shevolya

shevolya.com

Иллюстратор, художник из России Ольга Шевченко