Pull to refresh
27
0
hopheilalalei @m0sk1t

hahacker

Send message

Как Factorio умудряется работать без лагов с таким числом элементов на экране

Level of difficultyEasy
Reading time2 min
Views45K

Немного магии, бережная работа с объектами/компонентами. В посте также рассмотрена ECS и то, почему в Factorio не так просто использовать такой подход.

Читать далее

Раннее компьютерное искусство 50-х и 60-х годов. Часть 2

Level of difficultyEasy
Reading time9 min
Views4.4K

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

Читать далее

Как работают сервисы карт и маршрутизации

Level of difficultyEasy
Reading time8 min
Views7.7K

В период моей жизни, когда я работал в Санкт-Петербурге, пришла мне интереснейшая задача — создать и интегрировать в один проект функционал карт. По ограничениям бизнес требований, карта должна работать в условиях отсутствия интернета, при этом удовлетворять требования визуального отображения и построения маршрутов. Значит не было возможности использовать готовый API Яндекса или Google, так что пришлось реализовывать механизмы самому.

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

Как работают сервисы карт и маршрутизации?

Slovo и русский жестовый язык

Level of difficultyMedium
Reading time10 min
Views8.6K

Всем привет! В этой статье мы расскажем о непростой задаче распознавания русского жестового языка (РЖЯ) для слабослышащих. Насколько нам известно, в открытом доступе не существует универсального набора данных для распознавания РЖЯ. Поэтому мы решили выложить небольшую часть нашего датасета в открытый доступ. В статье мы затронем основные особенности РЖЯ, поговорим о проблемах и сложностях самого языка, и процессе его сбора и разметки. Расскажем, где искали экспертов и как нам в итоге удалось собрать самый большой и разнородный жестовый датасет для РЖЯ. В конце статьи представим набор предобученных нейронных сетей и небольшое приложение, демонстрирующее распознавание жестового языка. Часть датасета и веса моделей мы выложили в открытый доступ — все ссылки вы можете найти в конце статьи или в нашем репозитории.

Интересно?

Изучаем ёмкостную трёхточку и собираем FM передатчик

Level of difficultyMedium
Reading time11 min
Views21K


Сегодняшний опыт позволит нам увидеть на экране осциллографа, какие параметры цепи влияют на работу LC-генератора Колпитца, и откуда берутся искажения формы волны.

После чего соберём маленький транзисторный УКВ ЧМ передатчик на базе такого генератора. Не пугайтесь, он совсем маломощный (как MP3-модуляторы в гнезде автомобильного прикуривателя) и не нарушает законов о радиосвязи.

А чтобы услышать, что передатчик вещает, соберем ещё и FM радиоприёмник.
Будет интересно!

Может ли биолог починить радио? 20 лет спустя

Level of difficultyMedium
Reading time9 min
Views9.1K

В 2002 в журнале Cancer Cell вышла весьма саркастическая статья Юрия Лазебника «Может ли биолог починить радиоприемник, или что я понял, изучая апоптоз».

За 20 лет много изменилось. Биологи создали графический язык SBGN (Systems Biology Graphical Notation) для представления структуры биохимических путей и XML формат SBML (Systems Biology Markup Language) для представления математических моделей.

Кроме самих стандартов, необходимо программное обеспечение, которое их поддерживает. Начиная с 2001 года наша команда разрабатывает программный комплекс BioUML для моделирования сложных биологических систем и анализа биомедицинских данных. UML в его названии – это отсылка к стандарту UML – Unified Modeling Language, языку графического описания для объектного моделирования в области разработки программного обеспечения. Используя ПК BioUML, нашей группой были построены сложные компьютерные модели биологических систем (насколько я знаю, некоторые из них — наиболее сложные в мире для соответствующих систем).

Таким образом, современные стандарты SBGN и SBML и ПК BioUML позволяют биологам создавать схемы и модели биологических систем, вполне сопоставимые по уровню формализации с инженерными схемами.

Читать далее

[Разбор резюме] Бэкендер на Go: почему «ключевые навыки» никому не нужны и как уместить весь опыт на одной страничке

Level of difficultyEasy
Reading time4 min
Views22K

Привет, Хабр! Мы много разговариваем про найм, и решили запустить новую рубрику — разбор резюме. В ней наши профессиональные HR, которые регулярно просматривают сотни резюме, будут смотреть на присланные CV специалистов и советовать, что в них можно улучшить. Делать мы это будем именно с точки зрения HR-специалистов: они расскажут, что именно их бы оттолкнуло, а что — привлекло. Начнем с резюме бэкендера и дальше пойдем по другим профессиям.

Читать далее

Как мы выбирали процессный движок: месяц мучений ради идеала

Level of difficultyMedium
Reading time12 min
Views13K

Хабр, привет! Меня зовут Артем Терзьян, я Java-разработчик в IBS. Именно на мои плечи пала нелегкая задача выбора идеального BPMN-движка для реализации с его помощью бизнес-процессов в рамках нашей собственной платформы. Надеюсь, приведенный обзор поможет кому-то сэкономить время при столкновении с аналогичной задачей.

Подробнее о моих экспериментах

Как айтишник гигантские арбузы в средней полосе выращивал. Часть 1

Level of difficultyEasy
Reading time8 min
Views27K

Хобби коллег очень многогранны. Сегодня расскажем об ИТ-шном подходе к выращиванию арбузов в регионе, где, казалось бы, нормально вызревать они не должны. Наш девопс, Игорь Иванов, объединил системный подход к сбору информации и комплектующие с AliExpress и из магазинов для садоводов, и уже не первый год собирает отличный урожай. 

Своеобразная “инструкцию для начинающих” получилась довольно объемной. Мы  разделили ее на две части: в первой автор разбирает теоретические основы, а во второй переходит к практике.

Осторожно, много фото!

Читать далее

Реализация реактивности и компонуемости во фронтенд-фреймворке без зависимостей

Level of difficultyMedium
Reading time7 min
Views8K

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

Как я секреты римской брони в лаборатории разгадывал

Reading time10 min
Views15K

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

Год назад в своей статье «Римские и средневековые доспехи. Что лучше?» в качестве одного из параметров сравнения я использовал ударную вязкость. Чтобы понимать, как работает связка свойств – твердость/ударная вязкость в доспехах, представьте себе пластилин и стекло. Если давить пальцем на стекло, то оно будет какое-то время сопротивляться вашему нажиму, но с определенного уровня – трескаться и рассыпаться. Пластилин, напротив, будет тянуться, не давая проникнуть «за». Для доспехов в идеале должны работать оба свойства, но поскольку они противоположны, то на практике нужен компромисс.

Готовы?

Я написал одну из самых быстрых библиотек датафреймов

Level of difficultyHard
Reading time9 min
Views11K
image

1. Вступление


У меня в портфолио есть несколько готовых пет-проектов на Rust, и я заметил, что позиция «а у нас уже получилась DataFrame?» нисколько меня не устраивает. Поэтому я подумал, не сделать ли мне элементарный контейнер, который решал бы мою конкретную задачу. Но этот проект вышел из-под контроля.

Год спустя, написав немало кода, я создал одну из самых быстрых библиотек датафреймов, применимую в Rust и Python. Вот мой первый официальный «Hello World» на polars, размещённый у меня в блоге. Надеюсь, что с помощью этого поста я смогу пояснить читателю некоторые решения, которые мне довелось принять при проектировании, и вам станет понятнее, как Polars работает под капотом.
Читать дальше →

BLE под микроскопом. WCH forever :-)

Level of difficultyMedium
Reading time11 min
Views8.8K

В позапрошлой статье я описывал китайский BLE микроконтроллер TLSR8258. Честно говоря, он мне не понравился. Главным образом из-за отсутствия нормального Debug режима. Но, как говорится не TeLink-ом единым... Есть у китайцев и другие чипы от отечественных производителей :-) Сегодня мы поговорим о другом семействе, на мой взгляд более интересном. А именно о чипах ch582/583 фирмы WCH.

Читать далее

Полное руководство по логированию в Node.js с помощью Pino

Level of difficultyEasy
Reading time37 min
Views21K

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

Pino — это мощная платформа ведения логов для Node.js, обладающая молниеносной скоростью и широкими возможностями. Фактически именно скорость Pino и завоевала ему место логгера по-умолчанию в open-source веб-сервере Fastify. Также Pino способен очень просто интегрироваться с другими Node.js-фреймворками, что делает его лучшим выбором для всех разработчиков, ищущих надежное и гибкое решение для ведения логов.

Читать далее

Дополнения и расширения для Raspberry Pi: варианты для DIY- и корпоративны проектов мая 2023 года

Reading time3 min
Views11K
uns-YB9u53hu7ku45dt-MQc-R-1200-80-3

«Малинки» хороши сами по себе — на их базе можно разрабатывать самые сложные проекты. Но если добавить модули и расширения сторонних продавцов, то возможности одноплатников от Raspberry Pi Foundation становится еще более обширными. Сегодня мы собрали несколько вариантов дополнений и расширений, которые могут пригодиться любителям электроники.
Читать дальше →

О вычислительной природе реальности

Reading time15 min
Views24K

Я объясняю экспериментальные результаты проверки теоремы Белла супердетерминизмом. Далее я показываю, как такая Вселенная может возникнуть и быть совместимой с субъективным опытом свободы воли.

Читать далее

Этот китайчик просто любит жизнь: реставрируем игровую консоль с помойки за 250 рублей

Level of difficultyEasy
Reading time5 min
Views6K
image

Ни для кого не секрет, что иногда на онлайн-барахолках можно встретить продавцов, которые продают различные устройства с помойки. И ведь иногда прямо слёзы наворачиваются от того, какие крутые штуки люди умудряются выкидывать. Зачастую подобные девайсы требуют серьёзного обслуживания, но и стоят копейки: недавно я увидел симпатичную игровую консоль PGP Aio Droid Letto, которая привлекла моё внимание своими миниатюрными размерами и симпатичным дизайном, а ещё тем, что была в ужаснейшем состоянии и стоила всего 250 рублей. А поскольку я обожаю копаться в различных девайсах и давать им вторую жизнь, я сразу же её заказал! Сегодня мы с вами: приведем корпус устройства в подарок, подберем дисплей от GPS-навигатора, найдём прошивку на безымянное устройство и перепрошьём с помощью замыкания ножек NAND, а также посмотрим, годится ли на что-то консоль по цене кофе в столице!
Читать дальше →

С чего начинается embedded-разработка? Debug UART на Repka Pi 3 — подключение к отладочному терминалу Репки через UART

Reading time7 min
Views14K

В этой статье рассмотрим как подключиться к консоли Repka Pi 3 через UART.

Repka Pi как и другие компьютеры аналогичного семейства имеет Debug UART выведенный на 40 пиновый разъем платы.

Для начала работы нам потребуется программа PuTTY и USB to TTL конвертер с кабелем.

Скачиваем и устанавливаем программу текущую версию PuTTY с официального сайта https://www.putty.org/. На момент написание статьи версия PuTTY 0.78.

Вот так выглядит PuTTY после установки.

Начать свой Путь Embedded разработчика....

Проблемы при реализации микросервисной архитектуры

Level of difficultyEasy
Reading time7 min
Views6.6K

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

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

Читать далее

Почему поиск по фото у Google и Apple не способен найти обезьян

Level of difficultyEasy
Reading time7 min
Views44K

В мае 2015 года Google выпустила отдельное приложение «Фотографии». Люди были поражены тем, что оно способно анализировать изображения, разбирать их на детали, а потом маркировать людей, места и вещи. Даже переводить текст!

Была только одна проблема. Google внедрил «категоризацию фотографий» — все фотографии автоматически размечались и организовывались в папках на основании того, что на них было. И через пару месяцев 22-летний программист-фрилансер Джеки Альсине обнаружил, что все фотографии, на которых был изображен он и его девушка, оба чернокожие, были помечены как «гориллы». Причем если на фотографиях был виден белый человек или человек со светлой кожей, Google маркировал их правильно — например, «выпускной» или «поход в бар». М-да.

История сразу разгорелась в Твиттере. После шквала негатива Google поклялась больше не позволять своему приложению классифицировать каких-либо людей как «горилл» и пообещала решить эту проблему. Восемь лет спустя — эта история, оказывается, всё еще не затухла, и влияет на развитие современных ИИ больше, чем можно было бы ожидать.

Читать далее

Information

Rating
Does not participate
Registered
Activity