• Mail.Ru официально открыла исходники ICQ для Windows и OS X (и объявила о клиенте под Linux)


      Как гласит новость на сайте, аську переписали полностью на Qt, в связи с чем и выкладывают полные исходники на GitHub.

      Ранее уже была неудачная попытка выложить исходники и в открытый доступ попали приватные ключи для Sparkle (системы обновления для OS X).

      Теперь же репозиторий подчищен, а кроме того, новая сборка под Windows уже доступна для скачивания. Версии для OS X и Linux (!) на подходе, благо Qt — кроссплатформенный фреймворк и собрать можно почти подо что угодно.
      Читать дальше →
    • Установка неподписанных программ на устройства с iOS 9 без Jailbreak

      • Tutorial
      Дорого дня, уважаемые хабражители!

      Сегодня я расскажу вам о том, как можно установить неподписанное (или плохо подписанное) приложение на устройство с iOS 9. Да, без Jailbreak. Да, бесплатно. Нужен лишь компьютер с OS X и Apple ID. Как такое возможно? Читаем под катом.



      Осторожно! Много картинок!
      Читать дальше →
    • 10 малоизвестных возможностей Objective-C

      • Tutorial
      Приветствую уважаемых хабражителей!

      Objective-C — язык с богатым рантаймом, но в данной статье речь пойдёт не о содержимом хедера <objc/runtime.h>, а о некоторых возможностях самого языка, о которых многие разработчики и не догадываются. Да, на них натыкаешься, читая документацию, отмечаешь про себя «хм, интересно, надо как-нибудь копнуть», но они обычно быстро вылетают из головы. А начинающие разработчики часто вообще читают документацию наискосок.

      В этой статье я собрал 10 удивительных на мой взгляд свойств языка Objective-C. Некоторые свойства самоочевидны, некоторые далеко не таковы. За использование некоторых в боевом коде надо бить по рукам, другие же способны помочь в оптимизации критических мест кода и в отладке. В конце статьи имеется ссылка на исходник, показывающий на примере все эти фичи.

      Итак, начну с самого «вкусного» на мой взгляд: безымянные методы.

      1. Безымянные методы


      Читать дальше →
    • Поздравляем с Днём программиста!


        src

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

        Мы, программисты, чаще всего интроверты, потому что такой склад характера позволяет сконцентрироваться на интересной задаче, укрывшись в своём «пузыре» от внешних раздражителей.
        Читать дальше →
      • Scrambls — защита Вашей интеллектуальной собственности и шифрование в соцсетях

          Привет, уважаемые хабражители! Многие в наше время интересуются безопасностью своих личных данных, а особенно переписки. И это не удивительно, учитывая скандал с АНБ и прочие факторы.

          Так же имеется определённая проблема с социальными сетями и облачными сервисами: нам больше ничего не принадлежит, то есть, наши посты в соцсетях являются их собственностью, а не нашей, как и наши данные в облачных хранилищах принадлежат не нам.

          И как же выйти из такой ситуации? Ребята из Scrambls, кажется, уже решили эту задачу!
          Как? Читайте под катом
        • 19 команд ffmpeg для любых нужд

          • Перевод
          • Tutorial
          От переводчика:
          Многие знают, что ffmpeg — это сила, но не все знают, какая именно. Он многогранен и безграничен, а его man объёмен и местами малопонятен, лишь немногие постигли дао профессиональной работы с ним. И тем не менее, этот инструмент может быть полезен почти всем, кто хоть иногда работает с видео и звуком, даже на бытовом уровне. О некоторых полезных консольных командах ffmpeg и пойдёт речь в статье. В некоторых местах я взял на себя смелость вставить ссылки на поясняющие статьи.


          ffmpeg — это кроссплатформенная open-source библиотека для обработки видео- и аудиофайлов. Я собрал 19 полезных и удивительных команд, покрывающих почти все нужды: конвертация видео, извлечение звуковой дорожки, конвертирование для iPod или PSP, и многое другое.

          1. Получение информации о видеофайле

          ffmpeg -i video.avi
          

          2. Превратить набор картинок в видео

          ffmpeg -f image2 -i image%d.jpg video.mpg
          

          Эта команда преобразует все картинки из текущей директории (названные image1.jpg, image2.jpg и т.д.) в видеофайл video.mpg

          (примечание переводчика: мне больше нравится такой формат:
          ffmpeg -r 12 -y -i "image_%010d.png" output.mpg
          

          здесь задаётся frame rate (12) для видео, формат «image_%010d.png» означает, что картинки будут искаться в виде image_0000000001.png, image_0000000002.png и тд, то есть, в формате printf)
          Читать дальше →
        • theos: пишем твик для iOS SpringBoard

          • Tutorial
          Доброго скороновогоднего вечера уважаемым хабралюдям!

          Сегодня я расскажу о создании твика для iOS SpringBoard с помощью theos. Зачем? В качестве интересного рисёрча и тренировки. В конце туториала мы получим примерно такую штуку прямо на экране блокрировки нашего i-девайса:


          Читаем далее
        • iOS Console App — пишем программу для iOS без GUI

          • Tutorial
          Доброго дня всем хабравчанам!

          Сегодня я расскажу вам о том, как можно легко, быстро и просто написать консольную программку для запуска на iOS-девайсе. Разумеется, нам потребуется для этого jailbreak-нутый девайс, без него, увы, никак: iOS AppStore (он же iTunesStore) не позволяет распространять консольные утилиты.



          Писать HelloWorld — дело не особо интересное. Поэтому, мы будем писать полезную утилиту, позволяющую просмотреть некоторую информацию о системе, полученную через приватные API.

          К примеру, информацию об установленных программах и их версиях.

          В принципе, можно ещё поворовать пароли и прочие персональные данные, но это оставлю как факультативное задание.

          Итак, под катом — описание процесса создания консольной программки прямо в Xcode.
          Поехали
          • +25
          • 15,8k
          • 7
        • Выпущен новый Mail.Ru Агент для Mac OS X

            Добрый день, уважаемые хабралюди!

            Сегодня я рад представить вам (от имени всей команды) новую версию Агента для [Mac] OS X! И это не просто релиз багфиксов и мелких улучшений (коих действительно немало), в новой версии есть несколько действительно больших новых фич.

            Со времени прошлой публикации об Агенте для Мака прошло больше года, с тех пор была выпущена ещё одна мажорная версия, в которую вошла поддержка ICQ и прочие улучшения.

            Фичи под катом
          • Работа с файлами .plist в Cocoa/CocoaTouch

            • Tutorial
            Всем доброго хабрадня!

            Сегодня я бы хотел рассказать о некоторых аспектах сохранения настроек и прочих данных программы в OS X и/или iOS. Как обычно, у нас есть несколько вариантов: Core Data, «голый» SQLite, свои бинарные форматы, свои текстовые форматы, NSUserDefaults и, как Вы уже наверняка слышали, файлы типа PLIST, то есть XML Property List.

            Вкратце, plist-файлы представляют из себя обычный XML, но с некоторыми оговорками. К примеру, порядок тегов в нём обусловлен некоторыми правилами: они идут парами «ключ-значение», но теги типа «ключ» и теги типа «значение» располагаются на одном уровне. Типичный пример:

            	<key>identifier</key>
            	<string>j3qq4-h7h2v</string>
            

            Плисты умеют хранить основные типы данных Cocoa: NSString, NSNumber (int, float, BOOL), NSDate, NSArray, NSDictionary и NSData. Этим типам соответствуют следующие теги: , , , <true/>, <false/>, , , , . Собственно, plist состоит из тегов , за которыми следуют перечисленные теги со значением.

            Под катом - описание дополнительных ограничений и, что самое главное, API для работы с такими файлами.
            Как с ними работать
          • Создание красивого образа .dmg для программы в [Mac] OS X

            • Tutorial
            Приветствую достопочтенных жителей Хабра!

            Сегодня я расскажу вам о том, как красиво преподнести пользователю инсталлятор своей программы. Наверняка каждый, кто пользуется не только программами из AppStore, сталкивался с красивыми образами диска .dmg, как вот у Адиума, к примеру. Такой образ представляет из себя, так сказать, интерактивный инсталлятор, в котором дана чёткая подсказка: перетащи значок вот сюда. Всё предельно понятно и просто.

            Конечно, для бывалого маковода и zip-архив сгодится, но ведь все любят, чтоб было красиво и удобно. Так что мы с вами, дорогие читатели, озаботимся сегодня созданием такого вот красивого образа диска для своей (ну или чужой) программы.

            Можно, конечно, проделать это всё вручную, но это не_наш_метод™, так что мы будем писать shell-скрипт для автоматизации сего процесса. Автоматизация нам так же пригодится в случае ввода в эксплуатацию билд-сервера, тогда этот сервер будет не только собирать программу из исходников, но и делать образ диска для дистрибьюции.

            Если Вам не нужно знать как работает такой скрипт, а нужен лишь инструмент — в конце имеется ссылка на весьма универсальный скрипт, готовый к применению.
            Приступим
          • Потоки в OS X: как получить CPU usage всех потоков в чужой программе?

            • Tutorial
            Добрый день, уважаемые хабровчане-маководы!

            В [Mac] OS X имеется замечательный встроенный инструмент — Activity Monitor, который легко покажет занимаемую процессом память и процессорное время. Что ж, это очень хорошо, но иногда хочется странного. Например, посмотреть, сколько у процесса потоков (threads) и сколько CPU кушает каждый из них. Тут уже Activity Monitor нам никак не может помочь, увы, а файловой системы procfs здесь бывалый линуксоид не найдёт. Придётся решать эту проблему своими силами.

            Сегодня я поведаю вам о том, как написать маленькую консольную программку, которая будет на вход принимать PID процесса и на выходе давать информацию о CPU usage каждого потока этой программы (а так же общий usage).

            Писать будем на чистом C, у нас будет всего один файл исходников, и я решил не использовать Xcode для такого мелкого проекта, пусть будет обычный Makefile.
            Пишем на C
          • Как я писал Футболоид под iOS

            • Tutorial
            Приветствую достопочтеннейших Хабралюдей!


            Не так давно, во время поиска новой работы, я получил очень интересное тестовое задание от ZeptoLab: написать за пару рабочих дней арканоид под iOS без использования сторонних библиотек типа Cocos2d/Box2d и т.п., то есть, на «чистом» OpenGL, что показалось мне весьма интересным. Кстати, об этом задании на Хабре уже писали, и даже устраивали разбор полётов. Итак, я бросил вызов судьбе и взялся за геймдев впервые после школьных упражнений с васиком в графическом режиме!

            Уточню, что некоторые знания OpenGL у меня уже были, но весьма и весьма поверхностные. Можно сказать, что их не было ну почти совсем, я просто знал, что такое вьюпорт и что бывают какие-то там спрайты, что существуют матрицы преобразования… Так что данная статья могла бы быть озаглавлена "Как написать простую игру под iOS на чистом OpenGL, не зная его", но это слишком уж длинно.

            В общем, если Вам интересно, как я это сделал за ~10 часов разработки и ~2 часа чтения, прошу под кат. (осторожно! много кода! мало картинок! ссылка на гитхаб и расслабляющее видео в конце!)
            Поехали
          • ВЦИОМ сообщает: большинство интернет пользователей поддерживают законопроект № 89417-6

              Всероссийский Центр Изучения Общественного Мнения (ВЦИОМ) опубликовал на своём сайте данные опроса на тему «ЕДИНЫЙ ЧЕРНЫЙ СПИСОК САЙТОВ»: ЗА И ПРОТИВ, по сути — за или против принятого законопроекта № 89417-6.

              Начну сразу с пары цитат:

              Подавляющее большинство пользователей Интернета сталкивались с проблемой доступности опасного контента в сети (84%). Ничего неизвестно об этом только 14% «интернетчиков».

              Три четверти опрошенных пользователей Интернета поддерживают реализацию «Единого черного списка сайтов в сети Интернет» (73%).

              Против создания «черного списка» выступают 9% опрошенных
              Читать дальше →
            • Twitter позволит пользователю скачивать свой архив твитов

                По словам главы Твиттера Дика Костоло, сервис в скором времени уподобится фейсбукупозволит пользователю скачивать архив всех своих твитов. Загрузить «свой след в твиттере» можно будет сразу одним файлом. Формат не уточняется, как и дата запуска сервиса.

                Сейчас твиттер может отобразить лишь несколько тысяч твоих твитов, загрузить же можно будет все. Это, по словам Дика, весьма сложная задача.
                Читать дальше →
              • Mac OS X 10.8 «Mountain Lion» выходит сегодня

                  Как сообщает Apple в Q3 2012 earnings report, новая версия Mac OS X должна уже сегодня появиться в AppStore. Обновление будет стоить $19.99 (если, конечно, Вы не купили мак после 11 июня сего года).

                  Разнообразные фичи новой версии уже многократно обсуждались, так что лишь кратко перечислю нововведения:

                  • Более тесная интеграция с iCloud
                  • Messages
                  • Reminders
                  • Заметки
                  • Центр уведомлений
                  • Расшаривание в соцсетях
                  • Twitter
                  • Game Center
                  • AirPlay
                  • GateKeeper
                  • Всевозможные улучшения стабильности, безопасности и прочего

                  Что ж, будем ждать появления официальной ссылки на AppStore.
                  Читать дальше →
                • В Англии ты можешь попасть за решётку за хранение шума

                  • Перевод
                  (прим. переводчика)
                  Последние дни все обсуждают пресловутый законопроект №89417-6, при этом ругая нашу страну за столь непродуманный закон. Данным переводом (полный заголовок которого чуть ниже) я хочу показать, что не только у нас принимают законы, позволяющие привлечь кого угодно к статье практически на ровном месте. В некоторых странах всё ещё хуже. Гораздо хуже. И будем надеяться, что до нас этот бред не дойдёт.


                  В Англии ты можешь попасть за решётку не только за шифрование данных, но и за астрономический шум.


                  В комментариях ко вчерашнему посту все удивились тому факту, что в Англии шифрование объявлено вне закона: граждане страны будут отправлены за решётку на срок до пяти лет, если они не смогут предъявить ключ к своим зашифрованным данным.
                  Читать дальше →
                • Законопроект № 89417-6 принят во втором и третьем чтении

                    википротестУвы, протест Википедии, ВКонтакте, Яндекса, БашИма, ЖЖ и многих других ни к чему не привёл. Как сообщает в твиттере и на сайте Лента.ру со ссылкой на ТАСС, проект был принят большинством голосов Единой России. Во втором чтении принят 441 голосом, в третьем — 434 голосами (по данным твиттера КПРФ). Хотя и в него и были введены некоторые поправки.

                    ВАЖНО! Совет при Президенте не одобрял принятие закона, см. UPD13 под катом. А как же тогда он прошёл так легко?
                    Так же стало известно, что список будет публичным. См. UPD14.
                    По закону специальная организация будет мониторить Сеть и обращаться в Роскомнадзор в случае, если обнаружит на сайте детскую порнографию, инструкции по производству или приобретению наркотиков или советы по осуществлению самоубийства.
                    Лента.ру

                    Официальное объявление уже появилось на сайте законопроекта, новостные сайты, видимо, готовят подробные репортажи (если есть интересные, прошу ссылки постить в комменты). Но мы здесь уже можем начать обсуждение: к чему может привести этот закон в мире IT, что делать дальше и прочее. В пост будут добавляться ссылки на другие источники по мере их появления.
                    Больше ссылок и подробностей
                  • Живой Журнал присоединился к протесту

                      Сегодня на всех страницах ЖЖ была замечена ссылка на позицию журнала по поводу Законопроекта №89417-6
                      ЖЖ против
                      В их статье даются ссылки на вики и хабр, а также на методы борьбы с законопроектом.

                      В борьбу включается всё больше крупных ресурсов, что не может не радовать.
                    • Краш-репорты в *nix: backtrace, SEGFAULT (и reinterpret_cast)

                      • Tutorial
                      Привет, уважаемый хабраюзер!

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

                      Некоторые ОС предлагают отправить краш-репорт разработчикам. Но! Разработчикам ОС, а не Вам, то есть совсем не тем людям, которым это действительно нужно! И тут на помощь приходят собственные краш-репорты, которая Ваша программа должна бы отправить на Ваш сервер. Но как их сделать? Как правильно обработать SEGFAULT и при этом отправить вразумительную информацию разработчику?
                      Читать дальше →