СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ
Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях
Кто внес наибольший вклад в развитие украинского ИТ-рынка.
Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары
|
|
12 июля 2007 г., 18:01
Конечный автомат - абстракция очень полезная и удобная. Особенно в программировании.
Но есть одна беда - возиться на бумаге с моделями конечных автоматов неудобно, а программы для работы с ними или ориентированы на учёных и потому очень сложны (порой настолько, что затраты на изучение инструментария становятся просто несоизмеримыми с возможными дивидендами от его использования), или примитивно-иллюстративны.
Поэтому программка VAS (Visual Autoamata Simulator) показалась мне очень привлекательной. Она кросс-платформенная (Java), бесплатная, с открытыми исходными текстами, но это всё - мелочи.
Главное в VAS - не то, что программка является очень удобным заменителем листа бумаги, позволяющим рисовать граф переходов автомата с помощью минимума операций (двойной клик левой кнопкой мыши в окне редактора диаграмм помещает символ нового состояния - кружочек, пока нажаты Shift+левая, можно рисовать ветвь графа, правая кнопка активирует контекстно связанные с любым объектом дополнительные операции) и экспортировать кратинку в векторный eps.
Главное, - что VAS позволяет заставить нарисованные автоматы работать. Если вы задали алфавит и конечный автомат, - можете предъявлять ему строки и проверять реакцию автомата на них. А можете, по желанию, проводить пошаговую отладку (инициируется Ctrl-D, новый шаг - Ctrl-F), отлично отображаемую подсветкой элементов диаграмм.
Кроме того, VAS позволяет автоматически преобразовывать недетерминированные конечные автоматы в детерминированные.
А еще VAS умеет имитировать машину Тьюринга (эта возможность, конечно, больше нужна студентам).
Симпатичная штука - еле видные желтые "прицельные линии", возникающие при перемещении объектов диаграммы и позволяющие добиваться симметрии (для того, чтобы диаграмма легче читалась) не "на глаз", а с большей точностью.
В общем, - весьма небесполезная вещь, особенно для документирования и отладки на уровне логики работы всяких нетривиальных (и, напротив, - тривиальных) фрагментов кода. Например, - распознавания классов битовых строк или строк символов.
9 июля 2007 г., 17:48
В конце июня на форуме разработчиков Freescale (производитель микроконтроллеров и микропроцессоров, унаследовавший интеллектуальную собственность и производство знаменитой Motorola) был представлен снабжённый интеллектом баскетбольный мяч.
Вычислитель и прочее необходимое для "поумнения" устройства в него включали вовсе не для красоты (хотя баскетбольный мяч, играющий мелодии 50cents и переливающийся голубыми светодиодами - штука без сомнения обречённая на коммерческий успех среди дворовых баскетболистов). Умный мяч запоминает характеристики броска - углы и начальную скорость, и "отдаёт" их с помощью беспроводного интерфейса (ZigBee). Поумнение достигнуто, можно сказать, малой кровью - хватило нескольких микросхем: 8-битового микроконтроллера, ZigBee трансивера, трёхосевого акселерометра.
Назначение умного мяча - тренировки баскетболистов. Получаемые данные в ходе тренировок позволяют вносить коррекцию в технику броска и добиваться большей результативности.
Мячом заинтересовался серьёзный производитель спортинвентаря Spalding, специалисты этой компании работали в проекте совместно с инженерами Freescale и командой университета штата Индиана (очевидно, что алгоритмика работы встроенного вычислителя более чем далека от тривиальности). Будет ли мяч выпускаться серийно или же он будет доступен только по заказу командам - неизвестно.
Так вот.
В связи с этим, - немного ресурсов для тех, кто хочет делать что-то подобное (в области embedded computing), считает, что обладает достаточными напорством и знаниями, но не знает, с чего начать.
Начинать же лучше всего с прочтения статьи знаменитого в embedded-отрасли гуру, Джека Ганссли (Jack Ganssle) "Как стать embedded-пришибленным" . Ганссли, отдавший embedded-программированию очень много лет, прекрасно знает, о чём пишет, и к его мнению стоит прислушаться (ещё стоит прочесть его статьи в Embedded Programming Magazine, но их больше 500, и это потом, потом).
Затем, - попоробуйте осилить первую часть считающейся классикой embedded-литературы книги от Motorola - "Понимание малых микроконтроллеров" (в книге 300+ страниц, она на английском, - привыкайте к этому, вся компонентная база embedded-устройств создаётся в англоязычном мире, и поэтому определитесь раз и навсегда - или вы хотите изменить себя и стать эмбеддером, или вы хотите изменить мир).
Затем, - первая учебная парта, "взлёт-посадка" на тренажёре. Партой будет архитектура Intel 8051 (уж очень она микроконтроллерная и распространённая), тренажёром - программа EdSim51. Надо сказать, что это - очень неплохой симулятор (эмулятором принято называть нечто, занимающееся имитацией на аппаратном уровне) микроконтроллеров выбранного семейства, к тому же, - платформенно-независимый (ибо Java). Лишнего о нём говорить нечего - вся документация есть на сайте. И, к симулятору, - компилятор. Бесплатный и более чем неплохой при генерации кода для 8051 - SDCC. Он также великолепно документирован. А без C в эмбеддинге делать ровным счётом нечего - есть ещё подающий надежды Erlang, но он где-то там, высоко-высоко (авионика, системы военного назначения, масштабные телекоммуникационные системы, etc), куда надо ещё получить такой серьёзный пропуск, что... в общем, туда нам не попасть по ряду очень серьёзных причин.
Дальше - всё, как обычно: бери больше, кидай дальше, и так - с утра до вечера.
6 июля 2007 г., 12:11
Антонио Канжиано не поленился подсчитать Amazon'овский рейтинг книг о 23 разных языках программирования. В принципе, этот рейтинг - довольно информативный показатель: чем больше учебников по языку программирования покупают, тем, очевидно, большее количество программистов (или потенциальных программистов) в нём заинтересовано.
Итак, первая тройка (и десятка) самых-самых популярных следующая:
1. JavaScrip
2. Java
3. Ruby
4. SQL
5. C#
6. C++
7. C
8. Visual Basic
9. Python
10. PHP
Что ж, - довольно логичная картина, всё на своих местах.
Кстати, - о Java. Разработчик программы параллельного рендеринга lucille Syoyo (ой, даже не знаю, как прочесть его имя) Фуджита сравнил производительность кода, сгенерированного JIT-компилятором LLVM свежей версии (2.0) и GCC. Результат удручающий для GCC и полностью подтверждающий недовольство Антона Эртла качеством генерации кода:
на тестовой задаче Himeno (решение уравнения Пуассона методом Якоби, кстати, коллеги-тестеры, - это очень неплохой тест для оценки производительности процессоров в мегафлопcах) сгенерированный LLVM код, исполняющийся процессором Core 2 Duo, выдаёт 1147 мегафлопс, GCC 4.2 - 953 MFLOPS, а GCC 4.0.1 - вообще всего 544 MFLOPS.
А теперь - вопрос к читающим:
я сугубо для души учу-ковыряюсь в Ruby, процесс этот постоянный, посему разовой статьи писать не буду, а цикл статей - это весьма трудно, так как превращает изучение для души в обязанность. Так вот - будет ли кому-то интересна несколько необычная, "блоговая" версия как бы самоучителя по Ruby?
5 июля 2007 г., 13:23
О конкурсе на лучшую идею от Premiere Farnell я уже засечку сделал. А теперь немного об одной такой реальной идее.
Но для начала - необходимые для фона факты.
В Дании вклад сельского хозяйства в валовый национальный продукт - всего 1,4%. Площадь земель Дании - 42,394 кв. км., из них пахотных земель - 52.59%, орошаемых земель - 4,490 кв. км (на 2003 г., все данные - с сайта The World Factbook ЦРУ).
В Украине вклад сельского хозяйства в валовый национальный продукт - 17.5% . Площадь земель Украины - 603,700 кв. км., из них пахотных - 53.8%, орошаемых - 22,080 кв. км. (на 2003, опять же данные ЦРУ).
В Украине вклад промышленности в ВНП - 42.7%, в Дании - 24.6%.
А теперь кто-то сможет сам себе объяснить, почему (и, главное, - зачем) робот, борющийся с сорняками, разработан в Дании?
Зачем им в Дании такой робот - Hortibot?
Для чего Министерство сельского хозяйства Дании выделило на проект 200+ тысяч евро?
Зачем вообще Клаусу Соренсену, "агротехнику" (это только мне кажется, что в адаптации к нашим чернозёмам названия рода деятельности "agricultural engineering scientist" упущено что-то исключительно важное?), было возиться с программированием системы распознавания 25 различных сорняков? А с созданием алгоритмов управления актуаторами разного типа, которые не только способны выдёргивать с корнем сорняки, но и выжигать их... лазером?
Для чего студентам в Дании защищать дипломы на темы вроде "Определение контуров трав - подход с использованием двухмерной лазерной локации", когда у них и сельского хозяйства - кот наплакал, и в армию не призывают?
Робот же... он по оценкам больше чем в два раза дешевле традиционного опрыскивателя ($70 тысяч против $150 тысяч), лёгкий (что значит - не портит грунт) и позволяет на 75% сократить использование гербицидов (ещё той отравы).
Кстати, - с учётом ужесточения иммиграционного законодательства большинства стран, подобные роботы позволят избежать ещё одной неприятной вещи - снижения конкурентоспособности сельского хозяйства (не секрет, что на неквалифицированные трудоёмкие работы чаще всего устраиваются иммигранты из стран третьего мира).
5 июля 2007 г., 12:12
Все статьи того самого Александреску, написанные им для того самого CUJ, теперь собраны в одном месте и доступны онлайн всем желающим.
Для непрограммистов - Андрей Александреску автор той самой книги "Современное проектирование на С++ ...", без подкреплённых практикой штудий которой в приличном обществе называть себя С++-программистом не принято так же, как ковыряться в носу.
А CUJ - это журнал, "C/C++ Users Journal", c 2006 объединённый со знаменитым Dr. Dobbs.
А Doctor (Dr.) Dobbs - это в каком-то смысле медицинский журнал.
В нём добрый Доктор Доббс пишет о том, что надо знать пациентам, чтобы поменьше хворать и страдать за мониторами и побольше проводить времени на свежем воздухе.
Как-то так.
4 июля 2007 г., 14:56
Сразу два обновления в мире самого нужного после клюшки иконок - новый комплект для KDE и куча красот для Mac OS X.
Это всё, в принципе, можно использовать и в Windows (XP и старше). Как трансформировать чужеродные иконки в понятное Windows - написано здесь.
А здесь объясняются настройки Windows XP для поддержки "гигантских" (128*128) иконок и даже объясняются некоторые подводные камни и способы их обхода.
Даже не представляю себе, как будут смотреться 128*128 иконки в винде (они меня в Mac OS X ужасно раздражают своей подчёркнуто антифункциональной невыносимой прекрасностью), но мало ли, - вдруг кому это действительно нравится. О вкусах ведь не спорят.
4 июля 2007 г., 13:23
Попался мне очень интересный документ, в котором с помощью легальных методов коммерческой разведки (анализ и сопоставление открытых данных) сделана попытка восстановления прибылей в производственной цепи, лежащей в основе серийного выпуска Apple iPod
Речь идёт о 30 GB модели третьего поколения, выпуска 2005 года.
Картина вырисовывается достаточно очевидная. И очень-очень грустная (почему - позже).
Итак, - средняя "уличная" цена анализируемой модели iPod в 2005 году была порядка $299.
Наиболее дорогостоящие компоненты iPod приносят, естественно, наибольшую прибыль их производителям.
Винчестер, составляющий 51% стоимости компонентного набора, нужного для производства iPod, приносит японской Toshiba примерно $19,45 прибыли (при стоимости в партиях $73,39).
Дисплейный модуль, опять же производства Toshiba-Matsushita, оставляет в Японии ещё $5,85 с каждого проданного в мире iPod.
Две микросхемы (мультимедийный процессор от Broadcom и аудио-декодер от PortalPlayer) при продаже каждого iPod добавляют к валовому националному продукту США $6,60.
Дальше начинаются сущие гроши и крохи - от десяти центов до субцентовой области. Зато поставщиков - море, их больше четырёх сотен!
Получается, что суммарная стоимость компонентного набора и работ, необходимых для создания одного iPod (кстати, работы, стоимость которых находится на уровне $3,77, приносят тайваньской Inventec всего 11 центов прибыли), составляет $144,40. Из них $123,12 приходятся на 10 компонентов и сборку устройства, поставщикам прочих почти 400 компонентов и услуг достается всего $21,80.
Теперь смотрим на разницу между стоимостью производства iPod ($144,40) и его ценой для конечного покупателя. Получается $154,60. Эти деньги "делятся" между Apple и системой сбыта (цепочка дистрибьюторы - дилеры - конечные продавцы) примерно так: $80 - прибыль Apple, $75 - всей цепочки сбыта.
Итого, с каждого проданного iPod:
- экономике США достаются $163
- экономике Японии - $26
- экономике Кореи - $1
А теперь о грустном.
Свыше 400 поставщиков, заморские (oversea) исполнители работ, логистика, способная отслеживать заказы и движение стольких наименований компонентов для изделия с очень большой тиражностью, краткий срок жизни изделия на рынке (iPod 2005 года рождения сегодня уже устарел), означающий реактивную скорость проектирования, и т.д., и т.п. - всё это то, чего никогда принципиально не умела ни полувоенная промышленность СССР, ни унаследованная от неё.
И получается проклятый замкнутый круг - без эффективно работающих "рук" и "ног" (промышленности, логистики, банковской системы, государственного инвестирования) "голова профессора Доуэля", - все эти дизайн-центры, потешные кремниевые долины, технограды и прочие "бюджетопилки", тщащиеся выдумывать какие-то там инновации, - работать не будет.
Существовать - безусловно будет, пока будут бюджетные средства.
А вот работать - увы.
3 июля 2007 г., 12:59
Громадный дистрибьютор электронных компонентов Premier Farnell plc объявил конкурс LiveEdge на лучшую разработку электронного устройства, предназначенного для повышения энергоэффективности созданных человеком систем, снижения выбросов вредных веществ в атмосферу и вообще, способного хоть в какой-то мере способствовать улучшению экологической обстановки.
Конкурс уникален тем, что для участия не требуется предоставление готового работоспособного устройства - достаточно яркой идеи. А победитель конкурса получит не только $50 тысяч наличными "на булавки", но и ещё $50 тысяч - на поддержку трансформации идеи в работоспособный прототип. Затем устройство будет выпускаться крупносерийно (если, конечно, в этом будет смысл).
До 31 октября сего года нужно успеть зарегистрироваться, а до 30 ноября - сгенерировать гениальную идею (концепцию) будущего устройства, которое спасёт мир (шучу, - хотя бы, не навредит).
Если кому кажется, что это выходит за рамки "вычислительной" тематики - напрасно кажется. Аналоговая электроника в ориентированных на массовое производство устройствах - штука гибельная. Так что гениальная идея, сколь бы она ни была гениальна, без программируемой цифровой составляющей, скорее всего, не обойдётся. Да и микроконтроллеры сейчас копеечные совсем
Так что предложение заманчивое - ну вдруг кому удастся придумать что-то действительно очень полезное, а?
30 июня 2007 г., 11:11
Вот ей-богу, про этот iPhone ни слова не сказал бы, если бы фанаты его уже не разобрали "по косточкам".
И что?
Да, собственно, - ничего особенного:
Микросхема усилителя мощности GSM-диапазонов фирмы Skyworks, процессор семейства ARM, 8 GB флеш-памяти Samsung. Маленькая, аккуратная платка - в аккурат дипломный проект нормального студента, специальность "Цифровая техника".
Это я к тому, что создать современный гэджет под силу не только "ихним" компаниям. А вот превратить этот гэджет в:
1. товар
2. популярный товар
3. массово доступный товар при любом спросе
4. прибыльный товар
- это уже совсем другие задачи.
29 июня 2007 г., 20:02
Итак, проект Eclipse дошёл до очередной точки - релиза Europa.
Первые "обзиратели" отмечают самое (для меня лично) главное - Europa стала шустрее. Это очень приятно. Потому что тяжёловесная, "тормозная" среда разработки - сущее наказание (если вообще не казнь).
Нового в релизе много. Говорят, что радуют механизмы поддержки рефакторинга, но, говорят, что они же и не радуют - из-за "мелких недочётов в работе" (старая советская терминология идеально подходит для подобных логических извращений).
А вот хроническая болезнь некогерентных, созданных в ходе активного участия лебедя, рака и щуки, проектов, - это даже вовсе и не интересно:
"Главное, что раздражает в этом релизе - как бы дополнительные настройки для всех этих новых возможностей, как бы дополнительные потому, что они только перегружают и без того загруженные диалоговые панели. Один новый чекбокс - тут, один - там, - и в результате получается море новых элементов управления...".
Кстати, - да.
Именно поэтому и мне Netbeans нравится больше...
Нет, всё-таки, не врёт народная мудрость, - как присмотришься, так у семи нянек завсегда дитё какое-то косоглазенькое выходит.
|
|
|