среда, 29 апреля 2015 г.

[prog] Прочел таки про Google-овский Borg

Поскольку до меня, как до жирафа, все доходит весьма не быстро, то познакомился с работой "Large-scale cluster management at Google with Borg" только сейчас :)

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

Отдельно порадовало использование языка C++ в реализации Borg-а. Как по мне, так данная задача вообще отлично подходит для фреймворков вроде SObjectizer и C++ Actor Framework. По крайней мере, по ходу чтения возникало ощущение, что и сам Borgmaster, и Borglet-ы отлично ложатся на actor model.

[management.book] Бен Хоровиц "Легко не будет"

Прочитал книгу Бена Хоровица "Легко не будет". Впечатления двойственные и неоднозначные.

[prog.sobjectizer] Поддержка приоритетов в версии 5.5.5

Небольшая информация для тех, кто следит за разработкой SObjectizer.

Здесь изложены некоторые соображения по поводу приоритетов сообщений. Если у кого-то будет желание обсудить или высказать свое мнение, то милости прошу (либо на SF.net, либо на GitHub, либо прямо здесь, в блоге). Любое мнение будет услышано и принято во внимание. Со своей стороны готов подробно рассказать что к чему и почему. А так же проработать альтернативные варианты.

вторник, 28 апреля 2015 г.

[sad.thoughts] "ПАп переведи мне" или что видно снаружи пузыря...

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

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

воскресенье, 26 апреля 2015 г.

[prog.c++11] Ну такой сложный C++. Не в 1995-ом. И даже не в 2005-ом. А в 2015-ом. На примерах.

Язык C++ никогда не был простым языком. Это объективно и проистекает как из специализации языка, так и из истории его создания и развития. Однако, в последние годы лично я твердо уверен в том, что поддерживаемая в интернетах репутация C++ как очень сложного в изучении и использовании языка, базируется, в первую очередь, на сильно устаревшей информации (времен отсутствия стандарта языка, а так же времен отсутствия компиляторов с более-менее нормальной поддержкой C++98/03). А во вторую очередь на фольклоре, распространяемом теми, кто ни самого языка, ни систем на нем, не видел вообще.

C++11/14 стал еще более сложным, чем C++03. Но фокус в том, что писать на нем стало намного проще. Т.е. усложнение языка сильно упростило разработку на C++. Поэтому не нужно к C++11/14 применять ярлыки, заслуженные много лет назад C++98 (а то и более ранними версиями). Под катом пара примеров реального кода для демонстрации данного тезиса.

пятница, 24 апреля 2015 г.

[prog.c++] Попалась на глаза любопытная заметка про Boost.Coroutine vs FiniteStateMachine

Вот она: Boost coroutines instead of state machines? Maybe... Очень интересные выводы в конце этой статьи сделаны. Имхо, желающим использовать короутины в продакшене имеет смысл ознакомиться и со статьей, и с выводами.

Я же, в силу своего темного прошлого, все-таки остаюсь приверженцем подхода на основе конечных автоматов. Да, кода приходится писать чуть больше. Зато потом нужно меньше голову ломать.

Ну и еще об одной вещи касательно конечных автоматов. В статье показан, на мой взгляд, самый корявый способ их описания: через enum и один большой switch. Между тем, в C++ на указателях можно писать более понятные и удобные в сопровождении конечные автоматы, например:

[prog.thoughts] Пятничное про Rust и C++

В последнее время много разговоров ходит о языке Rust. Чего я во всем этом хайпе не понимаю, так это кому именно нужен Rust? Может быть кто-то из читателей поделится в комментариях, откуда проистекает его личный интерес к Rust, какие проекты он хочет делать на Rust, что в итоге хочет получить и почему этого нельзя достичь уже имеющимися средствами. Я же попробую объяснить то, почему же Rust все-таки удерживается где-то в углу моего зрения, но только в дальнем-дальнем углу.