Как стать автором
Обновить
34
0
Дмитрий @artyfarty

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

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

Малиновый Прог против Интернета Кирпичей, или Raspberry Pi с графикой на read-only microSD

Время на прочтение16 мин
Количество просмотров87K
Запуск Raspberry Pi с полной поддержкой графики на microSD, навсегда остающейся в режиме read-only после установки системы. Отсутствие какой-либо записи данных на флэш-память повышает надёжность устройства, приближая его к промышленному классу изделий. Пошаговая инструкция. Небольшой театр инженерного абсурда для развлечения аудитории.


Мне понадобилось сетевое устройство с открытым кодом и выходом HDMI, и я решил попробовать Малиновый Прог. Да, я именно так предлагаю переводить Pi: Прог. Понятное дело, даже одноплатнику нужна операционка. И вот, захожу я на официальный сайт, ожидая встретить там подробное руководство по созданию суровой, неломаемой Вещи à la turnkey box. Но народ, как ни в чём не бывало, устанавливает Ubuntu (т.е. Raspbian Jessie) прямо на microSD, размещая и swap там же. Как обычный десктоп, face palm.

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

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

«Полезняшки» или «Реестр Windows как платформа»

Время на прочтение10 мин
Количество просмотров49K
Хочу рассказать вам историю, как решение конкретных прикладных задач привело меня к использованию реестра Windows в качестве платформы для хранения и исполнения кода.
Читать дальше →

Климатическая система в квартире своими руками

Время на прочтение21 мин
Количество просмотров109K
Кто-то в детстве мечтает изобрести лекарство от рака, кто-то — стать космонавтом или владельцем свечного заводика. А я мечтал о том, что у меня появится климатическая система, и в квартире, наконец, не будет душно, вечная простуда от сквозняков исчезнет, а горло перестанет першить от сухости. И теперь мечта исполнена!

Примерно с декабря 2015 по июнь 2016 года я читал форумы, катался по строительным магазинам, собирал систему в квартире и на балконе, паял контроллер и писал прошивку — и добился своего.

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

Схема установки
А если чуть подробнее, то...

Исследуем защиту и восстанавливаем аркады Namco System ES1

Время на прочтение10 мин
Количество просмотров27K
Tank! Tank! Tank! Arcade

Введение

Эта история началась практически сразу после написания статьи об исследовании аркады небезызвестной корейской компании: в аркадном автомате Tank! Tank! Tank! от Namco вышел из строя жесткий диск (что неудивительно, т.к. производитель установил в автомат не отличающиеся надежностью Seagate 7200.12), диск взяли с рабочей аркады и скопировали его через WinHex, после чего игра перестала запускаться. Предположив, что целостность диска была нарушена неосторожным нажатием клавиши в окне редактирования данных на диске в WinHex, был взят другой диск с еще одного рабочего автомата, скопирован аналогичным образом, который также перестал запускаться. Тут-то и стало понятно, что в диск каким-то образом встроена защита от копирования.
Arcade Linux Error
Читать дальше →

Яндекс открывает ClickHouse

Время на прочтение14 мин
Количество просмотров169K
Сегодня внутренняя разработка компании Яндекс — аналитическая СУБД ClickHouse, стала доступна каждому. Исходники опубликованы на GitHub под лицензией Apache 2.0.



ClickHouse позволяет выполнять аналитические запросы в интерактивном режиме по данным, обновляемым в реальном времени. Система способна масштабироваться до десятков триллионов записей и петабайт хранимых данных. Использование ClickHouse открывает возможности, которые раньше было даже трудно представить: вы можете сохранять весь поток данных без предварительной агрегации и быстро получать отчёты в любых разрезах. ClickHouse разработан в Яндексе для задач Яндекс.Метрики — второй по величине системы веб-аналитики в мире.

В этой статье мы расскажем, как и для чего ClickHouse появился в Яндексе и что он умеет; сравним его с другими системами и покажем, как его поднять у себя с минимальными усилиями.
Читать дальше →

Как перезагрузить сервер?

Время на прочтение6 мин
Количество просмотров133K
Abstract: описание видов ребута, рассказ про sysrq, ipt_SYSRQ, ipmi, psu.

Как перезагрузить сервер? — Это вопрос, который обычно задают ну очень начинающим пользователям, которые путаются между halt, shutdown -r, reboot, init 6 и т.д.

Опытный администратор уточнит вопрос: «а что с сервером не так?» Разные виды отказов серверов требуют разных видов ребута — и неверно выбранный вариант приведёт к тяжелейшим последствиям, из которых визит в веб-морду IPMI/DRAC/iLO с целью «доперезагрузить» будет самым лёгким. Самым тяжёлым в моей личной практике была командировка эникейщика в соседний город. С целью «нажать ребут» на одиноко стоящем сервере.

В этой статье: что мешает серверу перезагрузиться и как ему помочь.

Начнём с теории ребута.

При выключении или перезагрузке сервера менеджер инициализации (в большинстве современных дистрибутивов — systemd, в эксцентричной Ubuntu 14.04 до сих пор upstart, в архаичном хламе — sysv-init) в определённом порядке посылает всем демонам команду «выключись». И большинство демонов (например, СУБД, вроде mysql) знают, как выключаться правильно. Например, закончить все транзакции, сохранить все несохранённые данные на диск и т.д. Для in-memory СУБД, наподобие redis, это и вовсе может быть критичным: не сохранил — потерял.

Старые системы иницализации ждали неограниченно долго каждый из инит-скриптов. Например, если «шутник» добавил вам в «stop» веточку «sleep 3600», то ваш сервер будет перезагружаться час с хвостиком. А если там цифра поболе, или просто программа, которая не хочет завершаться, то и ребут никогда не закончится.
Читать дальше →

Modulo Camera не умеет снимать засвеченные фотографии

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


Проблемы с передержанными фотографиями навсегда уйдут в прошлое, если разработка специалистов из Массачусетского технологического института окажется так хороша, как её описывают на сайте института. А это вполне возможно: не зря научная работа заняла почётное второе место на Международной конференции по вычислительным методам в фотографии (2015 International Conference on Computational Photography).

Новая фотокамера Modulo Camera с расширенным динамическим диапазоном (High Dynamic Range) делает отличные снимки независимо от условий освещения. Самые тёмные и самые светлые объекты в кадре будут одинаково хорошо детализированы.
Читать дальше →

Чистилка. Боремся с нечистым на руку софтом

Время на прочтение3 мин
Количество просмотров29K
Некоторое время назад моя сестра попросила посмотреть ноутбук который «глючит». Выражалось это в показе рекламных баннеров со звуком на рабочем столе, открытие дополнительных вкладок в браузере. И, самое главное, загрузка iframe с рекламой, который полностью перекрывал страницу и не давал нормально пользоваться интернетом.



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

Дело о загадочном Access denied

Время на прочтение4 мин
Количество просмотров48K
Утром в службу поддержки обратился один из разработчиков корпоративного приложения. Он не мог сделать копию с базы данных MS SQL Server, и просил выяснить причину ошибки.

Первое с чего стоит начать — проверить ошибку на воспроизводимость.
Попробуем снять копию командой:
BACKUP DATABASE [SDB] TO DISK=N'\\FS1\Backup\sdb_full.bak' WITH COPY_ONLY

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

Не Таиландом единым или Как фрилансеру за три часа поменять место обитания без проблем с визами

Время на прочтение10 мин
Количество просмотров51K
С падением курса рубля жизнь фрилансера-путешественника сильно осложнилась. Однако если все же заработок позволяет, а европейского гостеприимства, как и солнца, ох как не хватает в России – добро пожаловать в восемь стран, где фрилансер найдет покой и красивую картинку позади монитора без проблем и волнений с оформлением виз.


Маршруты кочевников за полторы тысячи лет не поменялись. Но нравы стали помягче
Читать дальше →

Выбор платформы для экспериментов с БПЛА

Время на прочтение8 мин
Количество просмотров55K
Выбрать платформу для экспериментов с БПЛА сейчас есть из чего. Автопилотов на рынке много, поэтому прежде всего последует небольшой обзор доступных устройств, а затем рассмотрим победителя — Pixhawk (да да, вот так, сразу, никакой интриги).

Критерии выбора:

  • открытая архитектура (software & hardware);
  • современная элементная база (отпадает все по шаблону *avr*);
  • грамотная, красивая архитектура (отпадают шаблоны *ardu*o и *Rasberi*);
  • механизмы SIL/HIL симуляции;
  • наличие открытого ПО наземной станции.

Посмотрим, что осталось:
Читать дальше →

Sound Keeper — предотвращает «засыпание» цифровых аудио-выходов SPDIF или HDMI

Время на прочтение2 мин
Количество просмотров19K
Если вы когда-нибудь пользовались цифровыми аудио-выходами (SPDIF или HDMI), наверняка вы сталкивались с проблемой, когда во время тишины акустика «засыпала», после чего начало следующего звука обрезалось из-за того, что акустике нужно время на «пробуждение» и инициализацию после сна. Это сильно раздражает. Если у вас никогда не было такой проблемы — значит вам повезло с драйвером. Если же проблема имеет место — она решается непрерывным воспроизведением абсолютной тишины. Костыль, но это единственный доступный способ заставить драйвер не выключать цифровой аудио-выход.

Ранее для этих целей существовала одна программа с названием SPDIF Keep Alive. Но на мой взгляд она слишком тяжёлая для решения такой простой задачи: требует наличия фреймворка .NET, расходует слишком много памяти и процессорного времени. Поэтому я написал на C++ новую программу для решения проблемы.

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

Concurrency структуры в .net. ConcurrentDictionary изнутри

Время на прочтение4 мин
Количество просмотров40K
Все началось с одного собеседования, которое и натолкнуло меня к написанию данной статьи. Довольно большая часть разработчиков на платформе .Net не понимает базовые вещи, хотя и использует их повседневно, например lock-ом оборачивают все методы, использующие ConcurrentDictionary, хотя можно было бы обойтись обычным Dictionary<>.

В науке существуют 3 основных способа реализации конкурентных структур данных:
• Lock-free структуры данных;
• Fine-grained блокировка;
• Transactional memory implementation(транзакционная память);

ConcurrentDictionary<TKey, TValue> — это thread-safe аналог Dictionary<TKey, TValue>. В его основе лежит, так называемый Fine-grained блокировка.
Читать дальше →

Ракета на термоядерном топливе от MSNW

Время на прочтение15 мин
Количество просмотров52K
С днём космонавтики! Прочитав пост «Под эгидой NASA строят термоядерный космический двигатель», я решил найти более подробную информацию о данном проекте. Далее я хочу рассказать о том, что же представляет из себя этот двигатель, и как он работает.



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

GTD на кухне: чем накормить голодного программиста

Время на прочтение9 мин
Количество просмотров56K
imageИтак, как и обещал в первой части, продолжаем упрощать бытовую жизнь хабражителя. Сегодня 8 марта (кстати, девушки, поздравляю!) и части мужчин хочется порадовать своих женщин и освободить их от «рабского труда» на кухне, а другой части – приготовить для себя не традиционные пельмени\вареники\сосиски, а что-то посущественней.
Вот несколько проверенных рецептов, которые пригодятся и первым, и вторым.

Осторожно, много картинок. Голодным не входить!
Читать дальше →

Как начать летать, хоть на чем-то, самостоятельно

Время на прочтение7 мин
Количество просмотров287K
Мое детство прошло среди людей которые все время на чем то летали. Строили, разрабатывали новое и тут же на нем летали. В 5 лет для меня стало открытием, что кто то в этом мире может не летать. К своим 26 годам я успел попробовать почти все на чем можно летать. Хочу поделиться своим опытом и рассказать о доступных возможностях.
Что бы начать летать у Вас есть такие варианты:

1. Парители (в этой статье)
  • Параплан
  • Дельтаплан
  • Планер

2. Моторный полет (вторая статья)
  • Легкий самолет
  • Мотодельтаплан
  • Паратрайк
  • Парамотор
  • Мотопланер



Начать летать самостоятельно

Принцип 20/80 на примере Хабра

Время на прочтение4 мин
Количество просмотров2.5K
Как-то стало интересно действует ли Закон Парето на таком само регулируемом ресурсе как Хабр. Кратко напомню что закон Парето это «Принцип 20/80» в данном случае можно трактовать что 20% пользователей приносят 80% результата. И раз уж на нашем ресурсе есть весьма точный метод оценка результатов пользователей на основе мнения разнородной, независимой, децентрализованной толпы. Почему бы не взять его в расчет. Про метод оценки читаем книгу «Мудрость толпы» Джеймса Шуровьески (мне кажется каждый Хабаровчанин должен о ней знать). Для оценки брались значения кармы (общий результат деятельности за все время по мнению других пользователей) и рейтинга (результат деятельности за последние 50 дней по мнению синтетических алгоритмов хабра).

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

Картинка для красоты:
image

Расчеты под катом

Активация Windows

Время на прочтение8 мин
Количество просмотров55K
Винда релизится только раз в году, а убунта два раза. 2:1 — пингвин выйграл.

image

Близится час Х, в связи с чем решил посмотреть, что предлагают нам пираты для решения проблем с операционной системой.
Читать дальше →

Бесплатность некачественного продукта — не индульгенция

Время на прочтение3 мин
Количество просмотров665
В очередной дискуссии об одной бесплатной программе и претензиям к ней проскочило:

Я просто не понимаю возмущения, не нравится БЕСПЛАТНЫЙ сервис/софт — не пользуйтесь. Зачем вопить об этом на всю Ивановскую?.. Найдите аналог, который будет устраивать.


Конечно, все мы знаем, что бесплатный сыр только в мышеловке (согласно данной мудрости все пользователи бесплатного софта закончат свои дни под металлическим прутом со сломанной шеей).

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

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

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

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

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

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

Так вот.

«Это кружка, мы даём её вам бесплатно» — это информация о продукте и определённые обещания относительно него, которые нужно выполнять.

«Это красный крест, мы лечим вас бесплатно» — это информация об услуге и обещания относительно её качества, которые нужно выполнять.

«Это [такой-то] софт» — это информация о продукте, означающая, что софт должен отвечать [таким-то] ожиданиям.

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

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

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

15 хаков для iPhone, которые сделают вашу жизнь проще

Время на прочтение6 мин
Количество просмотров11K
Несомненно, многие скажут, что iPhone обладает всем, чего можно ждать от смартфона. И хотя он на самом деле даёт нам многое, современное общество всегда будет желать большего. Мы не неудовлетворены айфоном (да это же потрясающая штука), но мы всё равно хотели бы добавить чуточку сверх функционала, ведь правда в том, что есть маленькие задачки, которые невозможно решить без внедрения небольшого хака. Да и к тому же есть вещи, которые Эпл просто не хотел бы вам позволять.

Этот список состоит из 15 пунктов, которые позволят получить тот скромный прирост функционала, что оптимизирует работу айфона. Эти изменения несомненно ещё больше улучшат ваше отношение к мобильным устройствам да и просто облегчат жизнь…

Все хаки были проверены и мы подтверждаем их работоспособность.

Ой как мне интересно!
1
23 ...

Информация

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