|
СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ
Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях
Кто внес наибольший вклад в развитие украинского ИТ-рынка.
Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары
|
|

17 ноября 2007 г., 17:06
"Дружить онлайново" (то есть объединяться в сообщества) против кого-то - это, похоже, всего лишь новая форма, этакое e-гопничество, где вместо борьбы с пацанами с чужова раёна - битва с империями зла.
Вот имеем некоторые факты:
- Команда Принстонского университета разработала для участия в гонках автономных автомобилей-роботов Darpa Grand Challenge (когда-то что-то мы о них писали) свою машину.
- Программное обеспечение машины реализовано на C#.
- Машина Принстонского университета гонку не прошла.
О том, почему такое стало возможным, написал один из участников принстонского проекта, некто Брайан Кэттль (Bryan Cattle). Написал прямо скажем в стиле "а это всё потому, что у меня раньше велосипеда не было" (я бы даже сказал - очень с маркетинговым душком написал, просто "Ура! Мускул тёти Аси приехал!").
Но не суть.
Описание получилось многословным, правда, о реальной проблеме в нём сказано немного. Но вполне достаточно, чтобы понять, что именно привело к неработоспособности системы управления принстонского авторобота:
- We looked through the code on paper, literally line by line, and just couldn't for the life of us imagine what the problem was. It couldn't be the list of obstacles: right there was the line where the old obstacles got deleted. Sitting in a McDonald's the night before the competition, we still didn't know why the computer kept dying a slow death.
- We profiled the memory usage and saw the obstacle list blowing up. How could this be? We called "delete" on those old obstacles! To our amazement, it was only minutes before we realized that our list of detected obstacles was never getting garbage collected. Though we thought we had cleared all references to old entries in the list, because the objects were still registered as subscribers to an event, they were never getting deleted.
Иными словами, это очень прикольно быть гиками и ночами в макдональдсе на салфетках решать проблемы неработоспособности встроенного ПО реального времени. Очень прикольно. Но не более того. Потому что прикольность гиковских ночей в макдональдсах ничуть не отменяет жёстких требований к процессу проектирования, идеального знания выбранного инструментария и всесторонней проверки соответствия алгоритмики его возможностям и особенностям.
В результате - "прощёлкали" нюансы в работе хэндлеров обработчиков событий, не использовали в полной мере возможности отладочных средств (несмотря на то, что факт неработоспособности кода был известен), получили то, что должны были получить (и хорошо, что это, по большому счёту, баловство, а не промышленное изделие).
А теперь - реакция "культовых" гиковских ресурсов на это сообщение:
слэшдот - "Утечки памяти С# потопили (торпедировали) шанс Принстона в соревновании DARPA"
рэддит - "Принстон проиграл соревнования DARPA из-за утечки памяти в C#"
Странно, что ни в чём не виноват Гоголь.
А ведь он-то, как раз, и должен был на дереве сидеть.
Голый.
13 ноября 2007 г., 16:48
Предупреждение - так как я предпочитаю использовать нелокализованные версии системного ПО, адаптация нижесказанного для локализованных версий переложена на плечи пользователя. Увы.
Есть одна особенность штатной настройки меню запуска программ Windows XP (Start -> All programs), которая меня лично раздражает. А именно, - странная упорядоченность, навязанная настройками этого меню по умолчанию.
Она не совсем чтобы лексикографическая, но и не скажешь, что совсем не лексикографическая. По её правилам программы, установленные для всех пользователей машины, группируются отдельно от программ, установленых только для одного пользователя. А в некоторых случая "срабатывает" сортировка по времени установки. В общем, - в результате получается меню, по которому приходится утомительно "елозить" взглядом, выискивая нужную программу - причём обычно это не настолько часто используемая программа, чтобы заводить для неё ярлык на десткопе или клавиатурный шорткат, что ситуацию даже ухудшает.
А между тем можно сделать так, чтобы Windows XP строго следила за более чем употребимой упорядоченностью меню запуска - ссылки на каталоги в одной группе, ссылки на исполняемые файлы - во второй, внутри каждой группы - строгий лексикографический порядок, нарушить который невозможно.
Итак.
1. Запускаем редкатор реестра
Start -> Run -> regedit
или
Win + R -> regedit
2. Отыскиваем следующий ключ :
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder
Нас будет интересовать сам ключ, а не значения (values), содержащиеся в нём
3. Правой кнопкой мыши - на ключ MenuOrder и выбираем Permissions
У кого установлен файрвол - не пугайтесь, в этот момент Windows "полезет" в сеть. Разрешите вы ей это, не разрешите ли, - дело ваше. Я лично предпочитаю не разрешать. На результат операции это не влияет, просто если доступ будет запрещён, придётся подождать десяток-другой секунд.
4. В окне Permissons нажимаем кнопку Advanced нижнего диалогового блока Permissions. Если вы надавали системе файрволом "по шаловливым рукам", выполнить это сразу будет невозможно, но подождите чуть-чуть и кнопка активируется.
5. В появившемся окне "Advanced Security Settings for menu Order" отключаем установленное по умолчанию наследование прав доступа (permissions) - снимаем галочку с чекбокса "Inherit from parent..." и вносим это изменение в работу системы - нажимаем кнопку OK.

6. Вернулись в окно Permissions for MenuOrder. Теперь здесь снимаем право на полное управление (Full Control) для всех пользователей и групп, включая Administrators.

7. Вносим изменения в систему (кнопка OK), перегружаемся.
После этого меню программ будет в полном порядке, изменить который (без аналогичных приведенным процедур) совсем не просто.
* * *
И ещё одна мелочь, чтобы не "елозить глазами".
Странно, что в Windows никто этого не реализовал раньше.
Простейшая штука - когда курсор попадает в область ввода, программулинка показывает рядом с ним флажок, ассоццированный с языком:

Инсталляции не требует, работает как часы, бесплатная и крохотная - Aml Maple.
* * *
И, наконец, самое последнее - обновился до версии 2.95 легендарный Punto Switcher. Что само по себе - событие.
9 ноября 2007 г., 10:23
Избитые фразы уникальны тем, что они нарушают закон "сохранения всего" - от их повторения ничего не прибавляется и ничего не убывает.
Вот, например, -
"чем раньше в проектном процессе допущена ошибка и чем позже она обнаружена - тем более дорогим будет устранение её последствий".
От повторения этой избитой фразы ничуть не прибавляется понимания насколько же дороже получается запоздалая ликвидация последствий.
А тут прямо с утра такой замечательный пример... Пусть не из области программирования, из архитектуры и строительства, но всё-таки здесь есть кое-что очень близкое, ведь речь идёт о MIT - знаменитом Массачусетском технологическом. Да и, в конце концов, пора уже согласиться с тем, что инженерия - она даже и на PHP инженерия (хотя, конечно, на PHP - это я загнул).
Это знаменитое безумство архитектуры - Stata Center, корпуса MIT, многие видели на фотографиях не раз - уж больно оно броское и архитектурно-неправильное:

Итак, пару дней назад (6.11.2007) Массачусетский технологический институт подал в суд на архитектора Франка Гири (Frank Gehry) за ошибки в проектировании Stata Center, который в своё время обошёлся MIT в кругленькую сумму - 300 миллионов долларов США.
Стоимость собственно проекта, над которым работало бюро Франка Гири - 15 миллионов долларов.
В 2004 году, пости сразу после завершения строительных работ, стены амфитеатра здания дали трещины. Первая же зима выявила всякие дополнительные "мелочи". Хитро изломанные стены оказались и хитрыми снегосборниками - подтаивающий снег сползал с карнизов и тут же замерзал, образуя блокирующие пожарные выходы "сталактиты". Из-за постоянной сырости, накапливающейся в изломах, здание стало "обрастать" грибком. Следствие этого - повсеместные потёки воды внутри здания и сильные сквозняки.
MIT затратил дополнительно 1,5 миллионов, наняв стороннюю компанию, которая для начала полностью перестроила амфитеатр, оснастив его новой дренажной системой. Но это было только началом.
Уже начались тяжбы, если говорить в проектно-компьютерных терминах, между "кодировщиками" (строительной компанией Skanska, воплощавшей проект Гири в камне) и "системными аналитиками" (архитектурным бюро Гири, создававшим спецификации). Как и положено, выяснилось, что аналитики в своё время давали неполную проектную информацию, кодировщики тратили деньги на разрешения непонятностей (сторонние "кодировщики", пардон, - строители, которые переписывали перестраивали после индусов Skanska амфитеатр, эту версию подтвердили), и вообще всё было как обычно оно бывает.
Итого.
300-миллионый проект оказался мягко говоря не совсем удачным для истца (MIT).
15-миллионный проектный процесс стал причиной серьёзного судебного разбирательства, и, что хуже для ответчика (бюро Франка Гири) - скандалом.
Вот столько примерно и стоят ранние "ошибочки".
Кому интересно, что будет дальше - следите за газетой The Boston Globe, там наверняка будут этот процесс освещать и дальше, пока же - первая их статья.
зы
фотография взята отсюда
8 ноября 2007 г., 18:21
Это будет немного не о тех процессорах. Это будет о микроконтроллерах. Но они-то сейчас куда важнее и интереснее тех процессоров - потому что без них очень многое сегодняшнее привычное, удобное и полезное выглядело бы вовсе не так, и было бы далеко не такми удобным и полезным.
Вот.
Короче, - король восьмибитового мира, Microchip, вышла на 32-битовый рынок. Причем сделала это не общепринятыми способами, а по-своему.
Общепринятые способы таковы:
- лицензировать процессорное ядро у ARM
- содать собственную архитектуру
Именно так поступила в своё время конкурент Microchip на восьмибитовом рынке - Atmel.
А вот своенравные майкрочиповцы (своенравные хотя бы потому, что свято придерживаются в своих малоразрядных микроконтроллерах "чисто микроконтроллерной архитектуры", в чём-то очень похожей на классику отрасли - легендарный Intel'овский 8051) опять пошли своим путём. Они лицензировали 32-битовое ядро MIPS M4K.
Некогда, в незапамятные (с учётом нынешних скоростей) времена AMD приобрела разработчика MIPS-своместимых архитектур (в названии которого было что-то алхимическое, сейчас это совершенно несущественно, какое именно). Что случилось с этой архитектурой, сказать трудно. Прочие клоны MIPS же тихо-мирно поживают в своих нишах, и давно не на слуху, по крайней мере, по сравнению с ARM.
И вот включение в такую игру Microchip - это уже серьёзно. Microchip - компания, умеющая привлекать разработчиков, больше того, - с давних времён умеющая формировать и поддерживать любительское сообщество, обеспечивающее весьма солидный уровень самоподготовки и поставляющее на рынок труда будущих специалистов.
Итак, - страница нового семейства PIC32, средства разработки уже доступны, в том числе и аналог легендарного Starter Kit для восьмибитовых чипов (причем, по более чем божеской цене $49,95), есть и С-компилятор (и хороший компилятор, на базе gcc, было бы странно, если бы его не было), бесплатная интегрированная среда разработки MPLAB обновлена для поддержки PIC32, сами камушки тоже недороги - от менее чем $3 до $6 в партиях.
В общем, если Microchip создаст в этом семействе аналог сверхпопулярных у любителей PIC16C84 и PIC18 - будет просто здорово.
7 ноября 2007 г., 12:34
И вот Крис Ламон, наконец, расставил точки над i.
Он "просто" взял, и дизассемблировал код Excel 2007, отыскал отладчиком фрагмент, в котором возникала ошибка, дизасемблировал соответствующую подпрограмму, разобрался в ней, проделал ту же работу с Excel 2000 и Excel 2003, сравнил результаты, и окончательно расставил всё по своим местам.
"Отчёт о проделанной работе" Ламона - весьма объемный документ (25 страниц), поэтому весь пересказывать не стану, кто хочет - прочтёт.
Итак, самые главные два факта:
1. это действительно была ошибка отображения, точнее, ошибка в преобразовании числа с плавающей точкой в формате IEE 754 в Unicode-строку, выполняющаяся только перед отображением содержимого ячейки
2. эта ошибка действительно устранена
По сути - всё.
Но "отчёт Ламона" куда более интересен. Потому что даёт представление о реалиях действительно больших программ, созданных для массового использования.
Оказывается, с очень высокой степенью вероятности не всегда верно работающая подпрограмма написана на ассемблере.
"Не всегда" здесь означает, что из всего диапазона всех возможных значений числа с плавающей точкой в формате IEE 754 всего 12 значений приводили к ошибочному результату конверсии в строку. А именно, те, шестнадцатиричное представление которых описывается шаблоном:
0x40EFFFюF FFFFFFFы, где ю - D или F, а ы - A, B, C, D, E, F
"Написана на ассемблере с очень большой степенью вероятности" - это соображение подтверждается следующими фактами: во-первых, по наблюдениям Ламона, в коде подпрограммы отсутствуют специфические для компилированного кода конструкции (в первую очередь, - сегмент стека в стиле C/C++); во-вторых, - в коде встречаются машинные команды, которые генераторами кодов компиляторов не используются (shld, scasw, cwde). Ну и есть ещё "в-третьих" - для каждой видимой на экране ячейки электронной таблицы эта подпрограмма вызывается каждый раз, когда происходит одно из множества событий - от изменения значения в ячейке до изменения стекового порядка окон других приложений на экране (ведь перерисовывать окно приложения после того, как оно стало видимым, надо). Иными словами, - хоть компьютеры у нас быстрые, но в больших программах есть такие незаметные фрагменты, в которых без ручного ассемблерного кодирования не обойтись, что бы там не говорили апологеты освобождения от низкоуровневого кодирования - если окно электронной таблицы будет перерисовываться секундами, никому такая таблица не понадобится.
До Excel 2007 эту подпрогамму "боялись трогать" - она использовала 16-битовые регистры. Боялись трогать потому, что задача конверсии числа с плавающей точкой в строку кажется простой только тем, кто её никогда не решал.
В Excel 2007 подпрограмма стала полностью 32-битовой. При портировании её (а дизассемблированный код Excel 2002 и Excel 2007 убедительно показывает, что это было именно портирование) не был учтён столь тонкий нюанс с обнаружением обнуления счётчика (размещённого в регистре AX) одного из циклов, что тестирование просто его не выявило.
В "заплатке" для устранения ошибки потребовалось всего две дополнительные ассемблерные команды.
Кроме неправильного отображения, ошибка гарантированно не сказывалась ни на чём.
Желающим поковыряться во внутренностях Excel 2007 и детально разобраться с причинами - полный "отчёт Ламона".
2 ноября 2007 г., 11:59
Речь о не у нас, речь об у них. То есть, - речь за США. Более детально, с тонкой структурой по положению дел в конкретных штатах - в обзоре "The 2008 IT Salary Guide".
Итак, результаты опроса в этом году 1400 CIO, дают картину востребованности. CIO отвечали на вопрос "Какие технические навыки наиболее востребованны в вашей организации?". Список ответов выглядит так:
- 73% - администрирование ОС Windows
- 70% - сетевое администрирование
- 60% - администрирование баз данных
- 55% - администрирование брандмауэров
- 52% - управление беспроводными сетями
- 34% - бизнес-разведка средствами IT
- 22% - реализация ERP
- 21% - разработка ПО на основе .NET
- 18% - реализация CRM
- 18% - администрировнаие Linux
- 18% - администрирование Unix
- 18% - разработка всякого на основе XML
Теперь о доходах по специальностям и должностям.
1. CTO (Chief Technology Officer).
Ожидаемый годовой доход $107205 - $165250. Рост по сравнению с 2007 годом - 5,2%.
2. Прикладной программист.
Ожидаемый годовой доход $57500$ - $96750. Рост по сравнению с 2007 годом - 6%.
Коррекция ожидаемого дохода (прибавка) в зависимости от специализации:
+12% - C#
+10% - VB .NET
+10% - Java
+5% - VB
+5% - Ajax
+5% - C++
+5% - LAMP (Linux - Apache - MySQL - PHP/Perl)
3. Системный аналитик, бизнес-логика.
Ожидаемый годовой доход - $64250 - $91750. Рост по сравнению с 2007 годом - 5,6%.
Коррекция ожидаемого дохода (прибавка) в зависимости от специализации:
+12% - C#
+10% - VB .NET
+5% - Java
+5% - Ajax
+5% - LAMP
+5% - C++
+5% - Microsoft Sharepoint
4. Менеджер баз данных.
Ожидаемый годовой доход - $88750 - $122750. Рост по сравнению с 2007 годом - 5,4%.
5. Ведущий web-разработчик (Senior Web Developer).
Ожидаемый годовой доход - $76250 - $108250. Рост по сравнению с 2007 годом - 6,6%.
Коррекция ожидаемого дохода (прибавка) в зависимости от специализации:
+12% - C#
+10% - VB .NET
+10% - Java EE
+10% - Java
+10% - DCOM/COM/ActiveX
+7% - опыт разработки web-сервисов
+5% - ASP
+5% - LAMP
+5% - ColdFusion
6. Сетевой инженер.
Ожидаемый годовой доход - $67250 - $93500. Рост по сравнению с 2007 годом - 3%.
Коррекция ожидаемого дохода (прибавка) в зависимости от специализации:
+12% - администрирование Cisco
+10% - Linux/Unix
+10% - Windows 2000/2003/XP
+10% - VoIP
7. Руководитель проекта (Project Manager).
Ожидаемый годовой доход - $76500 - $111500. Рост по сравнению с 2007 годом - 5%.
Коррекция ожидаемого дохода (прибавка) в зависимости от специализации:
+12% - C#
+10% - VB .NET
+10% - Java
+5% - VB
+5% - LAMP
+5% - Ajax
8. Администратор безопасности.
Ожидаемый годовой доход - $73500 - $103500. Рост по сравнению с 2007 годом - 4%.
1 ноября 2007 г., 15:15
За Эдсгером Дейкстрой только успевай записывать - сколько лет прошло, а каждая фраза чуть ли не цельнолитая, безукоризненно узнаваема и доставляет море удовольствия.
Вот, и в заметке от 2 декабря 1988 года много чего достойно цитирования.
Но это... это просто прекрасно:
Needless to say, this vision of what computing science is about is not universally applauded. On the contrary, it has met widespread --and sometimes even violent-- opposition from all sorts of directions. I mention as examples:
...
2) the subculture of the compulsive programmer, whose ethics prescribe that one silly idea and a month of frantic coding should suffice to make him a life-long millionaire
...
К сожалению - до сих пор справедливо.
Пусть не в изначальном смысле, но сам Дейкстра начинает заметку с того, что "мы выражаем будущее в терминах прошлого".
Так что новые смыслы в старом синтаксисе никогда не поздно увидеть.
31 октября 2007 г., 12:23
Я бы это отнёс в рубрику "Ужас!". Но у нас такой нет. А жаль.
И на Солнце бывают пятна, и в Ubuntu бывают ошибки, причём более чем неприятные, за которые, возможно, придётся расплачиваться вышедшим из строя... железом. И это не фейк, увы.
Причём, как и положено, Ubuntu наносит ущерб там, где он может быть хоть немного (а то и ощутимо) выше - при инсталляции на ноутбуках. Управление винчестерами ноутбуков - прерогатива подсистемы APM (Advanced Power Management) и управляющей ею утилиты hdparm.
Беда в том, что прописанные по умолчанию в скриптах инициализации Ubuntu параметры hdparm таковы, что APM конфигурируется на планомерное уничтожение винчестера методом сверхинтенсивного выполнения процедуры load-unload (похожей на парковку головок) - до трёх раз в минуту и даже чаще, что сокращает срок жизни винчестера до... 130 дней.
Ну а еще бОльшая беда заключается в том, что в такой ситуации не разберётся не только "обычный пользователь", но и опытный "линуксоид", просто не знающий тонких нюансов функционирования ОС на ноутбуках.
Достаточно взглянуть на персональные сетевые ресурсы первых пострадавших, чтобы понять, что "просто пользователь" в подобной ситуации вообще обречён.
Например, блоггера Paul очень трудно назвать "просто пользователем" - у него два ноутбука под Linux, работающих круглосуточно, он автор нескольких программ. И, - "пострадавший от Ubuntu" c персональным счётом -4 2,5" винчестера за 2 года, которые, вообще-то, стОят весьма прилично (это не я так думаю, это Paul так говорит - "Since laptop HDDs cost a lot more per megabyte than normal 3.5” drives, this was becoming an expensive issue for me").
На моей памяти это первый случай реально приводящей к аппаратным утратам программной ошибки, да ещё и какой "изящной", до которой "добраться" можно разве что зная все тонкости APM, да и то - хоть и добраться можно с помощью "очень ненаучных способов", а вот трактовать результаты, увы, даже и ненаучно не очень получается.
Кстати. И некстати. Истерику с ошибкой в Excel я запомнил. А где же истерика с ошибкой №59695 ? Казалось бы - первый подтверждённый случай аппаратных потерь от программной ошибки, тут надо доставать Великий Бубен, созывать трубадуров. Ан нет - все делают вид, что ничего не произошло.
А вывод, само собой, очевиден - не надо ставить на ноутбук всякие поделки, которые производителем ноутбука не проверены и не поддержаны.
Если, конечно, хочется, чтобы ноутбук работал долго и доставлял удовольствие, а не дополнительные расходы.
Ну а если не хочется - то всегда пожалуйста. Сейчас пользовательская база ещё немного подрастёт, и вылезут ещё какие-нибудь весёлые глюки.
25 октября 2007 г., 17:18
Один из лучших производителей клавиатур, Cherry, в содружестве с компанией Suse, разрабатывающей популярный дистрибутив ОС Linux, приступила к серийному выпуску первой Linux-клавиатуры.
Так что если вам уже невмоготу от вида де-факто стандартной клавиатуры с развевающимися знамёнами на командных кнопках, Cherry предлагает вам более чем неплохой вариант.
Клавиатура CyMotion Master Linux весьма симпатична и без сомнения отличается всеми достоинствами, свойственными продукции Cherry, кроме того, что должны оценить все, кто предпочитает клавиатурный ввод команд "мышиной возне", CyMotion Master Linux при одинаковых габаритах с прочими клавиатурами обладает на 20% увеличенной площадью клавиш.
Вместо флага - пингвин:

Пингвин украшает и кнопку Esc:

В комплекте в клавиатурой поставляется хорошо известное пользователям ОС Windows приложение KeyMan, теперь доступное и для *nix платформ. Также "в нагрузку" к клавиатуре идёт и дистрибутив SUSE 9.1 Special Edition.
На самом деле это "малозначительное" событие говорит о том, что если уже и производители массового железа "ширпотребного" характера начинают адаптировать свои изделия, значит и массовый, "ширпотребный" рынок Linux состоялся.
22 октября 2007 г., 10:23
Ассоциация потребительской электроники (Consumer Electronics Association, CEA), в которую входят более 2100 американских компаний, специализирующихся в понятной из названия области, опубликовала прогноз на грядущий праздничный период, то есть - на Рождество и Новый Год.
Итак, в четвёртом, "праздничном" квартале, ожидается объем продаж этой самой потребительской электроники на уровне 48,1 миллиарда долларов.
В списке десяти самых больших ожиданий от праздников взрослыми потребительская электроника занимает почетных пять мест, причем в этом году в первую пятерку передвинулись телевизоры с большой диагональю.
Кстати, первая пятёрка списка "взрослых" ожиданий очень смешная, просто какое-то натуральное оливье:
- компьтер;
- мир во всём мире и счастье всему человечеству (ну или хотя бы личное);
- телевизор с большим-большим экраном;
- шмотки;
- деньги.
Подростки и того проще - в первой пятерке мечт четыре позиции - электроника (mp3-плейер, игровая приставка, компьютер, мобила), шмотки же занимают почётное первое место. Мир во всем мире подростков не интересует, равно как и деньги (пока их зарабатывают родители).
Но одно дело хотеть подарок, а совсем другое - дарить. Опросы показывают, что многие уже определились с тем, что они будут дарить. Тут выбор несколько скромнее - игровые приставки, дополнительные флешки к фотоаппаратам, mp3-плейеры, DVD-плейеры и цифровые камеры.
Примечательно, что потребители будут сокращать расходы на улучшение реальности - своих домов, хозяйственные покупки и путешествия в реальном мире, в пользу виртуальных электронных суррогатов (это же, но несколько иными словами, утверждает экономист CEA Шон ДаБравач).
Иными словами, массы с удовлетворением вопринимают лозунги "Не сползая с дивана" и "Теперь на большом экране".
|
|

|