Search
Write a publication
Pull to refresh
-4
0

Программист

Send message

Как самому сделать танцевальную платформу для Dance Dance Revolution

Reading time10 min
Views38K
Здравствуйте, уважаемые хабровчане. Долго размышлял о названии поста, но в конечном счёте решил, пусть и длинно, но написать в нём суть. Под катом пойдёт речь о том, как с нуля создать неплохой игровой контроллер для ритм-игры, при этом не сильно потратившись. И пусть в последнее время периодически проскакивают комментарии, мол, «Хабр уже не «торт», надеюсь, мой «рецепт» придётся вам по вкусу.



Содержание


  • О чём пост
  • Подготовительный этап
  • Хроники короеда (разметка и фрезеровка)
  • Паяй меня, паяй меня полностью (делаем датчики)
  • Святая пара (делаем проводку)
  • Тяп-ляп и в продакшн (сборка)
  • USBсексуал (дружим танцевальную платформу с компьютером)
  • Что дальше? Вместо итогов.

Подробности

Медленная работа SD карточек — кто виноват и что делать?

Reading time6 min
Views127K
Давно думал написать статью на Хабр, но все как-то не решался. Хотя и кажется, что есть мысли, которые были бы небезинтересны сообществу, но останавливает предположение, что это «кажется» проистекает от завышенной самооценки. Тем не менее попробую. Поскольку я профессионально занимаюсь электроникой, в частности, программированием микроконтроллеров, довольно-таки длительное время (как я подозреваю, дольше, чем живет большАя а может даже и бОльшая часть читателей Хабра), то за это время накопилось изрядное количество интересных случаев. Представляю на суд сообщества рассказ об одном из них.

Итак, в одной разработке мне потребовалось сохранять значительные объемы информации с целью последующей передачи через сеть в обрабатывающий центр. Поскольку полученное устройство предполагало серийное производство, был выбран вариант с применением относительно недорогих компонентов, и, в частности, микроконтроллера как центрального элемента системы. Поскольку в тот момент (середина 2012 года) предложение микроконтроллеров с Ethernet PHY на борту не отличалось разнообразием (да и сейчас положение не намного лучше), был выбран МК фирмы TI семейства Stellaris, конкретно LM3S8962, тем более что отладочная плата для него у меня уже имелась. МК на тот момент относительно новый, активно продвигаемый фирмой TI (это в конце 2013 года она ВНЕЗАПНО перевела всю серию в разряд NRND), и обладающий вполне достаточными для решения данной задачи параметрами. Для хранения информациии был выбран вариант с SD карточкой, в первую очередь из за их доступности и дешевизны, а также потому, что на отладочной плате наличествовало контактное устройство для них, а на поставляемом с платой отладки CD имелись многочисленные примеры, в том числе и для SD карт. Интерфейс к карточке был реализован простейший — SPI, предложенные примеры сходу заработали, принятое решение позволяло обрабатывать полученные данные до написания интерфейса при помощи элементарного переноса карточки из устройства в кард-ридер ПК, так что первоначальная отладка алгоритмов взаимодействия с объектом управления проблем не вызвало, по крайней мере в этой части проекта. Как все понимают, проблемы возникли несколько позже…
Читать дальше →

В Firefox Developer Tools добавлена поддержка событий jQuery

Reading time1 min
Views20K
Встроенные инструменты разработки в Firefox становятся все удобнее. image
Возможность просматривать эвенты в Firefox developer tools была доступна и раньше, но поддерживала она только нативные js события. Для этого, надо открыть Dev tools, перейти на вкладку Inspector и если на элемент было повешено событие, то справа от него отображалась пиктограмма «ev», при нажатии по которой можно было посмотреть обработчик.
Читать дальше →

Internet Archive закачает на Flickr более 14 млн свободных исторических изображений

Reading time2 min
Views15K


Один из работников Internet Archive разработал программу для автоматического извлечения иллюстраций из миллионов книг в процессе OCR-сканирования, которое сейчас осуществляет Internet Archive. Калев Литару (Kalev Leetaru) использовал существующий модуль распознавания текста: тот сначала определяет границы иллюстраций, чтобы отбросить иллюстрации перед OCR. Но зачем материалу пропадать?

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

Всего на Flickr закачают 14 млн картинок (на данный момент закачано 2,6 млн).
Читать дальше →

Современные методологии управления производством

Reading time12 min
Views59K

Введение


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

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

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

Рождение новых методологий


Со второй половины XX века (после второй мировой войны) предпринималось множество попыток модифицировать фордистскую модель. В частности на заводах «Тойота» в 50х годах стали ставить эксперименты, адаптируя американские концепции массового производства к реалиям послевоенной промышленности Японии. Тогда была переделана система крепления прессового инструмента, чтобы сделать его замену более быстрой. Потом были и другие новаторские решения и открытия, со временем сложившиеся в новую методологию — Lean Manufacturing (LM) – Бережливое производство.

В 80х и 90х появился целый зоопарк методологий и парадигм по управлению производством, среди которых подробнее остановлюсь на двух: Quick Response Manufacturing (QRM) – Быстрореагирующее производство и Agile Manufacturing (AM) – Активное производство. Современные, более гибкие по сравнению с фордизмом методологии, часто объединяют термином «постфордизм».

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

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

Ниже приведена таблица основных отличий фордисткой и постфордисткой концепций промышленного производства [1].
Признак Фордизм Постфордизм
Базисная ориентация Продукт Клиент
Снижение стоимости единицы продукции За счет объёмов За счет быстрой переналадки оборудования
Работник Рабочая сила (Узкие, малоквалифицированные рабочие) Носитель компетенций (вектор развития, многофункциональные специалисты)
Организационная форма Отдельные рабочие места Командная работа
Отношение к браку Допустимый уровень Абсолютное качество
Инновации осуществляются Специалистами Всем персоналом

Сейчас подробнее о каждой из рассматриваемых новых методологий
Читать дальше →

История создания iOS игры о быстрой реакции и стальных нервах

Reading time7 min
Views35K
В начале апреля я уволился с работы. От переизбытка свободного времени я решил написать игру для iOS. Игра про бедного кубика, которого постоянно преследуют другие геометрические фигуры. Настоящая драма. Кубику нужно продержаться как можно дольше без столкновений. Прототип игры был написан примерно за 8 часов. Всего разработка игры заняла 3,5 месяца. Чем я занимался все это время можно узнать ниже.


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

Создание standalone библиотеки под android

Reading time2 min
Views15K
В этой статье я расскажу как создать библиотеку, которая использует другие библиотеки и при этом уместить всё в одном jar.

Допустим мы пишем библиотеку, она использует другие библиотеки и, в частности, для примера, support library. Если бы мы использовали maven, то в pom файле просто прописали зависимости и не парились. Но что если нашу библиотеку будут использовать люди, которые не пользуются системами сборок или пользуются ant' ом?

Мы можем положить зависимости рядом с нашим jar. Но тогда неизбежны конфликты библиотек разных версий, например, если мы используем одну версию support library, а в самом приложении другая. Тогда придется руками одну из них удалять.

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

Интерфейсы в реальном мире

Reading time5 min
Views180K
IT-интерфейсы часто растут из физических. Например, вот аппаратные чекбоксы:



Вообще, лучший же пример правильного инженерного интерфейса – это гранёный стакан.

Почему? Очень просто. С одной стороны, он дружелюбен к советским роботам: круглая верхняя полоса позволяет автоматической мойке нащупать его ещё с 40-х годов. С другой стороны, он прощает человеческие ошибки: ребра останавливают скатывание стакана со стола при падении. Плюс он просто красивый.

Сейчас покажу ещё несколько интерфейсов, которые облегчают жизнь. Общий смысл – попробовать понять, как думал разработчик, чтобы сделать что-то удобнее.
Читать дальше →

Почем опиум для народа? Как устроен FOREX и нужен ли он. (Часть II)

Reading time14 min
Views84K
image

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

Кроме того, был задан ряд провокационных вопросов, которые условно можно свести к вариации одного из двух:

  1. Каковы критерии «кухни»? (вариации: вот этот брокер (имярек) кухня или нет? и пр.)
  2. В чем отличия услуг ITinvest от услуг критикуемых вами кухонь?

Не желая вступать в полемику и спор с представителями форекс-сообщества (все-таки статья писалась не для них), я, тем не менее, счел себя обязанным продолжить объяснение, что такое «правильный» форекс, а также:

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

Попутно читатель получит ответ на провокационные вопросы, сформулированные выше. Кому текст покажется занудным – просьба читать только заголовки.
Читать дальше →

Руководство по установке и настройке OpenVPN

Reading time34 min
Views1.6M



Когда у нас появились сотрудники, работающие удаленно, пришлось думать над тем, как обеспечить им защищенный доступ к нашим хостинговым серверам, виртуальным выделенным серверам разработчиков Virtual Dedicated Server (VDS), сайтам обеспечения и сопровождения разработки и к другим ресурсам.



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



Выход нашелся довольно быстро — это использование технологии виртуальных частных сетей Virtual Private Network (VPN) и ее свободной реализации OpenVPN. Эта реализация доступна практически для всех распространенных платформ, в том числе для планшетов и смартфонов. История развития OpenVPN насчитывает уже 12 лет (компания OpenVPN Technologies, Inc. была создана Francis Dinha и James Yona в 2002 году), так что это надежное и проверенное временем решение.



В нашей компании сеть VPN позволила предоставить защищенный доступ сотрудников к VDS, играющей роль сервера OpenVPN. И уже для фиксированного IP этого сервера был разрешен доступ к другим ресурсам компании. Попутно на сервере OpenVPN был установлен прокси Squid, что решило все проблемы доступа сотрудников с динамическими IP к защищенным ресурсам компании.



Теме OpenVPN посвящены многочисленные статьи и сообщения на форумах. Тем не менее, нужную информацию мне пришлось собирать по частям из разных мест. Попутно приходилось разбираться с многочисленными терминами и технологиями. В качестве серверов OpenVPN были использованы VDS на базе FreeBSD и Debian Linux, в качестве клиентов — рабочие станции FreeBSD, Debian Linux, Ubuntu и Microsoft Windows.



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


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

Коробочные CMS для интернет-магазина: обзор популярных движков

Reading time24 min
Views165K
Недавно я всерьёз задумался об открытии своего онлайн магазина. Будучи по натуре человеком достаточно последовательным и взвешенным, я решил не вестись на красочную рекламу, а самостоятельно осуществить ознакомление со всеми широко используемыми вариантами систем управления контентом...
Читать дальше →

Как Митник троллил ФБР. Статьи на Хабр из лагеря для школьников

Reading time22 min
Views73K
«Митник, умеешь с телефонами обращаться?» — спросил надзиратель.
«Не особо — ответил я, — но умею вставить вилку в розетку. Вы не волнуйтесь, я быстро учусь».
Два дня я устанавливал и ремонтировал тюремные телефоны. К.Митник «Призрак в сети»
Пару дней назад мне пришла в голову идея привить школьникам вкус к прекрасному и приобщить их к прочтению написанию статей на Хабре.
Дело происходит прямо сейчас, я сижу в лагере в классе робототехники (лагерь необычный, а с блэкджеком и курсами по олимпиадному программированию, разработкой приложений и робототехнике) и пишу эти строки.
Обсуждая темы информационной безопасности, взлома Wi-Fi сетей, 3d-принтеры, Arduino, брутфорс и асимметричное шифрование, выяснилось, что многие (школьники, школьницы, вожатые и преподаватели) активно читают Хабр и пользуются им как справочным пособием для своих проектов.
Идея совместного написания статьи возникла у меня тогда, когда при обсуждении самых прикольных статей за последнее время ребята сослались на статью, где «один знакомый проник на конференцию Митника». Пришлось признаться, что это про моего знакомого и, в развитие темы этичного хакерства, я предложил молодежи попробовать свои силы в написании интересных постов.



Единственный момент когда можно найти всех участников лагеря — это обед (в Хогвартсе знали толк, когда произносить речи), и я объявил о наборе добровольцев. Откликнулось несколько ребят. В тот же день на лагерной доске объявлений для поддержания интереса я развесил объявления.

Цели:
— разжигание интереса к Хабру, информационной безопасности, социальной инженерии;
— показать как то, что раньше считалось нереальным становится реальным (ближайшая зона роста);
— вдохновить молодых авторов на написание статей на Хабре;
— вдохновить/вовлечь ветеранов Хабра на помощь начинающим авторам (джедаи-падаваны).

Для плавного старта я решил начать с переводов, потом сделать несколько интервью с экспертами в области (вожатыми/преподавателями), а затем (уже за пределами лагеря) помочь создать авторам самостоятельный контент.

План работ:
первый этап — совместное написание статьи на Хабр, перевод статьи из «Time» и ролика Митника «How to Troll the FBI», а так же дополнить пост интересными моментами из книги про взаимоотношения Митника и ФБР
второй этап — каждый описывает одно событие для второй части статьи «История хакерских взломов информационных систем» (первая часть — История хакерских взломов информационных систем (1903-1971))
третий этап — самостоятельное написание своей статьи под моим присмотром (примерные темы: "Google Code Jam. Интервью с финалистом — Романом Удовиченко (10-е место)", «Будущее робототехники. Интервью с экспертами ТРИК», «Кузница белорусских программистов» и т.д.)
UPD 28.08.2014 первый «Саурон» появился.

Результаты первого этапа под катом.
Читать дальше →

Управление списками баз 1С 8.2

Reading time9 min
Views386K
Одно из правил управления временем — Если есть человек, которому можно делегировать выполнение задачи — делегируй.

Предыстория


Как я докатился до того, что — Я, системный администратор! — стал задаваться вопросами работы 1С?
Тирада в моей оригинальной статье, которую вряд ли кто читал, касалась того, какие лентяи 1С разработчики, и сами производители 1С, что одни понаделали много функций, но другие недостаточно хорошо описали, третьи поленились разобраться, а свалили всю рутину на системных администраторов, которым делать-то нечего, кроме как за элитой IT подметать. Думаю, здесь никто меня не похвалит за такие рассуждения. Хотя и похвалы особо не ищу. Единственная цель — чтобы это пригодилось кому-то, кто правильный лентяй-админ, и не любит заниматься одним и тем же помногу раз. А теперь о том, как это было.
Я столкнулся с таким положением дел, что всем сотрудникам наши 1С разработчики добавляют базы ручками, присутствуя на рабочем месте сотрудника, либо просят это сделать нас удалённо, подключившись к рабочему столу пользователя и мышкакликанием все повторить.
Выглядит это так:
— Миша, добавь Васи Пупкину базу: 1C-server:1551 «buh_prod»
— А как её назвать?
— Бухгалтерия

И не думайте, что в следующий раз, этот 1С разработчик скажет мне, что эту базу можно назвать именно также. Как следствие, у нас одна и та же база у разных сотрудников называлась по разному. Красота, не так ли?!
Ещё одна сторона этой проблемы в том, что Сотрудник должен быть на месте, компьютер включен, и у него должно быть время (5 мин), чтобы я мог всё это сделать. Если сотрудника нет на месте, то вы можете себе предположить, сколько от меня требуется трудозатрат, чтобы выловить этого сотрудника, согласовать с ним время и сделать это. А если этот сотрудник в удалённом офисе, на ноутбуке, и бывает в сети крайне редко, плюс разница поясов Владивосток — Москва, то это ещё добавляет остроты ощущений. Конечно, можно ещё ярлыком в почту бросить, но этим у нас 1С разработчики очень крайне редко пользуются — или не умеют, или не хотят, или за нас переживают, что без работы останемся, за что им отдельная благодарность и лучи поноса.
Баз у нас порядка пятнадцати. У каждой группы отдельный набор баз. А есть и такие, у кого строго индивидуальный список.
Следующая картина вам ещё больше понравится.
Поступает распоряжение от главы 1С'ников, что нужно трём отделам изменить базу, т.к. она переехала на другой сервер. Дальше не буду тратить буквы, т.к. всё что я описал выше множите на тридцать человек, двадцать из которых в другом офисе или даже другом городе. Классная задачка.
Не помню, сколько раз, я, таких суматох вынес, но было их больше десяти. После чего мне стало интересно, какие способы оптимизации этого процесса есть по unix-way'ю.
И стал я читать… Читал долго… Читал упорно… Документация 1С в справке мне совершенно не понравилась — написано так, как будто бы я уже это делал, поэтому большую часть идеи они оставляют между строк. Лучи поноса в написателей встроенной справки 1С. Как обычно это бывает, более-менее понятную инструкцию нашел на личном блоге, не помню уже кого.
Читать дальше →

Умная поливалка цветка на микроконтроллере Attiny13A

Reading time7 min
Views88K
image

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

Предлагаю вашему вниманию устройство для автоматического полива цветов на базе микроконтроллера Attiny13a, подробности под катом.
Читать дальше →

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

Reading time5 min
Views396K
Сейчас всё больше смартфонов идут без слота для sd-card, и информацию приходится хранить на встроенной памяти с доступом к ней по MTP. Такой режим подключения не позволяет стандартными средствами восстановить данные телефона после wipe’а или случайного удаления.

Сегодня на примере связки Xiaomi Mi2s и Windows 8.1 я постараюсь рассказать, как можно восстановить утерянные данные, кому интересно, добро пожаловать под кат.
Читать дальше →

«Как я, будучи обычным школьником, спроектировал и собрал свою модель 3D принтера»

Reading time6 min
Views247K
Многие из нас привыкли смотреть за прогрессом и последними достижениями техники и науки как бы немного со стороны – оценивая уже конкретные продукты, а не сам процесс. Однако школьник из Волгограда Михаил Козенко не из их числа. Он как раз и таких, кто собственноручно предпочитает пройти весь путь от идеи до конечного результата. И итогом его поисков стал 3D принтер, который принес юному изобретателю (в мае ему исполнилось 15 лет) уже несколько наград.

С Мишей мы познакомились случайно – новость о его принтере появилась на нескольких сайтах, последовали приглашения на радио, было пару постов в развлекательных группах (эту публикации Мише, кстати, принесли немало разочарований из-за чересчур ироничных комментариев публики). В нашей группе «ВК» о Мише также была новость. И, что удивительно, сам автор без нашего приглашения вступил в диалог с читателями паблика «Простая наука», объяснял, подсказывал и учил. Он, как и мы своей книгой для детей 5-12 лет «Простая наука», двигает науку вперед не просто словами, а конкретными делами. Так у нас с ним и родилась идея сделать подробный пост для «чайников» (под таковым я подразумеваю себя, а не уважаемых хабровчан), как сделать 3D принтер с нуля.

Далее — со слов автора, который с удовольствием поучаствует в обсуждении под этим постом. И если текст получится полезным и интересным, он расскажет о создании «второй версии» принтера.

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

Понимание и работа с данными в WordPress. Часть 1. Введение

Reading time5 min
Views101K

Данная статья является переводом первой статьи Rachel McCollin из цикла о данных в WordPress. В ней по полочкам разложена структура данных, типы контента и их взаимосвязь в WordPress. Будет полезна в первую очередь новичкам, но и профессионалы могут найти для себя что-либо новое.
Освежить знания по WP

Лучшие интересности и полезности за год

Reading time8 min
Views65K
Доброго времени суток, уважаемые хабравчане. Сегодня я хочу поделиться с вами одним небольшим событием — ровно год назад, 15 августа 2013 года я опубликовал свой первый дайджест для веб-разработчиков. С тех пор было опубликовано 25 выпусков и мои подборки обрели некоторую «популярность», а мне приятно ощущать себя «полезным» для хабраобщества.

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

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

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №120 (11 — 17 августа 2014)

Reading time5 min
Views38K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


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

Information

Rating
Does not participate
Location
Рязань, Рязанская обл., Россия
Date of birth
Registered
Activity