Как стать автором
Обновить
17
0
Алексей @norlin

software engineer | game developer

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

Упражнения для тренировки мозга

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

В силу склада ума или давнего увлечения скорочтением, мнемотехникой и прочим, у меня был повышенный интерес к играм состоящим из набора упражнений для тренировки мозга(BrainChallenge, Dr.Kawashima и др.). Переиграв практически во все что было на десктопе и nds, появилось желание использовать такие игры для каждодневных тренировок, но для этого они не совсем подходят(в тексте объясню почему). Поэтому на досуге решил написал небольшой сайт с набором такого рода упражнений.
Читать дальше →
Всего голосов 96: ↑81 и ↓15+66
Комментарии83

Облака против тесака, или Хроника DDoS-атак на cvk2012.org

Время на прочтение4 мин
Количество просмотров59K
Блог Highload Lab на Хабрахабре обновляется нечасто — интересных DDoS-атак, на примере которых каждый может чему-то научиться, мало, а раздражать читателей бесконечными историями успеха не хочется. Тем ценнее действительно занимательные прецеденты, к числу которых, несомненно, относится нападение на сайты Центрального Выборного Комитета Координационного Совета оппозиции.

В предыдущих выпусках бортового журнала сети фильтрации трафика Qrator (обязательная рекламная ссылка — http://qrator.net/) мы выяснили, что в преддверии серьёзных мероприятий в Рунете лучше заранее озаботиться защитой от атак. Сегодня я расскажу вам, как можно, даже выполнив это требование, заработать себе пару бессонных ночей на рабочем админском месте.

Читать дальше →
Всего голосов 176: ↑150 и ↓26+124
Комментарии135

Взломать Wi-Fi за 10 часов

Время на прочтение12 мин
Количество просмотров1.5M
Еще не так давно казалось, что беспроводная сеть, защищенная с помощью технологии WPA2, вполне безопасна. Подобрать простой ключ для подключения действительно возможно. Но если установить по-настоящему длинный ключ, то сбрутить его не помогут ни радужные таблицы, ни даже ускорения за счет GPU. Но, как оказалось, подключиться к беспроводной сети можно и без этого — воспользовавшись недавно найденной уязвимостью в протоколе WPS.


Читать дальше →
Всего голосов 304: ↑294 и ↓10+284
Комментарии164

Разбираемся с Notifications API

Время на прочтение2 мин
Количество просмотров7.3K
Продолжаю серию переводов статей сайта html5rocks. Мы уже говорили про то, как внедрять шрифты, как работать с видео, сегодня мы поговорим про то как делать всплывающие сообщения в браузере с помощью Notifications API. Работает оно к сожалению пока только в Хроме, но есть уже начальная версия спецификации. Под катом подробности.
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии9

Посылаем сообщения в Notification Center из браузера

Время на прочтение1 мин
Количество просмотров12K
С выходом Mac OSX 10.8 пользователям был представлен «Центр Уведомлений» — Notification Center. Как только вам приходит новая почта или сообщение в Facebook, то вы видите в правом верхнем углу всплывающее окошко с уведомлением об этом. Notification Center идентичен панели уведомлений в iOS.

Используя Notifications API, можно посылать уведомления в Notification Center Mac OSX Mountain Lion из браузера Safari.
Читать дальше →
Всего голосов 33: ↑27 и ↓6+21
Комментарии22

Оптимизируем производительность JavaScript для V8

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

Предисловие


Дэниел Клиффорд сделал на Google I/O прекрасный доклад, посвященный особенностям оптимизации кода JavaSсript для движка V8. Дэниел призвал нас стремиться к большей скорости, тщательно анализировать отличия между С++ и JavaScript, и писать код, помня о том, как работает интерпретатор. Я собрал в этой статье резюме самых главных моментов выступления Дэниела, и буду обновлять её по мере того, как движок будет меняться.
Читать дальше →
Всего голосов 75: ↑73 и ↓2+71
Комментарии62

Инструкция начинающего разработчика игр

Время на прочтение12 мин
Количество просмотров224K
Голая бабаВ данной инструкции я попытался осветить основные моменты разработки игр. Инструкция будет полезна для людей, собирающихся заняться разработкой игр в роли лидера (главного разработчика и организатора).

Хочу отметить, что игры бывают разные – большие и маленькие, сложные и лёгкие, и поэтому для каждой игры эта инструкция верна в какой-то своей определённой степени. Охватить всё не удалось, но передать общие моменты, думаю, получилось.
Читать дальше →
Всего голосов 142: ↑104 и ↓38+66
Комментарии138

Что нужно делать смолоду или как стать богатым айтишником

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

Статья написана после прочтения статьи Копи деньги смолоду или пара утверждений, легко проверяемых в Excel.

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

Нужно заметить, что три года назад, я и сам не знал этого принципа, и мне даже пришлось продать свою машину, чтобы выплатить долги. Но я не расстроился – я уже знал этот принцип и был уверен, что у меня получится стать богатым. Ведь если ты действуешь исходя из этого принципа, то настоящее богатство – лишь вопрос времени. И я не ошибся.
Не важно, кто ты – дизайнер или программист, но я уверен, если ты тоже последуешь ему, то станешь богатым.
Ближе к делу
Всего голосов 389: ↑303 и ↓86+217
Комментарии578

Node.js + Chromium = AppJS: один из перспективных вариантов второго шага эволюции веборазработчика

Время на прочтение4 мин
Количество просмотров35K
Сейчас мы с вами немного поговорим о том, как недавнее появление нового инструмента и связанных с ним возможностей открывает перед современными веборазработчиками возможность достаточно быстро эволюционировать, переходить на новые уровни, обретать новые профессиональные навыки, осваивать новые области созидательного труда. Таким инструментом является Node.js и растущая вокруг него инфраструктура.

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

Исторически это не первый из таких инструментов.
Каждый из нас может вспомнить, что были и до появления Node.js попытки создать движок для удобного программирования на джаваскрипте (Windows Script Host, Rhino, JSDB, и так далее).

Однако только у Node мы видим и достаточно быстрый движок (V8), и кросс-платформенность, и простой API, и превеликое множество дополнительных модулей. Сочетание этих достоинств делает Node удачным и удобным.

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

Многие производители создавали средства вебоподобной разработки GUI-приложений.
Здесь можно припомнить с десяток более или менее успешных попыток достигнуть желаемого.

Фонд Мозиллы придумал сперва XUL и XULRunner, а затем и целую операционную систему — Firefox OS.

«Хьюлетт-Паккард» выпустил webOS (с недавних пор — Open webOS).

Google придумал Google Chrome OS.

Ещё можно вспомнить, что у Qt есть основанный на JavaScript язык разметки GUI — QML называется.

Развиваются PhoneGap, Appcelerator Titanium, Adobe AIR и другие средства вебоподобного программирования кросс-платформенных приложений.

Часть вышеперечисленных решений родилась на свет увесистою (например, когда для запуска вебоподобного приложения требуется крупная виртуальная машина или даже новая операционная система). Большинство из них также потребует от программиста выучить некоторый API, иногда довольно корявый и страшный (например, XPCOM для XULRunner), но даже когда такой API достаточно изящен, то всё же изучение его требует усилий. Чем больше он умеет, тем более обширным окажется API.

Между тем, если на первом шаге своей эволюции веборазработчик успел выучить API от Node.js — нет ли возможности опереться на это знание и не учить в дальнейшем ничего лишнего?

Второй шаг эволюции веборазработчика становится естественным продолжением первого, если разметка и оформление вебоподобного приложения задаются при помощи HTML и CSS, а поведение — при помощи JavaScript, причём «под капотом» работает ужé известный разработчику движок Node.js.

В частности, если воспользоваться AppJS, то тогда объектная модель (DOM) демонстрируемой «страницы» содержит под именем window.node глобальный объект Node.js, и мы можем без труда прочесть в window.node.process.versions.node версию Node, в window.node.process.arch архитектуру процессора, в window.node.process.platform платформу, и вывести какое-нибудь такое сообщение в окне нашего графического приложения:

[скриншот]

(Понятно, что аналогичным образом можно употреблять и другие возможности Node.js — сетевые, файловые и так далее.)

Что же такое AppJS?

Читать дальше →
Всего голосов 67: ↑54 и ↓13+41
Комментарии58

Готовимся к наступлению Великого Русского Фаервола

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


В России приступили к тестированию отечественного фаервола, первый город для тестов который был выбран — Волгоград.

В нем были заблокированы сайты: Vk.com, Youtube.com

В данном посте я хочу осветить проблемы свободного доступа к информации и методах защиты от фаервола.
Читать дальше →
Всего голосов 317: ↑274 и ↓43+231
Комментарии282

Система online документации для JavaScript — ADWiki

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


Ссылочки


Что ADWiki умеет:
  • Парсить файлы Вашего проекта описанные на jsdoc
  • Поднимать сайт с чистеньким дизайном на bootstrap
  • Организовывать на сайте небольшой блог, где Вы сможете дополнять документацию статьями о проекте


Читать дальше →
Всего голосов 37: ↑34 и ↓3+31
Комментарии8

Yate: Яндекс.Почта перешла на новый шаблонизатор

Время на прочтение5 мин
Количество просмотров63K
imageНекоторое время назад мы писали, что в Яндекс.Почте появился новый интерфейс, в котором используется шаблонизация данных в браузере. Немногие крупные сервисы отваживались на это, но мы и сейчас считаем такое решение наиболее удачным. Оно не только ускорило работу интерфейса, но и позволяет экономить трафик пользователя и эффективнее расходовать процессорное время серверов.

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

Недавно мы перевели всю Почту на JS-шаблонизатор и JSON-данные.
И вот как это проходило
Всего голосов 173: ↑159 и ↓14+145
Комментарии185

Конкурс летающих роботов

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

Мы тут делаем конкурс летающих роботов, вот детали.
Приз – один миллион рублей.
Уже поступило более 20 заявок, от отдельных участников и от команд.

Ниже — советы участникам, ответы на вопросы, которые уже возникли, плюс информация про аналогичные конкурсы в России и зарубежом.

Задача


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

image
Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии53

Особенности проектирования тачевых интерфейсов

Время на прочтение12 мин
Количество просмотров27K
Это перевод оригинальной статьи Designing for touch



Принципы управления привычными интерфейсами настольных систем оказываются перевернуты с ног на голову, когда дело касается интерфейсов сенсорных. В данной статье приводятся рекомендации специалиста по проектированию взаимодействий Джоша Кларка (Josh Clark) относительно разработки интерфейсов для сенсорных мобильных устройств и сравниваются сенсорные интерфейсы устройств Android, iPhone и iPad.

Чтобы добиться успеха при разработке мобильного интерфейса, недостаточно просто втиснуть его в рамки крошечного экрана мобильного устройства. Эффективные мобильные сенсорные интерфейсы позволяют приспособить для управления жесты наших неуклюжих пальцев. Особенности интерфейсов портативных устройств побуждают разработчиков выйти за пределы принципов графического и информационного дизайна и ступить на территорию дизайна промышленного. Здесь, в мире сенсорных устройств, на кону не что иное, как сама эргономика. Теперь на пиксели можно не только смотреть: их можно трогать, и они должны быть приятными на ощупь.
Читать дальше →
Всего голосов 18: ↑12 и ↓6+6
Комментарии16

Базовая станция 4G LTE на обычном ПК

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


Один из самых феноменальных программистов Фабрис Беллар (Fabrice Bellard) продолжает в одиночку создавать удивительные проекты. Автор LZEXE, Linmodem, QEMU, FFmpeg и эмулятора Linux PC на Javascript выпустил новый шедевр.

LTEENB – LTE Base Station Software: это софтверный эмулятор базовой станции 4G LTE на обычном ПК, с использованием доступного радиооборудования. Фабрис говорит, что теперь базовую станцию LTE технически можно использовать как обычный хотспот WiFi.
Читать дальше →
Всего голосов 65: ↑62 и ↓3+59
Комментарии29

«Сложно о простом». Типы данных JS. В поисках истины примитивов и объектов

Время на прочтение6 мин
Количество просмотров47K
Я решил написать цикл статей, под названием «Сложно о простом». Этот цикл будет посвящён языку JavaScript. Почему «сложно о простом»? Потому что всё, что я буду рассказывать я буду рассказывать учитывая особенности работы интерпретатора, начиная с типов данных. Всё это будет делаться для того, что бы потом можно было рассказать просто о сложном, например, о способах наследования в JavaScript и прочих патернах.
Читать дальше →
Всего голосов 40: ↑28 и ↓12+16
Комментарии64

Разработка плагина для PhoneGap

Время на прочтение4 мин
Количество просмотров16K
В настоящее время развитие кроссплатформенной разработки мобильных приложений набирает всё большие обороты. В этой статье я бы хотела обратить внимание на еще одно средство для реализации таких приложений — PhoneGap. Это бесплатный фреймворк с открытым исходным кодом для создания мобильных приложений.

PhoneGap позволяет создавать iOS, Android, Windows Phone, BlackBerry, Bada, Symbian, webOS приложения на HTML с использованием JavaScript. Количество скачиваний данного фреймворка уже привысило 1 миллион, а количество разработчиков достигает 400 000.


Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии21

Space Engine — Вселенная на ладони

Время на прочтение8 мин
Количество просмотров99K
My God, it's full of stars!
Arthur C. Clarke

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

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

Но вот, чуть больше года назад, я совершенно случайно наткнулся на вселенную Space Engine, и она просто взорвала мне мозг и размазала его по полу своим масштабом и невероятной детализацией.
Читать дальше →
Всего голосов 195: ↑190 и ↓5+185
Комментарии88

Почему важно делать эскизы, прежде чем переходить к прототипу

Время на прочтение5 мин
Количество просмотров56K
Вольный перевод статьи о том, почему важно делать эскизы-зарисовки, прежде чем приступать к проектированию интерфейсов. Мне, как менеджеру проектов и, частично, проектировщику интерфейсов — статья показалась очень полезной. Крайне рекомендуется к прочтению всем участникам проектных команд.



Читать дальше →
Всего голосов 82: ↑80 и ↓2+78
Комментарии52

Миллион одновременных соединений на Node.js

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


TL;DR:


  • Node.js v0.8 позволяет обрабатывать 1 млн одновременных HTTP Comet соединений на Intel Core i7 Quad/16 Gb RAM практически без дополнительных настроек.
  • На 1 соединение тратится чуть больше 10 Kb памяти (4.1 Kb Javascript Heap + 2.2 Kb Node.js Native + 3.8 Kb Kernel)..
  • V8 Garbage Collector не рассчитан на управление > ~500Mb памяти. При превышении нужно переходить на альтернативный режим сборки мусора, иначе «отзывчивость» сервера сильно уменьшается.
  • Подобный опыт можно (и нужно!) без особых затрат повторить самому (см. под катом).

Читать дальше →
Всего голосов 193: ↑187 и ↓6+181
Комментарии125

Информация

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