Обновить
@saintbyteread⁠-⁠only

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

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

jwt


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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Сегодня я рад представить вам подробное руководство по обучению модели 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 мин
Охват и читатели95K
Сегодня я расскажу вам, как обновить BIOS на нетбуке ASUS Eee PC 900. Вполне вероятно, что описанные здесь действия подойдут для перепрошивки других нетбуков этого семейства.

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

Исследуем внутренности Linux версии 0.01

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

Ядро Linux часто упоминают как ужасно масштабное опенсорсное ПО. На момент написания этой статьи последняя версия 6.5-rc5 состоит из 36 миллионов строк кода. Не нужно говорить, что Linux — это плод упорного многолетнего труда множества участников проекта.

Однако первая версия Linux, v0.01, была довольно маленькой. Она состояла всего из 10239 строк кода. Если исключить комментарии и пустые строки, то остаётся всего 8670 строк. Это достаточно малый объём для анализа и хорошее начало для изучения внутренностей ядер UNIX-подобных операционных систем.

Я получил удовольствие от чтения кода v0.01. Это походило на посещение Музея компьютерной истории в Маунтин-Вью — я наконец-то убедился, что легенды верны! Я написал эту статью, чтобы поделиться с вами этим восхитительным опытом.

Читать далее

Как работают select_related и prefetch_related в Django

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

Часто определение разницы между select_related и prefetch_related звучит как “первый для ForeignKey полей, второй для ManyToMany”, однако это описание не раскрывает суть работы этих методов. Ниже я попробовал на примерах показать разницу между этими методами и какое влияние они оказывают на сгенерированный SQL для получения данных.

TLDR: Статья будет в первую очередь полезна тем кто начинает свое знакомство с Django, а также тем, кто использует select_related/prefetch_related в ежедневной работе, но не углублялся в глубь Django.

Читать далее

Информация

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