Как стать автором
Поиск
Написать публикацию
Обновить
3
0

Руковожу разработкой всякого разного

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

Своя игра с JavaScript и Canvas

Время на прочтение9 мин
Количество просмотров106K
imageНе так давно мне стало любопытно, насколько сносно современные браузеры поддерживают HTML5 и я не нашел лучшего
способа, чем написать простейший 2D платформер. Помимо удовольствия от разработки игрушки и улучшения навыков в использовании JavaScript, в ходе развлечения кропотливой работы был накоплен определенный опыт и эмпирическим путем были найдены основные грабли, на многие из которых мне пришлось наступить. В этой статье я попробую кратко и с примерами резюмировать то, что вынес для себя из проделанной работы. Желающих создать свое высокопроизводительное JavaScript приложение, эффективно работающее с графикой, прошу под кат.
Читать дальше →

Письма torrent счастья от большого брата

Время на прочтение2 мин
Количество просмотров64K
image
В некоторых странах уже начали приходить письма торрент счастья от провайдеров. «На вас поступила жалоба от правообладателя такого-то фильма что с вашего IP в такое-то время было скачано/роздано. И мы(провайдер) конечно пока не вправе без решения суда разгласить правообладателю запрашиваемую информацию о вас, но по решению суда будем вынуждены сделать это… »
Читать дальше →

Новшества node-webkit версии 0.3.6

Время на прочтение3 мин
Количество просмотров15K
Roger Wang 14 декабря объявил о выходе новой версии движка node-webkit созданного в недрах Intel Open Source Technology Center мощного сочетания WebKit и Node.js, позволяющего создавать кросс-платформенные графические приложения методом веборазработки на языках HTML, CSS и JavaScript.

Новая версия имеет номер 0.3.6 и выглядит вот как:

[скриншот]

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

Прежде всего нетрудно заметить, что окна утратили «округлый» и «синенький» вид, похожий на Google Chrome, а вместо того вновь обрели общесистемный вид и форму. (На иллюстрации я привожу вид окна в Windows XP.) Также вернулся значок в заголовке окна. (Для сегодняшней демонстрации я поместил туда значок сайта Хабрахабра.)

Вот список остальных новшеств этой версии (по сравнению с 0.3.0):

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

Git Rebase: руководство по использованию

Время на прочтение8 мин
Количество просмотров856K
Rebase — один из двух способов объединить изменения, сделанные в одной ветке, с другой веткой. Начинающие и даже опытные пользователи git иногда испытывают нежелание пользоваться ей, так как не видят смысла осваивать еще один способ объединять изменения, когда уже и так прекрасно владеют операцией merge. В этой статье я бы хотел подробно разобрать теорию и практику использования rebase.

Теория


Итак, освежим теоретические знания о том, что же такое rebase. Для начала вкратце — у вас есть две ветки — master и feature, обе локальные, feature была создана от master в состоянии A и содержит в себе коммиты C, D и E. В ветку master после отделения от нее ветки feature был сделан 1 коммит B.


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

Деревянная мышь. История проекта

Время на прочтение17 мин
Количество просмотров144K
Вы когда-нибудь задумывались, как устроены вещи, какой путь они проходят от идеи до реализации, насколько просты простые вещи? Насколько просто сделать расческу? А компьютерную мышь? А деревянную компьютерную мышь из цельного бруска красного дерева с ЖК экранчиком, с собственной электронной начинкой и изготовленным и оплетенным специально для нее кабелем? Думаю, вам будет интересен мой путь, который я прошел за 2,5 года создания моей мышки.



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

Экспертная система для прогнозирования личностных характеристик человека на основе теоремы Байеса

Время на прочтение5 мин
Количество просмотров28K
Исследование, начатое в октябре, планируется развить в курсовой проект и, в дальнейшем, в диплом.
Работа была представлена на региональной конференции «Безопасность информационного пространства».
Это исследование — попытка подойти к вопросу безопасности немного с другой стороны.

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

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

Делаем свой локальный DNS (PDNSD), с блэкджеком и быстрее Google Public DNS

Время на прочтение3 мин
Количество просмотров162K
С каждым годом скорость интернета — как последней мили, так и магистральных каналов становится все выше. Лишь одно неизменно — латентность уже уперлась в физические ограничения: скорость света в оптоволокне — около 200тыс километров в секунду, и соответственно, быстрее чем за ~150ms ответ от сервера через атлантический океан не получить в обозримой перспективе (хотя конечно есть изыски, вроде оптоволокна с воздушной сердцевиной или радиорелейной связи, но это для простых смертных едва-ли доступно).

Когда мы пытаемся например из России открыть web-сайт, расположенный в США (его NS сервера вероятно там же), и домен не нашелся в DNS-кэше вашего провайдера — то ждать придется долго даже на гигабитном интернете, возможно даже целую секунду: пока мы через океан получим имена NS серверов домена, пока разрезолвим их IP, пока отправим и получим собственно сам DNS запрос…

Пару лет назад Google завела свои публичные DNS сервера, а для агитации перехода на них — они разработали утилитку NameBench, которая прогоняет тесты DNS по вашей истории серфинга и показывает, насколько Google DNS быстрее DNS сервера вашего провайдера.

Но мне удалось сделать свой DNS сервер, который работает быстрее Google Public DNS, и в этой краткой заметке хочу поделится результатами.
Читать дальше →

Простые стейт-машины на службе у разработчика

Время на прочтение8 мин
Количество просмотров194K
Представьте на минутку обычного программиста. Допустим, его зовут Вася и ему нужно сделать анимированную менюшку на сайт/десктоп приложение/мобильный апп. Знаете, которые выезжают сверху вниз, как меню у окна Windows или меню с яблочком у OS X. Вот такое.

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

var opened = false;

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

var opened = false;
var animating = false;

function onClick(event) {
  if (animating) return;
  if (opened) close();
  else open();
}

Через какое-то время Васе говорят, что меню может быть полностью выключено и неактивно. Не вопрос! Мы-то с вами тут программисты опытные, все понимаем, что… нужно добавить ЕЩЕ ОДИН ФЛАГ! И, всего-то через пару дней разработки, код меню уже пестрит двустрочными IF-ами типа вот такого:

if (enabled && opened && !animating && !selected && finishedTransition && !endOfTheWorld && ...) { ... }

Вася начинает задаваться вопросами: как вообще может быть, что animating == true и enabled == false; почему у него время от времени все глючит; как тут вообще поймешь в каком состоянии находится меню. Ага! Состояния... О них дальше и пойдет речь.

Знакомьтесь, это Вася.


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

Поиск гамильтонова цикла в большом графе (задача коммивояжера).Часть 1

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

1. Постановка задачи


Полный взвешенный граф из 500 вершин задан матрицей смежности.
Необходимо найти гамильтонов цикл в этом графе как можно меньшей суммарной стоимости.
Читать дальше →

Duqu — вредоносная матрёшка

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

1 сентября 2011, из Венгрии, на сайт VirusTotal был отправлен файл с именем ~DN1.tmp. На тот момент файл детектировался как вредоносный только двумя антивирусными движками — BitDefender и AVIRA. Так начиналась история Duqu. Забегая наперед, нужно сказать, что семейство ВПО Duqu было названо так по имени этого файла. Однако этот файл является полностью самостоятельным шпионским модулем с функциями кейлоггера, установленного, вероятно, с помощью вредоносного загрузчика-дроппера, и может рассматриваться только в качестве «полезной нагрузки», загруженной ВПО Duqu в процессе своей работы, но не составной частью (модулем) Duqu. Один из компонентов Duqu был отправлен на сервис Virustotal только 9 сентября. Его отличительная особенность — это драйвер, подписанный цифровой подписью компании C-Media. Некоторые эксперты тут же принялись проводить аналогии с другим знаменитым образцом ВПО — Stuxnet, который тоже использовал подписанные драйверы. Общее количество зараженных Duqu компьютеров, обнаруженными различными антивирусными компаниями по всему миру, исчисляется десятками. Многие компании утверждают, что опять главная цель — Иран, однако судя по географии распределения заражений, этого нельзя утверждать наверняка.
География распределения Duqu
В данном случае следует уверенно говорить только об очередной компании с новомодным словом APT (advanced persistent threat).
Читать дальше →

Пишем плагин для jQuery

Время на прочтение8 мин
Количество просмотров248K
Эта статья призвана дать представление об основных правилах, подходах, дающих наилучшие результаты, и распространённых ошибках, на которые стоит обратить внимание при разработке плагинов для jQuery.
Читать дальше →

Массовые угоны аккаунтов от EA Origin

Время на прочтение2 мин
Количество просмотров81K
Относительно недавно форумы EA начали полниться сообщения о хакнутых аккаунтах сервиса распространения игр Origin. Поначалу саппорт отвечал людям прямо на месте в личку, чуть позже, когда явление стало более массовым, прорваться к поддержке стало потруднее.



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

Прекратите скручивать (восклицательный знак)

Время на прочтение6 мин
Количество просмотров1.8M
Ну действительно, прекратите. Есть куча прикольных штук для соединения самых разнообразных проводов, а все равно технология «откусить зубами изоляцию, скрутить, замотать изолентой» жива до сих пор.

Дальше много текста, фотографий, разборок. Ну все как обычно

Контроллер «Virt2real», или просто — Виртурилка

Время на прочтение15 мин
Количество просмотров193K
— Ты пил пиво, — тихо заговорил Джо. — Плохо работал консервный нож.
Ты сказал, что сам смастеришь консервный нож, побольше и получше. Это я и есть.
Генри Каттнер, «Робот-зазнайка»


UPD> Начат сбор предзаказов habrahabr.ru/post/163865

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

Картинка Для Привлечения Внимания


Пролог


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

Не покидала мысль о том что хорошо бы сделать видео не «вид сбоку или сверху», а вид с борта девайса, от первого лица. То что самолётчики/коптеристы называют FPV. Было это примерно пару лет назад. Пробовали ставить на машинку аналоговую камеру и передатчик, принимали видео на ТВ-тюнер, далее отдавали на видеосервер для раздачи рулящим машинками. Но сразу всплыли нюансы — одновременно можно транслировать только 3-4 видеопотока, иначе появляются наводки с одного канала на другой. Плюс дороговизна такого решения, плюс проблемы с разрешёнными частотами, плюс паршивое качество картинки с постоянно появляющимися помехами… В общем, попробовали и забили на это дело. К тому же, возможностей управляющего контроллера (тогда всё было сделано на базе всем известной Ардуинки) начало нехватать. Стали искать другие варианты, чтоб было недорого, дёшево, удобно и практично. Но имеющиеся в продаже (за границей, само собой и с довольно высокой стомостью) на тот момент железки для нужд не подходили. Одни умели всё кроме видео, другие умели только видео, но не позволяли подключать периферию, и т.д. и т.п.

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

Проект выходного дня: Имперский марш на сервоприводах и MSP430

Время на прочтение3 мин
Количество просмотров100K
Ладно. Все началось с того, что я заказал сервы. Думал что это одна большая, а оказалось, что 5, но маленьких. Нужный мне груз они не потянули, но раз что-то есть в закромах родины, значит это что-то надо применить.

Сыграем на них мелодию!

«Он видел их семью своими глазами»

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

Можешь выбрать подходящую к заголовку поста картинку?





Тогда научи робота! Он тоже хочет.


Команда проекта Открытый корпус просит хабралюдей помочь разметить свободно доступный (CC-BY-SA) корпус текстов. Под катом мы расскажем о том, что такое корпус, зачем он нужен, как обстоят дела с корпусами в России и за рубежом, почему так плохо и какой у нас план.

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

Вращаемые битборды: новый виток старой идеи

Время на прочтение21 мин
Количество просмотров18K
image

Краткое описание


Эта статья рассказывает о некоторых нюансах в использовании «битбордов» (64-битного целого числа, каждый бит которого представляет одно поле шахматной доски). В далеком 1994 г., после симпозиума по шахматам, проводимом ACM в Кейп Мей в штате Нью-Джерси, я решился на полную замену программы для Cray Blitz (компьютерная программа, написанная Робертом Хайатом, Гарри Нельсоном и Альбертом Говером для суперкомпьютера Cray — прим. перевод.). Мне было интересно попробовать метод битбордов, опробованный Слейтом и Аткином в «Chess 4.x» (шахматная программа, разработанная в Северо-Западном университете штата Иллинойс, и доминирующая в 70-х гг. XX в. — прим. перевод.), чтобы решить для себя, годится он для шахмат или нет. В ходе разработки этой новой программы была придумана концепция «вращаемых битбордов», и оказалось, что это то самое, что было нужно, чтобы заставить этот тип структуры данных работать с приемлемой производительностью.

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

Уязвимость в протоколе аутентификации Oracle 11g

Время на прочтение3 мин
Количество просмотров11K
Не так давно стало известно о новой уязвимости (получившей номер CVE-2012-3137) в протоколе аутентификации O5Logon, испольуемом в БД Oracle версий 11.1 и 11.2. Уязвимость позволяет удаленному пользователю получить пароль доступа, произведя brutforce атаку на зашифрованный идентификатор сессии, полученный от сервера. Эта особенность дает возможность подобрать пароль пользователя локально, не отправляя дополнительные сетевые запросы на сервер базы данных.
Читать дальше →

Приложения для MeeGo Harmattan: Nokia N9, N950

Время на прочтение14 мин
Количество просмотров104K
Бытует миф, что для MeeGo Harmattan и Nokia N9 мало приложений. Тут, как мне кажется, весь вопрос в том: а сколько надо? Лично я считаю, что все разговоры о сотнях тысячах приложений для iOS или Android, — галимый маркетинг и не более. Особенно, на мой взгляд, молчать в тряпочку следовало бы Android’у, потому как из-за многообразия девайсов и разрешений их дисплеев, добрая половина приложений на том или ином смартфоне или планшете открывается и работает некорректно. Впрочем, и iOS теперь больна все той же болезнью: на данный момент большая часть приложений на iPhone5 открывается как для дисплея iPhone 4s, то есть с черными полосами по краям 4-дюймового дисплея iPhone5. Я уже не говорю о том, что часть приложений на iPad открывается в “айфоновском” виде.

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

Информация

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