Попался мне один проект, по своей сути ничего сверхъестественного — самая обычная галлерея картинок, для которой данные подгружались с сервера, но тем не менее он был достаточно интересен. Прежде всего нужно было учитывать, что те изображения, которые отображаются в галлерее, ни в коем случае не должны попасть к третьим лицам, так как это приложение специально создавалось для олигархов сильных мира сего. Согласно всем предъявленным требованиям, общение с сервером должно происходить по протоколу SSL и в процессе каждого запроса необходимо проверять сертификат, полученный от сервера на доверенность, и только после этой проверки отправлять необходимый сертификат для валидации пользователя на каждый конкретный запрос. Т.е., не все запросы используют один и тот же сертификат, а значит на девайс нужно перенести некоторое количество сертификатов, которое зависит от клиента и его регистрации.
User
Splash! – разработка игры для Windows Phone 7. Часть I
5 min
9.6KНасколько быстро и просто можно создать полноценную игру для современного телефона, работающего под управлением Windows Phone 7? Что для этого нужно? И какие препятствия ждут разработчика на этом пути?
Постараемся ответить на все эти вопросы в процессе создания небольшой игры. И чтобы все было по настоящему – это будет не просто пример, а полноценное приложение, которое мы отправим в Windows Phone Marketplace.
Таким образом, в этой статье мы рассмотрим полный цикл создания игры – от появления идеи, и до публикации игры в Marketplace, не упуская ни одной детали этого процесса.
Постараемся ответить на все эти вопросы в процессе создания небольшой игры. И чтобы все было по настоящему – это будет не просто пример, а полноценное приложение, которое мы отправим в Windows Phone Marketplace.
Таким образом, в этой статье мы рассмотрим полный цикл создания игры – от появления идеи, и до публикации игры в Marketplace, не упуская ни одной детали этого процесса.
+42
Что нужно знать про арифметику с плавающей запятой
14 min
1M
В далекие времена, для IT-индустрии это 70-е годы прошлого века, ученые-математики (так раньше назывались программисты) сражались как Дон-Кихоты в неравном бою с компьютерами, которые тогда были размером с маленькие ветряные мельницы. Задачи ставились серьезные: поиск вражеских подлодок в океане по снимкам с орбиты, расчет баллистики ракет дальнего действия, и прочее. Для их решения компьютер должен оперировать действительными числами, которых, как известно, континуум, тогда как память конечна. Поэтому приходится отображать этот континуум на конечное множество нулей и единиц. В поисках компромисса между скоростью, размером и точностью представления ученые предложили числа с плавающей запятой (или плавающей точкой, если по-буржуйски).
Арифметика с плавающей запятой почему-то считается экзотической областью компьютерных наук, учитывая, что соответствующие типы данных присутствуют в каждом языке программирования. Я сам, если честно, никогда не придавал особого значения компьютерной арифметике, пока решая одну и ту же задачу на CPU и GPU получил разный результат. Оказалось, что в потайных углах этой области скрываются очень любопытные и странные явления: некоммутативность и неассоциативность арифметических операций, ноль со знаком, разность неравных чисел дает ноль, и прочее. Корни этого айсберга уходят глубоко в математику, а я под катом постараюсь обрисовать лишь то, что лежит на поверхности.
+238
Числовые подписи
3 min
2.3KМеня всегда завораживала магия программирования — маленькие фокусы, в которых бессмысленный на первый взгляд код делает что-то интересное. Самые известные из них — «подписи», которые выводят на печать короткий текст (обычно имя автора). В прошлый раз я показала несколько таких фокусов, основанных на эзотерических языках программирования, и некоторым читателям они даже пригодились при подготовке новогоднего поздравления :-) Настоящая же магия — это создание таких вещиц на совершенно нормальном языке, который вы используете каждый день, например, на C++ или Java. В этой статье я покажу несколько способов вывести короткий текст с использованием в качестве исходных данных только числовых констант.
C++ спокойно относится к маргинальным манипуляциям с памятью и указателями, поэтому обфускации типа задания строки числом — почти обычное дело :-) Самый простой пример:
Disclaimer: большинство приведенных фокусов основаны на низкоуровневых действиях с памятью, поэтому результаты могут варьироваться в зависимости от архитектуры компьютера и используемого компилятора (я пользуюсь gcc).
C++ спокойно относится к маргинальным манипуляциям с памятью и указателями, поэтому обфускации типа задания строки числом — почти обычное дело :-) Самый простой пример:
+75
Обзор C# библиотек для работы с PDF
5 min
175K
На написание данной статьи меня подтолкнул топик HTML в PDF, правда по причине того, что он посвящен языку php, лично мне он был мало полезен, т.к. весь опыт работы с php у меня сводился в переводе нескольких скриптов на C#, поэтому я решил сделать небольшой обзор того, что доступно для работы с pdf по средствам языка C#.
Ко мне в список попало 7 библиотек, о которых я скажу несколько слов, а для самой популярной (судя по ответам на stackoverflow), я напишу, как с помощью неё сделать простейший документ. Сразу скажу, что это iTextSharp и работа с ней будет описана в конце статьи.
+67
Google опубликовала превью Android 3.0 SDK
1 min
1KAndroid 3.0 (Honeycomb) — это новая версия платформы Android, которая разработана с нуля для устройств с большими экранами, в частности для планшетов. В ней представлены новая «голографическая» тема интерфейса и модель взаимодействия, которая основывается на многозадачности, уведомлениях и виджетах.

Сегодня Google опубликовала превью Android 3.0 SDK, с неокончательными API и образом системы, чтобы позволить разработчикам начать тестирование своих приложений для планшетов и начать знакомство с новой моделью пользовательского интерфейса, API и возможностями, которые будут доступны в Android 3.0.

Сегодня Google опубликовала превью Android 3.0 SDK, с неокончательными API и образом системы, чтобы позволить разработчикам начать тестирование своих приложений для планшетов и начать знакомство с новой моделью пользовательского интерфейса, API и возможностями, которые будут доступны в Android 3.0.
+34
Метод имитации отжига
7 min
52KДорогие друзья, доброго времени суток!
Уже не один раз здесь обсуждалась такая разновидность оптимизационных алгоритмов, как генетические алгоритмы. Однако, существуют и другие способы поиска оптимального решения в задачах с многими степенями свободы. Один из них (и, надо сказать, один из наиболее эффективных) — метод имитации отжига, о котором здесь ещё не рассказывали. Я решил устранить эту несправедливость и как можно более простыми словами познакомить вас с этим замечательным алгоритмом, а заодно привести пример его использования для решения несложной задачки.
Я понимаю, почему генетические алгоритмы пользуются такой большой популярностью: они очень образны и, следовательно, доступны для понимания. В самом деле, несложно и крайне интересно представить решение некой задачи, как реальный биологический процесс развития популяции живых существ с определёнными свойствами. Между тем, алгоритм отжига также имеет свой прототип в реальном мире (это понятно и из самого названия). Правда, пришёл он не из биологии, а из физики. Процесс, имитируемый данным алгоритмом, похож на образование веществом кристаллической структуры с минимальной энергией во время охлаждения и затвердевания, когда при высоких температурах частицы хаотично движутся, постепенно замедляясь и застывая в местах с наименьшей энергией. Только в случае математической задачи роль частиц вещества выполняют параметры, а роль энергии — функция, характеризующая оптимальность набора этих параметров.
Уже не один раз здесь обсуждалась такая разновидность оптимизационных алгоритмов, как генетические алгоритмы. Однако, существуют и другие способы поиска оптимального решения в задачах с многими степенями свободы. Один из них (и, надо сказать, один из наиболее эффективных) — метод имитации отжига, о котором здесь ещё не рассказывали. Я решил устранить эту несправедливость и как можно более простыми словами познакомить вас с этим замечательным алгоритмом, а заодно привести пример его использования для решения несложной задачки.
Я понимаю, почему генетические алгоритмы пользуются такой большой популярностью: они очень образны и, следовательно, доступны для понимания. В самом деле, несложно и крайне интересно представить решение некой задачи, как реальный биологический процесс развития популяции живых существ с определёнными свойствами. Между тем, алгоритм отжига также имеет свой прототип в реальном мире (это понятно и из самого названия). Правда, пришёл он не из биологии, а из физики. Процесс, имитируемый данным алгоритмом, похож на образование веществом кристаллической структуры с минимальной энергией во время охлаждения и затвердевания, когда при высоких температурах частицы хаотично движутся, постепенно замедляясь и застывая в местах с наименьшей энергией. Только в случае математической задачи роль частиц вещества выполняют параметры, а роль энергии — функция, характеризующая оптимальность набора этих параметров.
+69
Методы распознавания текстов
6 min
60KНесмотря на то, что в настоящее время большинство документов составляется на компьютерах, задача создания полностью электронного документооборота ещё далека до полной реализации. Как правило, существующие системы охватывают деятельность отдельных организаций, а обмен данными между организациями осуществляется с помощью традиционных бумажных документов.
+61
Unity3D для начинающих — Туториал 1
10 min
574KПредисловие
Хабралюди проявили некоторый интерес к Unity, поэтому открываю этим постом цикл туториалов, освещающих основные моменты работы с объектом (цикл неопределённой пока длительности — если кому окажется полезным продолжу).
Сразу говорю — чтобы снизить порог вхождения, рассказывать буду с рассчетом на людей, которые в жизни никогда ничем подобным не занимались. Так как самым простым в реализации основной функциональности будет сделать простенький шутер, с него и начнем. В этом уроке мы поговорим о том, как создать землю, небо, управляемого персонажа, о камере, через которую мы будем смотреть на небо и солнце и немного о стрельбе красными шарами по белым кубам. Итак,
+99
Зачем на самом деле нужен мозг
10 min
52K
Для затравки — небольшая логическая задачка. Дан набор карточек; на каждой из них на одной стороне написана буква, на другой — цифра.
На столе лежат четыре карточки: «А», «Д», «5» и «6». Вам говорят: если на карточке (из числа лежащих на столе) на одной стороне гласная, то на обороте — чётная цифра. Какие из карточек достаточно перевернуть, чтобы однозначно подтвердить или опровергнуть это утверждение?
Подумайте немного, запишите ответ на бумажке и добро пожаловать под кат.
+192
Обнаружение объектов методом Оцу
6 min
47KЗдравствуйте, уважаемые хабрачитатели и хабракритики. Этот пост я хотел бы посвятить такой актуальной на сегодняшний день теме, как обнаружение объектов на изображениях.
В качестве одного из алгоритмов такого обнаружения рассмотрим выбор порога быстрым и эффективным методом Оцу.
В качестве одного из алгоритмов такого обнаружения рассмотрим выбор порога быстрым и эффективным методом Оцу.
+112
Избавление .NET программы от регистрации на примере BEM
5 min
5.2KНе так давно я решил изучить, а заодно попробовать поправить одну библиотечку, избавив программу работающую на данной библиотеке от лицензии.
Началось все с того, что как то мне в руки попала программа для бухгалтерской отчетности, некий бюджетный вариант 1С. Как заверяли разработчики этой программы, что она является, чуть ли не самой защищенной и устойчивой к взломам. Именно это хвастовство и подтолкнуло опровергнуть излишнюю самоуверенность разработчиков.
Началось все с того, что как то мне в руки попала программа для бухгалтерской отчетности, некий бюджетный вариант 1С. Как заверяли разработчики этой программы, что она является, чуть ли не самой защищенной и устойчивой к взломам. Именно это хвастовство и подтолкнуло опровергнуть излишнюю самоуверенность разработчиков.
+19
Избранное Хабра в PDF
3 min
17KВсех с наступившими!

Так как я люблю все упорядочивать и каталогизировать, давно вертелась мысль завернуть избранные топики с хабра в PDF и отсортировать по датам.
Собственно выделилось немного свободного времени в праздники, решил задуманное осуществить и поделиться с хабром
UPD:
— Исправлена ошибка «too large on page» (подробнее на github) Спасибо Bifidokk и StreetAngel
— Авторы топиков сделаны ссылкой
— Добавлена возможность сохранять избранное только из указанных блогов

Так как я люблю все упорядочивать и каталогизировать, давно вертелась мысль завернуть избранные топики с хабра в PDF и отсортировать по датам.
Собственно выделилось немного свободного времени в праздники, решил задуманное осуществить и поделиться с хабром
UPD:
— Исправлена ошибка «too large on page» (подробнее на github) Спасибо Bifidokk и StreetAngel
— Авторы топиков сделаны ссылкой
— Добавлена возможность сохранять избранное только из указанных блогов
+183
Продолжая тему прослушки GSM
1 min
23KНеугомонный Карстен Нол, который уже много лет исследует криптоустойчивость GSM сетей, на конгрессе Chaos Computer Club в Берлине представил новый способ перехвата и расшифровки GSM сигнала, который не требует дорогостоящего оборудования и значительного количества времени.
+47
Отчёт о второй встрече Apple Developers Community
4 min
70316 декабря в бизнес-инкубаторе «Ингрия» прошла вторая встреча Apple Developers Community.

Вторая встреча отличалась от первой своим форматом: новички, решившие начать разрабатывать приложения под мобильные устройства, могли посетить бесплатные мастер-классы Александра Черного (разработка под iPhone), Антона Максимова (разработка под Windows 7 phone) и Ивана Чашкина (разработка под iPhone на HTML5) для получения практических знаний и рекомендаций.
Также для всех присутствующих Юрий Шкатула и Григорий Бутейко из студии «DataArt» в ходе доклада сравнили мобильные платформы iPhone и Windows 7 Phone. Ребята обсудили перспективы развития мобильных операционок IT-гигантов, попутно цепляя Android, с его существенными минусами в борьбе за место под солнцем.
Об этом и многом другом под катом.

Вторая встреча отличалась от первой своим форматом: новички, решившие начать разрабатывать приложения под мобильные устройства, могли посетить бесплатные мастер-классы Александра Черного (разработка под iPhone), Антона Максимова (разработка под Windows 7 phone) и Ивана Чашкина (разработка под iPhone на HTML5) для получения практических знаний и рекомендаций.
Также для всех присутствующих Юрий Шкатула и Григорий Бутейко из студии «DataArt» в ходе доклада сравнили мобильные платформы iPhone и Windows 7 Phone. Ребята обсудили перспективы развития мобильных операционок IT-гигантов, попутно цепляя Android, с его существенными минусами в борьбе за место под солнцем.
Об этом и многом другом под катом.
+7
The Settlers: теперь Online
2 min
8.6KХочу обрадовать любителей игры The Settlers, которой уже более 10 лет!

UbiSoft вместе с BlueByte создали он-лайн флэш версию The Settlers. В данный момент она на стадии Beta-тестирования и бесплатна для регистрации.

UbiSoft вместе с BlueByte создали он-лайн флэш версию The Settlers. В данный момент она на стадии Beta-тестирования и бесплатна для регистрации.
+77
Латентно-семантический анализ
4 min
100KКак находить тексты похожие по смыслу? Какие есть алгоритмы для поиска текстов одной тематики? – Вопросы регулярно возникающие на различных программистских форумах. Сегодня я расскажу об одном из подходов, которым активно пользуются поисковые гиганты и который звучит чем-то вроде мантры для SEO aka поисковых оптимизаторов. Этот подход называет латентно-семантический анализ (LSA), он же латентно-семантическое индексирование (LSI)

+98
Внутренности вордовских файлов: просто ужас
9 min
57KО сложности и жуткости вордовских файлов давно ходили легенды. Известно было, что формат этот крайне запутанный, а к тому же еще и полностью засекреченный, так что о половине тамошних полей можно было только догадываться.
Не скрою, что и меня эти файлы интересовали, но дальше первой страницы описания я так продвинуться и не смог. Однако незакрытый гештальт остался.
А теперь вот жизнь заставила (или подкинула возможность) все-таки разобраться во внутренностях всем хорошо известных документов, тем более, что в Штирлица теперь играть не обязательно, достаточно скачать с сайта «Майкрософта» официальные спецификации.
Что тут можно сказать? Невольно вспоминается старый пошлый анекдот: ну ужас. Ну просто ужас, но ведь не ужас-ужас-ужас.
Не скрою, что и меня эти файлы интересовали, но дальше первой страницы описания я так продвинуться и не смог. Однако незакрытый гештальт остался.
А теперь вот жизнь заставила (или подкинула возможность) все-таки разобраться во внутренностях всем хорошо известных документов, тем более, что в Штирлица теперь играть не обязательно, достаточно скачать с сайта «Майкрософта» официальные спецификации.
Что тут можно сказать? Невольно вспоминается старый пошлый анекдот: ну ужас. Ну просто ужас, но ведь не ужас-ужас-ужас.
+151
AppStore. Как Bills for iPad стала №1 в США
8 min
4.2KОпыт от тех, кто создал самую продаваемую программу для iPad в США.
Есть много статей о том как зарабатывать деньги на мобильных приложениях в AppStore и Android market. Но сколько разработчиков реально были наверху? Наша программа Bills for iPad в период с 26 по 29 июня 2010 июня была самой продаваемой в AppStore в США программой для iPad.

Как зарабатывать в AppStore? Вот механизмы, которые доступны:
AppStore, по-моему мнению, нацелен именно на доходы от “продажи программ”. Два главных рейтинга, Топ самых скачиваемых программ (Top paid) и Топ самых доходных программ (Top grossing), раздел “новое”, а также разделы AppStore, где Apple выделяет новые интересные программы — все это мотивирует на создание новых, лучших продуктов. Отсюда такое громадное количество программ в магазине — свыше 300,000.
Есть много статей о том как зарабатывать деньги на мобильных приложениях в AppStore и Android market. Но сколько разработчиков реально были наверху? Наша программа Bills for iPad в период с 26 по 29 июня 2010 июня была самой продаваемой в AppStore в США программой для iPad.

Как зарабатывать в AppStore? Вот механизмы, которые доступны:
- Продажа программ.
- Внутренние покупки
- Реклама
AppStore, по-моему мнению, нацелен именно на доходы от “продажи программ”. Два главных рейтинга, Топ самых скачиваемых программ (Top paid) и Топ самых доходных программ (Top grossing), раздел “новое”, а также разделы AppStore, где Apple выделяет новые интересные программы — все это мотивирует на создание новых, лучших продуктов. Отсюда такое громадное количество программ в магазине — свыше 300,000.
+81
Взлом программ для чайников
5 min
493KTutorial

В данной статье я хочу рассказать про три с половиной основных способа взлома программ на .NET, цель, которую я преследую — помочь разработчикам лучше понять механизмы защиты своих программ, т.е. выяснить наиболее очевидные угрозы и предпринять соответствующие меры (или не принимать).
Я не буду углубляться в детали и использовать сложные инструменты для взлома. Всё будет расписано «для чайников», т.е. все инструменты будут простыми, легкодоступными и бесплатными. А основным будет Reflector, декомпилятор программ под .NET

+129
Information
- Rating
- Does not participate
- Registered
- Activity