20 random bookmarks

stuff me collect

2025-05-14

233.

Delimiter-first code

arogozhnikov.github.io/2022/11/29/delimiter-comes-first.html

I argue for wider usage of delimiter-first in the code. three friends [tic, tac, toe] becomes three friends ・tic ・tac ・toe.

2025-04-04

Reposted 221.

28h Days: year 1 update

sidhion.com/blog/28h_days_update_1

2025-03-18

Reposted 216.

Life Altering Postgresql Patterns

mccue.dev/pages/3-11-25-life-altering-postgresql-patterns
215.

Beginner Full-Body Workout

www.muscleandstrength.com/workouts/beginner-fullbody-workout.html

Do this full body split 3 times a week. The goal is to get your form down pat on the most basic and most important exercises in the gym.

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

178.

World Wide Website

oyaswmi.net

with love for Experiments Lain

This site is a love letter to the internet, to Neocities, and to my personal intrests.

176.

Nekoweb - free static website hosting service

nekoweb.org

Social media is too limiting. We believe that everyone should be able to freely express themselves in their own little corner of the web, without having to worry about things like algorithms, tracking, or advertisements.
Nekoweb is free of any advertisements, and is run completely by donations from its users.

2024-10-15

160.

Kosmik - browser for moodboards etc

www.kosmik.app

2024-10-12

Reposted 156.

Collection

git.calculate-linux.org/serg-sg/collection

Сборник различных сценариев автоматизации и справочных материалов

Есть инструкция для почтового сервиса в кластере

2024-10-09

Reposted 153.

GitHub - aigoncharov/telegram-to-rss: Generate an RSS feed from Telegram chats. You digital minimalism friend.

github.com/aigoncharov/telegram-to-rss

Generate an RSS feed from Telegram chats. You digital minimalism friend. - aigoncharov/telegram-to-rss

2024-07-04

125.

MangaKa - software for easy line art creation

store.steampowered.com/app/2234500/MangaKa

2024-07-02

Reposted 112.

In defence of swap: common misconceptions

chrisdown.name/2018/01/02/in-defence-of-swap.html

2024-06-30

109.

Immich - Self-hosted photo and video backup solution

immich.app

2024-05-13

Reposted 72.

Как писать хайку на русском языке — HAIKAI.RU

haikai.ru/russian_haiku

2024-05-12

70.

Why I prefer the iPad over a MacBook

arslan.io/2024/05/11/why-i-prefer-the-ipad-over-a-macbook

2024-05-08

69.

Micro-dosing Caffeine

ajkprojects.com/microdosingcaffeine

2024-05-07

68.

GitHub does dotfiles

dotfiles.github.io

Your unofficial guide to dotfiles on GitHub.

2024-04-08

55.

Naming Schemes

namingschemes.com/Main_Page

2024-03-14

37.

Permacomputing | viznut

viznut.fi/texts-en/permacomputing.html

This is a collection of random thoughts regarding the application of permacultural ideas to the computer world.

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.