20 random bookmarks

stuff me collect

2025-07-02

239.

Enso - Write now, edit later

enso.sonnet.io

Ensō is a writing tool that helps you enter a state of flow. It does this by separating writing from editing and thus making it harder for you to edit yourself.
The text fades away as you type so you can focus on what you want to say instead of how you want to say it.
You can’t select or edit text, but you can download and review it once you’re done.

2025-03-26

Reposted 220.

Hive Puzzles vol. 1

gripot.se/hive/HivePuzzles_vol1.pdf

Hive the board game puzzles. A notation for games is also introduced.

via Optozorax

Reposted 219.

Play Hive Like a Champion

tesera.ru/images/items/2372481/ingersoll_randy_play_hive_like_a_champion_strategy_tactics_a.pdf

Wow so advanced

via Optozorax

2025-03-23

217.

use pc using without mouse

mouseless.click

Splits whole screen by named squares and moves cursor there.
Note: Windows and Linux support are still in development.
explanation: https://youtu.be/FYV4HbW2XCI

2024-12-09

189.

Tiger Style

github.com/tigerbeetle/tigerbeetle/blob/a43f2205f5335cb8f56d6e8bfcc6b2d99a4fc4a4/docs/TIGER_STYLE.md

Our design goals are safety, performance, and developer experience. In that order.

Contrary to popular belief, simplicity is also not the first attempt but the hardest revision

code, like steel, is less expensive to change while it's hot.

Safety

NASA's Power of Ten — Rules for Developing Safety Critical Code

  • Use only very simple, explicit control flow for clarity.

  • Put a limit on everything. Fail Fast

  • Assertions detect programmer errors. The only correct way to handle corrupt code is to crash.

  • Assertions are a safety net, not a substitute for human understanding.

    • Build a precise mental model of the code first.

    • encode your understanding in the form of assertions,

    • write the code and comments to explain and justify the mental model to your reviewer,

    • and use VOPR as the final line of defense, to find bugs in your and reviewer's understanding of code.

  • No memory may be dynamically allocated (or freed and reallocated) after initialization.

  • Declare variables at the smallest possible scope, and minimize the number of variables in scope.

  • Good function shape is often the inverse of an hourglass: a few parameters, a simple return type, and a lot of meaty logic between the braces.

  • Centralize control flow. When splitting a large function, try to keep all switch/if statements in the "parent" function, and move non-branchy logic fragments to helper functions.

  • Centralize state manipulation. Let the parent function keep all relevant state in local variables, and use helpers to compute what needs to change, rather than applying the change directly.

Developer Experience

  • Add units or qualifiers to variable names, and put the units or qualifiers last, sorted by descending significance. latency_ms_max rather than max_latency_ms.

  • Callbacks go last in the list of parameters.

  • Order matters for readability (even if it doesn't affect semantics). On the first read, a file is read top-down, so put important things near the top. The main function goes first.

  • Don't overload names with multiple meanings that are context-dependent.

2024-11-28

Reposted 181.

Make It Ephemeral: Software Should Decay and Lose Data

lucumr.pocoo.org/2024/10/30/make-it-ephemeral

So true

2024-11-01

Reposted 166.

Does the Dog Die?

www.doesthedogdie.com

Trigger warnings for movies, TV, books, video games and more!

2024-10-28

164.

No More Alarm Clocks

ajkprojects.com/nomorealarmclocks

I’ve completely eliminated the alarm clock from my morning routine for about six months. The biggest impacts it's had on my life are: I’ve become a morning person. I wake up feeling great and feel less sleepy during the day.

2024-06-30

109.

Immich - Self-hosted photo and video backup solution

immich.app

2024-06-20

94.

Симметричная индексация в Python

habr.com/ru/articles/818479

По сути, выражение s[~i] эквивалентно выражениям s[-i - 1] и s[len(s) - i - 1], однако является более красивым и компактным вариантом записи.

2024-06-17

Reposted 88.

Банальность в терапии

spectator.ru/entry/6699

2024-05-07

Reposted 67.

The creepy sound of online trackers

axbom.com/the-creepy-sound-of-online-trackers

I can't get the noise out of my head. People who watch the video express awe and disgust. And that is why Dutch software developer Bert Hubert's experiment is so powerful. It doesn't really uncover something that we shouldn't already know. Something we often choose to ignore. The brilliance is

2024-04-30

63.

93% of Paint Splatters are Valid Perl Programs | Colin McMillen

www.mcmillen.dev/sigbovik

merely 93% of paint splatters parse as valid Perl.

2024-04-08

53.

Эффект Монреаля: почему языкам программирования нужен Царь стилей

habr.com/ru/companies/ruvds/articles/805235

2024-03-19

43.

A Society That Lost Focus

ploum.net/2024-03-18-lost-focus.html

Simply do the math. If you have 180 friends on Facebook, which seems to be a low amount those days, if your friends take, on average, 10 days of vacation per year, you will have, on average, five friends on vacation every day. Add to this statistic that some people like to re-post pictures of old vacations and it means that you will be bombarded daily by pictures of sunny beaches and beautiful landscapes while you are waiting under neon light for your next boring meeting in a gray office. By design, Facebook makes you feel miserable.

Our mind, not the technology, is the bottleneck. We need to care about our minds. To dedicate time to think slowly and deeply.

2024-03-15

39.

Notes Against Note-Taking Systems

sashachapin.substack.com/p/notes-against-note-taking-systems

Kind of controversial take on note taking systems. I can relate though, because i was lost in a burden of creating perfect knowledge management system for a long time without creating any knowledge. Simplest approach with commonplace notebook is what working for me now.
Comments are also useful.

Getting lost in your knowledge management system is a fantastic way to avoid creating things.
Most heart-stopping writing comes from synthesizing the previously unarticulated in the moment. Rather than reaching for your database, try channeling what’s in the air at this very second. These read/write errors are what we call originality.
Leonardo da Vinci kept all of his notes in one big book. If he liked something he put it down. This is known as a commonplace book, and it is about how detailed your note-taking system should be unless you plan on thinking more elaborately than Leonardo da Vinci.
Shun the useless adoption of the aesthetic of the useful. When something can be like work or like play, never make it work.

2024-03-14

31.

Как я чтение всего контента на RSS переводил

habr.com/ru/articles/799301

TL;DR В статье рассказывается о том, как мне удалось перевести чтение лент в ВКонтакте, Telegram, Facebook, Instagram, Reddit и почтовых рассылок в единый сервис InoReader. Причем почти без написания своих велосипедов

2024-03-13

26.

When You Go Straight Towards Your Kryptonite

www.raptitude.com/2024/01/when-you-go-straight-towards-your-kryptonite

When perpetual avoidance is allowed, this familiarity never develops, and the kryptonite effect entrenches itself. The activity in question, however innocuous to everyone else, seems to wither your power and confidence whenever you get too close. Only by getting close despite the effect, and experiencing what dancing, algebra, or working with puff pastry is all about — rather than simply reacting to your old, scorned-outsider’s thoughts about it — can you neutralize the effect.

20.

Managing Gigabytes of Images with git-annex

switowski.com/blog/git-annex

What is git-annex, how to set it up to store large files in Google Drive or NAS, and how I use it to seamlessly manage a git repository of 20GB (and counting)?

2023-03-05

8.

Damn Small Software

warmedal.se/~bjorn/posts/2021-11-27-damn-small-software.html

Blog post about very small linux distribution and small programs