Pull to refresh
4
0
si1v3r @si1v3r

User

Send message

Как воспитать в своей семье юного инженера и не разориться?

Level of difficultyEasy
Reading time8 min
Views19K

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

Короче, слушайте
Total votes 64: ↑62 and ↓2+60
Comments32

DIY Zigbee датчик СO2 для вашего Умного дома

Level of difficultyEasy
Reading time14 min
Views21K
Приветствую всех читателей Habr. Меня зовут Андрей, примерно около 5 лет я осознано занимаюсь DIY разработкой электронных устройств для своего «Умного дома», да и не только для своего. Сегодня хочу рассказать об одном из моих DIY проектов, небольшом устройстве для контроля уровня углекислого газа. Проект называется EFEKTA iAQ, это датчик с круглым IPS TFT дисплеем, сенсором CO2, работающий на протоколе Zigbee.

Читать дальше →
Total votes 48: ↑46 and ↓2+44
Comments49

Как выбрать оптимальный способ соединения деталей в пластиковых корпусах

Reading time5 min
Views15K

Почему эту статью нужно читать? Потому что выводы, здесь сделанные, помогут вам не накосячить при выборе метода сборки корпуса вашего устройства. Как минимум – критически оценить уже принятые решения :)

Читать и смотреть картинки
Total votes 64: ↑64 and ↓0+64
Comments31

Как вкатиться в геймдев начинающему винтику

Level of difficultyEasy
Reading time18 min
Views37K

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

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

Если вы готовы пройти через всё это, чтобы создавать игры — добро пожаловать под кат. Я покажу путь.

Портал в ад
Total votes 65: ↑63 and ↓2+61
Comments31

Taichi и 100-кратное ускорение Python-кода

Reading time12 min
Views34K

Python стал самым популярным языком во многих быстроразвивающихся областях, таких, как глубокое обучение и различные направления анализа и обработки данных. Но при этом за удобство работы с Python-кодом, за высокий уровень его читабельности, приходится платить производительностью. Конечно, все мы время от времени жалуемся на скорость работы программ, и Python, безусловно, не стоит винить во всех грехах. Несмотря на это, справедливым будет заявление о том, что природа Python, интерпретируемого языка, не способствует высокой производительности кода, особенно когда речь идёт о «тяжёлых» вычислениях (один из признаков таких вычислений — наличие в программе нескольких вложенных циклов).

Если вы когда-либо попадали в одну из следующих ситуация — тогда эта статья, определённо, написана для вас.

Читать далее
Total votes 53: ↑53 and ↓0+53
Comments5

Искусственный интеллект в DOOM

Reading time11 min
Views39K

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

Читать далее
Total votes 122: ↑120 and ↓2+118
Comments23

Возрождение простых сайтов. Статика, 0kB JS, ничего лишнего

Reading time8 min
Views41K

Как мы обсуждали в прошлый раз, удручающее ожирение сайтов и софта вернуло моду на простые, маленькие проекты. И сейчас происходит своеобразный ренессанс веба 90-х, вплоть до стиля Geocities (такой был бесплатный хостинг) и веб-страниц в виде PDF. Таковы примеры самореализации. У каждого человека — уникальный сайт, который отличается от остальных и отражает его личность.

Статический сайт можно выполнить в одном файле HTML, а динамический — в одном бинарнике (под катом). Тенденция видна везде. Современные фреймворки даже хвалятся «0кБ JavaScript» по дефолту, а браузеры внедрили технические усовершенствования, которые во многом аннулируют преимущества использования SPA.
Читать дальше →
Total votes 107: ↑101 and ↓6+95
Comments72

Водопровод в современной квартире

Reading time11 min
Views79K

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

Читать далее
Total votes 190: ↑173 and ↓17+156
Comments366

Как работать с числами с плавающей точкой в Python

Reading time9 min
Views54K

К старту курса по Fullstack-разработке на Python делимся решениями классической проблемы неточности чисел с плавающей точкой для новичков. В материале вы найдёте примеры работы с функциями и классами, предназначенными специально для решения проблем чисел с плавающей точкой.

Читать далее
Total votes 27: ↑25 and ↓2+23
Comments3

Профилирование Python-программ и анализ их производительности

Reading time14 min
Views22K

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

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

Читать далее
Total votes 26: ↑25 and ↓1+24
Comments0

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

Reading time12 min
Views18K

А вы знали, что бывает такая атака на компилятор через бэкдор, защититься от которой невозможно? В этом посте я покажу вам, как реализовать такую атаку менее чем в 100 строках кода. Кен Томпсон, создатель операционной системы Unix, рассказывал о такой атаке еще в 1984 году в своей лекции по поводу присуждения Премии Тьюринга. Такая атака по-настоящему опасна и сегодня, причем, не известно решений, которые обеспечивали бы полную неуязвимость от нее. Вирус  XcodeGhost, открытый в 2015 году, проводит атаку через бэкдор по методу, предложенному именно Томпсоном. Я покажу здесь атаку Томпсона на языке   C++, но этот пример легко адаптировать для любого другого языка. Дочитав эту статью, вы крепко задумаетесь, а осталось ли у вас вообще какое-то доверие компилятору.

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

Читать далее
Total votes 63: ↑61 and ↓2+59
Comments26

Создание и опыт использования клавиатуры Dactyl LightCycle

Reading time6 min
Views15K

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

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

Клавиатур «правильного» форм-фактора крайне мало. Есть хороший вариант Kinesis Advantage, но это редкость даже за рубежом, а в России их раздобыть практически невозможно. Поэтому я решил взять производство в свои руки. И вот что из этого получилось.

Читать далее
Total votes 60: ↑59 and ↓1+58
Comments44

Банальная проблема незапуска AVR, решение которой глубоко под землей

Reading time2 min
Views12K

Представим: купили вы новый камень для своего проекта, а он - зараза - не шьется! Все собрано правильно, программатор правильный - всё равно ошибка. Знакомо? Мне да.

Вам тоже?
Total votes 8: ↑7 and ↓1+6
Comments27

Простое шифрование БД SQlite

Reading time4 min
Views17K

Так получилось, что я очень люблю использовать SQLite СУБД.


Программируя на ассемблере, я иногда нуждаюсь в полноценной СУБД. Мои программы редко превышают в размере несколько сотен килобайт. Понятно, что использовать с ним СУБД в несколько сотен мегабайт по меньшей мере просто смешно, а в конце концов, очень неудобно – сразу возрастают требования к оборудованию и сложности установки и настройки, а в итоге уменьшается надежность всей системы.


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


К примеру, я использовал SQLite в моем движке форума AsmBB о котором уже писал на Хабре. (Кстати, после этого он так и не упал).


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


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


Быстрый поиск по Интернету показал, что есть несколько расширений SQLite для шифрования БД. К сожалению, официальное расширение SEE несвободно и вообще продается за деньги.


Но, конечно, свято место пусто не бывает и я сразу наткнулся на расширение SQLeet. И в нем мне понравилось буквально все.

Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments5

systemd десять лет спустя. Историческая и техническая ретроспектива

Reading time18 min
Views49K
Десять лет назад был анонсирован systemd, который устроил революцию в управлении системой дистрибутивов Linux, тем самым разделив пользователей Linux на несколько лагерей. Качество и природа дебатов не сильно улучшилась со времён пламенных войн 2012-2014 годов, и systemd всё ещё остаётся не до конца понятым и изученным инструментом и с технической, и с общественной стороны, несмотря на пристальное внимание к нему сообщества.

Это пост не совсем о том, как пользоваться systemd. Тут, скорее, будет говориться об истории его возникновения, о его компонентах в целом, и о том, как понять систему, которая начиналось как просто PID 1 и стала тем, что я бы назвал middleware современного дистрибутива Linux.

А может, это просто набор крайне вольных переводов различных материалов с блогов, каналов и статей на Arch wiki. Вам решать.

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

Но прежде чем начать речь о systemd, хочу рассказать об init.
Читать дальше →
Total votes 97: ↑95 and ↓2+93
Comments438

Руками не трогать! Управляем веб-страницей с помощью веб-камеры

Reading time4 min
Views10K


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


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

Читать дальше →
Total votes 32: ↑32 and ↓0+32
Comments12

Как просканировать весь интернет

Reading time5 min
Views34K


Весь диапазон IPv4 адресов — это 4-миллиарда IP-адресов. Это кажется огромной цифрой, но весь IPv4 интернет можно полностью просканировать на предмет одного TCP-порта за 40 минут, например найти все веб-серверы в мире или все открытые SSH-порты. При этом достаточно одного сервера и гигабитного канала. Это полезно для исследований, например если вы собираете статистику по используемым технологиям в мире, или оцениваете процент уязвимых сервисов, открытых наружу.

Программа zmap (не путать с nmap) позволяет сканировать огромные диапазоны сетей намного быстрее любого сканера из-за особой архитектуры. В статье мы рассмотрим пример как собрать список всех веб-серверов в мире с помощью zmap. Имея список хостов с открытым HTTP портом, уже можно использовать более интеллектуальный сканер, передавая ему точный список целей.
Читать дальше →
Total votes 32: ↑28 and ↓4+24
Comments29

Детекция изменений в сцене и сохранение видеофрагментов в формате h264 на Raspberry Pi без декодирования

Reading time6 min
Views7K


Добрый день. В этой статье я расскажу, далеко не в первый раз, как на Raspberry Pi 3 и более слабых платформах одновременно детектировать движение и сохранять/транслировать видео в формате H264. Я поделюсь с такими же новичками в мире Raspberry Pi, как и я, о том, что узнал сам за несколько дней, пока разбирался в способах решения задачи. Говорить буду о работе с камерой Raspberry Pi простым человеческим языком.

Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments18

Основные linux-команды для новичка

Reading time14 min
Views781K
Linux — это операционная система. Как винда (windows), только более защищенная. В винде легко подхватить вирус, в линуксе это практически невозможно. А еще линукс бесплатный, и ты сам себе хозяин: никаких тебе неотключаемых автообновлений системы!

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

Я дам кратенькое описание основных команд с примерами (примеры я все проверяла на cent os, red hat based системе) + ссылки на статьи, где можно почитать подробнее. Если же хочется копнуть еще глубже, то см раздел «Книги и видео по теме». А еще комментарии к статье, там много полезного написали)
Читать дальше →
Total votes 80: ↑65 and ↓15+50
Comments170

Приточная вентиляция совмещенная с канальным кондиционером (часть 1 — электрическая)

Reading time11 min
Views75K

схема_малая


Хочу поделиться опытом проектирования, монтажа и эксплуатации своей системы приточной вентиляции совмещенной с канальным кондиционером. Система
собиралась в 2012-2013 годах и с тех пор находится в постоянной эксплуатации.


Статью разделил на две части:


  • в первой части описана классическая схема приточная вентиляции с использованием электрического канального подогревателя
  • во второй части рассказано про неоднозначный опыт переработки системы под водяной калорифер с питанием от общедомовой системы отопления
Читать дальше →
Total votes 60: ↑59 and ↓1+58
Comments229

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity