Pull to refresh
126
0
Валентин @silvansky

Developer

Send message

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

Reading time 1 min
Views 13K

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

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

Теперь же репозиторий подчищен, а кроме того, новая сборка под Windows уже доступна для скачивания. Версии для OS X и Linux (!) на подходе, благо Qt — кроссплатформенный фреймворк и собрать можно почти подо что угодно.
Читать дальше →
Total votes 23: ↑21 and ↓2 +19
Comments 61

Установка неподписанных программ на устройства с iOS 9 без Jailbreak

Reading time 3 min
Views 117K
Дорого дня, уважаемые хабражители!

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



Осторожно! Много картинок!
Читать дальше →
Total votes 40: ↑33 and ↓7 +26
Comments 33

10 малоизвестных возможностей Objective-C

Reading time 7 min
Views 46K
Приветствую уважаемых хабражителей!

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

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

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

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


Читать дальше →
Total votes 71: ↑64 and ↓7 +57
Comments 68

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

Reading time 3 min
Views 23K

src

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

Мы, программисты, чаще всего интроверты, потому что такой склад характера позволяет сконцентрироваться на интересной задаче, укрывшись в своём «пузыре» от внешних раздражителей.
Читать дальше →
Total votes 142: ↑110 and ↓32 +78
Comments 51

Scrambls — защита Вашей интеллектуальной собственности и шифрование в соцсетях

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

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

И как же выйти из такой ситуации? Ребята из Scrambls, кажется, уже решили эту задачу!
Как? Читайте под катом
Total votes 50: ↑44 and ↓6 +38
Comments 40

19 команд ffmpeg для любых нужд

Reading time 3 min
Views 561K
От переводчика:
Многие знают, что 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)
Читать дальше →
Total votes 222: ↑214 and ↓8 +206
Comments 107

theos: пишем твик для iOS SpringBoard

Reading time 6 min
Views 18K
Доброго скороновогоднего вечера уважаемым хабралюдям!

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


Читаем далее
Total votes 47: ↑40 and ↓7 +33
Comments 10

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

Reading time 7 min
Views 18K
Доброго дня всем хабравчанам!

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



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

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

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

Итак, под катом — описание процесса создания консольной программки прямо в Xcode.
Поехали
Total votes 37: ↑31 and ↓6 +25
Comments 7

Выпущен новый Mail.Ru Агент для Mac OS X

Reading time 3 min
Views 13K
Добрый день, уважаемые хабралюди!

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

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

Фичи под катом
Total votes 74: ↑36 and ↓38 -2
Comments 52

Работа с файлами .plist в Cocoa/CocoaTouch

Reading time 6 min
Views 27K
Всем доброго хабрадня!

Сегодня я бы хотел рассказать о некоторых аспектах сохранения настроек и прочих данных программы в 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 для работы с такими файлами.
Как с ними работать
Total votes 18: ↑16 and ↓2 +14
Comments 23

Создание красивого образа .dmg для программы в [Mac] OS X

Reading time 6 min
Views 28K
Приветствую достопочтенных жителей Хабра!

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

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

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

Если Вам не нужно знать как работает такой скрипт, а нужен лишь инструмент — в конце имеется ссылка на весьма универсальный скрипт, готовый к применению.
Приступим
Total votes 70: ↑64 and ↓6 +58
Comments 18

Потоки в OS X: как получить CPU usage всех потоков в чужой программе?

Reading time 5 min
Views 6.5K
Добрый день, уважаемые хабровчане-маководы!

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

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

Писать будем на чистом C, у нас будет всего один файл исходников, и я решил не использовать Xcode для такого мелкого проекта, пусть будет обычный Makefile.
Пишем на C
Total votes 16: ↑12 and ↓4 +8
Comments 15

Как я писал Футболоид под iOS

Reading time 15 min
Views 41K
Приветствую достопочтеннейших Хабралюдей!


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

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

В общем, если Вам интересно, как я это сделал за ~10 часов разработки и ~2 часа чтения, прошу под кат. (осторожно! много кода! мало картинок! ссылка на гитхаб и расслабляющее видео в конце!)
Поехали
Total votes 89: ↑69 and ↓20 +49
Comments 25

ВЦИОМ сообщает: большинство интернет пользователей поддерживают законопроект № 89417-6

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

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

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

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

Против создания «черного списка» выступают 9% опрошенных
Читать дальше →
Total votes 118: ↑108 and ↓10 +98
Comments 225

Twitter позволит пользователю скачивать свой архив твитов

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

Сейчас твиттер может отобразить лишь несколько тысяч твоих твитов, загрузить же можно будет все. Это, по словам Дика, весьма сложная задача.
Читать дальше →
Total votes 21: ↑20 and ↓1 +19
Comments 28

Mac OS X 10.8 «Mountain Lion» выходит сегодня

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

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

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

Что ж, будем ждать появления официальной ссылки на AppStore.
Читать дальше →
Total votes 64: ↑45 and ↓19 +26
Comments 71

В Англии ты можешь попасть за решётку за хранение шума

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


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


В комментариях ко вчерашнему посту все удивились тому факту, что в Англии шифрование объявлено вне закона: граждане страны будут отправлены за решётку на срок до пяти лет, если они не смогут предъявить ключ к своим зашифрованным данным.
Читать дальше →
Total votes 154: ↑147 and ↓7 +140
Comments 165

Законопроект № 89417-6 принят во втором и третьем чтении

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

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

Официальное объявление уже появилось на сайте законопроекта, новостные сайты, видимо, готовят подробные репортажи (если есть интересные, прошу ссылки постить в комменты). Но мы здесь уже можем начать обсуждение: к чему может привести этот закон в мире IT, что делать дальше и прочее. В пост будут добавляться ссылки на другие источники по мере их появления.
Больше ссылок и подробностей
Total votes 228: ↑211 and ↓17 +194
Comments 908

Живой Журнал присоединился к протесту

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

В борьбу включается всё больше крупных ресурсов, что не может не радовать.
Total votes 52: ↑42 and ↓10 +32
Comments 41

Краш-репорты в *nix: backtrace, SEGFAULT (и reinterpret_cast)

Reading time 5 min
Views 5.3K
Привет, уважаемый хабраюзер!

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

Некоторые ОС предлагают отправить краш-репорт разработчикам. Но! Разработчикам ОС, а не Вам, то есть совсем не тем людям, которым это действительно нужно! И тут на помощь приходят собственные краш-репорты, которая Ваша программа должна бы отправить на Ваш сервер. Но как их сделать? Как правильно обработать SEGFAULT и при этом отправить вразумительную информацию разработчику?
Читать дальше →
Total votes 60: ↑57 and ↓3 +54
Comments 42
1

Information

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