Pull to refresh
Козлов Василий Иосифович @saintbyte read⁠-⁠only

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

Send message

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

Level of difficulty Medium
Reading time 13 min
Views 7.7K
image


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

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

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

Статья о том как делать трекинг. Где он используется, какие есть разновидности. Как сделать стабильное решение.
Total votes 127: ↑127 and ↓0 +127
Comments 42

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

Level of difficulty Easy
Reading time 10 min
Views 37K

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

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

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

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

Читать далее
Total votes 250: ↑248 and ↓2 +246
Comments 94

Go — 100 вопросов/заданий с собеседований

Level of difficulty Medium
Reading time 87 min
Views 53K

Приветствую тебя, хаброжитель!

В этой статье разберём 100 вопросов, они покрывают львиную долю того, что могут спросить на собеседовании джуниор Go-разработчика с практически любой специализацией. Конечно же, в реальной работе на Go требуются немного другие скиллы, чем умение быстро ответить на любой вопрос. Однако сложилась добрая традиция делать из собеседования викторину с главным призом в виде трудоустройства — к этому нужно быть готовым.

Читать далее
Total votes 51: ↑42 and ↓9 +33
Comments 14

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

Reading time 10 min
Views 3.4K

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

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

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

Читать далее
Total votes 6: ↑4 and ↓2 +2
Comments 15

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

Reading time 5 min
Views 610K

jwt


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

Читать дальше →
Total votes 28: ↑24 and ↓4 +20
Comments 60

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

Level of difficulty Medium
Reading time 18 min
Views 23K

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

Читать далее
Total votes 83: ↑82 and ↓1 +81
Comments 87

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

Level of difficulty Easy
Reading time 3 min
Views 33K

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

Читать далее
Total votes 54: ↑52 and ↓2 +50
Comments 19

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

Level of difficulty Medium
Reading time 10 min
Views 15K

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

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

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

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

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

Reading time 3 min
Views 26K
Всем привет!

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

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


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

Читать дальше →
Total votes 25: ↑19 and ↓6 +13
Comments 33

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

Level of difficulty Easy
Reading time 3 min
Views 8.9K

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

Третья серия
Total votes 38: ↑38 and ↓0 +38
Comments 30

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

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

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

Почему не все так просто
Total votes 48: ↑33 and ↓15 +18
Comments 36

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

Level of difficulty Easy
Reading time 3 min
Views 7.3K

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

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

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

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

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

Level of difficulty Easy
Reading time 4 min
Views 26K

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

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

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

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

Читать далее
Total votes 76: ↑57 and ↓19 +38
Comments 235

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

Level of difficulty Easy
Reading time 4 min
Views 4.4K

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

Читать далее
Total votes 12: ↑2 and ↓10 -8
Comments 11

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

Level of difficulty Easy
Reading time 4 min
Views 49K

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

Читать далее
Total votes 30: ↑28 and ↓2 +26
Comments 112

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

Reading time 5 min
Views 22K
kdpv

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

Проблема ноутбука, который я купил — вылетевшие петли экрана. Они просто отвалились от крышки — пластик в местах крепления просто рассыпался. Проблема этих ноутбуков — очень тугие петли экрана, вследствие чего через несколько лет эксплуатации пластик рассыпается. Думаю, эта проблема знакома очень многим здесь, я как-то видел целую ветку комментариев с обсуждением, как все это можно починить. Сегодня и починим. Что же, приступим.
Читать дальше →
Total votes 65: ↑62 and ↓3 +59
Comments 116

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

Level of difficulty Easy
Reading time 4 min
Views 41K

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

Читать далее
Total votes 73: ↑56 and ↓17 +39
Comments 116

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

Reading time 7 min
Views 17K

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

Читать далее
Total votes 9: ↑6 and ↓3 +3
Comments 11

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

Level of difficulty Easy
Reading time 11 min
Views 35K

В России не любят Линукс. Студенты и корпорации всячески отлынивают его использовать, даже если Линукс насаждают преподаватели или госзаказчики. Но есть область, в которой Линукс придется полюбить. Это разработка микросхем. Даже внутри 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? А вот так:

Читать далее
Total votes 58: ↑51 and ↓7 +44
Comments 161

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity