Типа про IT
کانال بسته
Типа про IT и вот это вот всё. Авторский блог exclusively for Telegram.
نمایش بیشتر1 039
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-17 روز
-1230 روز
در حال بارگیری داده...
کانالهای مشابه
هیچ دادهای
مشکلی وجود دارد؟ لطفاً صفحه را تازه کنید یا با مدیر پشتیبانی ما تماس بگیرید.
ابر برچسبها
هیچ دادهای
مشکلی وجود دارد؟ لطفاً صفحه را تازه کنید یا با مدیر پشتیبانی ما تماس بگیرید.
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
مارس '25
مارس '250
در 0 کانالها
فوریه '250
در 0 کانالها
Get PRO
ژانویه '250
در 0 کانالها
Get PRO
دسامبر '240
در 0 کانالها
Get PRO
نوامبر '240
در 0 کانالها
Get PRO
اکتبر '240
در 0 کانالها
Get PRO
سپتامبر '240
در 0 کانالها
Get PRO
اوت '240
در 0 کانالها
Get PRO
ژوئیه '240
در 0 کانالها
Get PRO
ژوئن '240
در 0 کانالها
Get PRO
مه '240
در 0 کانالها
Get PRO
آوریل '240
در 1 کانالها
Get PRO
مارس '240
در 1 کانالها
Get PRO
فوریه '24
+5
در 1 کانالها
Get PRO
ژانویه '24
+2
در 0 کانالها
Get PRO
دسامبر '23
+18
در 1 کانالها
Get PRO
نوامبر '23
+8
در 0 کانالها
Get PRO
اکتبر '23
+9
در 0 کانالها
Get PRO
سپتامبر '23
+23
در 0 کانالها
Get PRO
اوت '23
+27
در 0 کانالها
Get PRO
ژوئیه '23
+6
در 0 کانالها
Get PRO
ژوئن '23
+4
در 0 کانالها
Get PRO
مه '23
+1
در 0 کانالها
Get PRO
آوریل '23
+4
در 0 کانالها
Get PRO
مارس '23
+7
در 0 کانالها
Get PRO
فوریه '23
+5
در 0 کانالها
Get PRO
ژانویه '23
+1
در 0 کانالها
Get PRO
دسامبر '22
+6
در 0 کانالها
Get PRO
نوامبر '22
+7
در 0 کانالها
Get PRO
اکتبر '22
+40
در 0 کانالها
Get PRO
سپتامبر '22
+73
در 0 کانالها
Get PRO
اوت '22
+40
در 0 کانالها
Get PRO
ژوئیه '22
+12
در 0 کانالها
Get PRO
ژوئن '22
+5
در 0 کانالها
Get PRO
مه '22
+3
در 0 کانالها
Get PRO
آوریل '22
+4
در 0 کانالها
Get PRO
مارس '22
+2
در 0 کانالها
Get PRO
فوریه '22
+6
در 0 کانالها
Get PRO
ژانویه '22
+5
در 0 کانالها
Get PRO
دسامبر '21
+2
در 0 کانالها
Get PRO
نوامبر '21
+3
در 0 کانالها
Get PRO
اکتبر '21
+3
در 0 کانالها
Get PRO
سپتامبر '21
+13
در 0 کانالها
Get PRO
اوت '21
+11
در 0 کانالها
Get PRO
ژوئیه '21
+8
در 0 کانالها
Get PRO
ژوئن '21
+57
در 0 کانالها
Get PRO
مه '21
+23
در 0 کانالها
Get PRO
آوریل '21
+15
در 0 کانالها
Get PRO
مارس '21
+45
در 0 کانالها
Get PRO
فوریه '21
+10
در 0 کانالها
Get PRO
ژانویه '21
+21
در 0 کانالها
Get PRO
دسامبر '20
+1 626
در 0 کانالها
| تاریخ | رشد مشترکین | اشارات | کانالها | |
| 06 مارس | 0 | |||
| 05 مارس | 0 | |||
| 04 مارس | 0 | |||
| 03 مارس | 0 | |||
| 02 مارس | 0 | |||
| 01 مارس | 0 |
پستهای کانال
Repost from L̶u̵m̶i̵n̷o̴u̶s̶m̶e̵n̵B̶l̵o̵g̵
Shared ownership is no ownership
When a component, codebase, or system doesn’t have a clear owner, things can get messy super fast.
Everyone feels free to jump in, make changes, and patch things up to solve their immediate problems, without thinking about the long-term picture. What starts as a few quick fixes and random feature additions soon turns into a tangle of inconsistent logic. Before you know it, the systems and the code behind them are a nightmare - bloated, messy, and hard to maintain.
This mirrors the "tragedy of the commons," where shared resources are overused because no one takes responsibility. Without clear ownership, accountability is lost. Everyone assumes someone else will clean up the mess or enforce best practices. Without a clear owner, the codebase turns into a collection of half-baked ideas, temporary solutions, and hacks - each one tailored to the contributor’s immediate needs instead of a broader, cohesive design.
Technical debt piles up; initially, it seems harmless because features are still shipping and deadlines are met. But over time, that debt compounds, slowing everything down. Bugs take longer to fix, new features are harder to add, and developers spend more time fighting the code than building something new.
Even worse, this lack of ownership fosters a culture of irresponsibility. No one feels accountable, so everyone is more likely to leave the mess for someone else.
#lessons
| 2 | Когда опытные джависты или сишники пишут код на питоне, на выходе зачастую получается что-то синтаксически корректное, но семантически запредельное: то комплексная объектная модель, то ручной инкремент счётчиков там, где всего этого даже не должно быть.
Особенно убого получается, когда в функциональные языки завозят императивные паттерны, просто мрак. Зацените императивную реализацию BST на OCaml, там "прекрасно" всё, начиная уже с определения типа 12.1. Representing Sets via Binary Search Trees — YSC2229 2021:
module BinarySearchTree = struct
type 'e tree_node = {
value : 'e;
parent : 'e tree_node option ref;
left : 'e tree_node option ref;
right : 'e tree_node option ref;
}
type 'e tree = {
root : 'e tree_node option ref;
size : int ref
}
end
В то время, когда тип BST, на самом деле, is as simple as:
type 'a bst = Empty | Node of 'a * 'a bst * 'a bst
И, соотвественно, поиск ноды это рекурсивный pattern matching:
let rec search x = function
| Empty -> false
| Node (v, left, right) ->
if x = v then true else if x < v then search x left else search x right
Можно возразить, что курс описан как classic imperative data structures and algorithms. Но тогда вызывает вопросы выбор ЯП и само существование этой академической коллекции анти-паттернов для OCaml. Хотя, может в этом и есть хитрый замысел автора?
Короче, идиоматичность это важно, понятненько? | 341 |
| 3 | В уже далёком 2019-м я ванговал, что в 20-х Rust ожидает взрывной рост использования. Так оно, собственно, и произошло. Сегодня Rust — это база.
Все эти 5 лет мне также казалось, что Rust и моё профессиональное будущее как-то связаны. Несмотря на то, что у меня никогда не было ни времени, ни повода, ни особого желания глубоко закапываться в системное программирование, The Rust Programming Language занимает почетное место на полке, между Category Theory for Programmers и Designing Data-Intensive Applications. Только в отличие от этих двух, книгу по Rust я всё же прочитал и усвоил.
Понемногу, по чуть-чуть, я пилил на Rust небольшой, но комплексный проект, который включает в себя веб-сервер на actix и фронтенд на htmx. Данный проект помог мне убедиться в том, что htmx это прекрасно и отныне я все свои фронтенды буду делать только на нём. И что Rust это не то, с чем мне лично действительно хотелось бы иметь дело.
Вместо того, чтобы сосредоточиться на непосредственно логике самого приложения, большая часть времени уходит на сражение с компилятором, 'smart' pointers, ownership / moves и вот это всё. Понимаю, что часть моей проблемы это недостаток практического опыта, но постоянно находиться на этом уровне абстракций не хотелось бы. Как "правильно" и эффективно тасовать данные между стеком и кучей мне лично поебать абсолютно, это скорее проблема компилятора и машины, но не моя. Моя задача — корректная формализация систем, в широком смысле.
К счастью, после Rust легко и приятно вернуться к истокам, к OCaml. За те 5 лет, что я не следил за OCaml Platform, с экосистемой и самим языком произошло множество благотворных событий. Multicore OCaml и Algebraic Effects теперь не просто часть компилятора, а production-ready часть компилятора. Dune заменила морально устаревший OCamlbuild, зарелизился Eio (effects-based direct-style IO stack), да и в целом OCaml сегодня выглядит как язык из будущего, а не из тухлого академического прошлого.
Я освежил и дополнил свои фрагментарные знания замечательным курсом CS3110, и теперь просто кайфую, решая небольшие задачки (вроде таких) на OCaml, где всё получается просто, лаконично и just makes sense.
Рад, что есть языки, которые могут вернуть утраченный fun от программирования. | 477 |
| 4 | بدون متن... | 2 |
| 5 | 🔐 Как и у любого уважающего себя криптоанархиста, у меня есть Ledger Nano, который по сей день считается одним из лучших аппаратных кошельков. И я с самого начала следовал всем основным разумным рекомендациям:
1. купил флешку на официальном сайте
2. записал recovery phrase от руки на бумажке
3. бумажку храню подальше от чужих глаз
4. крипту с биржи сразу вывожу на холодный кошелёк
5. ходл
Надёжно как швейцарские часы. Нравится.
Шли годы. ВНЕЗАПНО, Ledger запускает сервис Ledger Recover, который беспощадными маркетологическими уловками продвигает в массы: ежедневные рассылки, пуш-нотификации, агрессивный UI в Ledger Live, etc. Это, мягко говоря, напрягает.
Компания построила весь свой бизнес на гарантии, что ни у кого и никогда, ни под каким предлогом не будет доступа к приватным ключам моих криптокошельков. В этом, по сути, весь смысл аппаратных решений вроде Ledger или Trezor. Даже у меня нет прямого доступа к своим же ключам, можно разве что сгенерировать их вручную с помощью recovery phrase и инструментов вроде iancoleman/bip39.
И вот Ledger, без объявления войны, обновляет прошивку, софт, и впаривает мне облачный сервис, который подрывает всё доверие к репутации компании. Технически, у них теперь есть возможность делать key extraction, что бы они ни говорили о дальнейшем сплите и шифровании.
Второй нюанс, о котором стоит знать — блокирующий запрос на прошивку, это происходит при каждом её обновлении. И пока ты не подключишь кошелёк к десктопу (физически, кабелем), пока не накатишь туда апдейт, с транзакциями ничего сделать нельзя. А в нашем криптомирке все эти промедления всегда некстати, особенно когда десктопа нет под рукой.
Из чего следует вывод — ищем замену. Но какую? | 335 |
| 6 | О Redox OS я уже писал, в далёком марте 2019-го.
За это время, команда разработчиков перестала стесняться и теперь прямо заявляет, что пилит "complete alternative to Linux and BSD". Небыстро, скажем прямо, идут дела, но и команда там такая же "микро", как и ядро системы. Главное, что дела идут и всё это не просто громкие слова.
Вчера они зарелизили долгожданную версию 0.9.0, я не стану пересказывать список изменений, это вы можете почитать сами. Важно не это. Важно вот что:
- Jeremy Soller, основной разработчик Redox OS, principal engineer в System76, Rust-евангелист у руля Cosmic DE, успешно формирует вокруг себя нетоксичное сообщество профессионалов
- благодаря недавнему скандалу Retiring from the Rust for Linux project, внимание целой группы специалистов переключилось на Redox, что, скорее всего, благотворно повлияет на темпы разработки
- у проекта появился board of directors, долгосрочные планы и базовое финансирование
- система стала POSIX-совместимой, что позволяет быстро портировать огромное количество приложений, и прогресс впечатляет
- Redox завёлся на Raspberry Pi, есть все шансы увидеть полную поддержку ARM64 уже в 1.0
- Cosmic DE уже переносят в Redox, по частям. По сути мы видим, как два любопытных проекта в альфа-стадии начали идти навстречу друг другу. И пока Cosmic обкатывается на пользовательской базе GNU/Linux, Redox планомерно готовят ко взрослой жизни.
Есть все шансы на успех этого мероприятия! | 485 |
| 7 | 🚨Вы там сидите, а у нас тут Ассанжа освободили (на каких-то мутных условиях, которые не разглашаются)! | 389 |
| 8 | “The next person who says my homelab is overkill I will promptly link this video to them” 😂 | 404 |
| 9 | 🥳 20 years of Ubuntu https://youtu.be/q5yM4ZYwB_s?si=OH2zGpXEjIR8IY89 | 538 |
| 10 | Не знаю почему об этом не кричат на каждом углу, но IBM купила HashiCorp. Полностью и без остатка. Таким образом, IBM владеет RedHat, которая, в свою очередь владеет Ansible, и вот теперь HashiCorp, которая про Terraform, Nomad, Vault и так далее. А значит, IBM теперь владеет всеми актуальными инструментами для работы с облачной (и не только) инфраструктурой. Остальным заправляет Microsoft.
Короче говоря, рыночек порешал этот ваш opensource. Переезжаем на OpenTofu? Или ждём пока IBM не начнёт выкручивать яйца изменением лицензирования своих продуктов? | 4 050 |
| 11 | Remember, kids. You will never have a "technical debt" if you call it "technical excellence" 🧠 | 601 |
| 12 | I ported THOUSANDS of apps to Windows 95 - это и стендап, и детектив, и чудеса обратной инженерии, и совершенно бесполезно. Всё вместе - восхитительно! | 812 |
| 13 | Дело было так. Наткнулся случайно в этих ваших Реддитах на пост с прекрасным плакатом Catnip explains The Tor Network, который так и хочется распечатать и повесить где-нибудь на Brick Lane.
Оттуда я пошел на сайт "производителя" и оказалось, что у них в таком стиле есть целая книга How the Internet Really Works (An Illustrated Guide to Protocols, Privacy, Censorship, and Governance), а я даже не слышал о такой. И она прекрасна. Есть даже украинская локализация, якщо не цей во.
Ирония в том, что я моментально нашел эту книгу в этом самом Торе и, конечно же, оставлю её здесь, в комментариях. Бесплатно. Как и должно быть с подобной книгой. | 716 |
| 14 | 🤔Теперь ваша рисоварка сможет не только запускать LLM, но и тренировать их — Карпатый в деле!
Андрей Карпатый выпустил llm.c – тысяча строк чистого C без зависимостей, которые компилируются меньше чем за секунду. llama.c – его предыдущий проект, позволявший запускать llama на всяких умных лампочках, а llm.c теперь даёт возможность ещё и тренировать.
МОЁ УВОЖЕНИЕ
Пока что можно только тренировать GPT-2 на CPU, но Андрей уже работает над поддержкой CUDA и более новых моделей вроде llama. Когда закончит - обещает выпустить несколько туториалов про это, в духе его же видео о написании GPT-2 на Python.
https://github.com/karpathy/llm.c
@ai_newz | 538 |
| 15 | 🧑💻 Несмотря на почтенный, как для ноутбука, возраст, мой MacBook 2015 ещё всех нас переживёт. Жаль, что Apple так не считает и больше не поддерживает меня апдейтами, да и время автономной работы стало подозрительно коротким, несмотря на относительно новую батарею.
А что мы делаем со старой техникой? Правильно, накатываем туда какой-нибудь Linux (если десктоп) или BSD (если сервер), потому что железо устаревает значительно медленнее, чем нам говорят. А так как это Мак, то нужно что-то близкое по духу. Значит Fedora.
Шок-сенсация №1 - оно просто установилось в пару кликов и просто работает as is. На Макбуке. Linux + Wayland + Gnome 46. И не просто "работает", а прям хорошо работает. Быстро, стабильно и всё такое.
Шок-сенсация №2 - современный Gnome 4 это не Gnome 3, на котором в моей жизни закончился десктопный опыт с Linux. Разработчики поработали с толковыми дизайнерами над UI/UX и явно по делу осваивают щедрый грант от Sovereign Tech Fun. Любо-дорого смотреть.
Система отзывчивая, теперь мне доступна нативная контейнеризация, время автономной работы увеличилось примерно в 3 раза (а значит проблема сугубо программная).
Теперь главное - в чём подвох?
💩 Клавиатура и хоткеи. Вот например, ctrl-shift-c/v в терминале. Если перебиндить на ctrl-c, то сочетание перестаёт работать как sigint, кек. А если поменять cmd и ctrl местами, то ломается переключение между табами и всюду меняется binding key на cmd, что уже вообще ни в какие ворота. В итоге, приходится использовать слегка разные сочетания на рабочем и домашнем ноутах, моя мышечная память в бешенстве. Нужно что-то с этим делать, но пока не знаю что.
💩 Ноут долго просыпается, секунд 30, не подавая при этом никаких признаков жизни. Это известный баг, который пока никто не придумал как чинить, потому что оборудование специфичное, как и сама проблема. Я попробовал всё, что нагуглил, но в моём случае ни один трюк не сработал, даже альтернативный TLP.
💩 Более того, Wi-Fi полностью умирает после "пробуждения" и ему уже ничего не помогает, только рестарт всей системы. Вот это уже не прикольно, поэтому я пока сделал так: если питание от сети, закрытие крышки игнорируется, а если от батареи, ноут выключается как poweroff вместо suspend. Полная загрузка системы длится секунд 10, нужные приложения на автостарте, а к tmux прикручен resurrect, поэтому не сильно больно.
Во всём остальном - нравится чуть больше, чем ожидалось. Для полного умиротворения, рекомендую сразу после установки:
- Смотрим Gnome 46 Review
- Ставим Extension Manager for Gnome
- В нём включаем "Blur my Shell", "Dash to Dock" и "Vitals"
- Pika Backup для регулярных бэкапов
- Tuba неплохой Mastodon-клиент
- Spot простой и легковесный клиент для Spotify
- Secrets для паролей. В моём случае Bitwarden, так как нужен вообще везде
- Syncthing для прямой синхронизации файлов с другими девайсами
- Obsidian это наше всё
- Podman вместо Docker тоже just works, только лучше. И к нему Pods, если нужен UI.
- Всё ставится в один клик из Software Center, даже не требуя никакой учётной записи и привязанной карты, представляете?
- Красота!
Разумеется, вся "настоящая работа" происходит в терминале, поэтому для полноты картины стоит упомянуть zsh, oh-my-zsh, nvim + astrovim, tmux, glances, jq, bat, fd, fzf, zoxide, ну и так далее. | 645 |
| 16 | Зарелизился Umbrel 1.0! Обожаю этот стартап хотя бы за наглую простоту бизнес-идеи. Суть их продукта в том, что они делают iOS-подобный web UI для Docker Compose, чтобы в два клика сетапить популярные self-hosted приложения и делать это красиво. Открывается в любом браузере из локальной сети (хотя наверняка и Wireguard можно прикрутить для доступа извне).
Теперь необязательно покупать для этого их собственный Mini PC, можно накатить образ на пылящийся у вас в ящике с барахлом Raspberry.
Будем пробовать! | 723 |
| 17 | Там это, Дiю заопенсорсили, прям на GitHub. Угадайте какой им открыли Issue 1? Правильно, "а теперь перепишите всё на Rust" 😄
Definitely gonna use this when I start hosting my own country © | 1 718 |
| 18 | 🧮 Добрался, наконец, до polars, который в обозримом будущем должен заменить у нас на проекте pandas.
Увы, это не drop-in replacement и банальное обновление ячейки выглядит немного зубодробительно:
df.with_columns(pl.when(pl.col("user_id") == user_id).then(pl.lit(verify_key)).otherwise(pl.col("verify_key")).alias("verify_key"))
Но и нам как бы не шашечки, а ленивость и параллелизацию из коробки подавай.
📺 Tutorials - Matt Harrison: Getting Started with Polars - YouTube
📺 Thomas Bierhance: Polars - make the switch to lightning-fast dataframes - YouTube
📖 How moving from Pandas to Polars made me write better code without writing better code | 805 |
| 19 | 📝 Какой-то рандомный чувак переизобрёл C4 model для ведения текстовой технической документации, но сам этого пока не понял. Идея толковая, вот только как поддерживать в актуальном состоянии сразу несколько уровней текста и синхронизировать изменения между ними? А если документов сотня? Отдельного технического писателя нанимать? Может лучше старый-добрый Zettelkasten? | 834 |
| 20 | Ещё один всё понял https://www.reddit.com/r/Python/comments/1b2x2wc/python_isnt_real_its_glue/ | 1 588 |
