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

226.

Svgl - library of SVG logos

svgl.app

svg logos gallery

2025-03-24

Reposted 218.

I see, I can draw!

www.ninakalinina.com/notes/iseeidraw

After reading Blue Period, Nina got inspired and invested time into learning how to draw, following guidelines from a book. She shared her learnings from the journey. Very inspiring! Can I draw? Should I learn how to?

2025-03-08

Reposted 210.

Falsehoods Programmers Believe About HTML

aartaka.me/falsehoods-html

2025-02-16

Reposted 205.

Providing HTML Content Using Htmx

docs.postgrest.org/en/v12/how-tos/providing-html-content-using-htmx.html

HTMX in PostgREST!

create or replace function api.index() returns "text/html" as $$
  select $html$
    <!DOCTYPE html>
    <html>
    ...
    </html>
  $html$;
$$ language sql;

2025-01-21

200.

sysz - An fzf terminal UI for systemctl

github.com/joehillen/sysz

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

Reposted 170.

Database Remote-Copy Tool For SQLite

sqlite.org/rsync.html

2024-09-25

Reposted 151.

How to Lose Time and Money

paulgraham.com/selfindulgence.html

2024-07-04

123.

Note Apps Gallery

www.noteapps.ca

Concise, clear, and independent mobile note-taking app reviews with a new review each week.

2024-06-30

109.

Immich - Self-hosted photo and video backup solution

immich.app

2024-06-22

99.

File Browser

filebrowser.org/features

2024-06-20

96.

Ускорение роутера в Django в 51 раз

habr.com/ru/companies/tochka/articles/822431

Хитрым и условно бесплатным методом мы ускорили флоу каждого запроса на 150+ мкс. Формально — это малозаметная цифра, однако она является чистейшей CPU-нагрузкой, и на каждые 10000 запросов экономит 1,5 секунды процессорного времени, что для компьютера является десятью вечностями. Мелочь, а приятно.

Немного советов, как это использовать
1. Some coding...
2. Увидеть запрос в БД на 10 секунд и понять, что это всё было зря.
3. Плакать.

95.

Harmonic Table Keyboard Brings Old Idea Back To Life

hackaday.com/2024/06/17/harmonic-table-keyboard-brings-old-idea-back-to-life

The layout provides easier chord and scale patterns, and for beginner musicians it can have a much shallower learning curve than other types of instruments.

2024-05-23

79.

git man page generator

git-man-page-generator.lokaltog.net#dGVhciQkaGFzaA==

Create an infinite amount of straightforward and readable git manual pages.

Service that generates random man pages mocking Git’s dense documentation style.

2024-05-17

Reposted 74.

Кейс: идеальная тележка для Пятёрочки

blog.buro.cx/cx-telezhka

История о том, как наше Бюро проектировало лучшую тележку для торговых сетей группы X5

2024-05-14

73.

Как лучше концентрироваться

telegra.ph/Kak-luchshe-koncentrirovatsya-05-11

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

Reposted 50.

buserror/libmui

github.com/buserror/libmui

Classic MacOS & GS/OS widget library for linux (and other?) - buserror/libmui