Pull to refresh
10
0
Василий @ShiawasenaHoshi

Backend разработчик на Java/Python

Send message

Bitmessage — программа для P2P-обмена зашифрованными сообщениям

Reading time1 min
Views55K
Совсем недавно состоялся выпуск бета версии новой программы для P2P-обмена зашифрованными сообщениями между двумя пользователями или группой пользователей. Выпуск бета версии Bitmessage состоялся 21 марта В ней используется сильная криптография, которая надёжно защищает абонентов от прослушивания на уровне интернет-провайдера (СОРМ) или на сервере, как в случае Skype и других, которые пропускают трафик через себя.



Дальнейшее описание с исходниками под катом.

Читать дальше →
Total votes 88: ↑79 and ↓9+70
Comments92

Грязное программирование с чистой душой: разработка эвристических систем (часть 2)

Reading time8 min
Views22K
В первой части этой статьи мы говорили о сложных эвристических программных системах, которые я назвал грязными. В этой части порассуждаем о некоторых практических аспектах работы с такими системами.

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

Читать дальше →
Total votes 61: ↑56 and ↓5+51
Comments32

Грязное программирование с чистой душой: разработка эвристических систем (часть 1)

Reading time6 min
Views26K
Химики любят говорить, что химия занимается исследованием грязных веществ чистыми методами, физика — чистых веществ грязными методами, а физическая химия, дескать, исследует грязные вещества грязными методами. В областях, традиционно относящихся к искусственному интеллекту или смежных с ними (распознавание образов, решение NP-трудных задач, обработка текста и т.д.), большинство задач являются грязными. Т.е. плохо поддающимися формальному описанию и не имеющими четких критериев правильности решения. Не знаю, как выкручиваются химики, а программистам редко удается порешать такие задачи, не запачкавшись. Программирование грязных задач тоже грязно, и здесь грязное — не значит плохое. Эта статья не о том, как сохранить чистоту и стерильность. Эта статья о том, как, вооружившись ломом мужеством и терпением, погрузиться в глубинные литосферные слои и выжить.

Итак, предположим, что вам необходимо разработать систему, демонстрирующую сложное поведение (например, переводящую бабушек через дороги, или, в порядке экзотики, распознающую текст на изображении). Если вам кажется, что задача недостаточно грязная, попытайтесь написать работающую систему, улучшить качество ее работы, насколько это возможно, а затем улучшить еще сильнее. Желательно, если при этом не ухудшится быстродействие, идеально — если улучшится.
Читать дальше →
Total votes 88: ↑80 and ↓8+72
Comments34

Сервис, помогающий найти на TaoBao «редкие» товары (+ немного халявного Google Translate API)

Reading time4 min
Views24K
Всех приветствую! Думаю очень-очень многие знают что такое TaoBao или по крайней мере слышали.

Для тех кто не знает: TaoBao — гигантская китайская торговая площадка, количество товаров на которой измеряется числом, близким к миллиарду. Там можно найти практически любой каприз вашей фантазии, причем довольно дешево. Но есть две проблемы: найти товар (весь сайт TaoBao и все описания на китайском) и доставить его (доставка на TaoBao только по Китаю)

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

Примерно два месяца назад я пытался запустить свой интернет-магазин, ассортимент которого довольно уникален для России. Товары планировалось закупать на TaoBao. Задача поиска товаров и некоторые идеи упрощения этого утомительного процесса воплотились в идею сервиса-помощника. Некоторые рутинные действия можно было автоматизировать, что и было сделано. Что из этого получилось смотрите под катом.
Читать дальше →
Total votes 38: ↑29 and ↓9+20
Comments8

Все самое главное для очередного «убийцы Angry Birds»

Reading time5 min
Views105K
У меня есть хобби — я разрабатываю мобильные казуальные игры. Поэтому мне часто приходится подвергать анализу хиты из топов Google Play и AppStore, клонировать удачные решения и не допускать чужих ошибок. В результате я выявил у всех самых хитовых игр некоторые сходные черты в геймплее и управлении. В этом посте я изложу свои наблюдения о том, что именно делает игру популярной, и как это лучше реализовать.



1. Геймплей


Главные сходства игрового процесса таких хитов рынка мобильных игр, как Angry Birds, Ninja Jump, FruitNinja, Rope'n'Fly, Doodle Jump — простота и однообразие. Минимум действий и постоянное их повторение.

а) Лёгкость прохождения

Все самые популярные игры крайне легки в прохождении или собственно в самом процессе игры. Эта одна из главных причин их бешеного успеха. Большинство владельцев телефонов и планшетов — обычные люди, они не считают интересным пяток раз на выходных перепройти Марио или Battletoads. Также помните причины, по которым люди играют в мобильные игры. Причины эти — скука и усталость. Люди сидят на работе, на скучных лекциях, едут в метро, и вполне логично у них возникает желание поиграть. Поэтому ни в коем случае нельзя делать огромные сложности в играх — скучающие не получат веселья (девиз Dwarf Fortress «Проигрывать — это весело» здесь не прокатит), а уставшие от сложностей на работе не станут вкладывать кучу сил ещё и в какую-то игрушку.
Подробнее
Total votes 241: ↑213 and ↓28+185
Comments92

Миникомпьютер из роутера с OpenWRT: пишем USB class-driver под Linux

Reading time20 min
Views78K

Добрый день, уважаемые хабровчане. В прошлой статье мы с вами разработали простую USB-видеокарту на базе STM32F103 и китайского дисплейного модуля на контроллере ILI9325.
Проверяли мы его из юзерспейса, при помощи LibUSB. Ну что ж, пришло время нам написать свой собственный драйвер, который позволит делать все то же самое, но из-под Linux и без дополнительных библиотек. Этот драйвер мы внесем в дерево исходников OpenWRT и он поселится там наравне со всеми остальными.
Начнем.
Читать дальше →
Total votes 124: ↑121 and ↓3+118
Comments32

Aruba Networks — Часть 2: Построение безопасной беспроводной инфраструктуры

Reading time15 min
Views18K

Введение


Приветствую всех, кто читает этот пост!
Ранее я рассказывал про Aruba Networks в «общем виде», и там же обещал написать отдельный пост про аспекты безопасности. Сразу честно предупреждаю — пост большой. Сравнений с какими-либо вендорами не будет; цель поста — показать возможности конкретного вендора. Все описанные ниже возможности поддерживаются всеми контроллерами Aruba. Встречайте.

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


Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments2

Ломаем BIOS: включение поддержки виртуализации VT-x на нетбуке Acer Aspire One

Reading time7 min
Views317K
В данной статье мы расскажем вам пошагово о том, как допилить напильником свой нетбук или ноутбук, в котором по какому-то недоразумению выключен и залочен в таком состоянии бит 2 в MSR 0x3A — попросту говоря, у вас есть в процессоре поддержка виртуализации, но она заблокирована биосом.

ПРЕДУПРЕЖДЕНИЕ: всё, описанное в этой статье, рассчитано на то, что вы знаете, что делаете. Всё на свой страх и риск! Если не уверены — не пытайтесь повторить это дома.

Итак, в чем же проблема?


Проблема, которую мы будем решать, для конечного пользователя компьютера выглядит так: При использовании гипервизора второго типа (например, VirtualBox)
  • вы не можете запускать виртуалки с более, чем одним процессором
  • вы не можете запускать 64-битные гостевые операционные системы внутри 32-битной хост ОС.


Вот такое сообщение вы можете видеть при попытке запуска виртуалки с числом процессоров, большим чем 1:
image

Аналогичное сообщение об ошибке вы также получаете, если собираетесь запускать 64-битную виртуальную машину (например, Debian amd64) с 32-разнядной хост ОС, например WinXP.

Можно ли вылечить это?


На этот вопрос можно ответить, проверив некоторые биты в некоторых словах состояния процессора. Самый простой способ убедиться, что в вашем случае проблема лечится — это посмотреть на то, что показывает программа SecurAble. В моем случае это выглядело так:
image

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

Биос на нетбуке Acer Aspire производства Insyde, настройки его очень скудны и по F2 естественно мы не можем зайти в программу редактирования настроек БИОСа и включить виртуализацию там. Это было бы слишком просто.

Поэтому, мы будем дизассемблировать БИОС и менять его код, чтобы у нас бит был выставлен в 1. Если готовы, то читаем далее.
Читать дальше →
Total votes 131: ↑126 and ↓5+121
Comments56

Восстановление расфокусированных и смазанных изображений. Практика

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

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

Ниже показан результат обработки реального размытого изображения (не с синтетическим размытием). Исходное изображение было получено камерой Canon 500D с объективом EF 85mm/1.8. Фокусировка была выставлена вручную, чтобы получить размытие. Как видно, текст совершенно не читается, лишь угадывается диалоговое окно Windows 7.



И вот результат обработки:



Практически весь текст читается достаточно хорошо, хотя и появились некоторые характерные искажения.

Под катом подробное описание проблем деконволюции, способов их решения, а также множество примеров и сравнений. Осторожно, много картинок!
Читать дальше →
Total votes 459: ↑456 and ↓3+453
Comments141

Фотографии домашних офисов-3

Reading time1 min
Views48K
Продолжаю подборку фотографий интересных зарубежных домашних офисов, предыдущие хабратопики здесь и здесь. На многих фигурирует продукция Apple и IKEA.



Осторожно, много трафика!
Читать дальше →
Total votes 116: ↑98 and ↓18+80
Comments214

Android. Обзор боевых приложений

Reading time2 min
Views319K
Доброго времени суток!

Наряду со статьей "iPhone: MiTM атака из кармана", родилась почти аналогичная статья про Android.

Мы уже знаем, на что способен iPhone. Уступает ли ему Android?

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

Весь софт тестировался на телефоне LG Optimus, с версией Android 2.3.

Итак, краткий обзор боевого софта на Android:

Читать дальше →
Total votes 255: ↑238 and ↓17+221
Comments49

Как рассказать про вашу игру засранцу

Reading time3 min
Views7.5K
Автор оригинальной статьи — Том Фрэнсис, журналист английского издания PC Gamer, в свободное время занимающийся разработкой indie-игр

В повседневной жизни я — игрожур, но на досуге я сам пишу одну игру (Gunpoint), она даже вышла в финал Independent Games Festival, я немного горжусь этим (до меня выступал создатель Solipskier, объяснявший, почему всем наплевать на IGF, так что мне стало немного легче). Это моя первая игра, к тому же ещё недописанная, поэтому учить вас программированию мне не по статусу. Вместо этого я хочу поговорить о том, как рассказывать о играх. С этим легко накосячить, особенно когда вы находитесь в контексте игры; но описанию нужно уделять большое внимание, если вы не хотите остаться единственным пользователем. Мне повезло — за восемь лет я натренировался рассказывать о чужих играх, так что со своей всё пошло легче.

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

Сейчас я расскажу, почему на тупиц типичные методы не действуют, а потом объясню (как весьма опытный засранец), как нужно рассказать про игру, чтобы это понял каждый.
Читать дальше →
Total votes 124: ↑106 and ↓18+88
Comments46

Игра Way: играй с незнакомым человеком

Reading time1 min
Views14K
Хочу поделиться с сообществом уникальной, на мой взгляд, игрой. Два случайных игрока подключаются в одну игру и проходят ее, помогая друг другу. Сложность в том, что помогать можно только при помощи жестов самих персонажей (можно махать руками при помощи мышки). Игра в стадии альфа и довольно короткая, но пробуждает потрясающее чувство взаимопомощи. В самом конце будет доска для рисования, можно будет пообщаться с партнером и узнать, откуда он.
Ссылка: www.makeourway.com
Total votes 34: ↑28 and ↓6+22
Comments37

IPv6 — он рядом. Часть 1

Reading time7 min
Views47K


Сегодня идет множество дискуссий насчет сроков по внедрению IPv6 везде и всюду. Но очевидно одно: без телодвижений крупных компаний ничего не выйдет. Google уже использует IPv6, существуют сети, которые предоставляют IPv6, в том числе некоммерческие.
В этом посте я хотел бы рассказать не только как приобщиться к миру IPv6, но и некоторые тонкости, связанные с ним, о которые мне пришлось споткнуться.
В данном случае рассматривается не самый тривиальный сценарий настройки, в котором используется домашний сервер и вы полностью распоряжаетесь выделенным вам адресным пространством.
Читать дальше →
Total votes 70: ↑68 and ↓2+66
Comments115

В комнате с белым потолком

Reading time4 min
Views9.5K
С вирусами стало сложно. С эксплойтами сложно. Антивиры помогают конечно, но машину грузят, да и надежность срабатывания не позволяет расслабиться. Но это еще ладно, вирусы это внешние факторы. А сама операционка? Раздел winsxs почистить невозможно (я нашел всего одну полурабочую тулзу) растет он по 1 гигу в месяц и размер его ввиду сплошных ссылок — сплошное же вранье. Реестр полон грязи от всевозможных левых, полулевых и очень даже правых программ. И качественно зачистить его тоже никто не может.

Однажды я понял, что лучше не будет, это технология. Регулярные чистки не помогают, антивирусы молчат. Пришлось искать другой выход. С год назад выход был установлен и опробован. Тоже, в общем технология, одним действием дело не ограничивается. Но один раз настроив — таки да можно реально расслабиться. Ничего принципиально нового, у меня просто хватило терпения довести дело до конца. Дальше — описание.
Читать дальше →
Total votes 101: ↑73 and ↓28+45
Comments130

FreeBSD и D-Link DI-804HV через IPSEC

Reading time5 min
Views16K
Хочу рассказать об одном из своих первых опытов общения с FreeBSD и настройке IPSEC для связи с D-Link DI-804HV и проблемах, которые возникли при этом. Надеюсь, это поможет народу не наступать на мои грабли.

Так получилось, что когда я пришел на новую работу, то в мою сферу ответственности попал сервер с FreeBSD, который был шлюзом в Интернет — на нем крутился почтовый сервер и файерволл. По предыдущей работе был опыт работы с Линуксами, но FreeBSD до этого в глаза не видел. И вот одна из первых задач на новой работе была настроить соединение с удаленным офисом через инет, для этого туда прикупили железку D-Link DI-804HV. Решено было соединить это все хозяйство через IPSEC.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments8

Проброс видеокарты в виртуальную машину

Reading time6 min
Views180K
Говорят, что современные аппаратные технологии поддержки виртуализации (VT-d у Intel, IOMMU у AMD) позволяют отдавать физическое устройство на шине PCI в непосредственное управление виртуальной машине. В том числе видеокарту.
Воображение рисует такую конфигурацию: настольный сервер с гипервизором, на нем запускается гостевая пользовательская операционная система, имеющая доступ к необходимым устройствам ввода-вывода, один-два неприхотливых сервера по мере надобности, ну и сколько надо виртуалок для бесчеловечных экспериментов. Управляем гипервизором через консоль в гостевой ОС либо удаленно, с ноутбука, скажем.
Вдохновленный этой картиной, я решил попробовать, но оказалось, что проброс (passthrough) видеоадаптера — задача не совсем тривиальная. Только месяца через три боданий с железом и чтения форумов удалось получить положительный результат. В качестве гипервизора пробовал VMware и Xen. Получилось только с Xen.
Читать дальше →
Total votes 65: ↑62 and ↓3+59
Comments71

Поиск создателя Bitcoin

Reading time4 min
Views25K
Основополагающий документ с принципами пиринговой криптосистемы Bitcoin опубликовал некий Сатоси Накамото (Satoshi Nakamoto). До сих пор не известно, кто скрывается за псевдонимом, один или несколько человек.

Японское имя Сатоси означает «ясно мыслящий, сообразительный, мудрый». Слово naka переводится как «внутри», а moto — «начало, основание, базис, организация». То есть Сатоси Накамото можно перевести как «ясно мыслящий человек внутри фундаментальной организации». Интересное совпадение, если учесть революционную сущность платёжной системы Bitcoin, которая грозит перевернуть мировую финансовую систему.

Американские журналисты в последние дни опубликовали сразу два расследования (1, 2), выдвинув разные версии о личности создателя Bitcoin. Одна из этих версий (с российским следом) выглядит весьма правдоподобно. Впрочем, обо всём по порядку.
Читать дальше →
Total votes 191: ↑162 and ↓29+133
Comments61

Игры free-to-play: как сделать их успешными

Reading time3 min
Views25K
Механика free-to-play, давно уже зарекомендовавшая себя в онлайн-играх на PC, за последний год получила широкое распространение и на мобильных платформах. Именно бесплатные игры с возможностью докупки внутриигрового контента по статистике приносят наибольшую прибыль. Как сделать free-to-play игры успешными, чего хочет их аудитория и чем F2P кардинально отличаются от других игр, читайте в нашем материале по мотивам публикаций креативного директора и гейм-дизайнера Паскаля Лубана (Pascal Luban).

image

Вообще, free-to-play (F2P) игры – это не какой-то новый жанр, это целая революция в игровой индустрии. Появление F2P повлияло на большинство аспектов и факторов в маркетинге, издании, дистрибуции, дизайне и разработке.

Один из главных плюсов F2P заключается в том, что, как бы странно это ни звучало, на старте не требуются большие инвестиции.
Читать дальше →
Total votes 30: ↑25 and ↓5+20
Comments25

Простой способ узнать, кто добавил твой пост в избранное

Reading time1 min
Views19K
Микропост о сабже

Автору поста иногда интересно узнать, кто же добавил его пост в избранное или кому он смог помочь в той или иной проблеме. Согласитесь, интересно же, раз не дают узнать кто ставил +1 или -1. Когда я задавал об этом вопросе google в лоб, он не смог ответить внятными сервисами или постами по теме. Пришлось задать вопросы иначе. Самое удивительное, он смог ответить и даже вполне внятно, хоть иногда и не точно.

Итак, задаем вопрос google

А тут, задаем вопрос yandex

ЗЫ: Яндекс лучше или я не умею задавать вопросы?

Спасибо за внимание.
Некоторые улучшения под катом.
Читать дальше →
Total votes 122: ↑109 and ↓13+96
Comments38

Information

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