Архив за Июнь 2008

Сегодня в Долгопрудном была замечена машина, подозрительно похожая на те, которые снимают улицы для Google Street View (с такой вот камерой). Ура?
Соответственно, чтобы использовать BlogJet, пользователям придется включать API. Мы с Даниэлем Джалкутом ругаемся по этому поводу в своих блогах.
Ненавижу какао, на самом деле. В этой серии заметок я буду хвастаться прелестями Cocoa, чтобы вы, веб- виндоус- линукс- девелоперы завидовали, а непрограммисты еще раз подумали, зачем же они подписаны на мой блог. Сегодня, дорогие ребята, мы поговорим о многопоточности... дурацкое слово... о мультитредности. Все знают, как сложно писать мультитредные программы. Сихронизация, управление тредами и т.п. Пример: вам нужно сделать какие-нибудь более-менее долгие манипуляции с сотней объектов. Чтобы не заставлять пользователя ждать пока операция завершится — пускай себе дальше в интерфейсе копается — нам надо запустить эти манипуляции в отдельном треде. Окей, но что если у юзера многоядерный процессор? Например, четыре ядра. Чтобы ускорить манипуляции, нужно создать не один тред, скажем, три или четыре — пусть компьютер работает на полную мощность! А если у пользователя 100 ядер? Блин, придется либо забить на все это дело и сделать один-два-три-четыре треда, либо узнавать количество ядер и кодить какую-нибудь штуку, которая запускала бы нужное количество тредов. Добро пожаловать в Cocoa! Здесь есть классы NSOperation и NSOperationQueue (начиная с Mac OS X 10.5). Делаем подкласс NSOperation, в котором описываем нужную операцию, создаем 100 экземпляров этого класса, а потом просто ставим их всех в очередь — добавляем в NSOperationQueue. Все! Дальше Cocoa при участии ядра операционки само решит сколько тредов нужно создавать, когда их запускать, и какое количество запустить одновременно, учитывая особенности компьютера и его текущую загруженность. Ахххх, какое удовольствие! (Кстати, если нужны какие-нибудь зависимости, например, одна операция не может сработать пока не закончится другая — пожалуйста, и это тоже можно). Вот так. Cocoa FTW. Давайте, теперь оправдывайтесь.
Я уже писал, что в моем MacBook Air сломалась батарейка? А, не, я писал про то, что батарейки сломались в MacBook Pro и MacBook. Так вот, она сломалась и в MacBook Air. Вдруг резко заряда стало показываться на 10 минут и меньше. После молитвы и прикладывания лапы кошки к компьютеру, батарейки стало хватать на 10 часов и больше (по показаниям компа, на самом деле — обычные часа три). Потом — 40 минут. Сейчас ноутбук в ремонте. Пользуясь случаем, хочу передать привет Стиву Джобсу!
Вы не забыли какой сегодня день? 17 июня! А это, если вы не помните, день, когда мы установим рекорд Гиннеса по самому большому количеству загрузок одной программы — браузера Safari 3. Скачать его можно тут. Присоединяйтесь к акции! P.S. Линуксятникам предлагается собрать Epiphany --with-engine=webkit.
Интернеты опять обнаружили речь Стива Джобса: Вчера на sellme.ru зашло более 6500 человеков. А позавчера мир узнал новое имя .Mac: И blog.codingrobots.com вот такими реферрерами разжился: Кстати, 1200 с daringfireball, тем более с целых двух ссылок — это очень мало. В прошлый раз было около 9000, насколько помню.