20 random bookmarks
stuff me collect
stuff me collect
I've written a number of little scripts over the years, many of which I use every day. Here's a little collection.
Этот документ содержит список (roadmap) навыков, которые часто требуются backend разработчику web-приложений. Документ разделён на этапы (темы). Каждый этап разделён на пункты. Каждый пункт, в документе, подразумевает что:
бекендер знает что это и какую проблему решает.
бекендер знает для чего и когда следует применить.
бекендер знает как с этим работать или знает где подсмотреть.
при разработке или проектировании бекендер помнит про них и учитывает в приложении.
I argue for wider usage of delimiter-first in the code.
three friends [tic, tac, toe]becomesthree friends ・tic ・tac ・toe.
svg logos gallery
Wow so advanced
via Optozorax
Tool to convert JSON into Go structures.
I like the idea, but my laziness makes me avoid any non-automatic methods. I’d prefer a format similar to Mycomarkup or Markdown, but with built-in support for embedding images and other binary content, turning a web article into a single file. I’m aware of data: images in Markdown, but they’re not very convenient to use.
Knowing the consequences I want, what choice would create them? What big choice would nudge a hundred others that way?
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.
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.
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.
This guide covers the ins and outs of FFmpeg starting with fundamental concepts and moving to media transcoding and video and audio processing providing practical examples along the way.
Приложения для сбора хайлайтов из статей и книг не помогают запоминать прочитанное
Для того, чтобы запоминать прочитанное не нужна хорошая память
Лучший способ запомнить прочитанное — понять то, что ты прочитал
Чтобы на самом деле понять прочитанное, нужно приложить усилия
Объясняй другим идеи, чтобы лучше понимать и запоминать их
Заведи блог
Участвуй в сетевых дискуссиях
Откажись от автоматизации
The emerging golden age of home-cooked software, barefoot developers, and why the local-first community should help build it
Your brain does not process information, retrieve knowledge or store memories. In short: your brain is not a computer
Did you ever wake up in the middle of the night wondering what would happen if you applied JPEG-style lossy compression to text?
A holistic approach to computing and sustainability inspired from permaculture. Permacomputing is about using computation only when it has a strengthening effect on ecosystems.
Design For Disassembly
Design For Encapsulation
Design For Descent