20 random bookmarks
Тут будут ссылки на всё-всё, что я найду интересным
Тут будут ссылки на всё-всё, что я найду интересным
Don’t avoid writing something down just because you think it’s obvious. The thing you think is obvious now might recede into your subconscious in an hour; get it written down while you can! And don’t avoid writing something down because you think it’s dangerous to say and everyone already knows it. For people new to the area, reading your words can help them feel like they’re not losing their minds. Finally, once you write down the obvious thing, it allows you to go on and draw out the parts that are less obvious, in a way that you couldn’t do if you try to just skip straight to the subtleties.
Whenever I remember to stop trying to have time, and instead focus on having worthwhile intentions, time seems more abundant. It seems to show up as needed when I’ve got a good intention going.
This makes sense, because the feeling of not having enough time doesn’t come from not having enough time. It can’t, because you always have zero time. It comes from the pain of valuing wishes and hopes over intentions, and what happens to you over who you are.
Beautiful, Modern & Opinionated Linux by DHH
PostgREST is a standalone web server that turns your PostgreSQL database directly into a RESTful API. The structural constraints and permissions in the database determine the API endpoints and operations.
Sounds like a way to write less code. I skimmed through the reference, looks cool. PostgREST is written in Haskell for some reason though.
For me, this imagined audience is more important than getting it right. Which is why I write my blog posts with the wiki spirit. All these sites are pretty similar, in essence. Blog, wiki, digital garden, Zettelkasten, there’s not enough difference to draw lines. It’s all a question of intent, of culture, of belonging. The blog spirit is to write pages over time, and they disappear into the archive. The digital garden spirit is to write unfinished articles and papers, to be refined or not. The Zettelkasten spirit is to follow the trail of thoughts you thought and add new branches, small notes with new thoughts leading to more thoughts on new notes. And the wiki spirit is to write and edit online, to hit the Save button and then it’s live. There is no editor, there is no draft. Wiki is like brutalism in content management. I can see the page sources and the end result is obvious and full of that old web power. It’s not an app. The software has no idea of process. The wiki spirit is to open that window, write the text and hit save. And then I read it again, and edit it. And tomorrow, I read it again, and edit it. And next week, perhaps, I read it again, and edit it.
I no longer live in the Wiki Now. The pages are intended for future readers but they are not timeless. I add timestamps all over the place. The blog spirit is strong. The pages do disappear into the great compost of thoughts. The archive gobbles them up. I do go back but I don’t rewrite the pages completely. I’m more likely to simply add a timestamp and some thoughts like I did on this page.
Я согласен с тем, что логику нужно разносить по сервисам. Но сервисы должны использовать общую шину данных: базу, очередь сообщений, файлы в S3 в конце концов. Гонять друг другу JSON выглядит хорошо в теории, но на практике — фу.
Условный Постгрес выплюнет миллион записей за доли секунды. Забрать этот же миллион из другого сервиса — приключение на неделю. Тут и метрики, лимиты, квоты, сетевые спайки, etc… А когда таких запросов несколько, сервис ложится спать.
Сначала было про культуру общения в Интернете, а стало про культуры общения в разных странах.
By default, the apps on your phone are connecting to the internet even when your not using them. It's a feature called Background App Refresh and it is mostly not very useful.
Long daily commutes can leave little time around busy work days for commuters, who tend to be less physically active, overweight, drink more alcohol, and sleep poorly as a result.
Reduce friction in facial upkeep, build a healthy habit, and potentially save thousands on dental bills by chronologically ordering your toiletries.
An index lookup requires three steps: (1) the tree traversal; (2) following the leaf node chain; (3) fetching the table data. The tree traversal is the only step that has an upper bound for the number of accessed blocks—the index depth. The other two steps might need to access many blocks—they cause a slow index lookup.
Мой любимый рецепт борща
The fast-loading recipe site with cooking only and no ads.
Заметки о вождении