`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Просто и не без вкуса

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

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

Поэтому программка VAS (Visual Autoamata Simulator) показалась мне очень привлекательной. Она кросс-платформенная (Java), бесплатная, с открытыми исходными текстами, но это всё - мелочи.

Главное в VAS - не то, что программка является очень удобным  заменителем листа бумаги, позволяющим рисовать граф переходов автомата с помощью минимума операций (двойной клик левой кнопкой мыши в окне редактора диаграмм помещает символ нового состояния - кружочек, пока нажаты Shift+левая, можно рисовать ветвь графа, правая кнопка активирует контекстно связанные с любым объектом дополнительные операции) и экспортировать кратинку в векторный eps.

Главное, - что VAS позволяет заставить нарисованные автоматы работать. Если вы задали алфавит и конечный автомат, - можете предъявлять ему строки и проверять реакцию автомата на них. А можете, по желанию, проводить пошаговую отладку (инициируется Ctrl-D, новый шаг - Ctrl-F), отлично отображаемую подсветкой элементов диаграмм.

Кроме того, VAS позволяет автоматически преобразовывать недетерминированные конечные автоматы в детерминированные.

А еще VAS умеет имитировать машину Тьюринга (эта возможность, конечно, больше нужна студентам).

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

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

Просто и не без вкуса

Умный.. баскетбольный мяч. И не только мяч.

В конце июня на форуме разработчиков 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), куда надо ещё получить такой серьёзный пропуск, что... в общем, туда нам не попасть по ряду очень серьёзных причин.

Дальше - всё, как обычно: бери больше, кидай дальше, и так - с утра до вечера.

Немного языкознания и один вопрос

Антонио Канжиано не поленился подсчитать 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?

Даже в нашем рубрикаторе этому нет места

О конкурсе на лучшую идею от 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% сократить использование гербицидов (ещё той отравы).

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

C++ программисты - не проходите мимо

Все статьи того самого Александреску, написанные им для того самого CUJ, теперь собраны в одном месте и доступны онлайн всем желающим.

Для непрограммистов - Андрей Александреску автор той самой книги "Современное проектирование на С++ ...", без подкреплённых практикой штудий которой в приличном обществе называть себя С++-программистом не принято так же, как ковыряться в носу.

А CUJ - это журнал, "C/C++ Users Journal", c 2006 объединённый со знаменитым Dr. Dobbs.

А Doctor (Dr.) Dobbs - это в каком-то смысле медицинский журнал.

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

Как-то так.

Иконочки

Сразу два обновления в мире самого нужного после клюшки иконок - новый комплект для KDE и куча красот для Mac OS X.

Это всё, в принципе, можно использовать и в Windows (XP и старше). Как трансформировать чужеродные иконки в понятное Windows - написано здесь.

А здесь объясняются настройки Windows XP для поддержки "гигантских" (128*128) иконок и даже объясняются некоторые подводные камни и способы их обхода.

Даже не представляю себе, как будут смотреться 128*128 иконки в винде (они меня в Mac OS X ужасно раздражают своей подчёркнуто антифункциональной невыносимой прекрасностью), но мало ли, - вдруг кому это действительно нравится. О вкусах ведь не спорят.

Почему они богатые

Попался мне очень интересный документ, в котором с помощью легальных методов коммерческой разведки (анализ и сопоставление открытых данных) сделана попытка восстановления прибылей в производственной цепи, лежащей в основе серийного выпуска 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 года рождения сегодня уже устарел), означающий реактивную скорость проектирования, и т.д., и т.п. - всё это то, чего никогда принципиально не умела ни полувоенная промышленность СССР, ни унаследованная от неё.

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

Существовать - безусловно будет, пока будут бюджетные средства.

А вот работать - увы.

Есть возможность неплохо заработать

Громадный дистрибьютор электронных компонентов Premier Farnell plc объявил конкурс LiveEdge на лучшую разработку электронного устройства, предназначенного для повышения энергоэффективности созданных человеком систем, снижения выбросов вредных веществ в атмосферу и вообще, способного хоть в какой-то мере способствовать улучшению экологической обстановки.

Конкурс уникален тем, что для участия не требуется предоставление готового работоспособного устройства - достаточно яркой идеи. А победитель конкурса получит не только $50 тысяч наличными "на булавки", но и ещё $50 тысяч - на поддержку трансформации идеи в работоспособный прототип. Затем устройство будет выпускаться крупносерийно (если, конечно, в этом будет смысл).

До 31 октября сего года нужно успеть зарегистрироваться, а до 30 ноября - сгенерировать гениальную идею (концепцию) будущего устройства, которое спасёт мир (шучу, - хотя бы, не навредит).

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

Так что предложение заманчивое - ну вдруг кому удастся придумать что-то действительно очень полезное, а?

 

Все побежали - и я побежал

Вот ей-богу, про этот iPhone ни слова не сказал бы, если бы фанаты его уже не разобрали "по косточкам".

И что?

Да, собственно, - ничего особенного:

Все побежали - и я побежал

Микросхема усилителя мощности GSM-диапазонов фирмы Skyworks, процессор семейства ARM, 8 GB флеш-памяти Samsung. Маленькая, аккуратная платка - в аккурат дипломный проект нормального студента, специальность "Цифровая техника".

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

1. товар

2. популярный товар

3. массово доступный товар при любом спросе

4. прибыльный товар

- это уже совсем другие задачи.

Да! Мурзік - це Європа! (© Лесь)

Итак, проект Eclipse дошёл до очередной точки - релиза Europa.

Первые "обзиратели" отмечают самое (для меня лично) главное - Europa стала шустрее. Это очень приятно. Потому что тяжёловесная, "тормозная" среда разработки - сущее наказание (если вообще не казнь).

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

А вот хроническая болезнь некогерентных, созданных в ходе активного  участия лебедя, рака и щуки, проектов, - это даже вовсе и не интересно:

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

Кстати, - да.

Именно поэтому и мне Netbeans нравится больше...

Нет, всё-таки, не врёт народная мудрость, - как присмотришься, так у семи нянек завсегда дитё какое-то косоглазенькое выходит.

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT