Search
Write a publication
Pull to refresh
14
0
Send message

Автоматическое копирование файлов на iOS устроство без Jailbreak и файловых менеджеров

Reading time3 min
Views5.6K
Попался мне один проект, по своей сути ничего сверхъестественного — самая обычная галлерея картинок, для которой данные подгружались с сервера, но тем не менее он был достаточно интересен. Прежде всего нужно было учитывать, что те изображения, которые отображаются в галлерее, ни в коем случае не должны попасть к третьим лицам, так как это приложение специально создавалось для олигархов сильных мира сего. Согласно всем предъявленным требованиям, общение с сервером должно происходить по протоколу SSL и в процессе каждого запроса необходимо проверять сертификат, полученный от сервера на доверенность, и только после этой проверки отправлять необходимый сертификат для валидации пользователя на каждый конкретный запрос. Т.е., не все запросы используют один и тот же сертификат, а значит на девайс нужно перенести некоторое количество сертификатов, которое зависит от клиента и его регистрации.
Читать дальше →

Splash! – разработка игры для Windows Phone 7. Часть I

Reading time5 min
Views9.6K
Насколько быстро и просто можно создать полноценную игру для современного телефона, работающего под управлением Windows Phone 7? Что для этого нужно? И какие препятствия ждут разработчика на этом пути?

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

Таким образом, в этой статье мы рассмотрим полный цикл создания игры – от появления идеи, и до публикации игры в Marketplace, не упуская ни одной детали этого процесса.
Читать дальше →

Что нужно знать про арифметику с плавающей запятой

Reading time14 min
Views1M


В далекие времена, для IT-индустрии это 70-е годы прошлого века, ученые-математики (так раньше назывались программисты) сражались как Дон-Кихоты в неравном бою с компьютерами, которые тогда были размером с маленькие ветряные мельницы. Задачи ставились серьезные: поиск вражеских подлодок в океане по снимкам с орбиты, расчет баллистики ракет дальнего действия, и прочее. Для их решения компьютер должен оперировать действительными числами, которых, как известно, континуум, тогда как память конечна. Поэтому приходится отображать этот континуум на конечное множество нулей и единиц. В поисках компромисса между скоростью, размером и точностью представления ученые предложили числа с плавающей запятой (или плавающей точкой, если по-буржуйски).

Арифметика с плавающей запятой почему-то считается экзотической областью компьютерных наук, учитывая, что соответствующие типы данных присутствуют в каждом языке программирования. Я сам, если честно, никогда не придавал особого значения компьютерной арифметике, пока решая одну и ту же задачу на CPU и GPU получил разный результат. Оказалось, что в потайных углах этой области скрываются очень любопытные и странные явления: некоммутативность и неассоциативность арифметических операций, ноль со знаком, разность неравных чисел дает ноль, и прочее. Корни этого айсберга уходят глубоко в математику, а я под катом постараюсь обрисовать лишь то, что лежит на поверхности.
Читать дальше →

Числовые подписи

Reading time3 min
Views2.3K
Меня всегда завораживала магия программирования — маленькие фокусы, в которых бессмысленный на первый взгляд код делает что-то интересное. Самые известные из них — «подписи», которые выводят на печать короткий текст (обычно имя автора). В прошлый раз я показала несколько таких фокусов, основанных на эзотерических языках программирования, и некоторым читателям они даже пригодились при подготовке новогоднего поздравления :-) Настоящая же магия — это создание таких вещиц на совершенно нормальном языке, который вы используете каждый день, например, на C++ или Java. В этой статье я покажу несколько способов вывести короткий текст с использованием в качестве исходных данных только числовых констант.

Disclaimer: большинство приведенных фокусов основаны на низкоуровневых действиях с памятью, поэтому результаты могут варьироваться в зависимости от архитектуры компьютера и используемого компилятора (я пользуюсь gcc).


C++ спокойно относится к маргинальным манипуляциям с памятью и указателями, поэтому обфускации типа задания строки числом — почти обычное дело :-) Самый простой пример:

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

Обзор C# библиотек для работы с PDF

Reading time5 min
Views175K
topic image
На написание данной статьи меня подтолкнул топик HTML в PDF, правда по причине того, что он посвящен языку php, лично мне он был мало полезен, т.к. весь опыт работы с php у меня сводился в переводе нескольких скриптов на C#, поэтому я решил сделать небольшой обзор того, что доступно для работы с pdf по средствам языка C#.

Ко мне в список попало 7 библиотек, о которых я скажу несколько слов, а для самой популярной (судя по ответам на stackoverflow), я напишу, как с помощью неё сделать простейший документ. Сразу скажу, что это iTextSharp и работа с ней будет описана в конце статьи.
Читать дальше →

Google опубликовала превью Android 3.0 SDK

Reading time1 min
Views1K
Android 3.0 (Honeycomb) — это новая версия платформы Android, которая разработана с нуля для устройств с большими экранами, в частности для планшетов. В ней представлены новая «голографическая» тема интерфейса и модель взаимодействия, которая основывается на многозадачности, уведомлениях и виджетах.



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

Метод имитации отжига

Reading time7 min
Views52K
Дорогие друзья, доброго времени суток!

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

Я понимаю, почему генетические алгоритмы пользуются такой большой популярностью: они очень образны и, следовательно, доступны для понимания. В самом деле, несложно и крайне интересно представить решение некой задачи, как реальный биологический процесс развития популяции живых существ с определёнными свойствами. Между тем, алгоритм отжига также имеет свой прототип в реальном мире (это понятно и из самого названия). Правда, пришёл он не из биологии, а из физики. Процесс, имитируемый данным алгоритмом, похож на образование веществом кристаллической структуры с минимальной энергией во время охлаждения и затвердевания, когда при высоких температурах частицы хаотично движутся, постепенно замедляясь и застывая в местах с наименьшей энергией. Только в случае математической задачи роль частиц вещества выполняют параметры, а роль энергии — функция, характеризующая оптимальность набора этих параметров.

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

Методы распознавания текстов

Reading time6 min
Views60K
Несмотря на то, что в настоящее время большинство документов составляется на компьютерах, задача создания полностью электронного документооборота ещё далека до полной реализации. Как правило, существующие системы охватывают деятельность отдельных организаций, а обмен данными между организациями осуществляется с помощью традиционных бумажных документов.
Читать дальше →

Unity3D для начинающих — Туториал 1

Reading time10 min
Views574K

Предисловие


Хабралюди проявили некоторый интерес к Unity, поэтому открываю этим постом цикл туториалов, освещающих основные моменты работы с объектом (цикл неопределённой пока длительности — если кому окажется полезным продолжу).

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

Зачем на самом деле нужен мозг

Reading time10 min
Views52K
В продолжение предыдущего топика "Как на самом деле работает мозг". На написание данного поста меня побудила, с одной стороны, замечательная книга «Grooming, Gossip, and the Evolution of Language» Робина Данбара (Robin Dunbar), а с другой — очередная порция «полезных» и «умных» советов в GTD и других блогах.

Для затравки — небольшая логическая задачка. Дан набор карточек; на каждой из них на одной стороне написана буква, на другой — цифра.
На столе лежат четыре карточки: «А», «Д», «5» и «6». Вам говорят: если на карточке (из числа лежащих на столе) на одной стороне гласная, то на обороте — чётная цифра. Какие из карточек достаточно перевернуть, чтобы однозначно подтвердить или опровергнуть это утверждение?

Подумайте немного, запишите ответ на бумажке и добро пожаловать под кат.

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

Обнаружение объектов методом Оцу

Reading time6 min
Views47K
Здравствуйте, уважаемые хабрачитатели и хабракритики. Этот пост я хотел бы посвятить такой актуальной на сегодняшний день теме, как обнаружение объектов на изображениях.
В качестве одного из алгоритмов такого обнаружения рассмотрим выбор порога быстрым и эффективным методом Оцу.
Читать дальше →

Избавление .NET программы от регистрации на примере BEM

Reading time5 min
Views5.2K
Не так давно я решил изучить, а заодно попробовать поправить одну библиотечку, избавив программу работающую на данной библиотеке от лицензии.

Началось все с того, что как то мне в руки попала программа для бухгалтерской отчетности, некий бюджетный вариант 1С. Как заверяли разработчики этой программы, что она является, чуть ли не самой защищенной и устойчивой к взломам. Именно это хвастовство и подтолкнуло опровергнуть излишнюю самоуверенность разработчиков.
Читать дальше →

Избранное Хабра в PDF

Reading time3 min
Views17K
Всех с наступившими!

image

Так как я люблю все упорядочивать и каталогизировать, давно вертелась мысль завернуть избранные топики с хабра в PDF и отсортировать по датам.
Собственно выделилось немного свободного времени в праздники, решил задуманное осуществить и поделиться с хабром

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

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

Продолжая тему прослушки GSM

Reading time1 min
Views23K
Неугомонный Карстен Нол, который уже много лет исследует криптоустойчивость GSM сетей, на конгрессе Chaos Computer Club в Берлине представил новый способ перехвата и расшифровки GSM сигнала, который не требует дорогостоящего оборудования и значительного количества времени.
Читать дальше →

Отчёт о второй встрече Apple Developers Community

Reading time4 min
Views703
16 декабря в бизнес-инкубаторе «Ингрия» прошла вторая встреча Apple Developers Community.



Вторая встреча отличалась от первой своим форматом: новички, решившие начать разрабатывать приложения под мобильные устройства, могли посетить бесплатные мастер-классы Александра Черного (разработка под iPhone), Антона Максимова (разработка под Windows 7 phone) и Ивана Чашкина (разработка под iPhone на HTML5) для получения практических знаний и рекомендаций.

Также для всех присутствующих Юрий Шкатула и Григорий Бутейко из студии «DataArt» в ходе доклада сравнили мобильные платформы iPhone и Windows 7 Phone. Ребята обсудили перспективы развития мобильных операционок IT-гигантов, попутно цепляя Android, с его существенными минусами в борьбе за место под солнцем.

Об этом и многом другом под катом.
Читать дальше →

The Settlers: теперь Online

Reading time2 min
Views8.6K
Хочу обрадовать любителей игры The Settlers, которой уже более 10 лет!

image

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

Латентно-семантический анализ

Reading time4 min
Views100K
Как находить тексты похожие по смыслу? Какие есть алгоритмы для поиска текстов одной тематики? – Вопросы регулярно возникающие на различных программистских форумах. Сегодня я расскажу об одном из подходов, которым активно пользуются поисковые гиганты и который звучит чем-то вроде мантры для SEO aka поисковых оптимизаторов. Этот подход называет латентно-семантический анализ (LSA), он же латентно-семантическое индексирование (LSI)

Латентно-семантический анализ

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

Внутренности вордовских файлов: просто ужас

Reading time9 min
Views57K
О сложности и жуткости вордовских файлов давно ходили легенды. Известно было, что формат этот крайне запутанный, а к тому же еще и полностью засекреченный, так что о половине тамошних полей можно было только догадываться.

Не скрою, что и меня эти файлы интересовали, но дальше первой страницы описания я так продвинуться и не смог. Однако незакрытый гештальт остался.

А теперь вот жизнь заставила (или подкинула возможность) все-таки разобраться во внутренностях всем хорошо известных документов, тем более, что в Штирлица теперь играть не обязательно, достаточно скачать с сайта «Майкрософта» официальные спецификации.

Что тут можно сказать? Невольно вспоминается старый пошлый анекдот: ну ужас. Ну просто ужас, но ведь не ужас-ужас-ужас.
Читать дальше →

AppStore. Как Bills for iPad стала №1 в США

Reading time8 min
Views4.2K
Опыт от тех, кто создал самую продаваемую программу для iPad в США.

Есть много статей о том как зарабатывать деньги на мобильных приложениях в AppStore и Android market. Но сколько разработчиков реально были наверху? Наша программа Bills for iPad в период с 26 по 29 июня 2010 июня была самой продаваемой в AppStore в США программой для iPad.
image

Как зарабатывать в AppStore? Вот механизмы, которые доступны:
  • Продажа программ.
  • Внутренние покупки
  • Реклама

AppStore, по-моему мнению, нацелен именно на доходы от “продажи программ”. Два главных рейтинга, Топ самых скачиваемых программ (Top paid) и Топ самых доходных программ (Top grossing), раздел “новое”, а также разделы AppStore, где Apple выделяет новые интересные программы — все это мотивирует на создание новых, лучших продуктов. Отсюда такое громадное количество программ в магазине — свыше 300,000.
Читать дальше →

Взлом программ для чайников

Reading time5 min
Views493K
Disclaimer: всё ниженаписанное написано исключительно с просветительскими и исследовательскими целями, а также понимания механизмов защиты от взлома. Автор ни в коем случае не рекомендует использовать данную информацию для взлома программ.

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

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

В качестве подопытного кролика я выбрал Expresso — анализатор регулярных выражений. Данная программа бесплатная, в лицензии вроде бы ничего не указано про взлом, но при этом без регистрации она будет работать всего 60 дней. Другими словами, вред от взлома данной программы минимальный, к тому же внутреннее её устройство очень уж хорошо подходит для тренировки. Буду надеяться, что автор данной программы не обидится на меня.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity