Как стать автором
Обновить
49
0
Sergey V. Karpesh @walhi

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

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

Анонимный Дед Мороз 2021-2022: пост хвастовства новогодними подарками

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

Какой самый частый комментарий после запуска Хабра-АДМ? Верно! "Пора делать пост Хвастовства." Что ж, пора - значит пора!

Пост Хвастовства объявляется открытым!

С НАСТУПАЮЩИМ НОВЫМ 2022 ГОДОМ!

PS: А если вам кажется, что комментариев пока слишком мало, можете посмотреть, как это было в прошлых сезонах: 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020.

Хвастаться и завидовать
Всего голосов 72: ↑71 и ↓1+70
Комментарии359

STM32F3xx + FreeRTOS. Modbus RTU с аппаратным RS485 и CRC без таймеров и семафоров

Время на прочтение9 мин
Количество просмотров25K
Всем привет! Относительно недавно, закончив ВУЗ, я попал в небольшую компанию, которая занималась разработкой электроники. Одна из первых задач с которой я столкнулся — необходимость в реализации Modbus RTU Slave протокола с использованием STM32. С грехом пополам я её тогда написал, однако этот протокол начал встречаться мне из проекта в проект и я решил зарефакторить и оптимизировать либу с использованием FreeRTOS.
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии24

Маркировка сигарет. Строение кода маркировки

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

В этой статье я постараюсь прояснить техническую часть и состав маркировки сигарет.
Простите меня Хабр читатели за укороченный обзор.

Читать дальше →
Всего голосов 79: ↑75 и ↓4+71
Комментарии151

Как объяснить своей бабушке разницу между SQL и NoSQL

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

Одно из наиболее важных решений, которые принимает разработчик, заключается в том, какую базу данных использовать. В течение многих лет опции были ограничены различными вариантами реляционных баз данных, которые поддерживали язык структурированных запросов (SQL). К ним относятся MS SQL Server, Oracle, MySQL, PostgreSQL, DB2 и многие другие.

За последние 15 лет на рынке появилось много новых баз данных в рамках подхода No-SQL. К ним относятся хранилища ключей-значений, такие как Redis и Amazon DynamoDB, широкие колоночные базы, такие как Cassandra и HBase, хранилища документов, такие как MongoDB и Couchbase, а также графовые базы данных и поисковые системы, такие как Elasticsearch и Solr.

В этой статье мы попробуем разобраться в SQL и NoSQL, не влезая в их функционал.
Кроме того, мы немного повеселимся в процессе.
Читать дальше →
Всего голосов 21: ↑16 и ↓5+11
Комментарии11

Игры для NES/Famicom/Денди глазами программиста

Время на прочтение5 мин
Количество просмотров119K
Это пост про ограничения старых видеоигр. Сам я под NES никогда не программировал, но с архитектурой поверхностно познакомился. Теперь я не могу играть в игры для NES, не задумываясь, как же они устроены. Иногда это на столько вызывает восхищение, что невольно забываешь про саму игру. «Чему же там восхищаться?», — скажете вы. Да просто укладываться во все ограничения NES, но при этом делать игру красивой, — это действительно целое искусство.

Сейчас я постараюсь рассказать об этом вам, максимально всё упростив.
Читать дальше →
Всего голосов 236: ↑236 и ↓0+236
Комментарии81

Meteor. Разрабатываем TODO List

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

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

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

И еще одно предупреждение: в данном уроке будут использоваться следующие технологии для непосредственного написания примера:

  • jade — html препроцессор;
  • less — css препроцессор;
  • coffeescript — язык программирования, компилируемый в javascript.

Видео, демонстрирующее приложение, полученное в ходе урока



И кому все еще интересно, добро пожаловать под кат.
Читать дальше →
Всего голосов 67: ↑59 и ↓8+51
Комментарии19

Анонс Brackets 1.0 и Extract for Brackets (Preview версия)

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

Я думаю, что большое количество людей, занимающихся или интересующихся веб-разработкой давно уже опробовали open-source IDE Brackets. На хабре не раз упоминали о ней (например, тут), поэтому не буду много разглагольствовать и перейду к сути.

Сегодня, спустя почти 3 года, в течение которых участвовало 245 контрибьюторов, наконец вышла версия 1.0 — способ объявить миру, что Brackets готов. Несмотря на то, что выпуск имеет версию 1.0, разработчики относятся к нему как и к любому другому релизу. Новые продолжат выпускаться так же часто как и сейчас — каждые 3-4 недели.

Встречайте Extract for Brackets (preview)


Отдельно заслуживает внимания плагин Extract for Brackets, который наконец доступен для публичного тестирования, предназначенный упростить верстку веб-сайтов.
Читать дальше
Всего голосов 38: ↑35 и ↓3+32
Комментарии78

Textolite — система управления статическим сайтом

Время на прочтение2 мин
Количество просмотров41K
В последнее время в сети все чаще стали появляться обычные статические сайты, что не может не радовать. Неповоротливость некоторых популярных CMS только растет, при этом довольно часто CMS вообще не нужна. Статические сайты удобны со всех сторон, в сравнении с динамическими одни только преимущества. Такие сайты удобно разрабатывать, удобно использовать, приятно посещать, но неудобно обновлять. Решением этой проблемы может стать система Textolite, о которой я хотел бы рассказать подробнее.
Читать дальше →
Всего голосов 35: ↑22 и ↓13+9
Комментарии38

Трёхканальный UART АЦП на ATtiny13

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


Привет хабр. Я уже давно вынашивал сделать UART Аналогового-Цифрового Преобразователя на ATtiny13, зачем делать именно на ATtiny13 ведь есть, к примеру, ATmega8 имеет аж 6 (для DIP корпуса) портов на которых, при помощи мультиплексора, можно проводить измерение АЦП?
Причин несколько:

— ATtiny13 стоит дешевле;
— В ATtiny13 более оптимально используются ресурсы микроконтроллера;
— Размеры;
— Энергопотребление;
— Просто мне так захотелось.

Конечно на мои аргументы можно найти множество контраргументов, например ATmega8 при использовании V-USB может превратится в плату ввода/вывода которой не нужен переходник с UART на USB, правда кроме последнего, и с этим пожалуй не поспоришь.

Поставил себе за цель получить опыт работы с программный UART'ом именно на ATtiny13, а опыт как говорится, бесценный. По-любому пригодится для будущих проектов.
Ну ладно, не буду тянуть и покажу, как работает в железе:



Пару слов по схеме, кстати, вот она:
Хотя бы схему посмотрю
Всего голосов 28: ↑22 и ↓6+16
Комментарии14

Adobe бесплатно раздает Creative Suite 2 (или же не раздает?)

Время на прочтение2 мин
Количество просмотров318K
Читайте UPD7, Adobe разместила официальный ответ в своем блоге.

Акция невиданной щедрости от Adobe. Они решили раздать хоть и устаревший, но все же полный Creative Suite второй версии. Доступны версии как под Mac (PowerPC) так и под Windows.

В комплекте:
  • Creative Suite 2
  • Acrobat 3D 1.0 for Windows
  • Acrobat Standard 7.0
  • Acrobat Pro 8.0
  • Audition 3.0
  • GoLive CS2
  • Illustrator CS2
  • InCopy CS2
  • InDesign CS2
  • Photoshop CS2
  • Photoshop Elements 4.0/5.0
  • Adobe Premiere Pro 2.0


Спешите, количество скорее всего ограничено. Получить можно тут. Для получения необходима регистрация.


Скачать можно тут

UPD: Сайт слег, ключи одни и те же для всех. Под катом ключи и ссылки на софт. А так же сообщение от одного из разработчиков, говорящее что данные ключи и установщики могут использоваться только теми у кого уже есть купленная лицензия на CS2.
Читать дальше →
Всего голосов 194: ↑188 и ↓6+182
Комментарии388

Делаем настольное устройство для изготовления печатных плат в один клик

Время на прочтение5 мин
Количество просмотров277K
В очередной раз отмывая раковину от рыжих пятен хлорного железа, после травления платы, я подумал, что пришло время автоматизировать этот процесс. Так я начал делать устройство для изготовления плат, которое уже сейчас можно использовать для создания простейшей электроники.

image

Ниже я расскажу о том, как делал этот девайс.
Читать дальше →
Всего голосов 161: ↑161 и ↓0+161
Комментарии164

Как IPv6 помогает роутеры ломать

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

Предисловие


Проснулся я сегодня с мыслью, что огромное количество инструкций по настройке NAT советуют использовать строку вида:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Многие понимают проблемы этой конструкции, и советуют добавлять:
iptables -A FORWARD -i ppp0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

Но, зачастую, забывают задать таблице FORWARD действие DROP по умолчанию, или добавить правило REJECT в конец таблицы.
На первый взгляд, вроде бы, все кажется нормальным. Однако, это далеко не так. Дело в том, что если не запретить маршрутизировать трафик из WAN-порта в WAN-порт, кто-нибудь из вашей WAN-сети (предположим, что провайдер садит весь подъезд в одну /24) может маршрутизировать трафик через вас, просто прописав ваш IP в качестве шлюза. Все современные SOHO роутеры это учитывают, а вот неопытный администратор, который делает роутер под обычным linux, может не знать или забыть об этом. В подсети моего провайдера таких роутеров не оказалось, и мой план по захвату мира провалился. Однако, статья совсем не об этом.

Магические двоеточия


Как вы, может быть, знаете, многие современные программы и сервисы биндятся на IP :: (два двоеточия), а не на 0.0.0.0, как было раньше. IPv6 адрес :: значит то же самое, что и IPv4 0.0.0.0, т.е. «слушаем все интерфейсы». Многие считают, что если программа слушает ::, то этот сокет может принимать только IPv6-соединения, однако это далеко не так.
В IPv6 есть так называемое отображение IPv4-адресов в IPv6 диапазон. Если программа слушает сокет ::, а к ней обращаются из IPv4-адреса 1.2.3.4, то программа получит соединение с адреса ::ffff:1.2.3.4. Этого можно избежать, сделав:
sysctl -w net.ipv6.bindv6only=1

Но это нужно далеко не всегда, т.к. обычно удобно, что программа слушает один сокет, а получать соединения может по двум протоколам сразу. Практически во всех дистрибутивах, IPv6-сокеты ведут себя именно так, т.е. bindv6only=0.
Читать дальше →
Всего голосов 115: ↑113 и ↓2+111
Комментарии36

Интересные приемы программирования на Bash

Время на прочтение6 мин
Количество просмотров129K
Эти приемы были описаны во внутреннем проекте компании Google «Testing on the Toilet» (Тестируем в туалете — распространение листовок в туалетах, что бы напоминать разработчикам о тестах).
В данной статье они были пересмотрены и дополнены.
Читать дальше →
Всего голосов 181: ↑175 и ↓6+169
Комментарии67

Псевдографика в консоли Unix/Linux. Немного больше User Friendly чем вы могли себе позволить

Время на прочтение14 мин
Количество просмотров31K
Привет! Бывает, хочется забыть о «скучной» консоли, разбавить ее хоть капелькой интерактива, особенно если часто приходиться делать одни и теже операции и тем более если вы пишите для облегчения своей участи скрипты. Итак, псевдографика. За мной читатель, я покажу тебе такую консоль!
Читать дальше →
Всего голосов 196: ↑186 и ↓10+176
Комментарии32

Крепление планшета к вертикальной поверхности своими руками

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


Давайте немного помечтаем и нарисуем в своем воображении портрет «умного выключателя». Это нечто плоское, висящее на стене, или даже вмонтированное в нее. Вместо привычного кнопочного выключателя. Нечто с ярким отзывчивым сенсорным экраном. Который выключен в режиме бездействия, но начинает светиться вполсилы при приближении человека и загорается на полную мощность при поднесении руки к экрану, отображая во всей красе органы локального управления инженерными системами. С помощью встроенного wi-fi «выключатель» может связываться как с интернетом, так и с остальными «выключателями», разбросанными по стенам умного дома. «Выключатель» содержит в себе микрофон и динамик, понимает голосовые команды на разных языках и может что-то сказать в ответ.

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

«Утопия» — скажете вы и будете не правы. Всеми необходимыми аппаратными возможностями для реализации подобного сценария обладает уже сегодня большинство китайских недорогих планшетов. Остается всего-то научиться правильно закреплять их на стенах, заряжать беспроводными зарядками (кстати тоже уже широко доступными и относительно недорогими) и написать требуемый софт. Путь предстоит долгий, но начать идти по нему можно уже сегодня.

Под катом небольшой эксперимент с креплением 7" планшета магнитами к вертикальной поверхности.
Читать дальше →
Всего голосов 54: ↑28 и ↓26+2
Комментарии72

ЛУТ на виниле или домашняя Arduino Mini

Время на прочтение4 мин
Количество просмотров227K
Здравствуйте, изначально статья задумывалась как обзор плоттерного винила Oracal 651 в качестве замены фотобумаги для переноса тонера. Однако, в качестве примера я выбрал самодельную версию Arduino Mini (ATMega8) и решил довести статью до логического завершения.



Винил выгодно отличается от фотобумаги и разного рода подложек — процесс изготовления платы становится менее трудоемким и более экономичным, о самом ЛУТ можно почитать здесь.
Внимание, много фотографий!
Всего голосов 112: ↑109 и ↓3+106
Комментарии82

Как я в армии в Warcraft III играл

Время на прочтение6 мин
Количество просмотров142K
В данной статье я опишу способ скрытия приложений на компьютере, удобного запуска и быстрого скрытого их завершения на примере игры Warcraft III в Windows XP.

Так сложилось, что, проходя службу в нашей доблестной армии, у меня периодически появлялся доступ к компьютеру. И так сложилось, что, уходя в армию, я забыл выложить свою флешку, которую постоянно ношу с собой в кошельке. На этой флешке было много разного барахла, один миллион папок с названием «учеба» и архив с названием… tada! wc3.rar
Радости моей не было предела, но тут появился вопрос — как проводить вечера за любимой игрой и при этом остаться незамеченным? На все про все, у меня было 2-3 секунды на закрытие игры.
Читать дальше →
Всего голосов 278: ↑212 и ↓66+146
Комментарии188

Почему пинг к 192.168.072 возвращает ответ от 192.168.0.58

Время на прочтение2 мин
Количество просмотров46K
Если совершить опечатку в IP-адресе, то результат будет странным, на первый взгляд. Например, пинг к 192.168.72 распознаётся как 192.168.0.72, а 192.168.072 уже распознаётся как 192.168.0.58.

Народ слишком усложняет здесь из-за разных RFC, IP-классов и тому подобных вещей. Просто запустите пару тестов и посмотрите, как команда ping парсит входящие значения.

ping
C:\>ping 1
Pinging 0.0.0.1 with 32 bytes of data:

C:\>ping 1.2
Pinging 1.0.0.2 with 32 bytes of data:

C:\>ping 1.2.3
Pinging 1.2.0.3 with 32 bytes of data:

C:\>ping 1.2.3.4
Pinging 1.2.3.4 with 32 bytes of data:

C:\>ping 1.2.3.4.5
Ping request could not find host 1.2.3.4.5. Please check the name and try again.

C:\>ping 255
Pinging 0.0.0.255 with 32 bytes of data:

C:\>ping 256
Pinging 0.0.1.0 with 32 bytes of data:
Читать дальше →
Всего голосов 148: ↑109 и ↓39+70
Комментарии56

Состояние SAMBA 4 на данный момент

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

Это не совсем пост типа «apt-get howto», я просто хотел резюмировать итоги моих выходных и текущего состояния SAMBA4, можно ли это вообще использовать.
Читать дальше →
Всего голосов 38: ↑33 и ↓5+28
Комментарии15
1

Информация

В рейтинге
3 902-й
Откуда
Переславль-Залесский, Ярославская обл., Россия
Дата рождения
Зарегистрирован
Активность