`

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

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

BEST CIO

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

Человек года

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

Продукт года

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

 

Какой удар!

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

Итак.

Система "отбора и тестирования" в ВУЗы у нас строилась и строится на вступительных экзаменах.

Так?

Так.

У хороших ВУЗов есть некий эталонный набор тестов, основывающихся на разных ставших классическими материалах. Например, для вступительных тестов по математике классикой был и есть, судя по неувядающему интересу на тематических сайтах,  сборник задач Сканави. Когда-то давно и мне доводилось тренировать на нём "решалку".

Существовало и правило - если абитуринет "щёлкает" как орешки примерчики из категории "В" Сканави, - это хороший, годный к поступлению абитуриент, письменный экзамен по математике он точно сдаст.

Всё это - дикая банальщина, в общем.

От делать нечего взял я тестовую версию программки Algebrator, стянул с какого-то жуткого рефератного сайта любовно сканированный сборник Сканави в формате djvu (да, стянул, - это ужасно, ужасно!), и...

О ужас!

OMFG!

Дурная решалка размером в пяток мегабайтов "щёлкает" группу В как орешки.

Делай раз!

Редактируем исходное выражение:

Какой удар!

 

Делай два!

Нажимаем кнопку Solve All и смотрим все промежуточные выкладки:

Какой удар!

 

Делай три!

Пролистываем до конца и наблюдаем результат, естественно, верный:

Какой удар!

 

Что в сухом остатке?

Программа Algebrator - желанный студент любого технического ВУЗа. С чем я её и поздравляю.

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

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

То ли ещё будет

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

Так вот, очередная истерика блогододекаэдра - свежее видео четырёхногого робота BigDog фирмы Boston Dynamics. Как и положено населяющим додекаэдр, все поахали, посюсюкали и забыли.

Жаль. Boston Dynamics - фирма, "отпочковавшаяся" от одной из лабораторий Массачусесткого технологического (Leg Lab) ещё в 1992 г. Её основатель, Марк Райберт - по настоящему культовая персона (и не только в робототехнике), разработчик революционных статически неустойчивых роботов, начиная с "одноногого попрыгунчика" и заканчивая совершенно уж фантастическим BigDog. А ещё Райберт - автор фундаментальной книги "Legged Robots That Balance" ("ногатые балансирующие роботы"). И ещё он (точнее, его "подопечные") прославился в кино - в фильме "Восходящее солнце" по роману Майка Крайтона (откуда растут ноги у ставшей цитатой фразы "если долго сидеть на берегу реки, можно увидеть проплывающий мимо труп врага"). Подход Райберта к решению проблемы построения управляющей системы шагающих машин отличается от того, что используется, например, в Honda Asimo - от точки нулевого момента, теории, созданной югославским робототехником Миомиром Вукобратовичем ещё в конце 60-х, начале 70-х годов. Ну и так далее, кому интересно будет, - сам нароет. Жаль, что книга Райберта давно out of print, мне удалось отыскать только пару глав.

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

А ещё 5 марта вышел релиз GCC 4.3 - кого это интересует, те, конечно, об этом знают. В 4.3 есть многое из предложенных расширений стандарта C++ (доступ к этому многому включается флагом -std=c++0x).

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

Вот такое, короче, придумали, - ссылку на временный неконстантный объект rvalue reference (rr_mt в примере):

MyType obj_mt ;
MyType& lr_mt = obj_mt ;

MyType&& rr_mt = MyType();

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

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

OMG

Чем будет дальше С++, лучше даже не предполагать. Но, похоже,  через 10 лет программировать на нём смогут только 120-летние (и то маловато будет, чтобы изучить язык) двухголовые антропоморфы с 2^6 пальцев на 8 руках.

Если кто ещё не понял, к GCC это относится в той же мере, в какой и ко всем компиляторам, то есть,  - никак; раработчики инструментов всего лишь реализуют то, что задаётся стандартами.

Вместо программы телепередач на неделю

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

  1. Внимательно послушать интервью с Ричардом Хиппом - лауреатом Google и O'REILLY Open Source Award 2005 года, автором встраиваемой СУБД SQLite, прекрасных Tcl Tk виджетов и парсера lemon.
  2. Просмотреть и выборочно почитать черновик вроде как неплохой книги "Алгоритмы для программистов". Пока раздаётся за бесплатно. Автор - Jorg Arndt, разработчик С-библиотеки FXT - из класса "на каждый день", хороша не только для повторного использования (и даже не столько, - лицензия, лицензия), сколько как справочник.
  3. Поковыряться в очень симпатичной библиотеке Forth-слов также, как FTX, "на каждый день". Что особо важно - неигрушечных слов, не чепухи. Список Forth-слов библиотеки не пугает размером, документация (как для Forth) просто замечательная, в общем, - настоящим джедаям, которые мастер Йода язык понимать, - качать и ковыряться однозначно. Библиотека была бы настоящей  находкой для embedder'а, но лицензия... производители микроконтроллеров предусматривают всё возможное для защиты прошивок от копирования вовсе не из-за своих дурацких прихотей, и GPL-лицензирование firmware, неизбежно навязываемое повторно используемым кодом, в этом мире вовсе не к месту. Впрочем, об этом лучше знают те, кто уже "обжёгся".
  4. "Залезть" в проект "Шрёдингер". Мало того, что это программный проект исследовательского центра BBC (телевидениефобия на этот канал не распространяется, просто в телевизорах обычно вовсе не BBC), так еще и штука интересная - высокоскоростная реализация алгоритма "Дирак" для компрессии-декомпрессии качественного видео, причем в основе алгоритмики - вейвлеты.

Сингулярность

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

Стивен Кинг, "Тёмная башня. Стрелок"

Это я к тому, что мир действительно сдвинулся с места.- пишу это и параллельно совершенно законнно, без помощи "китайских братьев" и прочих фронтов освобождения имени  фарабундовмарти качаю 60 MB исходных текстов той операционной системы, которая с большой степенью вероятности придёт на смену Windows.

Короче, Microsoft открыла свой проект Singularity. Речь идёт о принципиально новой операционной системе - пока и для этой записи этого достаточно.

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

Так вот, - лицензия. Если не слишком прислушиваться к бородатым классикам, хоть они и единственные, кто знает единственно верное (и потому истинное) учение, то никакой крамолы в лицензии не обнаруживается. Забавно, что Microsoft явно пытается "развернуть" схему open-source лицензирования в сторону того, с чего всё начиналось - в сторону академической науки.

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

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

Три достойных релиза

Поздравляю всех причастных и сочувствующих - релиз 7.0 FreeBSD готов и официально анонсирован. Нового в нём достаточно, из очень интересного - практически эталонная для многядерных и SMP архитектур реализация механизма управления динамически выделяемой памятью.

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

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

Обновился до версии 2.5.2 и Python. Это багфикс-релиз, потому из категории must have. По некоторому размышлению и утомившись культивируемой зыбкостью среды Ruby (не одному мне так кажется, - вот мнение, высказанное в куда более жёсткой форме), я пришел к оригинальному выводу, что интересного много, а я один, поэтому если возникает у меня потребность в динамическом языке,  Python мне хватит за глаза.

Ну а любители прототипирования С-программ и Ch - интерпретатора ISO-стандартного языка C, могут получить очередную версию 6.0. Ch Standard Edition остаётся легально бесплатной, кросс-платформенной и всё так же хорошо делает то, что должна делать. В новом релизе улучшено соответствие требованиям ISO-стандарта (С 90), и можно говорить о том, что Ch - полноценный стандартный интерпретируемый C. Хорошая и полезная штука. Кстати, в перечне сторонних разработок c использованием (для) Ch очень много весьма полезных вещей.

Engineer vulgaris против Software Engineer

Есть задача - "высушить бельё"? Кто её решит так, чтобы бельё было сухим вовремя и чтобы за этот "подвиг" не пришлось расплачиваться трём следующим поколениям?

Учёный-теоретик? Первопроходец-пионер-смелый экспериментатор? Ценитель белья (дамского, кружевного)? Владеющий словом писатель? Выдающийся управленец, от голоса которого даже кони понимают - придётся или сдохнуть, или сыграть на арфе?  

Все эти люди, безусловно, могут решить задачу сушки белья. Но с некоторыми "но". И только один специалист своей специальностью призван решать подобные задачи без "но", а именно так, как они поставлены - в срок и за разумные деньги.

Engineer vulgaris. То есть, - инженер обыкновенный.

А вот software engineer - он чем от engineer vulgaris отличается? Конечно, хочется очень умного сказать в ответ на такой вопрос. Но если это умное не окупается большим тиражом толстой книги, где оно сказано, то и смысла нет говорить очень умное, можно и очевидным обойтись. А очевидное такое - ничем.  

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

А вот software engineer в этом смысле не просто обделён, а и вовсе обижен - его учили и учат "созидать новое", а не начинать с поиска готового (что, вообще-то, - святая святых для engineer vulgaris).

Больше того, из этого самого "созидания нового" делается настоящий культ.

Увы.

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

И только если задача никак не решается, запускается механизм "поиска нового".

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

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

Всякая всячина

Для детей от 12 лет немецкий издательский дом Franckh-Kosmos Verlags GmbH (ему, к слову, 180 лет) выпускает развивающий набор "Микроконтроллер".

Всякая всячина

"Игрушка" предлагает 100 экспериментов, схемы и программы для которых ученику предстоит собрать самостоятельно. Естетсвенно, речь идет о тех ста экспериментах, для которых есть детальное описание в прилагаемом руководстве, на самом деле количество их ограничивается разве что фантазией "игрока". В наборе есть всё - собственно программируемый микроконтроллер, разные сенсоры и актуаторы (вообще, набор keit было бы назвать "поиграем в embedded engineering).

Ещё одна игрушка, но уже для более взрослых деток - Microsoft открыла описания бинарных форматов Office. Раньше было модно истерически вопить, что в этот знаменательный день резко увеличится количество гражданских свобод, солнце начнёт светить ярче и все исцелятся от всего. И вот этот день случился, но ничего особенного не произошло. С гражданскими свободами - в первую очередь. А спецификации... ну спецификации как спецификации. Может быть, кому-то и пригодятся. Только не прикладным программистам, как мне кажется, - прикладники предпочитают иметь дело с бинарными форматами посредством API, предлагаемого тем же Office, и правильно делают (почему правильно - подумайте на досуге).

И, наконец, самая роскошная игрушка - американская военщина в очередной раз дала сбой и потеряла ноутбук с Военной Тайной. В результате всем желающим стал доступен стандарт C++ - кодирования для программы "Объединённый истребитель" (Joint Strike Fighter). Стандарт, можно сказать, из логова самых-самых ястребов - Lockheed Martin Corporation, а там не бирюльками занимаются. К слову, очень полезный и интересный документ. Очень. И легко читается. Если кто ищет "лучшие практики" - рекомендую. Понятно, что далеко не всем подходят рекомендации от проектов с таким бюджетом ($18,981,928,201), но рекомендации на самом деле далеко не заумные или затратные. Как раз наоборот - они направлены на то, чтобы экономить очень много денег на всех этапах после кодирования.

Уже даже и не смешно

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

Сейчас уже не смешно совсем. И, главное, - даже и неприятно как-то.

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

Ладно, - были уже "миллионы леммингов", были "глупые тётки из бухгалтерии", теперь вот новая напасть - оказывается, мир населён идиотами, которые предпочитают использовать X вместо Y только потому, что за X берут деньги, а Y можно получить за бесплатно.

Добрый изобретательный дедушка Геббельс завистливо крутится в гробу.

И, что главное, - это настоящая бесконечная история. Или истерия.

Ну сколько можно биться лбом в эту стену? Ну не нужно человеку, профессия которого требует решения задач класса Z из прикладной области R то, что составляет главное (и, если по-честному, - единственное с точки зрения пользователя) достоинство инструментальных операционных систем.

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

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

Что обеспечивает работоспособность этого инструмента - пользователя обычно не волнует, и именно поэтому не существует фанатичных сообществ пользователей неинструментальных ОС.

Всё.

Пользователи выбирают ту платформу, которая даёт им нужные инструменты. Это великое "откровение", справедливое для любых пользователей, в том числе и тех, кто выбрал инструментальную ОС в качестве платформы.

/. окончательно вычёркиваю из rss-ридера, он и раньше не радовал, а теперь и вовсе последние капли адекватности растеряны.

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

Ещё один робот

Заведение Roasting Plant Coffe в Нью Йорке - новое кафе-робот. Здесь под управлением ПК в промышленном исполнении и набора PLC (программируемых логических контроллеров, специальных вычислителей, предназначенных для решения задач управления физическими процессами) автоматизирован весь цикл производства кофе как напитка по индивидуальным заказам.

Кафе создано благодаря идее и усилиям майка Касуэлла (Mike Caswell), бывшего руководящего сотрудника Starbucks (кстати, его должность чудесно называлась: "директор увеличения прибыли", "director of profit improvement").

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

Человек-оператор в Roasting Plant Coffe выполянет самые важные функции - он улыбается клиенту и болтает с ним о жизни, пока система принимает оплату. Всё. Остальное - дело пневмо-электро-электронно-компьютеризированной системы. Пневматика подаст зелёные зёрна на обжарку, электрика с оценкой параметров электроникой и управлением от компьютеров обеспечит всё остальное. Процесс приготовления занимает всего 30 секунд и, как утверждают посетители (в чём-чём, а в кофе - весьма искушённые нерды и гики), результат мало того, что превосходит все ожидания, так он ещё и повторяем, что значит - ваш любимый кофе будет так же хорош завтра, как сегодня, вне зависимости от того, именины ли у кофевара, или похороны.

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

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

Как по мне, - это неплохо.

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

Языковое, почти no comments

Оказалось, что в тесте производительности реализации проверки на совпадение на основе регулярных выражений, Tcl "впереди планеты всей", - даже быстрее C++ и С.

Оказалось, что худшие - это самые модые. Haskell и (о ужас!) Erlang, да и зачем-то возвращаемый в моду SmallTalk.

(Тест, кстати, вовсе не игрушечный. Жаль, что в нём нет результатов C# не в Mono-исполнении.)

Оказалось, что для Perl вообще принципиально невозможно написать парсер. То есть, - никаких статических чекеров, никаких программ анализа, ничего вообще.

Оказалось, что проекту Perl столько лет, и только сейчас замечена такая "неожиданная особенность".

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

Оказалось, что Lua живее всех живых. Под давлением измученной общественности из стана разработчиков JIT-компилятора (великолепная штука) были выдавлены признания о планах на будущее.

Оказалось, что признаниям можно верить, потому что обещанная  "на днях" версия 1.1.4 действительно вышла на днях.

Оказалось, что и бинарные дистриубтивы очередной версии Lua готовы - 5.1.3.

Оказалось, что это каждый программист должен знать о языке C. Действительно, просто обязан.

Оказалось, что появилась новая погремушка - язык Arc, диалект Lisp,  (N^2+1)й по счёту. 

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

Оказалось, что я тоже не удержался.

 

Ukraine

 

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