Обновить
Козлов Василий Иосифович@saintbyteread⁠-⁠only

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

Отправить сообщение

Arduino времен СССР

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели28K

Рано или поздно работая с электроникой, когда ты переходишь с уровня простых мигалок и программаторов для радиостанций, сначала на ардуино, потом опускаешься ниже до уровня чистого камня, ты начинаешь интересоваться смежной темой - микропроцессоры. Думаю что многим электронщикам-самодельщикам знакома такая тема, когда ты поглощаешь кучу обучающего материала в книгах, то в SO, то на ютубе, то на форумах, а потом внезапно обнаруживаешь себя смотрящего шикарный цикл видео от Бена Итера про постройку 6502 компьютера. Настоящего компьютера. И вот ты уже заглядываешь в сторону программирования под денди/nes, или, в 21м веке, хочешь купить себе спектрум, что-то на 6502 или даже чистый 8086, чтобы оказаться в еще более сильных рамках, ощутить себя именно тем программистом который выжмет все соки, считать каждый такт процессора...

Лично со мной так было. Углубляя свои познания в atmega328pb, я ушел чуток ниже и залез на территорию создания игр под денди (через 6502), территорию низкоуровневого программирования и всех сложностей связанных с этим делом. И вот я понял что я хочу купить себе в железе NES, залез на авито... потом потемнение в глазах и я прихожу в себя уже на странице поиска микроконтроллеров времен СССР. Просто праздный интерес, ничего более, ведь я никогда не был спектрумистом, да и СССР застал в коляске. И вот передо мной объявление с текстом: KPI8I6BE51 КУЛИК, компьютер, СССР. С ценой 550р. Раздумывал я не долго.

Погрузится в пучину

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»?

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели17K
image


Моддинг-сцена с разработкой и портированием кастомных прошивок для Android-устройств существует вот уже более 10 лет. В основном, энтузиасты пытаются проапгрейдить свои устройства путем портирования более свежих версий Android, чем предлагает производитель девайса. Чего уж говорить, если Galaxy S III, которому уже 12 лет стукнуло, получил неофициальный апгрейд до Android 14. Порой мне в голову приходят различные, весьма странные моддерские мысли: например, почему бы не портировать на старенький смартфон… ещё более старую версию Android, дабы посмотреть «что будет». Казалось бы «портировал и портировал», но в процессе работы я столкнулся с множеством интересных нюансов и особенностей работы Android, о которых хотел бы рассказать и вам — моим читателям! Сегодняшняя статья будет в классическом «научпоп»-стиле без кода, зато с подробными объяснениями одной из техник портирования Android-прошивок путем патчинга скриптов для конфигурации системы и подмены Board-specific библиотек, дабы система «увидела» всё необходимое железо! Интересно? Тогда жду вас под катом!
Читать дальше →

Самая сложная задача в Computer Vision

Время на прочтение13 мин
Охват и читатели82K
Среди всего многообразия задач Computer Vision есть одна, которая стоит особняком. К ней обычно стараются лишний раз не притрагиваться. И, если не дай бог работает, — не ворошить.
У неё нет общего решения. Практически для каждого применения существующие алгоритмы надо тюнинговать, переобучать, или судорожно копаться в куче матриц и дебрях логики.

Статья о том как делать трекинг. Где он используется, какие есть разновидности. Как сделать стабильное решение.

Частное мнение о том, как «вкатиться» в IT

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели56K

Я давний читатель HABR‑а (кажется, с 2011 года), хотя читатель пассивный: даже не был зарегистрирован. Мне казалось, что сотрясать воздух занятие достаточно бессмысленное, а сказать что‑то новое мне особо и нечего. Но последние пару лет на HABR‑е появляется все больше и больше статей, которые условно можно охарактеризовать фразой «как вкатиться в IT». Возможно, я необъективен, но меня не покидает ощущение, что почти все статьи по этой тематике похожи друг на друга. Не дословно, конечно, но общим направлением мысли. Очень редко встречаются статьи где есть конкретика; все больше общие избитые банальные рецепты, которые, надо признать — чересчур универсальны и не могут служить руководством. Особенно
для тех, кто живет в провинции, где нет серьезных разработчиков и где, увы, негде получить необходимый опыт. Можно я расскажу о себе? Мой опыт не универсален, но это реальный опыт. Я не строю иллюзий, что это кому‑то пригодится, но если кого‑то хотя бы подбодрит — уже неплохо.

Чтобы не мусолить и не создавать ненужной интриги, скажу сразу: мне 62 года. Профессиональный стаж программиста 37 лет (с 1987 года). Вероятно, половина
читателей HABR‑а младше 37 лет, с чем я их искренно поздравляю — у вас еще много времени. Образование — высшее техническое (с углубленным изучением
математики). По основной специальности, правда, работал не долго.

Компьютеров в те годы было немного. Да, были «Синклеры», «БК» и еще целый ряд других. Народ вовсю паял свои машины, но у меня руки всегда росли не из того места, так что это увлечение прошло мимо. Тем не менее, мне повезло: КБ, где я работал по распределению, получило машину СМ-4 (клон PDP-11).

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

Читать далее

Червь-ботнет P2P Infect активно распространяется на серверах Redis, через уязвимости LUA

Время на прочтение10 мин
Охват и читатели4.4K

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

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

Все изменилось летом этого года, когда исследователями был обнаружен абсолютно новый и продвинутый червь, который распространяется через уязвимости нулевого дня. P2P Infect — это и есть предмет нашего сегодняшнего диалога. Обнаружен он был 11 июля 2023 года и нацелен на облачные серверы с установленным популярным приложением для работы с базами данных Redis. Но сперва выделю основную информацию о типе этого вредоноса. 

Читать далее

Пять простых шагов для понимания JSON Web Tokens (JWT)

Время на прочтение5 мин
Охват и читатели846K

jwt


Представляю вам мой довольно вольный перевод статьи 5 Easy Steps to Understanding JSON Web Tokens (JWT). В этой статье будет рассказано о том, что из себя представляют JSON Web Tokens (JWT) и с чем их едят. То есть какую роль они играют в проверке подлинности пользователя и обеспечении безопасности данных приложения.

Читать дальше →

Новая жизнь старого GPS-приёмника

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели34K

В этой статье я расскажу о том, как я использовал старый GPS-приемник в качестве приёмника для захвата "сырых" данных GPS. Также я постараюсь рассказать о базовых принципах приема и декодирования данных GPS.

Читать далее

Анализ 10 000 вопросов с технических интервью: частотность и вероятность встречи

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели43K

Привет, Хабр! Я проанализировал 600 публичных мок-интервью с YouTube и собрал из них 10 000 уникальных вопросов. Затем посчитал, как часто они встречаются, и определил вероятность появления каждого вопроса. У меня есть данные по 20 профессиям, включая frontend, python, java-разработчика, специалиста по тестированию и многих других.

Читать далее

Дообучение ruGPT-3.5 13B с LoRA

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели29K

Добрый день, уважаемые читатели и авторы Хабра!

Сегодня я рад представить вам подробное руководство по обучению модели ruGPT-3.5 13B с использованием датасетов модели Saiga-2/GigaSaiga, технологии Peft/LoRA и технологии GGML. Эта статья призвана стать полезным и практичным ресурсом для всех, кто интересуется машинным обучением, искусственным интеллектом и глубоким обучением, а также для тех, кто стремится глубже понять и освоить процесс обучения одной из самых мощных и перспективных русскоязычных моделей.

В данной публикации мы разберем каждый этап обучения модели, начиная от подготовки данных и заканчивая конвертацией в формат GGML. Буду рад, если мой опыт и знания помогут вам в вашем исследовании и экспериментах в этой захватывающей области!

Читать далее

Модели Django и решение проблем с конкурентным доступом к данным

Время на прочтение3 мин
Охват и читатели33K
Всем привет!

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

Стартовые данные


  • 2 сервера с Django, запущенные под uWSGI
  • 1-2k запросов в секунду
  • Проект с движением денег внутри

Читать дальше →

Самодельный электросамокат (продолжение)

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели11K

В первых двух частях создания самодельного электросамоката был показан путь от "из того, что было" до "удовлетворенности в 4 балла по пятибалльной шкале". В этой (третьей) части, попытаюсь пойти по пути непримиримости с компромиссами.

Третья серия

Обновляем BIOS на Eee PC

Время на прочтение2 мин
Охват и читатели94K
Сегодня я расскажу вам, как обновить BIOS на нетбуке ASUS Eee PC 900. Вполне вероятно, что описанные здесь действия подойдут для перепрошивки других нетбуков этого семейства.

Проще всего под Linux это делать так: форматируем флешку в FAT32/FAT16, записываем туда файл под именем 900.ROM, перезагружаемся, нажимаем Alt+F2. И тут начинаются неожиданности…

Почему не все так просто

Как популярность DOS/4GW помогла играм в Windows 95

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели8.8K

В начале 1990-х самым популярным расширителем DOS был DOS/4GW. Во время разработки Windows 95 я очень много времени тратил на решение задачи совместимости с играми под MS-DOS, поэтому видел много баннеров расширителей DOS, и чаще всего это был DOS/4GW.

Вы можете задаться вопросом: «Как эти игры вообще запускались в Windows 95, если они поставлялись с расширителем DOS? Разве расширитель не пытался бы безуспешно перейти в защищённый режим, потому что Windows уже управляла защищённым режимом?»

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

Читать далее

Что содержится в вейпах? Токсины, тяжёлые металлы; возможно, радиоактивный полоний

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели77K

Если бы вы спросили меня, что содержится в электронных сигаретах, одноразовых вейпах или электронных жидкостях, я бы ответил кратко: «Мы точно не знаем».

Огромный и постоянно растущий ассортимент продуктов и вкусов, представленных на рынке, изменения в ингредиентах при нагревании или взаимодействии друг с другом, а также неадекватная маркировка делают этот вопрос сложным.

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

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

Читать далее

Развертывание docker контейнера с easyocr в закрытом контуре предприятия

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели6.6K

Привет, Хабр! На просторах интернета, да и на самом Хабре есть огромное количество статей про OCR. Сегодня я бы хотел рассказать не про процесс распознавания текста а про методику развертывания решения в закрытом контуре (проще говоря - без интернета).

Читать далее

Создание красивого Desktop-приложения на Python (customtkinter)

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели93K

Если Вы как и я решили впервые взглянуть в сторону Python после нескольких попыток изучения С++/C# то скорее всего первым проектом станет desktop-приложение. Отходя от темы скажу что тяга к изучению этих языков была безнадежно утрачена в виду классического преподавания в духе "лишь бы сдали" и бесчисленных однотипных и монотонных лекций. Как я сказал выше хоть и на начальном уровне, но я всё же касался разработки приложений для шинды и поэтому мне хотелось посмотреть на принципы работы питона сначала отсюда(а не прыгать в django и прочие мощные фреймворки).

Читать далее

Отлетели петли экрана ноутбука? Починим. Эпоксидка не нужна, главный инструмент — клеевой пистолет и паяльник

Время на прочтение5 мин
Охват и читатели70K
kdpv

Привет, Хабр! Продолжаю серию постов о ремонтах ноутбуков. На днях приобрел игровой ноутбук ASUS STRIX GL753V. Это неплохой игровой ноутбук, несколько морально устаревший (видео у него — Nvidia GTX 1050). Но с редактированием видео и практически всеми играми он все еще справляется, хотя и не на максимальных настройках.

Проблема ноутбука, который я купил — вылетевшие петли экрана. Они просто отвалились от крышки — пластик в местах крепления просто рассыпался. Проблема этих ноутбуков — очень тугие петли экрана, вследствие чего через несколько лет эксплуатации пластик рассыпается. Думаю, эта проблема знакома очень многим здесь, я как-то видел целую ветку комментариев с обсуждением, как все это можно починить. Сегодня и починим. Что же, приступим.
Читать дальше →

Telegram удалил нашего ChatGPT-бота на 27,000 пользователей без объяснения причин

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели44K

Несколько недель назад мы с коллегой сделали ChatGPT-proxy бота в Telegram, который помогал в наших рабочих чатах и просто развлекал нас. Он написан на TypeScript и потрясающем фреймворке Grammy, использует Open AI API, а именно модель gpt3.5-turbo, которая используется в оригинальном ChatGPT.

Читать далее

Быть тим-лидом: ожидания и реальность

Время на прочтение7 мин
Охват и читатели20K

Выводы о том, какого тим-лида ценит и команда, и клиент. Баланс качества и сроков, прогноз рисков и список задач, который поможет вам не стать мелким тираном <3

Читать далее

В России не любят Линукс, а я не люблю виртуальные машины. Что делать?

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели38K

В России не любят Линукс. Студенты и корпорации всячески отлынивают его использовать, даже если Линукс насаждают преподаватели или госзаказчики. Но есть область, в которой Линукс придется полюбить. Это разработка микросхем. Даже внутри Apple и Microsoft инженеры используют Synopsys Design Compiler / IC Compiler и Cadence Genus / Innovus, у которых вообще нет версий для Windows и MacOS, только для Linux. Да, я знаю, что Synopsys и Cadence ушли из России. Но даже открытые тулы для синтеза ASIC - Open Lane - есть только под Linux.

Я уже несколько лет использую для семинаров по FPGA загружаемые через USB SSD диски, на который ставится весь необходимый софтвер. Такое решение позволяет избежать агонии первого дня семинара, когда приходит куча народу со своими ноутбуками, три часа ставят Quartus, а потом мучаются с драйверами USB Blaster для китайского контрафактного клона, который без танцев с бубном не хотят поддерживать не Win10, ни Linux, ни особенно Win11, который хочет подписанные драйверы.

А как же виртуальные машины? - спросите вы. С моей точки зрения они вносят дополнительный уровень танцев с бубном. И это не мое дремучее мнение - так же считает мой приятель, который работал над виртуализацией в Микрософте. То оно USB порт не пробивает, то еще какие-нибудь глюки. Плюс учить дополнительные опции, качать и копировать файлы в десятки гигабайт. А тут вставил в USB порт, и если загрузится, то заработает.

Конечно, загружаемые SSD тоже не без проблем: тут и Legacy BIOS boot против UEFI boot, и Secure Boot с Bit Locker, и зловещий "хвост GPT", и отрубание всего из-за скачка напряжения в USB хабе - но с этими проблемами мы методично разобрались. Решение я и описываю в этой заметке, предназначенной в первую очередь для учеников и руководителей кластеров в Школе Синтеза Цифровых Схем, которая начинается с сентября в 14 российских городах (объявления и точных дат еще нет, но уже записалось 200 учеников).

Прежде всего: как выглядит загружаемый SSD? А вот так:

Читать далее

Информация

В рейтинге
Не участвует
Откуда
Екатеринбург, Свердловская обл., Россия
Дата рождения
Зарегистрирован
Активность