Pull to refresh
11
0
Вася Садовников @vsvasya

Пользователь

Send message

Кто реально угрожает C++ (нет, Rust, не ты)

Reading time14 min
Views74K

Привет! Меня зовут Александр Каленюк, и я крепко подсел на C++. Пишу на C++ 18 лет кряду, и все эти годы отчаянно пытаюсь избавиться от этой разрушительной зависимости.

Всё началось в конце 2005 года, когда мне довелось писать движок для симуляции 3D-пространства. В этом движке было буквально всё, чем язык C++ мог похвастаться в 2005 году. Трёхзвёздочные указатели, восьмиуровневые зависимости, C-подобные макросы повсюду. Кое-где – вкрапления ассемблера. Итераторы в стиле Степанова и мета-код в стиле Александреску. В общем, всё. Кроме ответа на самый важный вопрос: зачем?

Читать далее
Total votes 220: ↑208 and ↓12+244
Comments361

Как я собрал красивое ведро для гидропоники

Level of difficultyEasy
Reading time10 min
Views27K

Несколько лет назад я писал пост о том, как вырастить на гидропонике крайне острый Trinidad Scorpion CARDI. Он, при его живительных 1.2 миллионах единиц Сковилла, на неподготовленных перцеедов производит впечатление эквивалентное облизыванию паяльника.

Пока Монстр плодоносил и радовал в течение нескольких лет, я продумывал более удобный вариант гидропонной установки, который было бы не стыдно показывать в приличном интерьере гостям. Классический вариант “юного гидропониста” из канализационных труб, алюминиевого скотча и вороха булькающих трубочек был с негодованием забракован женой. Я разработал и протестировал несколько прототипов с 3D-печатными элементами, но потом проект был поставлен на паузу.

Окончательно доделать его получилось после того, как внезапно выяснилось, что коллеги тоже фанаты острого. Мы собрались в нашей виртуальной “курилке”, запилили проект со всеми положенными milestone в Asana и начали тестировать. Садитесь поудобнее, сегодня будет лонгрид-оффтопик, про то, как толпа DevOPS из WiseOPS пилила совместный хобби проект для украшения офиса. Да, мы заняты не только работой) А еще я поделюсь подробной инструкцией и файлами для 3D-печати.

Сегодня расскажу про то, как правильно утопить растение, спроектировать прототип и выйти в релиз, даже если твои тестеры очень сильные люди.

Читать далее
Total votes 110: ↑109 and ↓1+132
Comments166

С новым годом: GPT в 500 строках на SQL

Reading time42 min
Views38K

В минувшем году все только и говорили об ИИ и о том, как он может всё за вас сделать.

Мне нравится, когда кто-то или что-то работает за меня. Поэтому решил: попрошу-ка ChatGPT написать за меня новогодний пост:

«Эй, ChatGPT. А ты можешь реализовать большую языковую модель на SQL?»
«Нет, SQL не подходит для реализации больших языковых моделей. Язык SQL предназначен для выполнения запросов к данным, хранящимся в РСУБД и для управления этими запросами. Для реализации большой языковой модели требуются сложные алгоритмы, обширные датасеты, а зачастую — и фреймворки для глубокого обучения. SQL всеми этими возможностями не обладает.»

Что ж, лишний раз убеждаешься, что, если хочешь что‑то сделать хорошо – сделай это сам.

Давайте же воодушевимся этим оптимистическим планом и реализуем большую языковую модель на языке SQL.

Читать далее
Total votes 181: ↑177 and ↓4+207
Comments21

Радиоприёмник в стиле японского минимализма

Level of difficultyEasy
Reading time12 min
Views13K

Грузовой электровоз EH500. global.toshiba

Благодаря тому, что Toshiba разрабатывает и производит не только локомотивы, ноутбуки и квантовую криптографию, но и микросхемы, нам с вами вот уже много лет доступно то разнообразие электронной техники, к которому мы привыкли, тогда как несколько десятилетий назад оно казалось фантастикой.

Сегодня мы познакомимся с TA7613AP — одной из множества прекрасных микросхем Toshiba. И соберём на ней отличный средневолновый радиоприёмник. А также откроем для себя историю успеха великой компании.
И узнаем, где изобретены радиокубики - в Японии или в СССР?
Total votes 29: ↑26 and ↓3+32
Comments10

Вас сдаст Гитхаб: деанонимизация пользователей SSH-серверов

Level of difficultyEasy
Reading time5 min
Views46K

Недавно в своих ежедневных чтениях я наткнулся на явление, о котором думал уже много лет: феномен утечки информации людей, использующих SSH. Этот тип утечки информации не является новым явлением. Я давно предупреждал об этой опасности своих друзей, использующих SSH, но мой голос услышали лишь несколько человек. Поэтому я решил дать пояснения по этому поводу, потому что я считаю, что необходимо понимать этот риск в ИТ-сообществе, особенно в нынешней ситуации. Я буду исходить из предположения, что у вас, дорогой читатель, есть опыт работы с SSH.

Читать далее
Total votes 71: ↑67 and ↓4+79
Comments153

Великая Октябрьская Киберреволюция. Расследование: как закончилась власть народа на Pikabu. Бунд

Level of difficultyEasy
Reading time7 min
Views31K

5 месяцев я писал свои статьи в том числе для Пикабу. 7 моих постов в горячем суммарно набрали 14 266 плюсов и 824 400 просмотров. На Хабр шло то, что проходило по тематике. А 5 октября мой аккаунт отправили в “теневой бан”, коммерческий директор Пикабу назначил мне стрелку и предложил оплатить 240 000 руб., если у меня есть желание оставаться автором площадки.

Но начну сначала.

Сила Пикабу всегда была в реальной власти пользователя. Девиз Пикабу – каждый может быть услышан не смотря на наличие или отсутствие социального капитала в виде подписчиков. Что это, если не настоящий киберкоммунизм? На Пикабу и правда долго правили пользователи, но 24.07.23 г. власть народа кончилась, и случились Пикабу 90-е со старым добрым рэкетом и беспределом.

В честь годовщины Великой Октябрьской Социалистической революции не смог отказать себе в удовольствии и проиллюстрировал статью гениальным кадром Эйзенштейна.

Читать далее
Total votes 212: ↑121 and ↓91+54
Comments141

Дайте крудошлепа

Level of difficultyMedium
Reading time7 min
Views113K

Я устроился в небольшую компанию, которая сделал круд‑приложуху на 20 таблиц типа «заметки» и активно ее продавала госорганам за невменяемый бабос.

У нас был 3(три) Т‑Р-И статуса юзера. Anonym → Logined → Phone_Confirmed. Молодой талант до меня увидел в этом граф, и написал класс на 200+ строк, реализующий алгоритм Флойда‑Уоршелла, прикрутил стейт‑машину и не найдя интересных задач, c блеском прошел собес в Яндекс и свалил.

Меня наняли сеньором, и я каюсь ничерта не понял, алгоритм прекрасно работал на первой ступени, на второй давал сбои, тоскливо погуглил этот алгоритм, стер все к черту и написал: if(status==Logined & phone!=null){status=Phone_Confirmed}.

Один коллега посмотрел на меня с немой благодарностью, а начальник офигел и сказал, что код нерасширяем и захардкожен, а тот алгоритм мог пройти за время логN через тысячу вершин и по истечению испытательного урока меня уволили нах, так как мой технический уровень не соответствовал их высоким требованиям, впрочем выдали три зарплаты и я благодарен этим людям. Мой код оставили, тот так и не смогли починить.

Это было вступление.

Уважаемый Яндекс, Сбер и прочая! Я умею быстро решать задачи и кратно увеличивать выхлоп простыми решениями. Я самый умный программист, среди всех ваших работников! Я — НадНадсеньор! Сейчас докажу.

Потому что, только я могу решить задачку, которую вы уже 10 лет решить не можете, когда прилетает пуш‑уведомление или смс и в твоем всплывающем окне написано:

«Ваш шестизначный пароль доступа в наше приложение: 123...»

Не согласен! ...
Total votes 395: ↑332 and ↓63+339
Comments728

The DevOps Defence

Reading time4 min
Views4.3K

Из-за критики и споров вокруг DevOps я написал эту статью. Посмотрим на путаницу в отрасли, коснемся интересного вопроса "Когда DevOps перестанет существовать" и обсудим когда у вас нет DevOps.

Подход DevOps сформирован опытными инженерами рынка так же, как например Agile. По причине растущей сложности проектов и конкуренции, практическим путем стало ясно, что ценности команд Development и Operations нужно объединять. Это была одна из причин возникновения направления.

Определение DevOps ниже лучше выучить если вы читаете его впервые. Фраза "никто не может сформулировать что это" на интервью в компаниях мирового уровня не прокатит.

DevOps — это набор практик, которые помогают автоматизировать и интегрировать процессы между командой разработчиков и командой, ответственной за инфраструктуру, чтобы они могли быстрее и надежнее собирать, тестировать и выпускать релизы.

Читать далее
Total votes 12: ↑10 and ↓2+9
Comments12

Большие данные мертвы. Это нужно принять

Level of difficultyMedium
Reading time17 min
Views72K

Уже более десяти лет тот факт, что люди с трудом извлекают из своих данных полезную информацию, сбрасывают на чересчур большой размер этих данных. «Объем собираемой информации слишком велик для ваших хилых систем», — такой нам ставили диагноз. А лекарство, соответственно, заключалось в том, чтобы купить какую‑нибудь новую причудливую технологию, которая сможет работать в больших масштабах. Конечно, после того, как целевая группа по Big Data покупала новые инструменты и мигрировала с устаревших систем, компании снова обнаруживали, что у них по‑прежнему возникают проблемы с пониманием своих данных.

В результате постепенно некоторые начинали понимать, что размер данных вообще не был проблемой.

Мир в 2023 году выглядит иначе, чем когда зазвенели первые тревожные звоночки по поводу Big Data. Катаклизм обработки информации, который все предсказывали, не состоялся. Объемы данных, возможно, немного возросли, но возможности аппаратного обеспечения росли еще быстрее. Поставщики услуг все еще продвигают свои возможности масштабирования, но люди, которые сталкиваются с ними на практике, начинают задаваться вопросом, как они вообще связаны с их реальными проблемами.

А дальше будет и того интереснее.

Читать далее
Total votes 115: ↑110 and ↓5+140
Comments76

Как я написал самую эффективную библиотеку для реактивного состояния

Level of difficultyMedium
Reading time9 min
Views11K

Всем привет, меня зовут Артём Арутюнян, и я уже пять лет изучаю реактивное программирование. Меня задела недавняя статья, Big State Managers Benchmark, в которой моя библиотека Reatom заняла лишь третье место (скорее второе, ну да ладно) и я решил написать самую эффективную реализацию реактивных состояний, убрав лишние фичи, сфокусировавшись на простоте и производительности.

Немного поэкспериментировав я добился удивительных результатов, в сто строк (0.3KB gzip) уместив максимально простое апи, которое позволяет подключаться к React и Svelte без дополнительных адаптеров. Но самое главное, найденный алгоритм фундаментально покрывает любые краевые случаи условных переподписок зависимых вычислений, с которыми подавляющее большинство популярных библиотек не справляется и дают глитчи.

Если вам интересны детали реализации — прошу под кат.
Читать дальше →
Total votes 72: ↑72 and ↓0+72
Comments31

Хотите китайца «из подвала»? А может брошенного китайца? Темная сторона китайских брендов

Reading time6 min
Views43K

«Не все то золото…»

Вчера на Хабре вышла очередная маркетинговая статья. В ней рассказывается, как в Китае местные китайские бренды делают отличные ноутбуки, не уступающие условному ThinkPad. Ну а мне, любителю азартных игр заказов неизвестной китайской техники с китайских интернет-магазинов - есть чем ее дополнить. А заодно, вполне вероятно - сберечь ваши деньги, время и нервы. На все нижеизложенное в этой небольшой статье - имеются пруфы. Десять минут - и вы будете иметь представление о "китайских брендах для внутреннего рынка". Возьмите кота на колени и приступим.

Читать далее
Total votes 59: ↑58 and ↓1+68
Comments201

Магия SSH

Reading time11 min
Views493K
С SSH многие знакомы давно, но, как и я, не все подозревают о том, какие возможности таятся за этими магическими тремя буквами. Хотел бы поделиться своим небольшим опытом использования SSH для решения различных административных задач.

Оглавление:

1) Local TCP forwarding
2) Remote TCP forwarding
3) TCP forwarding chain через несколько узлов
4) TCP forwarding ssh-соединения
5) SSH VPN Tunnel
6) Коротко о беспарольном доступе
7) Спасибо (ссылки)
Читать дальше →
Total votes 115: ↑106 and ↓9+97
Comments75

Как стиральная машина управляет двигателем. Часть I — подключение двигателя и алгоритм стабилизации

Reading time8 min
Views51K


Данная вступительная статья рассчитана на самый начальный уровень, “продвинутых” в области электроники читателей сможет заинтересовать следующая, где я доберусь до анализа схемотехники реальных машин

Давно позади стены альма матер, но мир сегодня меняется так быстро, что надо всегда бежать, даже если всего лишь хочешь стоять на месте. В области разработки электронной техники эта бессмертная фраза Алисы имеет наверное самую большую актуальность. В последние годы у меня появилось новое хобби — ремонт бытовой электронной техники. Ремонтирую не ради денег, чисто для себя и родственников, то что ранее выкидывал не задумываясь и заменял на новое.

Электронная начинка современных бытовых приборов, особенно если речь идёт не о наколенной сборке в мастерской дядюшки Ли, а известных брендах, представляет собой чудеса оптимизации. Занимаясь ремонтом, я попутно подсматриваю достойные внимания технические решения, улыбаюсь замечая промахи проектировщиков. Временами их бывает крайне сложно объяснить чем то иным, кроме как требованиями маркетологов вносить в конструкцию элементы “планового устаревания”.

Погода на дворе не очень, очередной прототип отправляется на опытную эксплуатацию, почему бы не рассказать о чём то интересном? Давно я не писал на Хабр!
Почему двигатель, почему стиральные машины?
Ответ под катом
Total votes 90: ↑88 and ↓2+101
Comments284

Рейтинг русскоязычных энкодеров предложений

Reading time9 min
Views23K

Энкодер предложений (sentence encoder) – это модель, которая сопоставляет коротким текстам векторы в многомерном пространстве, причём так, что у текстов, похожих по смыслу, и векторы тоже похожи. Обычно для этой цели используются нейросети, а полученные векторы называются эмбеддингами. Они полезны для кучи задач, например, few-shot классификации текстов, семантического поиска, или оценки качества перефразирования.

Но некоторые из таких полезных моделей занимают очень много памяти или работают медленно, особенно на обычных CPU. Можно ли выбрать наилучший энкодер предложений с учётом качества, быстродействия, и памяти? Я сравнил 25 энкодеров на 10 задачах и составил их рейтинг. Самой качественной моделью оказался mUSE, самой быстрой из предобученных – FastText, а по балансу скорости и качества победил rubert-tiny2. Код бенчмарка выложен в репозитории encodechka, а подробности – под катом.

Читать далее
Total votes 26: ↑26 and ↓0+26
Comments19

Дизерпанк — статья о дизеринге изображений, которую мне хотелось бы прочитать

Reading time18 min
Views26K

Мне всегда нравилась визуальная эстетика дизеринга (dithering, псевдотонирование, псевдосмешение цветов), но я не знал о том, как он применяется. Поэтому я провёл кое-какие изыскания. Эта статья может содержать отголоски ностальгии, но в ней не будет никаких следов Лены.

Читать далее
Total votes 147: ↑147 and ↓0+147
Comments26

«Атас, винты!»: как и почему меняются поколения судовых движителей

Reading time5 min
Views15K

Трагическая, ироническая и почти полностью правдивая история про технику для арктических плаваний.

Сначала все плавали без винтов. Особенно, конечно, интересно было плавать без винтов в Арктику. Всем так хотелось поскорее сгинуть в ледяных пустошах, что ждать изобретения парового двигателя не было никаких сил. Корабль просто должен был быть достаточно прочным, чтобы доплыть туда, где можно замёрзнуть насмерть.

Вперёд, к гибели во льдах
Total votes 79: ↑71 and ↓8+86
Comments47

Разбираем бобров: дикие инженеры-терраформеры в действии

Reading time13 min
Views69K

Вот этих зверьков мы почти уничтожили к началу двадцатого века. А сейчас наш герой вполне спокойно грызёт знаки под Екатеринбургом.

Представьте себе здоровенного мыша массой чуть побольше косули, отлично приспособленного к воде. Добавьте здоровенные зубы, укреплённые металлом (точнее ферригидритом) и нехилые инженерные навыки в плане «как пустить под откос поезд» или «как затопить какую-нибудь деревню». Знакомьтесь, это бобр. Бобры круты тем, что терраформируют окружающий ландшафт и превращают планету вокруг в безопасную для себя.

Вот конкретный пример. На реке Чёрной как-то завелась пара бобров. Сначала они провели изыскательные работы. Берег оказался низковат для них, то есть не очень удобен для операционных баз и главного укрепления. Бобры взяли и переложили русло реки. Потом построили хатку по всем правилам фортификации. К ней сразу — плотину рядом. Удобно же поднять уровень воды так, чтобы вход стал подводный! Волк такое не поддерживает.

Потом окопали хатку рвами и повалили несколько деревьев, чтобы они образовали засеку. Сделали отводной канал-предохранитель на случай половодья, чтобы плотину не смыло. Запасли на зиму около тонны веток на дне образовавшегося пруда. И пошли дремать.

Зимой река замёрзла. Наши герои просто выплывали прямо из хатки под лёд, брали ветку со дна из своего запаса и возвращались хрумкать.



На этом терраформирование не кончилось. Конечно же, на следующий год на базе надо было построить ещё несколько типов инженерных сооружений.
Читать дальше →
Total votes 357: ↑352 and ↓5+423
Comments121

Про буферные конденсаторы

Reading time3 min
Views12K

Данная статья - что-то типа небольшого ликбеза, на который меня сподвигла недавняя статья на Хабре, про буферизацию источников питания.

Очень часто разработчикам приходится иметь дело с нестабильными или пульсирующими источниками питания, либо с пульсирующим потреблением. Соответственно, это приводит к провалам и броскам напряжения, вплоть до того, что устройством становится невозможно пользоваться, или оно вообще выходит из строя. Первое, что приходит в голову в таких случаях - поставить буферный конденсатор. Но для того, чтобы этот конденсатор реально помог - необходимо его правильно выбрать. Рассмотрим простейший пример - пропадание питания, которое устройство должно пережить без сбоев.

Читать далее
Total votes 34: ↑31 and ↓3+44
Comments31

Немецкое правительство выложило все законы на гитхаб в machine-readable формате

Reading time1 min
Views6.8K


github.com/bundestag/gesetze

Все законы можно найти в формате Markdown. Теперь граждане страны могут получать доступ к самым свежим текстам законов и отслеживать изменения.

Можно делать pull-реквесты, но только законы, которые одобрены голосованием в бундестаге, будут приняты…

/via news.ycombinator.com/item?id=4353389
Total votes 106: ↑104 and ↓2+102
Comments70

JavaScript редактор диаграмм, который открывает диаграммы из PNG картинок (open source)

Reading time3 min
Views7.7K

dgrm.net | GitHub

dgrm.net - это редактор диаграмм, с прицелом на трансформацию в карту знаний.

Отличительные особенности:
- аскетичность,
- работает на телефонах (одно из немногих web-решений),
- открытый исходный код.

В процессе разработки появляются интересные моменты. Статья про один из таких моментов: чтение данных из PNG.
Исходный код для использования в своих проектах прилагается.

Читать далее
Total votes 36: ↑36 and ↓0+36
Comments20
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург и область, Россия
Registered
Activity