среда, 9 декабря 2009 г.

Про Thunderbird версия 3.0

Поставил. Скопировал базу и настройки из предыдущей версии. Запустил.

Во-первых, структура моих папок слетела.

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

Как поставил так и снес. Я вот сотовые телефоны то с фотоаппаратами не покупаю, на фига же мне на машине этот странный комбайн?

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

Надо будет через полгодика еще раз посмотреть, может проникнусь.

понедельник, 30 ноября 2009 г.

Интересное

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

понедельник, 16 ноября 2009 г.

Про Opera

Свершилось чудо! Opera таки поправила чегойто там у себя унутри, и теперь стало можно работать с этим блогом прямо таки из Oper-ы. Это просто чудо какое-то!

воскресенье, 28 июня 2009 г.

Про книги

Попалась тут в руки книжка "Курс анализа бесконечно малых" 1922 года, издана в Петрограде, тираж 4500. Перевод с французского издания 1914 года. От революции прошло 5 лет. Гражданская война еще не закончена.

Достал с полки "ТФДП" Натансона, 1999 года издания, тираж 3000 экземпляров.

Вот такие вот интересные цифры для сравнения.

вторник, 16 июня 2009 г.

Про тонкости разработки ПО

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

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

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

понедельник, 25 мая 2009 г.

Про XPS Viewer

С большим уважением отношусь к фирме микрософт и их разработкам. И формат XPS мне нравится на много больше, чем PDF. Правда спецификация мягко говоря сделана коряво в плане оформления, но это терпимо. Но объясните мне тупому, почему их XPS Viewer постоянно валится, причем не тогда когда с ним что-то делаешь, а просто открыл документ, сидишь другими вещами занимаешься, вдруг ОПА! оно уже свалилось.

Ну и прямо скажем XPS Viewer этот, явно специально сделан для меня и других кто пишет просмоторщики, потому что даже STDU Viewer на фоне микрософтовского выглядит как Windows XP на фоне Win 3.11.

P.S. В свой просмоторщик таки добавил формат XPS, так что тем кому нужен XPS Viewer - качайте.

воскресенье, 17 мая 2009 г.

Про iPod

Поскольку iTunes окончательно достало своей "нестандартностью" (читай идиотизмом), было принято волевое решение написать свою утилитку для закидывания аудиокнижек на iPod Shuffle. Единственная проблема, которая собственно несколько пугала, это отсутствие спецификации на файлы БД используемые в девайсе. Пришлось порытся в интернет и немного поковыряться HexView-ером. Как не странно все оказалось крайне просто. 5 часов работы, и я (надеюсь навсегда) рапрощался с творческим наследием олигофренов написавших iTunes.

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

Одно удручает, сделать такую утилиту надо было год назад - сэкономил бы кучу нервов.

пятница, 17 апреля 2009 г.

Про офис

Задорно, да. Как то даже зацепило, особенно количество мониторов.

пятница, 27 марта 2009 г.

Про Google Adwords Editor

Играюсь тут с google adwords для своего проекта. Веб интерфейс вполне ничего, т.е. я как бы не спец по такого рода вещам, поэтому, что есть, то есть мне хватает и вполне устраивает. Полазил по справке выяснил, что есть десктопное приложение для управления всей этой ерундой, называется google Adwords Editor.

А я честно сказать, вот как-то десктопные приложения полюбляю сильно больше, чем все эти мега новшества типа редакторы документов прямо в броузере и прочую муть. Т.е. из плюсов броузерных вариантов для меня очевидно только то, что можно работать с любой тачки. Из остального одни минусы, ресурсов будет жрать больше при той же функциональности, функциональность зачастую хуже. Т.е. понятно, что надо втюхивать народу что-то новое, но, если рассуждать по крестьянски, то сложно понять, с чего вдруг писать кипятком от тех же гуглодокументов. Функциональности уровня WordPad десятилетней давности (который кстати вполне портейбл) с единственной дополнительной фичей сохранения документа на сервере в интернет. Учитывая, что приварить к тому же WordPad возможность сохранять файлы где-нибудь в паутине, задача для студента на месяц - полтора, восторг для меня не очевиден.

Но я отвлекся. Увидал я значит, этот самый Adwords Editor и натурально обрадовался. Скачал 17 метров, и заинсталлировал. И что же вы думаете? Эта мега программа написана на Java.

Вот еще один пример уродской моды, ага. Писать приложения на Java или с использованием какой-нибудь шняги типа Qt для интерфейсов. С пеной у рта доказывая, что поскольку теперь получившаяся параша будет запускаться на всех операционках, то пользователи просто передохнут от восторга. То что в результате приложение выглядит как будто его сделали выпускники школы для олигофренов, это понятно никого не пугает. Вот собственно Adwords Editor с которого все началось - ну то что выглядит все это страшнее ядерной войны бес бы с ним. Но когда сдвиг сплитера загружает процессор на 100%, это мягко говоря удручает.

А самое веселое во всем этом, что нормально написанная на С++ библиотека с функционалом, скомпиленная под нужные платформы, оборачивается в интерфейс (простой виндовый интерфейс на Net, Delphi, Builder-е или даже WTL или MFC) максимум за месяц, программистом не самой высокой квалификации. Потратьте, блин, месяц ну пусть это стоит 5000 долларов, пусть 10 000, для гугла я думаю это не сумма, и получите, нормальное виндовое приложение, а не то угребище, что получилось.

Блин, и это флагман индустрии практически. А ведь и у него все как обычно, есть центровые вещи и делаются они нормально, и есть всякое сопутствующее на которое всем откровенно по [cendored] и делается это через жопу, причем жопа начинается с выбора технологии реализации.

Дурдом.

воскресенье, 22 марта 2009 г.

Про iTunes, ID3Tag и iPod

В очередной раз бился с уродской программой под названием iTunes. Как обычно надо было закачать аудио книжку из 160 файлов на shuffle.

Проблема, она ведь в чем. Люди, проектирующие устройства, обычно сильно умные и простые человеческие решения им чужды. Поэтому идиоты разрабатывавшие shuffle (и, я так понимаю, остальные iPod-ы) вместо того чтобы просто складывать файлы на девайс, а в качестве playlist-а использовать какой-нибудь тупой m3u, который текстовый документ со списком воспроизведения. Завели на том девайсе базу и чтобы собрать свой playlist, надо либо пользовать шедевр уродства под названием iTunes, либо искать что-то еще (из того что видел все полное гавно, судя по всему идиотизм iTunes заразен).

В общем заимпортил я свои файлы в медиатеку iTunes, а кроме как по IDTag эта говно-программа упорядочивать файлы в плейлисте никак не умеет. Ну, а у моих файлов эти самые IDTag были битые, и соответственно, чтобы расставить их в плейлисте в правильном порядке, надо было их таскать в iPod по одному, что для 160 файлов на мой вкус несколько крутовато.

Помучавшись часа полтора, и в очередной раз убедившись, что из бесплатного для закачки на iPod все такое же гавно, как и исходное творчество даунов (я про iTunes, если кто не сообразил). Было принято волевое решение зайти с другого боку.

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

воскресенье, 1 марта 2009 г.

Про ошибку в ATL (решилось)

Пропатчил ошибку из предыдущего поста.

В общем, берем ATL из VS2005 или лучше даже из VS2008 и сравниваем файл atlbase.h с тем, что в VS2003. Особенно пристально смотрим в сторону определения структуры _stdcallthunk.

К сожалению, только изменениями в atlbase.h обойтись не удалось, пришлось еще и lib компилить. На самом деле можно было бы и без нее, но тогда на каждое окошко пришлось бы выделять 4 КБ вместо 100 байт, так что оно того стоило.

суббота, 28 февраля 2009 г.

Про ошибку в ATL и нововведения вообще

Вот прекрасная порнография. Делаю визуальный контрол, компилирую его под VS2003, и использую в программе скомпиленной под VS2003 - все прекрасно и под WinXPSP2 и под WinVista - далее везде. А потом использую в программе скомпиленной под VS2008, и оно прекрасно работает под WinXPSP2 и так же прекрасно работает под WinVista установленной на VirtualPC под WinXPSP2. А потом валиться, когда запускаю туже программу под VistaHB на ноуте. И это круто, долбиться три часа пытаясь понять, от чего бы в CWindowImplBaseT< TBase, TWinTraits >::StartWindowProc вызов pProc() приводит к такому удивительному результату. И так и не понял почему. Поэтому полез в гугл и нашел вот такую интересную тему .

Отлично, а чего, забыли пометить выделенные данные как исполняемые. А вот интересно что программа скомпилированная под VS2003 нормально с этим же контролом работает. Самое смешное, что эти милые люди и правда поправили баг в VS2008, точно, я проверял. Правда длл-ка скомпиленная в VS2008 весит в два раза больше, чем та которая из под VS2003.

Честно сказать, последнее время микрософтовские нововведения скорее утомляют чем наоборот. Все эти манифесты, WinSxS и прочая муть, которая не понятно зачем придумана кроме как задрать мозги программистам.

воскресенье, 25 января 2009 г.

Про MFC и Visual С++ Features Pack

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

А про Feature Pack для MFC под MSVS 2008.

Как известно MSOffice 2007 вышел в совершенно новом стиле, избавился от меню и панелей управления и получил на замену так называемый Ribbon. Выглядит это прекрасно, с моей точки зрения такой интерфейс намного удобнее старого. И захотелось мне написать одно из давно планированных приожений с использованием этого нового стиля. Ну а элементы управления, для всего этого хозяйства реализованы именно в Feature Pack. Так что я его быстренько поставил, и решил насладится.

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

В том же пакете шла пара контролов CMFCShellListCtrl и CMFCShellTreeCtrl, которые вполне подходили для моей задачи, и я по дурости своей решил ими воспользоваться. Идиот, что не говори, потому что если бы я написал всю эту ерунду с нуля (тем более, что ShellTree у меня уже был написан под WTL) я бы сэкономил и время и нервы.

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

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

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

Идем дальше. CMFCListCtrl. Реализацию продумывали явно не головой, либо в голове того кто над этой реализацией думал, что-то отличное от мозгов. Ну ладно, вы ребята желаете дать возможность менять цвет текста для каждого элемента и даже сделали виртуальную функцию OnGetCellTextColor. Отлично. Но неужели так трудно было подумать, что если эта функция не реализована в наследниках, то все должно работать стандартным образом, т.е. так как работает ListView, например, в проводнике. Полдня разбирался, почему у меня при выставление стиля Tile, все строки в подписе к иконкам радикально черного цвета, хотя во всех других примерах, черный только цвет текста из Column = 0, а текст из остальных колонок серый. Пришлось идти по всем исходникам и разбирать чего там наворочено.

Ладно разобрался.

В том же ListView есть стандартное сообщение LVM_SETSELECTEDCOLUMN оно надо, чтобы фон колонки, например, по которой отсортирован список сделать отличным от остальных. Чудненько. В CMFCListCtrl есть метод EnableMarkSortedColumn, думаю ну отлично, не надо писать руками, пацаны все сделали. Ага, пацаны сделали. Правда руки у пацанов растут из жопы, и сделали они именно этими руками. Вместо того, чтобы кинуть сообщение LVM_SETSELECTEDCOLUMN, они решили красить колонку самостоятельно. Ну а чего, умища то через край, и жажда деятельности зашкаливает. Проблема правда в том, что красится она не целиком, как надо, а только в подложке тех итемов, которые есть в списке. Ну и если переключиться с просмотра LV_REPORT на любой другой, куски этой покраски проглядываются, но это жеж не страшно, главное наботали какой-то херни.

Подводя итог, поработав с одним только контролом, практически пришлось переписать его целиком. Классная библиотека, ничего не скажешь.

понедельник, 12 января 2009 г.

Про менеджмент

Набрел на Менеджмент: краткий словарь заблуждений. Расшифровка "мотивации" и "совещания" сильно повеселила. Вернее сказать в очередной раз удостоверила, что в своем понимании действительности я не одинок, что не может не радовать.

PS. Поставил таг "юмор", хотя какой это юмор на фиг - это жисть.