531 bookmarks
Тут будут ссылки на всё-всё, что я найду интересным
Тут будут ссылки на всё-всё, что я найду интересным
Может, вы сидели и думали, что в Осло нет трамваев. А они есть!
Most people are not autonomous in their use of computers to solve their problems because they cannot use the languages listed. They must hope for an app to solve their problem. But they can use a spreadsheet to solve their problem!
The sad reality is, however, that today we buy computers that essentially boot into the app store.
Few people know how to use computers.
from bouncepaw:
Alex tells us that, for him, baking and cooking are easier than programming and soldering, because the errors there average out. As for me, this is completely inverse.
In programming, an error never fixes itself. You can observe it and fix it, you can write tests. You can run the program multiple times. It's you who fixes it, and you can understand how it's done. It's measurable!
Meanwhile, cooking is a nightmare. Burning something is routine for me. Is that too much or too little oil? For how long do I fry? What do I do with these spices? Do they really affect the taste? And to observe something, I can't rely on symbolic things like text. No, I have to look (is this color good? No idea!), smell (as if I know the difference) and taste (nothing more inaccurate).
I'm happy when something can be cooked with a timer. 15 min for buckwheat? I'm in. I'm more happy when the time is short. 4 min for this thin kind of spaghetti? Already boiling water!
I mean, even boiling water is not simple. My parents told me to wait until the correct bubbles appear. I'm waiting for the scary ones. Also, salt is supposed to make it boil faster. How much salt do I add?
And I didn't even talk about plants, which Alex also considers easy. They're not 😭
Totally agree!
Compared to their humble wired counterparts, wireless headphones are expensive, easy to lose, unreliable, and environmentally destructive
С одной стороны, провода жутко бесят. С другой стороны, нельзя доверять беспроводным технологиям:
мучаешься с подключением по синезубу
наушники могут просто заглохнуть в центре города из-за скопления современных машин, которые ОЧЕНЬ засоряют эфир
ну и да, потерять наушники очень просто. Однажды чуть в раковину не уронил, пока делал уборку, наушник просто выпал из уха :/
Papers about programming languages involve complex notations, systems, and proofs. Static PDFs offer little support in understanding such concepts. I describe Nota, a framework for academic papers that uses the browser's interactive capabilities to support comprehension in context. Nota uses hover effects, tooltips, expandable sections, toggleable explanations, and other interactions to help readers understand a language's syntax and semantics. I demonstrate the use of Nota by rewriting a PL paper using its primitives, and also by writing this paper in Nota.
Building great software is hard, and developer tools should be helping you without the headaches. RapidAPI for Mac is exclusively built on macOS, so you should easily get the hang of it. Every feature is built intuitively with quick mouse or keyboard shortcut access.
A proposal for the next generation of portable documents.
I therefore officially announce 2024 to be the year when the square checkbox has finally died.
Казалось бы, программисты — люди с точным мышлением, а в жизни все наоборот: в голове кисель.
Для меня выход из ситуации простой: трусы или крестик. Либо ты выходишь из разработки со словами: хорош, я в этом не участвую. Либо пишешь качественный код, понимая, что мир огромен, и у тебя нет возможности контролировать, кто и как его использует. Оба варианта честные и снимают все вопросы.
Беру любой JSON и вижу, как его можно упростить, убрав лишнюю вложенность. Вдвойне обидно, что на эту вложенность кто-то тратил время, а она не нужна!
Набор инструкций, охватывающий наиболее распространенные проблемные ситуации, в которые может попасть работающий человек или работодатель.
Раскадровка сняла видео про мусор и переработку!
The most complete list on the web about cars, bikes, trucks and other vehicles seen in movies and series, image captures and information about them.
Юра рассказывает про встречи 1-в-1 и выгорание
Саша рассказывает про выгорание
Libre audio books. Recommended by Flancian.
Хотя обычно дома рисовать очень просто — прямоугольник с building=yes, — на практике постоянно всплывают какие-то сложности. Danidin9, автор картинок про дома в Петербурге, наглядно объясняет
Юлия рассказывает про выгорание
Almost all mattresses should not be flipped — instead they should be rotated 180° so the foot of the mattress is now at the head.
Количественным числительным наращение не положено, но все его упорно пихают, меняя смысл.
Нагавкать на слона и не получить по еблищу — это не свобода, и даже не доблесть; это бретёрство, жалкое позерство, свойственное пижонам и студентам.
Первая — программист закладывает абстракции там, где не следует.
Бритва Оккама ?
Вторая проблема — наоборот: программист не оставляет шанса поправить его код.
Бывает, проблему можно поправить функцией или макросом, но в код тянут библиотеку. Или можно купить готовое решение, но тимлид говорит: мы напишем свое через три месяца. Или разработчик насмотрелся видосов со свежей конфы и хочет проверить чужие идеи.
если в процессе обсуждения архитектуры вы пришли у выводу, что в проекте потребуется настоящее горизонтальное масштабирование — вам не обойтись без конечных автоматов (так-то лучше вообще любую бизнес-логику строить именно на конечных автоматах, но в автономной системе можно подкостылить и без них, а вот в кластере — уже никак)
Так или иначе, если вы хотите оказаться готовым отмасштабироваться в горизонталь — стройте критические процессы на конечных автоматах и полностью асинхронно
Зато асинхронные взаимодействия поверх FSM — сделают в дальнейшем масштабирование безболезненным, ведь в такой парадигме не имеет никакого значения, на какой ноде выполнится код, отвечающий на запрос.
Gio is an open source library for creating portable, immediate mode GUI programs for Android, iOS, Linux, Windows, macOS.
Standard Ebooks is a volunteer-driven project that produces new editions of public domain ebooks that are lovingly formatted, open source, free of U.S. copyright restrictions, and free of cost.
A linter for Go that finds nil panics. It found several potential nil panic in Betula and Mycorrhiza codebases that I didn't bother fixing.
The coolest thing I've seen today!
Long daily commutes can leave little time around busy work days for commuters, who tend to be less physically active, overweight, drink more alcohol, and sleep poorly as a result.
Информационные войны в прошлом? А что теперь вместо них? А как мы участвуем? А они что? А мы что? А они что? И что же теперь делать?
Доклад с описанием истории электронной почты и некоторыми техническими подробностями
The author doesn't like how modern UI:s are designed. Gives good examples.
Functions that are part of your project’s source code but can never be
reached in any execution are called “dead code”, and they exert a drag
on codebase maintenance efforts.
Today we’re pleased to share a tool named deadcode to help you identify them.
Go developers said they are more interested in AI/ML tooling that improves the quality, reliability, and performance of code they write, rather than writing code for them. An always-awake, never-busy expert “reviewer” might be one of the more helpful forms of AI developer assistance.
The top requests for improving toolchain warnings and errors were to make the messages more comprehensible and actionable; this sentiment was shared by developers of all experience levels, but was particularly strong among newer Go developers.
Our experiment with project templates (gonew) appears to solve critical problems for Go developers (especially developers new to Go) and does so in a way that matches their existing workflows for starting a new project. Based on these findings, we believe gonew can substantially reduce onboarding barriers for new Go developers and ease adoption of Go in organizations.
Three out of every four respondents work on Go software that also uses cloud services; this is evidence that developers see Go as a language for modern, cloud-based development.
Developer sentiment towards Go remains extremely positive, with 90% of survey respondents saying they felt satisfied while working with Go during the prior year.
Из комментариев под статьёй:
Кто-то не очень понимает, что ORM в первую очередь - маппер. Да, и называется он Object-Relational Mapper. Отвечает за взаимосвязь между реляционными данными и объектно-ориентированным миром.
Тот, кто хотя бы раз сталкивался с опечаткой при загрузке поля в объект, уже не задаёт вопросы, оправдан ли ORM. Когда за тебя связку делает кодогенератор с нулевой возможностью ошибки на любой сложности схеме - начинаешь ценить надёжность такого решения.
Что касается SQL. ORM не может в принципе покрыть весь синтаксис SQL. И не должен, это не его задача. Его задача - сделать простым синтаксис 95% случаев, когда дальше джойна и WHERE ничего не надо. ORM не мешает использовать чистый SQL, а чаще всего может его дополнить, переводя результат сложного запроса в набор объектов.
GQL is a query language with a syntax very similar to SQL with a tiny engine to perform queries on .git files instance of database files, the engine executes the query on the fly without the need to create database files or convert .git files into any other format, note that all Keywords in GQL are case-insensitive similar to SQL.
This belief is, for me, not some abstruse theoretical assertion, but a deeply felt belief that essentially any question I might care to ask (about computers) has a comprehensible answer which is accessible with determined exploration and learning.
The disappearance of the sex scene in American cinema, the suppression of the body under the moral imperative of commodities in neoliberal capitalism, and Verhoeven as antagonizer.
Reduce friction in facial upkeep, build a healthy habit, and potentially save thousands on dental bills by chronologically ordering your toiletries.
Федресурс — официальный портал раскрытия существенных фактов деятельности субъектов экономической деятельности.
A fresh take on typesetting
Игорь рассказывает, как делает заметки.
Вложенные теги не нужны
Do not try to create a hierarchy (taxonomy) for your notes. It is not scalable and only works for narrow domain. Prefer tags.
Не понимал, зачем раскрашивать буквы в книжках, но Игорь пишет, что это полезно, когда есть комментарии
It is not useful to highlight without commenting. Writing summary is mandatory, highlighting is optional 1.
— О чем вы подумали, впервые открыв секретный архив ГУЛАГа и узнав, что число репрессированных значительно меньше, чем считалось и говорилось?
Земсков о репрессиях
Про автомобили, химию, эксперименты, скандалы, историю, политику, сферы влияния, махинации, войны итд итп.
3 часа восторга!
Я начитался историй об оппозиционной ботферме и подметил закономерность: для союзников и противников у них разные слова, которые обозначают одни и те же явления
Minimizing your keyboard layout is a slippery slope.
34-keys has been reasonably comfortable to use, for both prose and program. My palms do not move across the desk at all, as I reach for keys. I mostly write Rust and Bash, and my layout has evolved to accomodate special characters from their grammars (angled brackets and hyphens, specifically). If you are on a similar journey, I would suggest focusing on accuracy and comfort over speed. Speed comes with time.
a minimalist and opinionated feed reader.
Функции должны быть чистыми, чтобы по ним работал индекс
Using UPPER or LOWER for case-insensitive search is not a good practice. Prefer using a _CI collation if possible or at least add the right indexes to make your query fast.
The most important consideration when defining a concatenated index is how to choose the column order so it can be used as often as possible.
Например, поиск по имени без фамилии бесполезен. Значит, составной индекс должен начинаться с фамилии, а потом уже будет имя.
An index lookup requires three steps: (1) the tree traversal; (2) following the leaf node chain; (3) fetching the table data. The tree traversal is the only step that has an upper bound for the number of accessed blocks—the index depth. The other two steps might need to access many blocks—they cause a slow index lookup.
SQL has evolved. Beyond the relational model. Discover it now.
Sort-merge joins do not need indexes on the join predicates.
MySQL does not support sort-merge joins at all.
Index the independent
wherepredicates to improve hash join performance.
Indexing join predicates doesn’t improve hash join performance.
Indexing a hash join is independent of the join order.
Select fewer columns to improve hash join performance.
Hash joins do not need indexes on the join predicates. They use the hash table instead.
A hash join uses indexes only if the index supports the independent predicates.
Reduce the hash table size to improve performance; either horizontally (less rows) or vertically (less columns).
Hash joins cannot perform joins that have range conditions in the join predicates.
Avoid LIKE expressions with leading wildcards (e.g., '%TERM').