178 bookmarks
stuff me collect
stuff me collect
Shipping is really hard and you have to make it your main priority
Shipping doesn’t mean deploying code, it means making your leadership team happy
You need your leadership team to trust you in order to ship
Most of the essential technical work is in anticipating problems and creating fallback plans
Scale back your implementation work as you approach launch so you’re free to jump on last-minute problems
You should constantly ask yourself “can I ship right this second?”
Being prolific forces you to take notice. Taking notice develops your taste.
Really intresting comments
This question reminds me of the first time I met a blind programmer. I asked him how he managed to code, and he replied with something that stayed with me: a good programmer should organize software in such a way that every piece of code has a clear and logical place. The organization should be so intuitive that anyone could build a mental model of the structure and navigate it easily, even without seeing it.
A few basic rules for buying and using computers can save anyone significant amounts of money and produce the confidence required to try new things with computers.
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.
A markdown-like journal language for plainly writing logs , gantt charts , blogs , feeds , notes , journals , diaries , todos , timelines , calendars or anything that happens over time .
Use as few tags as possible.
Limit yourself to a self-defined set of tags.
Tags within your set must not overlap.
By convention, tags are in plural.
Tags are lower-case.
Tags are single words.
Keep tags on a general level.
Omit tags that are obvious.
Use one tag language.
Explain your tags.
Статьи предназначены для максимально легкого вкатывания в плагинописание для Obsidian.
Официально документация Obsidian настоятельно рекомендует использовать TypeScript и npm и использует только такой подход в своем GitHub с примерами. Я же в свою очередь утверждаю, что если вы хотите просто сесть и написать малюсенький плагин, у вас нет необходимости даже в этом стеке.
So true
How to use different git identities for different projects
Some users have expressed discomfort when a knife is plunged into their chest, and this header allows those users to express their personal preferences.
with love for Experiments Lain
This site is a love letter to the internet, to Neocities, and to my personal intrests.
It has aesthetics associated with 90s and 2000s internet.
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.
With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody.
Server racks as home furniture.
Testcontainers is an open source library for providing throwaway, lightweight instances of databases, message brokers, web browsers, or just about anything that can run in a Docker container.
СЛОЖНО, СЛОЖНО, ВСЕ ОЧЕНЬ СЛОЖНО, КРАЙНЕ ЗАПУТАНО И ЧРЕЗВЫЧАЙНО НЕИНТУИТИВНО
ВАВИЛОНСКАЯ БАШНЯ БЫЛА ОШИБКОЙ
КОМПЬЮТЕРЫ ТОЖЕ
ААААААА, ПОЧЕМУ ЭТО ВСЕ ВООБЩЕ СУЩЕСТВУЕТ
ЧЕЛОВЕЧЕСТВО СОЗДАЛО МОНСТРА, КОТОРОГО НЕ ПОНИМАЕТ 99.99% ЛЮДЕЙ, НО ТЕМ НЕ МЕНЕЕ, ПОВСЕМЕСТНО ИСПОЛЬЗУЕТ
КТО-НИБУДЬ, ПЕРЕВЕДИТЕ ВСЕ ЯЗЫКИ МИРА НА ОБЫЧНУЮ ЛАТИНИЦУ БЕЗ ДОПОЛНИТЕЛЬНЫХ ЗНАЧКОВ И ЗАКОПАЙТЕ ВСЮ ЭТУ СЛОЖНОСТЬ
ĄÄÃÂÅĂÁÀ!!!¡!ꜝ‼İ
Using static analysis, it finds bugs and performance issues, offers simplifications, and enforces style rules.
Отмена любого действия.
Поддерживает чтение и запись в Git remote
Легко переписывать историю коммитов, rebase становится тривиальным, коммиты (патчи) можно спокойно перемещать между ветками, конфликтов меньше
It’s probably leaching chemicals into your cooking oil.
Replacing a black plastic spatula with a steel or silicone option is an easy way to cut down on at least part of one’s daily dose of hormone disruptors
Trigger warnings for movies, TV, books, video games and more!
I’m gonna show you some weird timezones. In fact, the weirdest timezones.
To learn how their weirdness is represented in software, we’ll look at the raw timezone files that all software ultimately relies on.
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.
Из гречки можно чай делать...
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 best components are those that provide powerful functionality yet have simple interface.
Do not add layers of abstractions for the sake of an architecture. Add them whenever you need an extension point that is justified for practical reasons.
Сборник различных сценариев автоматизации и справочных материалов
Есть инструкция для почтового сервиса в кластере
Generate an RSS feed from Telegram chats. You digital minimalism friend. - aigoncharov/telegram-to-rss
A - The task requirements and goals might not be clear enough. If you are trying to get yourself to “plan for a project” or “write a book” then it’s hard to identify the next actionable items. Put some time aside to figure out what physical things you can do to move the project forward. Try break down the larger tasks into the smallest pieces possible. The goal of the project might need identifying, or the requirements fleshed out from a supervisor.
B - The task might exceed your current competency. Sometimes we know what we have to do, but don’t know how to do it, and then we become avoidant rather than admitting this. In this case, it’s worth figuring out what you do know how to do and what you don’t know how to do, and be honest with that. Then slowly ask for help or read up on the things you don’t know.
C - The tasks might really not be worth it. Sometimes you are assigned tasks that don’t actually help you achieve your long-term goals, and so your brain demotivate you from doing them. Maybe the payoff is low, maybe you don’t learn anything new from them, or maybe a colleague you don’t like will gain credit for the tasks, or maybe you just wont be rewarded or appreciated for getting the tasks done.
База.
This is a simple self hosted server that has a simple but powerful interface to block ads, paywalls, and other nonsense. Specially for sites like medium, new york times which have paid articles that you normally cannot read
Desktop-приложение с настоящим интерфейсом, с учетом реалий Windows
Why you should use and write man pages.
Local documentation that is easy to find is so much better. And man pages are powerful.
Баунс читает Кафку.
Would you love me if I became a worm?, somebody could ask. I would respond that no, I don't in fact love you, for you are a worm.
Indeed I find humans more valuable.
Reads like some sci-fi story. How is that even a thing??
Science and engineering usually create consistent results. Generally, when you figure out how to make something, you can repeat that at will to make more of something. But what if, one day, you ran the same process, and got different results? You double-checked, and triple-checked, and you kept ending up with a different end product instead?
Perhaps it wasn’t the process that changed, but the environment? Or physics itself? Enter the scary world of disappearing polymorphs.
This is a card game for teaching kids how to combine unix commands through pipes.
Focus on what fascinates you, even if it’s uncharacteristic.
There is no purpose because there is no line connecting moments in time.
There is no plot.
You are not a story.
Want to read and reflect somewhere on every chapter one day...
How to remember that i want it?
27 conflicting answers and one weird conclusion. Many books believe they know how you should live. But each book disagrees with the next. In “How to Live”, each chapter believes it knows how you should live. And each chapter disagrees with the next.
Yon is a little UI for knowledge designed to be used every day. Add your notes, write your diary, and connect thoughts with bidirectional links. Explore your text through an acme-inspired interface to dive deep or go wide and always find your way back. Yon code and your notes are contained in a single standalone html file with no dependency, so that you can open the lid and tweak any part of it and make it your own.
Paced web reader (pwr) - an esoteric feed reader and workflow for keeping up to date online.
Don't leave openings in which you are going to insert code at some future date when the problem changes because inevitably the problem will change in a way that you didn't anticipate. Whatever the cost it's wasted. Don't anticipate, solve the problem you've got.
A modern ebook manager and reader with sync and backup capacities for Windows, macOS, Linux and Web - koodo-reader/koodo-reader
TempleOS has images in comments btw.
Photo gallery for self-hosted personal servers. Contribute to photoview/photoview development by creating an account on GitHub.
Fast, modern and advanced photo management suite. Free and open source Nextcloud app.