Search
Write a publication
Pull to refresh
12
0
Send message

Стражи ночи

Reading time9 min
Views82K
Будучи высококвалифицированным исследователем, я потратил немало времени на продвижение науки вперёд. Но я родился на Юге и искренне убеждён, что прогресс — это выдумка, и что нужно готовиться к Судному дню, к жатве того, что мы посеяли и к появлению быстрых зомби, медленных зомби, и даже вежливых зомби, которые обращаются к вам «сэр» или «мадам», но в итоге пытаются съесть ваш мозг дабы заполучить ваши навыки. Когда нагрянет революция, нужно быть готовым; поэтому в моменты тишины и покоя, когда я не произвожу очередной прорыв в науке, я размышляю над тем, что же я буду делать, когда прогноз погоды изменится на «РЕКИ КРОВИ ЦЕЛЫЙ ДЕНЬ ДО СКОНЧАНИЯ ВРЕМЁН».

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

Но! Но… Самым важным членом моей банды будет системный программист, ибо в гоббсовском кошмаре невероятных масштабов умеющему отладить драйвер устройства или распредёленную систему человеку можно доверять; системный программист видел ужасы Вселенной и понимает безысходность бытия. Системный программист писал драйверы для устройств, прошивку которых создавал то ли пьяный ребёнок, то ли трезвый карась. Системный программист отлавливал проблему с сетью через восемь машин, три часовых пояса и с дружеским визитом в Омск, откуда ее перенаправили в левое переднее копыто той лошади, что избавила Трою от перенаселения.1 Системный программист читал исходники ядра для лучшего понимания процессов мироздания и видел комментарий «И ЭТО РАБОТАЕТ ЛОЛ» в коде планировщика, и не смеялся он, но плакал; и отправил он патч ядра для восстановления баланса Силы и устранения инверсии приоритетов, что приводила к зависанию MySQL. Системный программист знает, что делать, когда общество падёт, потому что он уже живет в мире, где царит беззаконие.
Читать дальше →

Беспроводные коммуникации «умного дома». Часть вторая, практическая

Reading time13 min
Views138K
После написания пары больших постов про «радиофицированный» умный дом, было достаточно много желающих получить код, который помог бы разобраться с этой темой более детально.
Свой исходный вариант кода по некоторым причинам выкладывать не хотелось — подготовил «облегченный» вариант, который позволит объяснить мои основные задумки.

Для того, чтобы пост получился наиболее зрелищным и полезным, сегодня реализуем домашнюю мини-систему (часы, календарь, погода, контроль уровня заряда батареек в датчиках и т.п.), состоящую из одного «главного» модуля (с большой светодиодной матрицей в качестве индикатора), двух автономных датчиков (будут измерять температуру) и модуля синхронизации времени через NTP.
Хватит слов, поехали!

Делаем приставку — счётчик Гейгера к iPhone за 2 часа

Reading time3 min
Views203K
image

UPD: Кто уже читал пост — пожалуйста зайдите и поучаствуйте в опросе. Спасибо большое!

Примерно полтора года назад на нескольких сетевых ресурсах, в том числе и на хабре, начали пиарить проект «До-ра» — приставку к iPhone, позволяющую измерять радиационный фон и делать много всего вкусного на основании получаемой со счётчика Гейгера информации. Статьи в новостях проекта упоминают несколько многомиллионных грантов, выделенных на разработку приборчика фондом «Сколково». Шли месяцы, «До-ра» всё никак не получалась, покупатели ждали, конкуренты не дремали. Так ли сложна «До-ра» как её малюют и как собрать за пару часов из подручных деталей в десять раз более чувствительный аналог я расскажу тем кто нажмёт на
кнопку

Программирование как образ жизни

Reading time5 min
Views79K
«Человек добился успеха, если он встает утром и ложится спать вечером, а в промежутке занимается тем, чем хочет»
— Боб Дилан

Я – программист по образу жизни. Я в одиночку работаю программистом, чтобы обеспечить себя интересной, полезной, гибкой и хорошо оплачиваемой работой. У меня нет инвесторов, я не собираюсь нанимать сотрудников, не говоря уже о том, чтобы стать следующим Google или Facebook. У меня нет личного самолета, и мое лицо вряд ли скоро появится на обложке Newsweek. Меня это устраивает.
Читать дальше →

Что на самом деле означает сверхурочная работа?

Reading time4 min
Views49K
imageВ технологическом и дизайнерском бизнесе много людей работает сверхурочно, например, более 70 часов в неделю. Все это основано на каком-то комплексе великомученика. Но давайте посмотрим на все трезво. Вот что на самом деле означает сверхурочная работа:

Вы работаете бесплатно
Если вы наемный работник, то работаете бесплатно. Каждый час свыше 40 часов в неделю не приносит вам ни копейки. [1]

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

Ненормальное функциональное программирование на python

Reading time7 min
Views45K

После просмотра курса Programming Languages и прочтения Functional JavaScript захотелось повторить все эти крутые штуки в python. Часть вещей получилось сделать красиво и легко, остальное вышло страшным и непригодным для использования.

Статья включает в себя:
  • немного непонятных слов;
  • каррирование;
  • pattern matching;
  • рекурсия (включая хвостовую).


Статья рассчитана на python 3.3+.
Читать дальше →

Как я завалил собеседование в Twitter

Reading time4 min
Views177K
image


До 28 октября я должен был принять решение, буду ли я работать в Amazon по окончанию стажировки. Оставалось совсем немного времени, но мой друг Дэниел убедил меня, что если я попробую попасть в Twitter, то как раз успею пройти все интервью. Я не смог устоять.

Сначала меня попросили решить пару вопросов с Codility, дав на все про все час времени. Вопросы попались средней интересности («является ли слово анаграммой палиндрома» и «посчитать количество седловых точек в двумерном массиве»). Я был не слишком уверен в получившихся решениях, но вскоре Джуди прислала мне письмо с приглашением на телефонное интервью в среду в 17:30.
Читать дальше →

Распознавание речи от Яндекса. Под капотом у Yandex.SpeechKit

Reading time10 min
Views147K
imageНа Yet another Conference 2013 мы представили разработчикам нашу новую библиотеку Yandex SpeechKit. Это публичный API для распознавания речи, который могут использовать разработчики под Android и iOS. Скачать SpeechKit, а также ознакомиться с документацией, можно здесь.

Yandex SpeechKit позволяет напрямую обращаться к тому бэкэнду, который успешно применяется в мобильных приложениях Яндекса. Мы достаточно долго развивали эту систему и сейчас правильно распознаем 94% слов в Навигаторе и Мобильных Картах, а также 84% слов в Мобильном Браузере. При этом на распознавание уходит чуть больше секунды. Это уже весьма достойное качество, и мы активно работаем над его улучшением.

image

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

Как устроено распознавание речи в Яндексе

Цикл уроков по SDL 2.0: урок 1

Reading time4 min
Views163K

От переводчика: вдохновившись циклом статей, я решил попробовать свои силы в SDL. Да вот незадача, каких-либо толковых уроков по SDL версии 2.0 на русском языке найти мне не удалось. Это и подтолкнуло меня к переводу замечательной серии туториалов Twinklebear, в оригинале доступных тут.

Добро пожаловать!

Цель данных уроков — познакомить вас с основами SDL 2.0 и гейм-дева на С++. Подразумевается, что у читателя есть некоторый опыт программирования на С++ и минимальные знания массивов, векторов, управляющих структур, функций и указателей.

Если вы испытываете трудности при разборе кода в примерах, воспользуйтесь одной из книг, представленных в этом чудесном списке на StackOverflow.

Если вы хотите увидеть полный исходник или же скачать ресурсы для уроков, то все это можно получить на GitHub’е. Но не копируйте!

Также документация по SDL 2.0 доступна для чтения в этой вики.
Читать дальше →

Легкий FPV-трикоптер: разработка, сборка, конфигурация

Reading time10 min
Views174K
Пару месяцев назад я здесь писал про свой тяжелый квад: раз, два. Спасибо всем, кто читал и комментировал — я нe ожидал, что мои скромные труды привлекут такое количество читателей. Нo раз данная тема, судя по всему, интересует аудиторию Хабра, то поведаю вам о своем последнем проекте: легком FPV-трикоптере, который я завершил буквально на днях.



Поставленная задача


Для этого коптера я поставил себe следующие задачи:

  • Высокая маневренность: хотя мой квад неповоротливым назвать не получается, но тем не менее, при весе в 2.2кг и с дорогой камерой на относительно хрупком подвесе спереди исполнять на нем фигуры высшего пилотажа как-то рука не поднимается. Хотелось коптер, на котором можно будет крутить бочки и петли вокруг деревьев без задних мыслей.
  • Удароустойчивость: требование непосредственно связано с первым. Долго чинить коптер после каждой неожиданной посадки в дерево — не дело, аппарат должен держать удар.
  • Время полета: хотя бы 10-15 минут, менять аккумуляторы чаще — ужe неинтересно.
  • Легкий вес: данное требование исходит из трех предыдущих. Чем легче коптер, тем проще ему менять направление полета, тем меньше энергия столкновения с чем-либо, и тем дольше он провисит в воздухе на одной батарейке.
  • Компактность: хотелось аппарат, который помещается в рюкзак, чтобы можно было его без проблем брать с собой в общественном транспорте и при пеших походах.

Исходя из этих требований, я опять сел за LibreCad, и нарисовал вот что:
Под катом - много текста, картинок и видео

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

Reading time11 min
Views40K
Привет Хабра!

Эта статья продолжает цикл статей об игровом движке StalinGrad. В прошлой статье мы насиловали DHTML, а в этой — будем насиловать архитектуру и прототипы.

Кода практически не будет, поэтому, если вы не web разработчик, можете просто почитать про архитектуру и ООП. И таки да — про HTML5 тут снова ничего не будет, только DHTML-хардкор :)



Сразу короткое демо:
Пример 1 — паралельные миры
Пример 2 — один мир с разных камер
Пример 3 — боты
Пример 4 — нянкэт, облака и портальная пушка
Читать дальше →

Строим свой Gmail с куртизанками и преферансом

Reading time7 min
Views205K

Вместо предисловия


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

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

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

Первая программа для OS X своими руками — менеджер буфера обмена

Reading time6 min
Views27K
Больше года прошло с тех пор, как я увлекся программированием под платформу iOS. Наконец-то я нашел свободное время попробовать свои силы на платформе OS X. Если вы давно испытываете интерес к платформе OS X, но никак не соберетесь начать, эта статья для вас! Под катом подробное описание процесса создания приложения — менеджера буфера обмена. Все исходники можно найти на github.com/k06a/Clipshare


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

Шесть загадок по С++

Reading time5 min
Views38K
В очередной раз наступив на досадные необязательные грабли, я решил систематизировать свои знания о них. Если вы какое-то время разрабатываете на C++, то можете и не найти здесь ничего нового, но кому-то приведенный в статье материал точно поможет. Если бы я знал это лет пять назад, то однозначно сэкономил бы несколько безвозвратно потерянных дней жизни и нервных клеток.

Чтобы было интереснее, материал представлю в виде простых задачек. Сразу подчеркну, что я не считаю приведенные примеры просчетами языка. Во многом появляется смысл и логика, если вопрос обдумать. Это скорее случаи, когда может отказать интуиция, особенно если голова забита чем-нибудь еще. Есть и пара примеров вида «Ну чего этому компилятору надо, только что то же самое работало!»

И последнее замечание. Это не будут задачи на внимательность типа «Тут я поставил точку с запятой сразу после for — а никто и не заметил». Проблемы не в опечатках. Все необходимые библиотеки можно считать подключенными — не относящийся к описываемой ситуации код я опускал, чтобы не загромождать статью.
Читать дальше →

Маленькие советы старшим о младших

Reading time6 min
Views113K
Почему новички время от времени делают «не то»? Почему они не понимают старших инженеров? Всегда ли это происходит из-за отсутствия опыта? И почему время от времени, за разговорами на кухне те же новички называют своих лидов «м*даками»?

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

Начнем издалека. Когда я еще учился в школе, у меня было увлечение – игры. А именно Warcrtaft III. И я постоянно играл, играл, играл в нее. Сначала дело ограничивалось играми с ботами, затем, в прекрасном 2003’ем у меня появился интернет и понеслись игры с живыми людьми.
Свою первую игру я проиграл – от нервов и мысли, что я могу проиграть, у меня тряслись руки и мерзли кончики пальцев, а где-то к середине игры на спине выступил холодный пот. Ясное дело, что с таким настроем первую игру я проиграл. Я проигрывал раз, затем другой, а за ним и третий. Это продолжалось довольно долгое время, пока один из моих друзей не посоветовал мне начать смотреть записи игр других, профессиональных игроков.
Читать дальше →

Гвидо ван Россум отвечает на вопросы

Reading time7 min
Views29K
На прошлой неделе (19 августа — прим.пер.) у вас был шанс задать вопрос Гвидо ван Россуму, Великодушному Пожизненному Диктатору Python, касательно любых аспектов Python, а также его переезда в Dropbox. Гвидо не теряя времени ответил на некоторые ваши вопросы.
Читать дальше →

Дерек Сиверс: «Метод интервального повторения — лучший способ изучения языков программирования»

Reading time6 min
Views115K
Краткая справка: в 1998 году Дерек Сиверс основал компанию CD Baby и превратил ее в крупнейшего онлайн-продавца независимой музыки. В 2008-ом вырученные от продажи компании $22 миллиона Дерек передал в благотворительный траст на нужды музыкального образования.
Речи Дерека на TED просмотрели более 5 миллионов раз, а его собственная книга занимала первую строку в чарте книг для предпринимателей на Amazon.
Сам себя Дерек считает «вечным учеником».


Я уже год использую этот метод обучения и могу сказать, что он – самый эффективный из тех, с которыми мне довелось столкнуться за 14 лет изучения программирования.
Читать дальше →

Дорабатываем зарядник Turnigy Accucel 6

Reading time4 min
Views140K
Многим знакомо универсальное зарядное устройство iMax B6 и его клона Turnigy Accucel 6.

Оно умеет заряжать
  • Литий-полимерный LiPo и литий-ионные LiIon аккумуляторы
  • Никель-кадмиевые NiCd, столь любимые производителями электродрелей
  • Никель-металлогидридные Ni-Mh, идущие в комплекте с недорогими радиуправляемыми моделями
  • Свинцовые Pb, которые можно найти в автомобиле, мото, UPS и много где еще.
Стоит недорого, принимает питание 11-17В от БП или автомобильного аккумулятора, позволяя заряжать прямо в поле.
Но это еще не все. Зарядник можно подключить к компу и получить наглядные графики зарядки/раздрядки аккумуляторов, наглядно оценив на графике, в каком диапазоне напряжений сосредоточена основная часть заряда, как аккумулятор реагирует на разные зарядные и разрядные токи, насколько проседает напряжение под нагрузкой и много чего еще интересного.
Вот только с завода эта зарядка уже пару лет идет без такой возможности. Производитель пожадничал и не поставил пару микросхем и копеечных элементов, а производитель iMax B6 вообще шнурок и софт продает отдельно по цене сопоставимой с самой зарядкой.
Будем исправлять

Lock-free структуры данных. 1 — Начало

Reading time12 min
Views153K

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

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

Беспроводные коммуникации «умного дома»

Reading time13 min
Views150K
Когда начинающие (или продолжающие) «радиолюбители» наигрались со светодиодами и устали поворачивать сервы в различные положения, некоторые из них начинают прикладывать полученные знания к обычной бытовой сфере.
Как правило, это применение находится в двух областях — автомобиль или дом.
«Тюнить» авто лично мне как-то не интересно, а вот сделать собственное жилье чуточку «умнее» и комфортнее — достойный выбор.

Как же до такого дойти...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity