Показаны сообщения с ярлыком разработка. Показать все сообщения
Показаны сообщения с ярлыком разработка. Показать все сообщения

вторник, 12 июля 2011 г.

Имею несчастье разрабатывать приложение для Blackberry. В связи с параноидальной системой безопасности этой платформы, любое приложение (даже собраное для отладки) должно быть подписано, при этом подписка требует подключения к инету - лезет на специальный сервер Blackberry.

Так вот вчера этот сервер/сервера упали. Совсем. Поднимают второй день и пока безуспешно, а это значит, что два дня никто из cчастливых разработчиков под Blackberry не может отлаживать код на реальном устройстве. Официальной информации нет, на форумах уже стоны и плач.

С таким отношением к людям, не видать этой компании успеха.

пятница, 29 апреля 2011 г.

WIndows installer - хождение по мукам

Windows installer (VS 2008):
1) создает некорректные ярлыки (на WinXP работает, на Windows 7 - нет)
2) с реестром работает из рук вон плохо и если дать ему возможность создавать и удалять ключи, то после удаления программы можно смело восстанавливать Windows через Recovery console. К примеру, если у вас есть ключ HKML\Software\Microsoft\your_app, то удаляя ключ your_app MSI может прибить еще и ключ Microsoft. Не повторяйте наших ошибок, тестируйте на виртуалках
3) общий инсталятор для x86 и x64 создать без граблей нельзя: надо вручную обходить File system redirection и Registry reflection в Windows 7. Первый нюанс отключается достаточно легко, а вот со вторым придется повозиться.

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

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

четверг, 21 апреля 2011 г.

Рекрутеры жгут или новые приключения старых работников

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

вторник, 16 ноября 2010 г.

Прикладная криптография и Amazon.

После запуска Amazon EC2 GPU (ускорение вычислений усилиями видеокарты) самое веселое ему применение - взламывать пароли - нашли довольно быстро. Все алгоритмы с ключом до 512 бит, в особенности алгоритмически взломанные SHA-1, MD5 и старый-старый MD4 (еще встречается местами) для чего-либо важного использовать крайне не рекомендуется.

Западный инет вскипел от этой новости, что хорошо - меньше будет простых паролей и, наконец, начнут думать над чем-то повеселей SHA и его потомков.

вторник, 5 октября 2010 г.

Корпоративные подписи в письмах

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

воскресенье, 26 сентября 2010 г.

четверг, 5 августа 2010 г.

Выбираем работодателя - что движет ITшником?

Маленькие IT компании привлекают к себе уютной "семейной" атмосферой, компании-гиганты - стабильностью. Рекрутеры "ведут" кандидатов не день и не два, звонят, шлют письма и пишут в skype. Кризис в IT немножко отступил и вновь выбирают не программистов, а программисты. Можно порассуждать хорошо это или плохо, но пост не об этом.

четверг, 29 июля 2010 г.

Bug driven development

Scott Berkun навеял своей заметкой...

Считаю основным не Test driven development и даже не Asshole driven development (когда решение принимает самый редиска на проекте), а Bug driven development (BDD).
Разработка через баги - техника программирования, когда количество ошибок лавинообразно растет по отношению к количеству фиксов. Срок сдачи проекта, где используется BDD определяют не даты в контрактах, а только эти самые баги. Любой фикс в таком проекте - это баг, а многие баги - это фиксы для других багов.

Часто BDD путают с Fuckup driven development (FDD) - разработка через задницу, когда мантра "Ребята, мы в заднице. Давайте работать быстрее!" повторяется с периодичностью раза два в неделю. Ключевое отличие между BDD и FDD: в BDD баги - это причина проблем; в FDD проблемы могут быть разные (сроки от балды, чудаки у руля и т.п.), но все они ведут к спешке (Rush driven developement - разработка через сверхурочную работу) и багам.


среда, 14 июля 2010 г.

Весенне-осенний сезон набора персонала

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

Странно то, что летом и зимой отдел кадров снижает свою активность раза в два, забывая про старую пословицу "Готовь сани летом". Бросились из крайности в крайность: сначала любили набрать про запас толпу людей, а теперь ни души без проекта не берут. Я понимаю, кризис там и всё такое, но планирование никто не отменял. Вот и получилось так:
количество открытых вакансий по городам
"Щось пробзділось в дацькому князівстві!" © Лесь П.

четверг, 1 июля 2010 г.

Расшифровываем тексты вакансий

На зло дня, попалась тут на глаза вакансия.


Итак, как расшифровать типичное описание вакансии:
Solid knowledge of C++ concepts, including but not limited to templates, is required - у автора описания вакансии много времени и он читает кучу книг. Грузить будет по шаблонах, но может и еще что вспомнит.
Multiplatform software development skills are required (Windows and Linux) - уметь отличать Винду от Линукса
Solid POSIX thread programming skills are required, understanding of Windows threading is desirable - вспомнить слова conditional variable, mutex, semaphore, event и даже critical section на собеседовании.
Problem solving skills are required - фига с два кто поможет, будешь разбираться сам
Must be able to learn fast - фига с два дадим время разобраться
Must be a good team player - будешь делать работу за себя и того парня
Good English, at least sufficient for reading technical documentation, specifications and requirements is required - чтоб различал надписи Nescafe и tea, заходя на кухню
English communication skills, and prior work experience in distributed multicultural environment is a plus - будешь трещать с индусами, китайцами и много с кем еще. Они не понимают твой английский, а ты - их акцент, так что вы друг другу подходите
• Understanding of grid computing is a plus - Чтоб и жнец,
• Understanding of parallel programming is a plus - и швец,
• GPGPU programming experience is a plus - и на дуде игрец,
• Python programming skills would be a plus - и чтоб просто молодец,
• Experience of programming in, or ability to learn basics of any other languages is a plus - и многоязыковзнающий,
• Experience in areas of financial services, insurance, risk management, trading is a big plus - в финансах понимающий,
• Mathematical background, and understanding of stochastic modeling is a plus - математик-удалец. И денег много чтоб не просил!

среда, 30 июня 2010 г.

Отладка процесса оптимизации кода в GCC

Картинка для привлечения внимания!
Собственно, встал ребром вопрос - как искать и фиксить проблемы, возникающие на этапе оптимизации кода by GCC, т.е. в процессе AST -> SSA (+ оптимизация) ->RTL трансформаций?
Портированный GCC прошел большую-пребольшую пачку тестов, но 14 штук стали непреодолимой преградой. В жизни не портировал компилятор с самодельным backend`ом - буду рад любой ссылке на малейший кусочек информации по проблеме. Референсы на знающих людей тоже подойдут (Столмана не предлагать :)).

среда, 19 мая 2010 г.

GCC, снова и снова

/* I hate to do such things instead of finding out what is really wrong
    but RELEASEE PANNIICC demands it. */
.Комментарии жгут...

среда, 28 апреля 2010 г.

Разгребая gcc

/* This was a fun hack, but #pragma seems to start to be useful.*/

понедельник, 26 апреля 2010 г.

О gcc замолвите слово

Нашел тут, понимаешь:

/*
* I returned the original code because this one turns a post-inc
* expression into a preinc expression. and it also seems that the
* original code is better optimized.
* (and also because I really don't know what the hell is going
* on in there).
*/

Так тому и быть...

суббота, 24 апреля 2010 г.

Борода у линуксоида растёт только тогда, когда он перекомпиливает ядро

"Всего" два дня возился с настройкой рабочего окружения для нового проекта (линукс и примочки к нему), а лозунг *nix`оидов "Сделай под себя" не прошел безследно. Выбираю нужный дистрибутив, вижу в комментариях: "Дистр - фуфло, в комплекте нет даже gcc". Первая мысль - "вот дурень, собери себе сам".

П.С. Сообщество Линукс! На лицо явные недоработки: вместо шредера в линуксе корзина, вместо котэ - башка быкокозла.

воскресенье, 28 февраля 2010 г.

MS project 2010

Так уж сложилось, что MS Project всегда доставлял наименьшее количество проблем (в сравнении с другим ПО от МС). Так как я любопытен от природы, решил испытать на себе новую бету MS Project 2010 и пока доволен как слон.

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

П.С. Бета еще ни разу не упала, да и багов пока не нашел. Кому охота поиграться - сайт МС ждет вас :).

вторник, 16 февраля 2010 г.

Clients from hell

Посмеялся от души, вспомнил пару случаев на работе :). Клиенты - они как дети, только поняв это можно спокойно работать.

Make sure it’s not too edgy, not too flashy, not too much detail, not classical/traditional, not too complex, exciting, but not all over all over the place, efficient but fun, clean, fresh, modern, up beat, contemporary, high readability, smooth, shapeless, timeless, not outdated, but simple. (c) clientsfromhell

пятница, 12 февраля 2010 г.

Разработка методом "copy-paste"

Вот так со стороны выглядит разработка методом "copy-paste". Правьте код "с душком" неотходя от кассы ;)

Про тестеров замолвите слово

Навеяло мне тут,. всеръёз не воспринимать :)

Виды тестеров:
1) тестер начинающий очень - "Ну оно включилось, что тестить дальше?"
2) тестер начинающий  - "Оно не работает. Повторить? А зачем повторять, оно ж неработало буквально 2 минуты назад"
3) тестер обыкновенный- "Я это тестировал вчера и оно работало, позавчера - работало. Тестирую вот - снова работает.. Что-то тут не то"
4) тестер необычновенный ака  багоподобный - "Чё? Can`t reproduce? Да у тебя карма плохая, дай сюда"

пятница, 5 февраля 2010 г.

Hardware vs Software

"Проблема аппаратного обеспечения в том, что вы не можете создать компьютер, который был бы в два раза лучше своих конкурентов - слишком много людей занимаются этим. Если вы можете сделать лучше хотя бы на 30 или 50 процентов - вы счастливчик, но и тогда у вас есть всего полгода до того, как вас догонят. А вот с программным обеспечением все по-другому."
(c) Steve Jobs
Интервью Джобса, ставшее классикой. Must read

П.С. People say sometimes, "You work in the fastest-moving industry in the world." I don't feel that way. I think I work in one of the slowest. It seems to take forever to get anything done. Шел 1994тый год :)