31 May 2011

Про SSD

Читающие мой твиттер в курсе (и вообще, читающие твиттер самые первые в курсе по любому поводу) что взял я себе на работу SSD, дабы посмотреть, а не ускорит ли сия чудо железка процесс компиляции, который всех уже порядком подзадолбал.



На самом деле, это была такая еврейская попытка сэкономить на апгрейде, потому что железки у всех стоят старые, более менее актуальные лет этак пять назад -- у меня Athlon 64 X2 4000+, 2 Gb RAM, поверх всего этого бегает старая и добрая WinXP (SATA на борту материнки есть, правда, по-моему, первой версии).

Бенчмаркал я все на плюсовом проекте, который собирал в VS2005. Проект не маленький -- в output валит где-то 600 объектных файлов объемом за полгига, используется много либ, включая Qt и boost.

Тестировал таким макаром -- добивался в IDE компиляции до состояния "project is up-to-date", выходил из IDE, запускал ее снова, менял один хидер (который приводит к перекомпиляции пару десятков файлов), собирался и мерил время, потом возвращал хидер в исходное состояние и мерил еще раз. Вторую компиляцию делал полагаясь, что на ней должен в полном объеме показать себя кэш.

На HDD вся эта история вела себя так. Начинаешь первый раз компилировать проект -- чуть больше минуты происходит нечто, жрущее CPU и жующее винт по полной программе (есть мнение, что это построение зависимостей файлов), только после этого начинается сборка. Компиляция занимает где-то 3 минуты, потом еще 2 минуты занимает линковка. Итоговое время 6:15.
Второй прогон дает 4:07. К этой цифре мы еще вернемся.

Теперь все тоже самое на SSD, куда я перенес все сырцы проекта и все либы, от которых зависит проект. Единственное, что я не сделал, не переставил на SSD Visual Studio.
Предварительный этап до начала компиляции на SSD так же брутален, и кушает те же самые минута 10 секунд. Компиляция -- те же самые три минуты, что и на HDD, а вот линковка в этом проходе работает в два раза быстрее, чем на HDD, все было сделано за минуту. Итого -- 5:10, на минуту лучше, ее мы выиграли при линковке.
Второй прогон дает 4:00, то же самое, что и на HDD. 3 минуты компиляция, минута -- линковка, предварительных действий, которые кушают минуту, при втором проходе не наблюдается.

Мораль?
Вся эта история о кэше дисковых данных в RAM. Когда вы работаете в IDE с одним проектом и у вас подтянулись все данные в кэш, в принципе, уже не важно, на HDD или SDD находятся ваши файлы. Результаты первого прохода на HDD хуже, очевидно, за счет того, что подготовка с билду выбивает из кэша объектные файлы, которые будут нужны на этапе линковки. Этот же самый вылет данных из кэша при компиляции на SSD не играет никакой роли -- SSD по скорости работы соизмерим со скоростью RAM. На второй проходе предварительного этапа подготовки к билду нет, поэтому работает все одинаково хорошо и на SSD, и на HDD.

Наверное, дополнительная RAM более полезный и универсальный ресурс, чем SSD. А главное, он обладает значительно большей амортизацией, ибо, подозреваю, SSD в таком режиме продержится дай б-г хотя бы год... Да, и на что-то 64-х битное пора, пора переходить.

Скорость чтения с SSD, конечно, очень впечатляет, и я догадываюсь, как лихо с такой железки стартует ОС и тяжелые программы, вроде фотошопа. Сам я наблюдал преимущества нереальной скорости чтения на вещах, вроде подсчета размера папки с boost (3+ Gb, 30k+ файлов) или на процедуре проверки дерева проекта на предмет того, какие именно файлы надо коммитить в репозиторий. На SSD эти вещи стабильно занимают максимум пару секунд. На винте, если вам не повезло (с кэшированием), то ждать можно несколько десятков (!) секунд.

The bottom line -- хуже точно не стало. Вопрос еще в том, насколько хватит ресурса этого дела, если каждый день его насиловать компиляциями. Ну и понятно, что в моем случае надо делать полный апгрейд железа и не пытаться кого-то обмануть.

зы. Доставляли комменты в твиттере от людей, мало чего понимающих в технических тонкостях, о том, что WinXP "плохо работает" с SSD. Наличие TRIM, конечно же, не помешало бы, но это критично только на операциях записи и только в случае основательно поюзанного раздела.

30 May 2011

Сериализация enum, дополнение

Вдогонку к этой записи.

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

Я ударился в небольшие эксперименты. На каком-то этапе я даже получил веселую ситуацию, когда оператор записи в поток << был определен на глобальном уровне, уровне потока, и уровне типа, который в этот поток пишется... По итогам всего этого родилась следующая версия, позволяющая писать типы в поток более однородным способом.

29 May 2011

***

"Человек есть тайна. Ее надо разгадать, и ежели будешь ее разгадывать всю жизнь, то не говори, что потерял время; я занимаюсь этой тайной, ибо хочу быть человеком."
Ф.М. Достоевский  

27 May 2011

Qt 5

Дошли руки до крайне любопытного документа на тему Qt next.



В двух словах о чем все это.

Нам обещают очень радикальные изменения, и, разумеется, клянутся обеспечить максимально безболезненный переход с 4.x версий.

Основным инструментом разработки становится QML, на нем будет описываться даже точка входа в программу. Будет хорошо продуманная концепция модулей (альтернатива старой концепции плагинов). Через такие модули можно будет подключать не только другой QML код, но и нативные компоненты, написанные на старых и недобрых плюсах.

Несмотря на эпическое перекраивание архитектуры, бета версию обещают уже к концу года.

Что я имею сказать по этому поводу?

Ребята из Qt говорят, что тренды в области UI за последние несколько лет сильно поменялись, "никто не хочет кокаина -- все хотят героин", в смысле, анимация и прочие ня сегодня нужны как бухло в пятницу вечером, и никуда от этой острой необходимости не деться. Описывать поведение всех этих красот, конечно же, удобнее и быстрее на javascipt, чем на чем-то тяжеловесном, вроде отправленных на заслуженную пенсию плюсов.

Может оно и так, но у меня все равно есть несколько вопросов.
Я не сильно большой гуру в QML, но у меня возникает вопрос, а чем эта вся история отличается от давно существующей и отлично работающей связи Python + Qt?
Насколько много на рынке приложений, на 90% состоящих из UI releated кода?
И так ли удобно и эффективно будет взаимодействовать из js с C++ кодом в приложениях, где основное ядро нужно писать на чем-то быстром и статически типизированном?

Также у меня есть вопросы и насчет ниши, в которой будет жить Qt.
В мобильном мире ей вообще мало места -- в iOS и WP7 ее не пустят, в Android есть свой довольно развитый и современный фреймворк, а судьбы Symbian и MeeGo весьма и весьма туманны. А еще мне кажется, что ситуация усугубляется тем, что использование "lighthouse" становиться доминирующим, что приводит к отказу от использования нативных GUI контролов и чужеродному виду Qt приложений в системе. Пользователи этого не оценят.

В общем, на данный момент времени вопросов по Qt 5 больше, чем ответов.

зы. Материал по теме на хабре.
Некоторые комменты доставляют: «А давайте испортим единственный вменяемый десктопный native GUI-framework и сделаем еще один WPF».

25 May 2011

Сериализация enum

Как известно, в плюсах с сериализацией все очень плохо, т.к. на уровне языка нет рефлекшена.

23 May 2011

I Have An App For That! (index)

Индекс для моей пятисерийки на тему мобильных приложений.



Часть первая. Вступление, история вопроса.
Часть вторая. Классификация факторов, экономический фактор.
Часть третья. Фактор энтузиазма, вводная по техническим аспектам.
Часть четвертая. Про языки программирования.
Часть пятая. Про платформы. Grand Finale.

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

Толстый оффтоп. За сам факт появления материала можете кланяться в ножки Вильянову. Без участия этого змея-искусителя, подстрекателя и гуру poking'а в фейсбуке, хрена лысого я бы взялся за такое монументальное полотно, и, что еще более вероятно, довел бы его до конца. Потому что брошенных посреди пути эпических материалов у меня в черновиках валяется воз и маленькая тележка, и собственное малодушие и разпиздяйство оправдывает только осознание того факта, что когда я скопычусь (а я к тому возрасту обязательно буду чертовски знаменитым), то гугл выдаст пароль от моего аккаунта и с большой помпой будут опубликованы все мои черновики, наброски и неоконченные произведения...

А если серьезно, то сам я итоговым материалом не очень доволен.
Я пожадничал, попытался отхватить слишком большой кусок, да подавился.
Тема слишком большая, с ее объемом я не справился, получилось несколько неоднородно и расфокусировано. Помимо всего прочего, материал меня основательно измучил, и к финалу у меня уже просто не было сил и желания его серьезно перекраивать, пытаясь довести до более съедобного состояния. В общем, лично я сочувствую Никите Сергеевичу, который взялся за великий фильм о великий войне, да как-то не сдюжил...

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

И еще немного рефлексии. По итогам создания материала задумался о том, а есть ли отличие, когда изначально собираешься писать что-то на широкую аудиторию или когда пишешь просто очередную запись для блога. Да, отличия есть и немаленькие. Собирательный портрет читателя, для которого пишешь, самым очевидным образом сказывается на тексте. В случае блога это такая маленькая тусовка, собравшаяся на тесной кухоньке попить пива да потравить байки, в которой все свои, все в курсе твоих дел и интересов, в курсе твоих взглядов на те или иные вопросы, которые довольно хорошо тебя знают и многое понимают с полуслова. Общаться с ними очень просто и приятно; это не безликая толпа, тут ты почти каждого знаешь поименно. Ну а при работе с большой аудиторий постоянно нужно делать массу совершенно ненужных вещей, искать компромиссы, некое среднее арифметическое, под которое хорошо попадет совершенно неизвестный тебе читатель. В блог ты пишешь "as is" и тебя выбирают те, кому это интересно. В случае большой аудитории есть вполне определенные ожидания и ты обязан их максимально полно удовлетворить...
И, конечно же, близость с аудиторией это нечто большее, чем лживое обращение "ты", которое так любят использовать в глянцевых говноизданиях.

И, тем не менее, что получилось -- то получилось; жалеть о чем-то не в моих правилах.
Большая тема закрыта, тема перестала быть интересной.

22 May 2011

iPad games

Напишу про пару зацепивших игрушек.

A Monster Ate My Homework



Игрушка относительно старая, но наткнулся я на нее недавно.
Имеем картонную коробку, на которой стоят связки книжек и "монстры". У вас в руках мячики, которые нужно бросать так, чтобы сбить с коробки монстров, но не уронить ни одного учебника.
Захватывающая штука с шикарно реализованной физикой, в которую начинаешь играть и не можешь оторваться. Рекомендую!

Hey, That's My Fish! HD



Портированная под iOS настольная игрушка с одноименным названием.
Правила игры очень просты -- двигаем по очереди пингвинов по игровому полю, каждая клетка  которого содержит одну, две или три рыбешки. Пингвин, занявший клетку, приносит своему игроку столько очков, сколько на ней рыбы. Клетка, с которой ушел пингвин, превращается в лунку, т.е. аннигилируется.
За очень простыми правилами стоит отменно продуманная и хорошо сбалансированная тактическая игра. С компом играть малоинтересно, но вот в большой компании это просто хит всех времен и народов. Мы вчетвером (включая семилетнего ребенка) провели за этой игрой несколько часов и получили просто кучу фана.
Если у вас есть возможность поиграть в компании -- очень рекомендую!

21 May 2011

Drive Angry

Как для своего жанра -- довольно крепкий середнячок.



Эмбер Хёрд очень хороша, ее присутствие в кадре определенно радует глаз.


Есть крайне удачные сцены и шутки, вроде пострелюшки во время поебушки.
Дьявольски обаятельный персонаж "Счетовод" просто шикарен!

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

Итого -- можно посмотреть под пиво, если вы любитель sex & violence фильмов.

Кличко vs Хэй

Пока я был по уши в дедлайне, полным ходом шел пиар вокруг главного боя в тяжелом весе в этом году.



Раскрутка построена очень грамотно, Хэй в роли мальчиша-плохиша, которому западло даже руку пожать своему противнику, смотрится очень органично.

Бой, конечно, очень важен хотя бы с той точки зрения, что наконец-то позволит братьям собрать в своих руках ВСЕ пояса в супертяжелом весе, но у меня есть большие сомнения насчет того, что это будет захватывающий и зрелищный бой.

Почему я так считаю?

Хэй не имеет достаточных физических данных для боя с таким крупным боксером. А еще он реально сцыт, и его длинный и черный язык отлично уживается с вполне адекватным чувством самосохранения. Помним чертовски "интересный" бой с Валуевым, который Хэй провел не боксируя, а занимаясь беготней в ринге? Уверен, тактика на бой с Володей у него будет на 100% аналогичной, и ежесекундно кидаться на своего соперника с кулаками, пытаясь его нокаутировать он точно не будет.

Что случается, когда один из боксеров очень сильно не хочет боксировать и всячески избегает боя? Получается очень скучная картинка, которую мы видели, в том числе, и в боях Володи. Вспомним его бой против Ибрагимова... Так что, лично у меня, крайне осторожные ожидания насчет летнего объединительного суперфайта в тяжелом весе.

Ну и раз уж я, раз в триста лет, заговорил о боксе, в свете осеннего боя Пакмен vs Маркес III хочу вот что сказать. Я обожаю Маркеса и не люблю Пакмена. И объяснение этому факту самое простое -- от боев мексиканца каждый раз дух захватывает. Филиппинец в ринге вызывает зевоту.

Вот давайте посмотрим на те бои, которые провели оба боксера со времени своей последней встречи весной 2008-го.
У Маркеса за плечами бой с Касамайором! Первый бой с Диасом! С Касидисом! Каждый из этих боев я пересмотрю с огромным удовольствием.
А у Пака -- очень громкие имена побежденных соперников; увы, побежденных в чертовски скучных боях. Мозли, Котто, Клотти, Маргарито. Почему, будучи супербоксером, он не смог нокаутировать ни одного из них?
Конечно, есть у него за плечами и яркие успехи, вроде нокаута, который поймал Рикки Хаттон, дык это было уже совсем не интересно, после того как британец был поставлен на место Мейвезером...

В общем, не люблю я Пака, я люблю Маркеса!

20 May 2011

Microsoft + Skype: cнова про деньги в чужом кармане

"-- На планету высадились мудозвоны.
-- Ну все, пропала планета!"
Из фильма моего детства

Конечно же мне было что сказать по поводу приобретения корпорацией добра на букву M компании Skype за нереальные 8+ млрд. зеленых бумажек. И промолчал я об этом только по тому, что у меня тупо не было времени на подобные глупости -- зашивался на работе.


Как человек, много лет занимающийся разработками в сфере телекоммуникаций, в том числе, и вопросами передачи голоса по IP, могу сказать, что технологии, стоящие за Skype, это отнюдь не рокет сайнс. В том смысле, что научиться грамотно работать за NAT (используя ресурсы клиентов с реальными адресами), реализовать качественный кодек (в реальном времени адаптирующийся под качество канала), реализовать клиенты под все значимые десктопные и мобильные ОС -- разработка всего этого стоит каких-то жалких $10-25 млн, никак не больше.

За что же тогда была заплачена такая нереальная сумма?

19 May 2011

Конфуз

Маленькая зарисовка из прошлого.

Когда-то давным давно я, как и все дети, учился в школе.

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

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

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

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

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



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

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

Приговор был строг -- классная сказала, чтобы я за лето завел новый словарь и полностью переписал в него содержимое старого, которое было результатом почти двухлетних усилий. Нереальный объем работ, который, в придачу, надо было делать летом, когда такой вот ерундой хочется заниматься в самую последнюю очередь!... Естественно, я дотянул до самого августа, и когда вся семья поехала на отдых в Карпаты, меня взяли вместе со словарем и под мое честное слово, что я полностью перепишу его за время отдыха. Самое смешное, что откладывал я этот весь неблагодарный труд не зря, потому что почти весь словарь был переписан моим приятелем, с которым я умудрился познакомиться прямо на базе отдыха, и с которым дружу до сих пор... Но это уже совсем другая история.

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

18 May 2011

Надо входить в нормальный ритм

Наконец-то закончился двухнедельный deadline.

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

Скоростные забеги на короткие дистанции сильно выматывают. 

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

16 May 2011

Люблю эту цитату

«С ней спать — все равно что со скелетом, — говорит он. — Дня два назад я взял ее к себе — из жалости, — и что, ты думаешь, эта ненормальная сделала? Она побрилась, ты понимаешь… ни волоска между ногами. У тебя когда-нибудь была женщина с бритой п…? Это безобразно. Ты не согласен? К тому же смешно. Да и дико. Это уже не п… а ракушка какая-то». Его любопытство было настолько велико, рассказывает ван Норден, что он не поленился и вылез из постели, чтобы найти электрический фонарик. «Я заставил ее раскрыть эту штуку и направил туда луч. Тебе надо было меня видеть… прекомичная была сценка. Я до того увлекся, что даже забыл про бабу. Никогда в жизни я не рассматривал п… так внимательно. Можно было подумать, что я никогда ее раньше не видел. И чем больше я смотрел, тем менее интересной она мне казалась. Просто видишь, что ничего в ней нет интересного, особенно когда все кругом выбрито. Так хоть какая-то загадочность. Потому-то статуи и оставляют тебя холодным. Только один раз я видел статую с настоящей п… У Родена. Посмотри как-нибудь… такая, с широко расставленными ногами. Я даже не помню, была ли у нее голова. Только п… Ужасное зрелище! Дело в том, что все они одинаковы. Когда видишь их в одежде, чего только не воображаешь; наделяешь их индивидуальностью, которой у них конечно же нет. Только щель между ногами, но ты заводишься от нее, хотя на самом деле и не очень-то на нее смотришь. Ты просто знаешь, что она там, и только и думаешь, как бы закинуть туда палку; собственно, это даже и не ты думаешь, а твой пенис. Но все это иллюзия. Ты загораешься от ничего… от щели, с волосами или без волос. Она настолько бессмысленна, что я смотрел как завороженный. Я изучал ее минут десять или даже больше. Когда ты смотришь на нее вот так, совершенно отвлеченно, в голову приходят забавные мысли. Вся эта тайна пола… а потом ты обнаруживаешь, что это ничто, пустота. Подумай, как было бы забавно найти там губную гармонику… или календарь! Но там ничего нет… ничего. И вот это-то и противно. Я чуть не свихнулся… Угадай, что я после всего этого сделал. Я поставил ей быстрый пистон и повернулся задом… Взял книгу и стал читать… Из книги, даже самой плохой, всегда можно что-нибудь почерпнуть, a п… — это, знаешь ли, пустая трата времени…»

11 May 2011

I Have An App For That! (Pt. V)

(окончание, предыдущая часть тут)


Платформы


Сначала о покойничках, разложившихся, либо бодро ползущих в сторону кладбища. 

Я хочу, чтобы вы запомнили меня такой!... вечно зеленой

Старый и недобрый Windows Mobile. В телефонном направлении оно уже надежно зарыто в землю, и все, что будет происходить с этой ОС в будущем, может быть связано исключительно с активностью безымянных китайских производителей, которые, помимо смартфонов, выпускают на этой платформе (вернее сказать, на Windows CE) еще и разные железки, вроде автомобильных навигаторов.

Технические вопросы, связанные с этой платформой, я довольно подробно осветил выше. Платформа была максимально открытая, имела API, во многом совпадающий с API Windows, обладала очень качественным инструментарием для разработки. И можно говорить о том, что ситуация с программами для этой платформы, во многом, была схожа с программами для Windows. Это был комплимент, если кто не понял.

На мой взгляд, стоит признать, что WM имела ряд достоинств, ради которых Microsoft стоило бы приложить дополнительные усилия, и обеспечить в WP7 хотя бы какую-то совместимость со старой платформой. Технически это задача не выглядит абсолютно невозможной. Подход “совместимость любой ценой” долгое время был краеугольным камнем философии Microsoft, это был один из тех факторов, который привел компанию к ее оглушительному успеху на рынке (о том, как эту совместимость обеспечивали сотрудники компании в ее лучшие годы можно почитать, например, здесь). На мой взгляд, обеспечение совместимость дало бы компании два серьезных преимущества на старте новой мобильной ОС -- они бы не потеряли базу лояльных к этой ОС пользователей (она была слишком маленькой? знаете, на фоне продаж девайсов с WP7 это не такая уже смешная цифра) плюс получили бы довольно серьезный набор приложений на старте. Приложений, хоть и несколько архаично выглядящих, но приложений серьезных, а не каких-то игрулечек, которыми набиты нынешние магазины приложений.

06 May 2011

I Have An App For That! (Pt. IV)

(продолжение, предыдущая часть)


Язык до Киева доведет!


“Программное обеспечение может быть двигателем для постиндустриального мира, но его создание, увы, остается доиндустриальным ремеслом”

Начнем разбираться с языками программирования.

Что такое ЯП? ЯП это один из способов описания того, чего вы хотите получить от исполнительного устройства, в частном случае -- некоего процессора.

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

Почему в области ЯП мы имеет Вавилон -- зачем языков так много и почему все время придумывают новые? Если отвечать на этот вопрос в самом общем виде, то ответ будет простым -- языки имеют свои области специализации, на одном языке удобнее писать веб-сервисы, на другом -- математические расчеты. Это похоже на множество инструментов -- молоток служит для одних целей, микроскоп -- совсем для других, хотя, по слухам, им тоже можно забивать гвозди.
Если же попытаться ответить на вопрос более конкретно, в контексте обсуждаемой нами темы, то я бы сказал, что самое главное, что отличает разные языки, это степень их высокоуровневости. 

05 May 2011

Унитаз

Не знаю, кто как, а лично я люблю считать чужие деньги.
Потому меня довольно давно занимает явление под названием "корпоративные блоги" на Хабре.

"Социальное присутствие" (или как оно называется?) нынче очень модная тема. С одной стороны. С другой -- как и с чем есть этого зверя мало кто, на самом деле, понимает. Купить за деньги свой бложег на Хабре -- плевое дело, главный вопрос -- чем его наполнять.

Если забыть про блоги монстров, вроде Microsoft или Яндекс, у которых проблем с наполнением нет, как минимум, по причине того, что у них постоянно что-то происходит, и блог можно регулярно наполнять неким подобием более менее значимых новостей о том, что происходит в компании, так вот, помимо такого рода блогов, я знаю на Хабре еще ровно один приличный корпоративный блог, это блог компании ABBYY -- ребята действительно стараются, и пытаются не лепить из гавна пулю. Все остальные корпоративные бложики на редкость унылое гавно.

Взять любимую телеком тему.

С разрывов в один или два дня отличились Samsung и SE.

Первые зажгли с "одним днем Ивана Денисовича" про новый Galaxy S II (который, кста, в личном порядке облизал оналитег, причем так, что это, пожалуй, стоило бы отдельного разбора). Вторые с Xperia Play.


Деньги производителя в буквальном смысле слова сливаются в унитаз

Материалы лживые, неискренние, вымученные, воняющие самым мерзким запахом рекламы и ничего, кроме раздражения, у читателя не вызывающие.

Разумеется, в комментах под материалами соответствующая реакция далеко не самой глупой публики

"Бррррр. Слишком много рекламных предложений для моего мозга." (+50)

"Сильно раздражает ложь. Это реклама телефона и ничего кроме рекламы, так зачем врать про рабочий день и ещё время приписывать?"

"Заминусовал. При всей моей любви к Самсунгу. Это чисто рекламная статья. Написанная грубо и неприкрыто."

Собственно, болезнью таких вот материалов поражены не только соответствующие блоги на Хабре. Тот же оналитег, который крайне лихо критикует деятельность в социальной сфере SE или Nokia, сам же умудряется втюхивать лоховатой LG всякие "спецпроектики", в рамках которых выходят материалы того же класса.

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

Мораль? Не хочешь срать -- не мучай жопу.

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

Ваш Кэп.

03 May 2011

I Have An App For That! (Pt. III)

(продолжение, вторая часть тут)


Энтузиазм


Это одна из очень характерных черт человеческой природы -- непреодолимое желание творить. Что-то рисовать, вышивать, мастерить, музицировать или писать. Желание творить первично, а вот идея о том, что на результатах своего творчества можно еще и неплохие деньги зарабатывать, пришла в этот мир несколько позже. И в свете модных нынче споров на тему копирайта в эпоху многомегабитных каналов и торрентов, я всегда говорю о том, что самое большое наказание для автора это не то, что он что-то там не заработал на своем романе или альбоме, а та ситуация, когда ему не дают возможности творить, или не дают донести результаты своего труда до потенциальной аудитории (более подробно мои мысли на эту тему читайте читайте тут).

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

Вокруг меня есть множество примеров, когда люди делают что-то общественно полезное бесплатно, и мотивы при этом у них очень разные. Один мой хороший знакомый тратит кучу времени, работая над материалами для википедии (кстати, подумайте о самом феномене этого ресурса!). Другой пример -- мой коллега по работе почти каждый день рисует и правит карты Одессы и Одесской области в рамках проекта travelGPS. У него это хобби. Или я сам -- не первый год трачу кучу времени и сил на ведение блога, который не приносит мне ни копейки денег. Ну а тот факт, что, в свое время, я создал и пустил в массы несколько бесплатных приложений для Windows  Mobile как раз и подводит нас к тому моменту, ради которого я затеял весь этот разговор. Ибо процесс создания программ тоже попадает под категорию творчества и, иной раз, тот или иной софт пишется на голом энтузиазме, с почти альтруистическими порывами, вроде желания написать какую-то удобную штуку для себя, или даже просто разобраться как работает та или иная штука в свежекупленном смартфоне.

01 May 2011

Первомайская яблочная всячина

#1. Капитализм плохо работает в этом мире.

Откуда взяться при капитализме очередям и дефициту, верно?

Вот в Москве на некоторые модели импортных авто очереди на год вперед. Ну как, как такое может быть в принципе? Почему не повышают цены? Не развивают производство? Разве саморегулирующийся свободный рынок так работает?



Или взять любимый Apple.
Сергей Доля, по-моему, рассказывал, что один iPad он купил и подарил кому-то. Второй взял себе -- разбил ребенок. Пришел за третьим, а ему говорят: по этой кредитке мы вам не можем продать, вы по ней уже две штуки купили.
Сейчас на сайте Apple висит "Ships 1-2 weeks. Limit two per order".
Каждое утро перед открытием Apple Store у входа в магазин тусят толпы китайцев, которые вваливаются в магазин первыми и выгребают все доступные планшеты.

Что это вообще за херня такая? Разве это не верх маразма?...

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

#2. Что-то не покидают меня мысли о том, какой экран будет в iPad 3.
А почему бы не увеличить разрешение по каждой из сторон не в два, а в полтора раза? Будут очень солидные1536 x 1152, количество пикселей при этом возрастет более чем в два раза.

Ну а проблему старых приложений, в принципе, можно решить путем пересчета матрицы пикселей 4x4 в 9x9, по идее возросшая мощь графической подсистемы позволит таким образом обеспечивать производительность старых приложений на должном уровне. Правда, картинка, может выглядеть не слишком привлекательно. Все-таки мониторы с ЭЛТ в чем-то были хороши.

#3. Microsoft открыла веселый проект по привлечению iOS разработчиков на свою новую мобильную платформу.
Сервис создан одним Капитаном, ибо рассказывать о вещах из серии, что типу NSThread в ОС от Apple соответствует System.Threading.Thread в WP7, может только он. Кто-то действительно полагает, что разработчики после этого толпами побегут все на хрен переписывать под .NET?

Microsoft сама себе насоздавала на этом пути кучу проблем, а теперь героически с ними борется.

Привлекать разработчиков должен бизнес интерес. Остальное в сегодняшних реалиях от лукавого... А рассказывать о том, как после Objective-C начать писать на C# просто смешно, потому что .NET программистов минимум на порядок, если не на два, больше.