Как стать автором
Обновить
9
0
Константин Ковалев @Janom

Разработчик ПО

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

Рецепты для ELFов

Время на прочтение16 мин
Количество просмотров30K

image


На русском языке довольно мало информации про то, как работать с ELF-файлами (Executable and Linkable Format — основной формат исполняемых файлов Linux и многих Unix-систем). Не претендуем на полное покрытие всех возможных сценариев работы с эльфами, но надеемся, что информация будет полезна в виде справочника и сборника рецептов для программистов и реверс-инженеров.


Подразумевается, что читатель на базовом уровне знаком с форматом ELF (в противном случае рекомендуем цикл статей Executable and Linkable Format 101).


Под катом будут перечислены инструменты для работы, описаны приемы для чтения метаинформации, модификации, проверки и размножения создания эльфов, а также приведены ссылки на полезные материалы.

Поработаем с эльфами
Всего голосов 23: ↑23 и ↓0+23
Комментарии19

Большой механический дисплей с кулачковым механизмом в качестве дешифратора

Время на прочтение2 мин
Количество просмотров19K


Перемещением сегментов в этом дисплее управляют два кулачка, поворот которых синхронизирован зубчатыми колёсами. Все сегменты, кроме центрального, возвращаются в исходное положение резиновым кольцом, центральный перемещается в обоих направлениях кулачками.
Читать дальше →
Всего голосов 69: ↑68 и ↓1+67
Комментарии39

Chromium — это не только браузер, но и хороший фреймворк

Время на прочтение8 мин
Количество просмотров34K


Большинство людей привыкли, что Chromium — это и браузер, и основа для других браузеров. До недавнего времени я тоже так думал, но, изучая эту тему уже пару месяцев, я начал открывать другой дивный мир. Chromium — это огромная экосистема, в которой есть всё: и система зависимостей, и система кроссплатформенной сборки, и компоненты почти на все случаи жизни. Так почему же не попробовать создавать свои приложения, используя всю эту мощь?

Под катом небольшое руководство, как начать это делать.
Читать дальше →
Всего голосов 71: ↑66 и ↓5+61
Комментарии34

Алгоритм для запоминания иностранных слов

Время на прочтение5 мин
Количество просмотров18K
На данный момент создано множество приложений для запоминания слов. Из тех что мне запомнились могу выделить такие Android приложения как Lingualeo, Английские слова, СловоУч.

Главным недостатком этих приложений для меня был платный аккаунт для добавления своей базы слов. Поэтому встал вопрос о написании своего приложения для запоминания слов. Главной идеей было подключения внешнего API словаря и переводчика для переводов слов на родной язык. В качестве такого API было выбрано Yandex API (API Переводчика и API Словаря).
Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии26

Простейший физический движок

Время на прочтение4 мин
Количество просмотров64K
Вас интересуют игры? Хотите создать игру но не знаете с чего начать? Тогда вам сюда. В этой статье я рассмотрю простейший физический движок, с построения которого можно начать свой путь в GameDev'e. И да, движок будем писать с нуля.
Читать дальше →
Всего голосов 42: ↑32 и ↓10+22
Комментарии38

Ардуино-совместимый ПЛК CONTROLLINO, часть 1

Время на прочтение6 мин
Количество просмотров53K
Впервые про программируемый логический контроллер по имени CONTROLLINO мне довелось узнать году еще в 2014-м в случайной переписке с человеком, который подбирал себе ПЛК для домашней автоматизации. Я ему рекомендовал какие-то классические модели, а он в ответ сообщил, мол, видел на кикстартере некий интересный проект под названием CONTROLLINIO. Это промышленный ПЛК, который программируется так же, как Arduino, в его родной IDE.

Тот парень работал php-программером и С++ был для него не проблема. Деньги и идеи имел, а желания изучать LAD или Codesys нет. В итоге отписался, что сделал предзаказ на CONTROLLINO и больше на связь не выходил.

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


Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии156

Нейронные сети: практическое применение

Время на прочтение15 мин
Количество просмотров273K


Наталия Ефремова погружает публику в специфику практического использования нейросетей. Это — расшифровка доклада Highload++.

Добрый день, меня зовут Наталия Ефремова, и я research scientist в компании NtechLab. Сегодня я буду рассказывать про виды нейронных сетей и их применение.

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

Первая часть моего доклада будет направлена тем, кто незнаком с нейронными сетями. Я занимаюсь непосредственно deep learning. В этой области я работаю более 10 лет. Хотя она появилась чуть меньше, чем десятилетие назад, раньше были некие зачатки нейронных сетей, которые были похожи на систему deep learning.
Всего голосов 74: ↑64 и ↓10+54
Комментарии32

Нейронные сети в картинках: от одного нейрона до глубоких архитектур

Время на прочтение7 мин
Количество просмотров96K
Многие материалы по нейронным сетям сразу начинаются с демонстрации довольно сложных архитектур. При этом самые базовые вещи, касающиеся функций активаций, инициализации весов, выбора количества слоёв в сети и т.д. если и рассматриваются, то вскользь. Получается начинающему практику нейронных сетей приходится брать типовые конфигурации и работать с ними фактически вслепую.

В статье мы пойдём по другому пути. Начнём с самой простой конфигурации — одного нейрона с одним входом и одним выходом, без активации. Далее будем маленькими итерациями усложнять конфигурацию сети и попробуем выжать из каждой из них разумный максимум. Это позволит подёргать сети за ниточки и наработать практическую интуицию в построении архитектур нейросетей, которая на практике оказывается очень ценным активом.
Читать дальше →
Всего голосов 67: ↑62 и ↓5+57
Комментарии53

Логика сознания. Часть 3. Голографическая память в клеточном автомате

Время на прочтение10 мин
Количество просмотров28K
Ранее мы описали клеточный автомат, в котором могут возникать волны, имеющие хитрый внутренний узор. Мы показали, что такие волны способны распространять информацию по поверхности автомата. Оказалось, что любое место автомата может быть, как приемником, так и источником волн. Чтобы принять волну в каком-либо месте, достаточно посмотреть, какой узор получается в нем в момент прохождения волны. Если этот узор запомнить и впоследствии воспроизвести в том же месте, то от этого узора распространится волна, повторяющая на своем пути узор исходной волны.

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

Автомат, который мы описываем обладает памятью. Точнее, памятью обладают все его элементы. Память элемента специфична. Единственное, что видит элемент автомата – это узор, составленный из активности своих соседей. Единственное, как элемент может отреагировать на тот или иной узор – это либо самому стать активным, либо, наоборот, выключиться. Память элемента – это набор запомненных им узоров с указанием, как на них реагировать: включаться или выключаться.
Читать дальше →
Всего голосов 39: ↑38 и ↓1+37
Комментарии75

Это маленькое чудо — алгоритм Кнута-Морриса-Пратта (КМП)

Время на прочтение9 мин
Количество просмотров172K
Алгоритм Кнута-Морриса-Пратта используется для поиска подстроки (образца) в строке. Кажется, что может быть проще: двигаемся по строке и сравниваем последовательно символы с образцом. Не совпало, перемещаем начало сравнения на один шаг и снова сравниваем. И так до тех пор, пока не найдем образец или не достигнем конца строки.
Читать дальше →
Всего голосов 69: ↑67 и ↓2+65
Комментарии57

Логика мышления. Часть 2. Факторы

Время на прочтение11 мин
Количество просмотров79K


В предыдущей части мы описали самые простые свойства формальных нейронов. Проговорили о том, что пороговый сумматор точнее воспроизводит природу единичного спайка, а линейный сумматор позволяет смоделировать ответ нейрона, состоящий из серии импульсов. Показали, что значение на выходе линейного сумматора можно сопоставить с частотой вызванных спайков реального нейрона. Теперь мы посмотрим на основные свойства, которыми обладают такие формальные нейроны.
Читать дальше →
Всего голосов 46: ↑34 и ↓12+22
Комментарии5

Нейронные сети на Javascript

Время на прочтение7 мин
Количество просмотров164K
image
Идея для написания этой статьи возникла прошлым летом, когда я слушал доклад на конференции BigData по нейронным сетям. Лектор «посыпал» слушателей непривычными словечками «нейрон», «обучающая выборка», «тренировать модель»… «Ничего не понял — пора в менеджеры», — подумал я. Но недавно тема нейронных сетей все же коснулась моей работы и я решил на простом примере показать, как использовать этот инструмент на языке JavaScript.

Мы создадим нейронную сеть, с помощью которой будем распознавать ручное написание цифры от 0 до 9. Рабочий пример займет несколько строк. Код будет понятен даже тем программистам, которые не имели дело с нейронными сетями ранее. Как это все работает, можно будет посмотреть прямо в браузере.
Читать дальше →
Всего голосов 58: ↑54 и ↓4+50
Комментарии79

Лазерная резка: как избежать неудачи при работе с резаком?

Время на прочтение5 мин
Количество просмотров50K
Несколько советов для начинающих



Cтанки лазерной резки c ЧПУ нельзя назвать дешевыми, но средней руки предприниматель уже может себе позволить такую систему. Некоторые модели из Китая стоят около $4000. Лазером можно делать все — вырезать корпуса приборов, отдельные элементы конструкции, наносить изображения на металл, дерево, кожу и пластик.

Но наличие компьютерного управления вовсе не значит, что оператор может отдыхать на кушетке с любимой книжкой в одной руке и бутылкой пива — в другой. Для того, чтобы результат работы удовлетворял всем критериям успеха, оператору нужно приложить немалые усилия. На каких этапах резки сфокусировать внимание? Об этом рассказывает мастер, который довольно продолжительное время работал с системами лазерной резки разного типа.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии25

Делаем модуль расширения для Raspberry Pi с Arduino на борту

Время на прочтение6 мин
Количество просмотров18K
У нас в хакспейсе есть много разных Raspberry Pi, с помощью которых мы учим детей программировать на python, делать роботов и разные полезные гаджеты. Разумеется, все то же самое делаем и на Arduino. За три года жизни душа в душу с этими крайне отличающимися платформами, у нас появилось несколько идей о том, как правильнее сделать учебного робота, учитывая плюсы и минусы каждой железки. Все эти мысли материализовались в новом устройство, о котором речь и пойдет далее.



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

Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии11

Умный дом: операция микроклимат или путь к комфорту шаг за шагом

Время на прочтение10 мин
Количество просмотров42K

Первое правило умного дома: он не должен отнимать время.
Второе правило умного дома: все должны знать о твоем умном доме.



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



Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии256

Полуавтоматический сверлильный комплекс для печатных плат на arduino и python

Время на прочтение6 мин
Количество просмотров19K

КДПВ


Предисловие


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

Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии39

Анализатор-визуализатор спектра аудио сигнала на базе Arduino

Время на прочтение4 мин
Количество просмотров32K


Как вы думаете, что делают девушки, когда собираются вместе? Идут по магазинам, фотографируются, ходят по салонам красоты? Да, так и есть, но так делают далеко не все. В данной статье пойдёт речь о том, как две девушки решили собрать радиоэлектронное устройство своими руками.

Почему именно анализатор-визуализатор спектра?


Ведь программных решений данной задачи довольно много и вариантов аппаратной реализации так же немало. Во-первых, очень хотелось поработать с большим количеством светодиодов (т.к. мы уже собирали led-куб, каждый для себя, но в небольших размерах), во-вторых, применить на практике полученные знания по цифровой обработке сигналов и, в-третьих, в очередной раз попрактиковаться в работе с паяльником.
Читать дальше →
Всего голосов 37: ↑36 и ↓1+35
Комментарии47

Искусственные нейронные сети простыми словами

Время на прочтение7 мин
Количество просмотров212K
image

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

Допустим, я знаю о девушке две вещи — симпатична она мне или нет, а также, есть ли о чём мне с ней поговорить. Если есть, то будем считать это единицей, если нет, то — нулём. Аналогичный принцип возьмем и для внешности. Вопрос: “В какую девушку я влюблюсь и почему?”


Можно подумать просто и бескомпромиссно: “Если симпатична и есть о чём поговорить, то влюблюсь. Если ни то и ни другое, то — увольте.”

Но что если дама мне симпатична, но с ней не о чем разговаривать? Или наоборот?
Всего голосов 60: ↑59 и ↓1+58
Комментарии92

Фиеричная система счисления, или почему 1 + 10 = 100

Время на прочтение9 мин
Количество просмотров62K
«10.01 х 10.01 = 1000.1001»
Джордж Оруэлл. «1010001001001000.1001001000100001»


image


Существует ли позиционная система счисления с иррациональным основанием, в которой все натуральные числа записываются конечным числом цифр? В которой число больше единицы, не имеющее цифр после запятой, наверняка не целое и даже не рациональное? В которой 1 + 10 = 100, а 1 + 1 = 10.01?
Я заинтригован и хочу узнать ответ
Всего голосов 92: ↑89 и ↓3+86
Комментарии54

Нейронная сеть Хопфилда на пальцах

Время на прочтение7 мин
Количество просмотров81K

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


Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии22
1
23 ...

Информация

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