Как стать автором
Обновить
28
Captain Quazar @CaptainQuazarread⁠-⁠only

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

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

Обзор мозгокомпьютерного интерфейса Emotiv Epoc

Время на прочтение9 мин
Количество просмотров96K
Вот тут давно сокрушались, что нет героя в отечестве, который бы купил какой-нибудь нейрокомпьютерный интерфейс, помучил бы его на благо сообщества и поделился с окружающими результатами мучений. Собственно есть. Я его купил и попытался использовать. Подробности с картинками под катом.

Читать дальше →
Всего голосов 159: ↑159 и ↓0+159
Комментарии172

Как делать презентации

Время на прочтение1 мин
Количество просмотров1.2K
Вчера у нас завершилась выездная конференция.

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

Бросилось в глаза в своей массе низкое техническое качество презентаций. Не выступлений, а именно того, что при этом демонстрируется на экране. Три самых главных недостатка:
  • очень мелко,
  • очень много букв,
  • много орфографических и пунктуационных ошибок и они грубые.
Советую всем, кому приходится готовить самостоятельно такие материалы, просмотреть
эту презентацию о презентациях от Алексея Каптерева. Чтобы не повторяться, там в целом есть все, что хотелось сказать мне здесь. Ну разве только добавить, что крайне важно не допускать ошибки в заголовках. А в презентациях заголовки — всё!

Для тех, у кого времени побольше, рекомендую статьи Белова (части первая и вторая). Также очень полезна статья с нашей «Хабры», 5 проверенных способов заставить аудиторию почувствовать себя идиотами, в ней с примерами показано, как делать не надо.
Всего голосов 11: ↑8 и ↓3+5
Комментарии6

Создан прототип неточного процессора

Время на прочтение2 мин
Количество просмотров7.2K
Вот уже 50 лет производители процессоров стараются повысить надёжность и стабильность, тщательно тестируют и внедряют несколько уровней коррекции ошибок — естественно, это приводит к усложнению и удорожанию конструкции. Другими словами, на достижение идеальной точности тратится масса энергии и производительности. Но ведь существуют такие сферы использования, где стопроцентная надёжность не нужна, а вполне достаточно 92-99%. Например, обработка аналоговых сигналов, фото и видео, распознавание образов.


увеличить изображение

На иллюстрации приведены кадры из ПО для видеообработки. Слева — обычный кадр, посередине — кадр, обработанный «неточным» процессором с относительной ошибкой 0,54%, справа — ещё более урезанной версией процессора с относительной ошибкой 7,58%.
Читать дальше →
Всего голосов 71: ↑55 и ↓16+39
Комментарии101

Механические клавиатуры

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

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

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

Механические клавиатуры. Путеводитель.

Читать дальше →
Всего голосов 323: ↑313 и ↓10+303
Комментарии331

Отсутствие копирайта способствовало технологической революции в Германии 19 века

Время на прочтение3 мин
Количество просмотров8.3K
В 19 столетии немецкое государство испытало мощный индустриальный рост, который сопровождался многократным увеличением научных публикаций и общего количества книг, издаваемых в стране. Неожиданная любовь немцев к книгам заставила литературного критика Вольфганга Менцеля в 1836 году назвать Германию «нацией поэтов и мыслителей».

Например, в 1843 году немецкие издательства опубликовали около 14 000 новых книг, большая часть которых были научными публикациями. Если учесть количество населения, то это столько же, сколько издаётся в наши дни, в 21 веке. Для сравнения, в Британской империи в тот год было опубликовано около 1000 новых работ.

В чём причина такого бурного экономического и научного развития? Экономический историк Экхард Хоффнер (Eckhard Höffner) считает, что всё дело в отсутствии копирайта.
Читать дальше →
Всего голосов 161: ↑151 и ↓10+141
Комментарии96

HTML5: Доступ к батарее через javascript

Время на прочтение4 мин
Количество просмотров6.3K
HTML5 спецификация наполняется и медленно начинают появляться API, позволяющие получать информацию об устройстве, на котором запущено приложение. Одним из последних является Battery Status API. Как вы уже догадались, API позволяет получить информацию о батареи используя javascript. Так что теперь у вас есть возможность отключиться тяжелую анимацию на вашей странице, предложить пользователю сохранить данные или самому активно ее сохранять в локальное хранилище. Рабочий пример вы можете найти здесь. Следует заметить, что свойство «Battery time left», было недоступно, когда я открыл страницу. Но оно обновилось через пару минут.

Я тестировал это API с последних бета-версий Mozilla и оно пока не работает на Mac (но работает на iOS, Android и Windows). Так же мне не удалось получить положительный результат статуса зарядки, зато время разрядки и уровень батареи работали корректно. В этом маленьком примере мы просто отобразим информацию из API на простенькой странице, как эта (скрин из моей таблетки):



В этой статье мы рассмотрим:

  • Использование Battery API
  • Создание полей, для отображения информации из API
  • Создание картинки для отображение статуса батареи
  • Использование eventListener для обновления информации
Читать дальше →
Всего голосов 38: ↑34 и ↓4+30
Комментарии35

Кризис идентичности пикселя

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


Пиксель всегда был наименьшей единицей в цифровом дизайне. Это невидимая величина измерения для дизайнеров. Фраза «пиксель пиксель пиксель» была принята в помощь принт-дизайнерам, чтобы те могли понимать концепт фиксированной плотности экрана. Веб-дизайнеры в свою очередь приняли пиксели взамен точкам.
Читать дальше →
Всего голосов 53: ↑52 и ↓1+51
Комментарии47

Прототипирование на чистовую в Adobe Fireworks

Время на прочтение4 мин
Количество просмотров24K
Я считаю, что Adobe Fireworks самая недооцененная программа для прототипирования интерфейсов. В некоторых подразделениях нашей компании именно Fireworks является основным инструментом для юзабилити специалистов. При этом мы почти не используем анимационные возможности программы. В этой статье я хочу рассказать, почему мы считаем эту программу лучшей именно для рисования интерфейса.
Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии46

AntiSMS — быстрое и эффективное лечение блокировщиков

Время на прочтение4 мин
Количество просмотров5.3K
Приветствую, друзья!

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

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

Особенно утилита поможет сисадминам и инженерам, занимающимся настройкой клиентских компьютеров. Когда заблокированные компьютеры приносят пачками, быстрое лечение будет экономить вам массу времени и сил. Следуя лёгкой инструкции вы сможете эффективно убрать любой блокировщик, параллельно исправив массу неисправностей в операционной системе.
Уже хочу!
Всего голосов 76: ↑67 и ↓9+58
Комментарии41

Эффективное чтение

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


Настало время для седьмой лекции курса «Сетевое программирование в UNIX», подготовленного специалистами SkyDNS и компании «Айдеко». Автор курса Александр Патраков объясняет студентам, как ускорить чтение небольших порций данных из сокета.
Читать дальше →
Всего голосов 9: ↑5 и ↓4+1
Комментарии7

Жадный алгоритм в A/B-тестировании

Время на прочтение2 мин
Количество просмотров7.3K
Канадский разработчик Стив Ханов (Steve Hanov) рассказывает о простом способе повысить эффективность A/B-тестирования.

Суть заключается в использовании жадного алгоритма (epsilon-greedy method) для решения задачи о многоруком бандите. Другими словами, при выборе между вариантами A/B-тестирования Стив предлагает отказаться от полного рандома, а в 90% случаев выбирать лучший вариант по результатам накопленной к настоящему моменту статистики.

Метод прост до гениальности.
Читать дальше →
Всего голосов 36: ↑32 и ↓4+28
Комментарии14

Защита ajax-приложения от Cross Site Request атак (CSRF)

Время на прочтение2 мин
Количество просмотров35K
Совсем недавно у меня появилась задача защитить web-приложение полностью построенное на ajax от CSRF-атак.

Каков же механизм такой атаки? Суть заключается в выполнении запроса с другого сайта под авторизационными данными пользователя. Например, у нас есть действие удаления своего аккаунта example.com/login/dropme. Если защиты от CSRF атаки нет, мы можем на нужном нам сайте разместить тег:
<img src="http://example.com/login/dropme">

Сразу после того как пользователь зайдет на приготовленную нами страницу и подгрузит содержимое img, его аккаунт на example.com будет удален. О защите от этого я расскажу под катом.

Читать дальше →
Всего голосов 38: ↑22 и ↓16+6
Комментарии31

Алгоритм Хаффмана на пальцах

Время на прочтение5 мин
Количество просмотров523K
Вы вероятно слышали о Дэвиде Хаффмане и его популярном алгоритме сжатия. Если нет, то поищите информацию в интернете — в этой статье я не буду вас грузить историей или математикой. Сегодня я хочу просто попытаться показать вам практический пример применения алгоритма к символьной строке.
Разархивировать текст статьи
Всего голосов 58: ↑54 и ↓4+50
Комментарии59

Принцип цикады и почему он важен для веб-дизайнеров

Время на прочтение6 мин
Количество просмотров229K
Пару лет назад я прочитал интересные факты о жизненном цикле периодических цикад. Обычно мы не видим вокруг себя много этих насекомых, потому что бóльшую часть своей жизни они проводят под землёй и тихо сосут корни растений.

Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.

Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
Читать дальше →
Всего голосов 696: ↑682 и ↓14+668
Комментарии119

Принцип цикады в музыке или магия простых чисел (на примере PureData)

Время на прочтение2 мин
Количество просмотров4.8K
Прочитав замечательную статью на хабре об использовании простых чисел для создания не повторяющегося фона, я подумал, почему бы не реализовать подобное для генерации музыки? Поразмыслив, я решил реализовать все следующим образом. Будет создано несколько сообщений, содержащих последовательность из нулей и единиц. По сигналу из метронома из каждого сообщения будет извлекаться один единственный элемент, после чего все элементы будут суммированы. Количество элементов в сообщении будет разное, и будет представлять простое число. На выходе будет ожидаться целое число от нуля до %количество_сообщений%, которое замапится на определенную ноту.
Можно переходить к патчингу, но сначала...
Всего голосов 49: ↑48 и ↓1+47
Комментарии23

#BADA55-цвета для веб-дизайна

Время на прочтение5 мин
Количество просмотров18K
Я потратил несколько лет на изучение архитектуры компьютеров, и уж если одну вещь я выучил крепко, так это любовь компьютерных проектировщиков к изящным именам, используемым при инициализации или другой работе с памятью. Долгие часы своей жизни я истратил на придумывание забавно выглядящих адресов памяти для употребления в домашней работе или тестировании. Из подобных названий лучше других известен 0xDEADBEEF, а список некоторых других вы можете видеть вон там и там. Можно даже предположить, что этакие названия (особенно с подстановкою символов: например, «1» вместо «i» или «5» вместо «s») стали предтечами псевдо-крутого интернетовского жаргона, известного как leetspeak.

Всё это напомнила мне недавно попавшаяся мне статья о веб-дизайне (извините, я не помню её в точности). Автор статьи приводил пример CSS-кода, и выбранный им для примера цвет был #BADA55. Оказалось, что это даёт несколько безобразный зелёный цвет, но всё равно он побудил меня призадуматься о том, какие ещё английские слова можно сделать шестнадцатеричными кодами цвета.

Набросав краткий PHP-скрипт, получаем довольно обширный список для подбора таких цветов. Разумеется, годятся все коды, полностью состоящие из букв, но я также дозволил подстановку «1» вместо «i», «5» вместо «s» и «0» вместо «o». Та статья Википедии, на которую я выше сослался, также предлагала использовать «7» вместо «t» и «9» вместо «g», но мне кажется, что при этом не получаются сколько-нибудь легко читаемые «шестнадцатеричные слова» (да к тому же тогда список слов, и без того длинный, оказался бы гораздо длиннее).

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

████████████████ #ABACA5 → abacas
████████████████ #ABA5ED → abased
████████████████ #ABA5E5 → abases
████████████████ #ABA51A → abasia
████████████████ #ABBE55 → abbess
████████████████ #AB1DED → abided
████████████████ #AB1DE5 → abides
████████████████ #AB0DED → aboded
████████████████ #AB0DE5 → abodes
████████████████ #ACAC1A → acacia
████████████████ #ACCEDE → accede
████████████████ #ACCE55 → access
████████████████ #ACED1A → acedia
████████████████ #AC1D1C → acidic
████████████████ #AD0BE5 → adobes
████████████████ #AD0B05 → adobos
████████████████ #A5D1C5 → asdics
Читать дальше →
Всего голосов 110: ↑83 и ↓27+56
Комментарии42

Циклическое слайд-шоу на чистом CSS3

Время на прочтение11 мин
Количество просмотров97K
Благодаря CSS3 мы можем создавать эффекты анимации, не используя JavaScript, что упростит работу многих разработчиков.
Мы не должны злоупотреблять CSS3, потому что старые браузеры не поддерживают все его свойства. В любом случае, все мы видим потенциал CSS3, и в этой статье мы обсудим, как создать зацикленный слайдер изображений, используя только CSS3-анимацию.

Скриншот слайд-шоу на чистом CSS3
Читать дальше →
Всего голосов 66: ↑62 и ↓4+58
Комментарии20

Split button dropdown без javascript

Время на прочтение7 мин
Количество просмотров4.4K
Всем доброго времени суток!

Совсем недавно мне нужно было сотворить некий multi-action control для списка записей. На ум сразу же пришло использование split button dropdown, т.е. в данном случае кнопки отправки формы совмещенной с выпадающим списком экшенов. Подобные контролы не редко можно встретить в современных интерфейсах. Также существуют готовые решения входящие в сборки типа Twitter Bootstrap.

Однако реализации подобные бутстраповским не нравятся по нескольким причинам:
  • излишняя и не совсем нейтивная разметка
  • заточенность под javascript

Именно по этим причинам я решил заделать собственный вариант подобного контрола. Сразу хочу отметить, что все идеи реализовать так и не удалось, поэтому способ не претендует на полную замену js-решениям. Опять же, выкладываю его только для тех, кому будет полезно.
Читать дальше →
Всего голосов 24: ↑18 и ↓6+12
Комментарии21

DoS-атака на сайты с собственными капчами

Время на прочтение3 мин
Количество просмотров17K
Можно найти достаточно много сайтов, которые защищены от разного рода внешней нежелательной автоматической активности (ботов) при помощи капч. Причем во многих случаях генерированием этих самых капч занимается тот же сервер, на котором и расположен сайт. Прикрутить такую капчу на сайт очень просто, да и есть бесплатные капча-генерирующие библиотеки (KCAPTCHA, например).

В чем опасность?
Читать дальше →
Всего голосов 62: ↑53 и ↓9+44
Комментарии59

JSZip спустя полгода: распаковка архивов, работа на Node.js

Время на прочтение1 мин
Количество просмотров5.7K
22 ноября 2011 года JiLiZART всем нам сообщил, что есть на свете полезная библиотека JSZip с открытым исходным кодом, написанная на джаваскрипте и умеющая создавать zip-архивы (и даже, если это необходимо — с подкаталогами) из скормленных ей текстовых и двоичных данных.

Первым же комментарием к его сообщению стали мои слова:

 — Прекрасно.

 — Теперь ему бы ещё распаковывать уметь.

Прошло полгода с тех пор, и можно видеть, что это естественное пожелание сбылось: очевидно, оно пришло на ум не одному мне, так что программисты принялись за дело — и в открытый на Гитхабе исходный код JSZip добавили методы, способные служить ещё и распаковке zip-архивов, а не только составлению их. (Подробности употребления новинок API смотрите в документации.)

В открытом коде всегда приятно видеть, как другие люди действуют в направлении твоих мыслей.

Поклонникам же джаваскриптового движка Node.js будет наверняка не менее приятно узнать о появлении модуля node-zip, содержащего весь код JSZip, оформленный в качестве модуля Node. Стало быть, теперь JSZip можно запускать не только во браузере, но и на сервере, а равно и у себя на компьютере.

Читать дальше →
Всего голосов 29: ↑25 и ↓4+21
Комментарии5
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность