Pull to refresh
1
Митяй Самоделкин @mitasamodel read⁠-⁠only

Electronics design

Send message

Взлом аппаратного ключа методом veni, vidi, vici

Level of difficulty Medium
Reading time 19 min
Views 15K

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

Задача: Сделать так, чтобы можно было пользоваться оборудованием. Дистрибутив софта, требующего ключ, есть. Работает он под Windows. Просроченный ключ есть. Оборудованию около 10 лет.

Ниже описан путь решения со всеми ошибками.

Прочитать историю
Total votes 188: ↑185 and ↓3 +182
Comments 26

Программисты всё вымирают и вымирают

Level of difficulty Easy
Reading time 18 min
Views 122K

Да вымереть не могут.

Откуда это всё пошло? Чем так условные «программисты» не угодили? И почему именно программисты?

Читать далее
Total votes 397: ↑385 and ↓12 +373
Comments 583

Технологичные продукты, с которыми систематически обманывают производители

Level of difficulty Easy
Reading time 13 min
Views 20K

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

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

Некоторые из подобных игр заканчиваются тем, что в отдельных сегментах не остается нормальных продуктов. Например, рынок недорогих SD-карт угроблен полностью – купить полноценную недорогую карту на AliExpress от местного китайского бренда емкостью 128 ГБ или более уже нельзя, поскольку в продаже присутствуют лишь фейки.

Если интересны детали – добро пожаловать под кат.

Читать далее
Total votes 150: ↑149 and ↓1 +148
Comments 91

Одно и то же лекарство можно купить и дешево и дорого. Что-то и вовсе не лекарство. И что за лекарство — вода с солью

Level of difficulty Easy
Reading time 9 min
Views 32K

Заходя в аптеку мы удивляемся тому, как подорожали за последние годы таблетки. И капли. Конечно на нас наживаются. Расскажу о довольно частых примерах. Вот к примеру обычный насморк. Что не так с лечением насморка?

Если покупать лекарства не по названию бренда, а по действующему веществу, то можно прилично сэкономить.

Читать далее
Total votes 196: ↑187 and ↓9 +178
Comments 237

Сам себе мобильный интернет. Запускаем базовую станцию стандарта 4G LTE

Level of difficulty Hard
Reading time 13 min
Views 79K
Приветствую всех!

Я уже не раз рассказывал про то, как в домашних условиях поднять сотовые сети разных стандартов. Но всё же все они были уже весьма древними. Самое время замахнуться на кое-что поинтереснее — LTE.



Итак, в сегодняшней статье поговорим о том, что детально в нашем сообществе не описывал практически никто — о том, как запустить базовую станцию самого нового из поддерживаемых большинством телефонов этой страны стандартов. Поговорим об особенностях её работы и о трудностях, с которыми, возможно, придётся столкнуться при запуске. Традиционно будет много интересного.
Читать дальше →
Total votes 370: ↑369 and ↓1 +368
Comments 156

Как правильно файн-тюнить ChatGPT?

Level of difficulty Easy
Reading time 6 min
Views 11K

пппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппппп

Читать далее
Total votes 25: ↑23 and ↓2 +21
Comments 21

GPT-like модель «впервые сделала научное открытие»: что, как, и куда дальше?

Level of difficulty Medium
Reading time 21 min
Views 94K

14го декабря в одном из самых авторитетных общенаучных журналов Nature была опубликована статья с, кажется, сенсационным заголовком: «ИИ-модели Google DeepMind превосходят математиков в решении нерешённых проблем». А в блогпосте дочки гугла и вовсе не постеснялся указать, что это — первые находки Больших Языковых Моделей (LLM) в открытых математических проблемах. Неужели правда? Или кликбейт — и это в Nature? А может мы и вправду достигли техносингулярности, где машины двигают прогресс? Что ж, давайте во всём разбираться!

Ну давай разберёмся →
Total votes 182: ↑178 and ↓4 +174
Comments 271

Вам не нужен для этого JavaScript

Level of difficulty Medium
Reading time 11 min
Views 27K

Прошу вас не возмущаться названием статьи. Я не ненавижу JavaScript, я люблю его. Ежедневно я пишу на нём кучу кода. Но ещё я люблю CSS и даже люблю JSX HTML. Я люблю все эти три технологии по причине, которая называется…

▍ Правило наименьших полномочий


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

В случае веба это означает, что нужно по возможности выбирать HTML вместо CSS, а затем CSS вместо JS. JS — самый универсальный язык из всех трёх, потому что на нём вы описываете, как должен вести себя браузер; но также он может ломаться, отказываться загружаться, требует дополнительных ресурсов для скачивания, парсинга и исполнения. Кроме того, при его использовании очень легко ограничить доступ пользователей, выполняющих браузинг при помощи клавиатуры или специальных возможностей.

В отличие от JS с его императивностью, HTML и CSS декларативны. Вы говорите браузеру, что делать, а не как это делать. Это значит, что браузер сам выбирает, как это делать, и может сделать это наиболее эффективным образом.

Так как функции HTML и CSS обрабатываются браузером, они могут быть более производительными, более нативными, более адаптируемыми к предпочтениям пользователя и в общем случае иметь бОльшую accessibility. Это не значит, что так будет всегда (особенно когда дело касается accessibility), но когда все сложные задачи берёт на себя браузер, от этого обычно выигрывают конечные пользователи.
Читать дальше →
Total votes 97: ↑95 and ↓2 +93
Comments 38

Как я пытался облегчить работу в поликлинике

Level of difficulty Easy
Reading time 5 min
Views 11K

Работа врача поистине тяжелая. Для того, чтобы облегчить ее и сделать чуточку проще, попробовал с помощью «No‑code» разработать удобное приложение, по подобию доставки. Что из этого вышло и почему бессмысленно.

Подробнее об опыте
Total votes 30: ↑28 and ↓2 +26
Comments 23

Графические оболочки FFmpeg

Level of difficulty Easy
Reading time 6 min
Views 27K


Считается, что работа в консоли эффективнее GUI по нескольким причинам. Во-первых, там быстрее набирать команды, чем двигать курсором. Во-вторых, на CPU, память и GPU не ложится лишнее бремя графической оболочки, так что любые процессы быстрее выполняются в консоли.

Но есть люди, которые всегда предпочтут GUI. Они считают графический интерфейс «наиболее эффективным и удобным способом работы на десктопе». На самом деле они во многом правы, в том числе для специфических задач видеообработки важно сразу видеть результат.

FFmpeg — изначально консольная утилита. Но её популярность крайне высока. Поэтому появляются всё новые варианты графических оболочек для FFmpeg, чтобы доступ к инструменту получили абсолютно все пользователи.
Читать дальше →
Total votes 107: ↑107 and ↓0 +107
Comments 76

Симулятор электронных схем Qucs-S: обзор новшеств версии 2.1.0

Reading time 6 min
Views 12K

Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux и Windows) и написан на С++ с использованием набора библиотек Qt. Для работы Qucs рекомендуется использовать также открытый движок моделирования Ngspice. Первый релиз Qucs, на котором основан Qucs-S, состоялся в 2003 году. В декабре этого года программе исполняется 20 лет. Актуальным релизом Qucs-S на текущий момент является версия 2.1.0. Далее будет рассказано о функциях, добавленных в релизах, вышедших в этом году.

Осторожно! Далее имеются анимированные GIF.

Читать далее
Total votes 42: ↑42 and ↓0 +42
Comments 20

Локальные нейросети. Аналог ChatGPT-3.5 на домашнем ПК: OpenChat 7B превосходящая 70B, DeepSeek для кода уровня ChatGPT

Reading time 8 min
Views 75K

Есть много локальных аналогов ChatGPT, но им не хватает качества, даже 65B модели не могут конкурировать хотя бы с ChatGPT-3.5. И здесь я хочу рассказать про 2 открытые модели, которые всё-таки могут составить такую конкуренцию.

Речь пойдет о OpenChat 7B и DeepSeek Coder. Обе модели за счет размера быстры, можно запускать на CPU, можно запускать локально, можно частично ускорять на GPU (перенося часть слоев на GPU, на сколько хватит видеопамяти) и для такого типа моделей есть графический удобный интерфейс.

И бонусом затронем новую модель для качественного подробного описания фото.

UPD: Добавлена информация для запуска на Windows с ускорением на AMD.

Читать далее
Total votes 107: ↑105 and ↓2 +103
Comments 87

Стань героем мемов! Делаем гифки со своим лицом с помощью нейросетей

Level of difficulty Medium
Reading time 5 min
Views 15K

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

Читать далее
Total votes 32: ↑29 and ↓3 +26
Comments 6

Как я статистику git парсил

Level of difficulty Easy
Reading time 9 min
Views 26K

Работаю я в бюрократизированной конторе с плохими процессами. Текучка тут достаточно большая. Люди приходят и уходят. Менеджмент на уровне дна. В какой-то момент в команду докинули нового разработчика (с неясными целями и задачами). Ну вроде парень умный, вроде что-то делает, вроде не просто так.

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

Ему предложили перевестись в другой отдел. Менеджеру все сошло с рук. Часть разрабов сидела с лицами «‎а что так можно было?»‎. А я понял, что нельзя так просто взять и посмотреть статистику коммитов.

Велосипед через 3, 2, 1...
Total votes 98: ↑92 and ↓6 +86
Comments 50

Карьера Software Engineering Manager. Эффективное управление командой разработчиков ПО — обзор книги и рекомендации

Level of difficulty Easy
Reading time 5 min
Views 4.2K

На рынке не так много книг, которые помогают начинающим тимлидам, которые еще вчера писали код и строили архитектуру, понять, как нужно приступать к работе с людьми и строить свое развитие по ветке управления. Это, естественно, две популярные книги: "Мама, я тимлид!  Практические советы по руководству IT-командой" Перескоковой Марины и "Как пасти котов. Наставление для программистов, руководящих другими программистами" Дж. Ханк Рейнвотера.

И вот на свет вышка книга: "Become an Effective Software Engineering Manager: How to Be the Leader Your Development Team Needs", которую Издательство Питер @ph_piter перевело как: "Карьера Software Engineering Manager. Эффективное управление командой разработчиков ПО". Не нужно пугаться позиции "Software Engineering Manager" - это именно что тимлид в понимании рынка РФ. И эта книга по своей сути является такой же отправной точкой в карьере начинающего тимлида, как и две предыдущие, но немного иначе!

Читать далее
Total votes 5: ↑4 and ↓1 +3
Comments 7

Особенности проксирования через CDN/Websocket/gRPC для обхода блокировок

Level of difficulty Medium
Reading time 15 min
Views 57K

Эта статья — заключительная (наконец‑то!) из моего огромного цикла про недетектируемые инструменты для обхода блокировок. В предыдущих публикациях я упоминал, что клиенты и серверы XRay (форк V2Ray) и Sing‑box при использовании протоколов VLESS/VMess/Trojan могут работать через веб‑сокеты и gRPC, что позволяет подключаться к даже заблокированным Роскомнадзором прокси‑серверам через CDN (content delivery или content distribution network) и дает дополнительные преимущества. Сегодня мы поговорим об этом поподробнее.

Читать далее
Total votes 80: ↑78 and ↓2 +76
Comments 148

Как стать джуном, которого берут на работу (frontend-разработка)

Level of difficulty Easy
Reading time 8 min
Views 97K

Привет, Хабр! Я - начальник отдела разработки небольшой IT-компании, и мы - те самые люди, которые не ищут на работу сеньоров, и мы готовы брать не только мидлов, но даже и джуниоров, и готовы растить их до уровня крепких мидлов. Однако 80% приходящих на вакансию frontend-разработчика соискателей, даже называющих себя мидлами, с опытом работы, по сути оказываются не то что джуниорами - вообще не программистами. Что же на самом деле должен знать джун, чтобы попасть в компанию, подобную нашей, и как к этому прийти, если за плечами нет высшего программистского образования или богатого опыта программирования в школе? Я расскажу об этом и о том, как устроен процесс найма в нашей компании.

Базовый уровень программирования

Итак, к нам приходит среднестатистический кандидат, который прошел курсы по JavaScript, сделал там пару проектов. Потом узнал, что во многих местах хотят React, сходил на курсы по нему, тоже сделал пару проектов, выложил их на Github. Приходит к нам, уверенный в себе. И мы его просим написать функцию, которая выбирает из строки все большие буквы, или реализовать "вручную" какой-нибудь метод из array. И половина кандидатов в этом месте выбывают из строя. Кто-то вообще не может это сделать, у кого-то на двухминутную функцию уходит больше получаса. Зачем мы вообще это спрашиваем и почему с этого начинаем?

Читать далее
Total votes 42: ↑36 and ↓6 +30
Comments 157

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля

Level of difficulty Medium
Reading time 17 min
Views 67K
image

К огромному сожалению, старые смартфоны всё чаще и чаще находят своё пристанище в мусорном баке. К прошлым, надежным «друзьям» действует исключительно потребительское отношение — чуть устарел и сразу выкинули, словно это ненужный мусор. И ведь люди даже не хотят попытаться придумать какое-либо применение гаджетам прошлых лет! Отчасти, это вина корпораций — Google намеренно тормозит и добивает довольно шустрые девайсы. Отчасти — вина программистов, которые преследуют исключительно бизнес-задачи и не думают об оптимизации приложений совсем. В один день я почувствовал себя Тайлером Дёрденом от мира IT и решил бросить вызов проприетарщине: написать свою прошивку для уже существующего смартфона с нуля. А дабы задачка была ещё интереснее, я выбрал очень распространенную и дешевую модель из 2012 года — Fly IQ245 (цена на барахолках — 200-300 рублей). Кроме того, у этого телефона есть сразу несколько внешних шин, к которым можно подключить компьютер или микроконтроллер, что даёт возможность использовать его в качестве ультрадешевого одноплатника для DIY-проектов. Получилось ли у меня реализовать свои хотелки? Читайте в статье!
Читать дальше →
Total votes 250: ↑248 and ↓2 +246
Comments 137

Как завернуть трафик Wireguard через shadowsocks на роутере

Level of difficulty Easy
Reading time 2 min
Views 33K

Так как есть риск блокировки Wireguard протокола, то рассказываю, как сделать, что бы трафик туннеля шел через shadowsocks.

Пример будет для сервера на Ubuntu 22.04 и роутера кинетик, с установленным на нем Entware. Предполагается, что WG уже поднят и настроен. А так же на роутер установлен Entware.

Читать далее
Total votes 18: ↑18 and ↓0 +18
Comments 17

Information

Rating
Does not participate
Location
Bamberg, Bayern, Германия
Date of birth
Registered
Activity