Будущее неизбежно
[Most Recent Entries]
[Calendar View]
[Friends]
Below are the 20 most recent journal entries recorded in
Dire Bunny's LiveJournal:
[ << Previous 20 ]
| Monday, May 28th, 2012 | | 3:04 pm |
Пятиминутка шоладемизации. Несомненный плюс от эйчпишных ноутбуков - клавиатура не издаёт никаких лишних звуков. Можно чего-то там печатать прямо на митинге и как бы никому не мешать =) fhtagn! | | Saturday, May 26th, 2012 | | 4:15 pm |
Чем дальше, тем крепче впечатление, что Скалу придумали энтерпрайз-программисты, чтобы как-то развлечься в скучные трудовые будни. 4 yum-yum | fhtagn! | | Monday, May 21st, 2012 | | 10:30 pm |
Вот, кстати, ещё одна книжка - Data Flow Analysis: Theory and Practice (Uday Khedker, Amitabha Sanyal, Bageshri Sathe, 2009). Довольно плотный текст про анализ потоков данных, главным образом применительно к оптимизациям в компиляторе. 17 yum-yum | fhtagn! | | Saturday, May 5th, 2012 | | 11:09 am |
У "Самсунга", похоже, снова рекрутинговое обострение. 7 yum-yum | fhtagn! | | Wednesday, April 25th, 2012 | | 7:56 pm |
На самом деле главная проблема ESL - это не языки, а кадры. Умение писать код промышленного качества весьма редко сочетается с экспертизой в предметной области или в железе. Как с этим бороться - хрен его знает. 4 yum-yum | fhtagn! | | Thursday, April 12th, 2012 | | 4:11 pm |
Я что, правда такой патологически вежливый? 1 yum-yum | fhtagn! | | 12:46 pm |
Почему я всякий раз так перевозбуждаюсь, когда кто-то заявляет, что решает задачу параллелизации с помощью систем типов и эффектов? Для меня в задаче параллелизации главное не способность отличить друг от друга "операции с побочным эффектом" и "операции без побочного эффкта", а определение того, можно ли переупорядочить две операции с побочными эффектами, и построение коммуникационной среды между читателями-писателями в системе. С точки зрения систем типов и эффектов, перестановка двух операций с памятью "может быть некорректной". Спасибо, кэп. Я пока ещё не видел систему типов, которая как-то решала бы задачу анализа потоков данных через память. Более того, я знаю, что задача не имеет решения в общем случае; но нас и не интересует "общий случай", нам важно, как её решать для перспективных алгоритмов мульти-медиа, "дополненной реальности" и тп. Когда увижу решение - воздам автору достойную хвалу. 16 yum-yum | fhtagn! | | Wednesday, April 11th, 2012 | | 10:52 am |
disabled logger = лесоруб-инвалид fhtagn! | | Tuesday, April 10th, 2012 | | 10:25 am |
Редкий случай репоста в моей жежешечке =) An open letter to language designers: Kill your sacred cows.Краткое содержание вброса: Cow #1: source code is ASCII text on disk. Cow #2: source code must be editable by plain text editors. IDEs should be optional and unnecessary. Cow #3. Less syntax is good. Cow #4. Holy wars: Whitespace. Indenting. Bracing. Tabs vs Spaces. Cow #5. What the world needs is a better type system. Cow #6. We must not let programmers extend the syntax because they might do bad things. Cow #7. Compiled vs Interpreted. Static vs Dynamic. Cow #8. Garbage collection is bad. P.S.: да, сам я, конечно, тоже вижу в этом тексте ряд конфликтующих утверждений (иначе не называл бы его вбросом). Но подумать, в принципе, есть над чем. 15 yum-yum | fhtagn! | | Tuesday, April 3rd, 2012 | | 10:34 am |
За что я так бескомпромиссно НЕ люблю встроенные DSL-и? Я считаю, что во встроенном DSL-е приоритеты проектирования обычно расставляются неправильно. Главное - это не "красивый синтаксис (средствами перегрузки операций и пропущенных пробелов)", а правильный выбор абстракций и интерфейсов. Когда на этот выбор накладываются дополнительные ограничения в виде возможности "красивого синтаксиса", получается хуже. Я всегда предпочту встроенному DSL-ю грамотно спроектированный API, реализованный базовыми средствами языка, при проектировании которого подобных излишних ограничений не ставилось. Наличие в языке возможности реализации встроенных DSL-ей затрудняет или делает невозможным автоматизированный рефакторинг. Основное занятие программиста - это поддержка и изменение ранее написанного кода. Если мы на уровне дизайна языка делаем автоматизированный рефакторинг крайне сложным, мы закладываем под себя огромную мину замедленного действия. Если средства метапрограммирования алгоритмически полны, то всё, что можно сделать с мета-программой - это переписать её до "замкнутой формы" без мета-конструкций (при этом из одной завитушки легко может получиться 100500 новых определений), после чего применить к получившейся "замкнутой форме" соответствующие преобразования. Не удивительно, что код при этом, скорее всего, перестанет быть поддерживаемым, потому что все высокоуровневые абстракции, которые зачем-то были выражены в терминах метапрограммирования, будут утеряны. Вместо них будет кашица. Единственное спасение - выделение ограниченного перечня и распознавание на уровне фронт-энда часто используемых метафункций. Например, инструмент, работающий с SystemC (DSL для описания моделей аппаратуры на базе С++), должен понимать такие вещи, как sc_int, sc_fixed, sc_signal, sc_fifo и т.п. без раскрытия соответствующих шаблонов и понижения кода до замкнутой формы. Естественно, это довольно много чисто технической работы. UPD: тут в комментариях ещё отметили, что встроенные DSL-и не всегда хорошо композируются с произвольным кодом и друг с другом. То есть, переиспользование регулярно страдает. Это верно и вне контекста рефакторинга. UPD2: ещё по ходу вспомнили, что отладка кода с использованием встроенных DSL-ей - то ещё "удовольствие". Например, для отладки уже упомянутого выше SystemC нужен либо "честный" симулятор (большая продуктовая разработка), выдающий вейвформы, либо "честный" отладчик, понимающий дельта-циклы и т.п.. Отладка кода, использующего Boost.Spirit или Boost.Phoenix - тоже не самое приятное развлечение. То есть, всё сводится к тому, что встроенный DSL рождается без всего остального инструментария, без которого трудно разрабатывать что-то сложнее маленькой одноразовой программки. 47 yum-yum | fhtagn! | | Thursday, March 29th, 2012 | | 4:11 pm |
Вот, кстати, простая задачка про source-to-source. Не имеющая отношения к тому, чем я занимаюсь применительно к ESL, но пригодная для обсуждения различных языковых особенностей. Многие style guide-ы для С++ (включая, например, Google C++ Style Guide) пишут примерно следующее: используйте 0 для целых чисел, '\0' для символов, NULL для нулевых указателей (nullptr в С++11), 0.0 для вещественных чисел. Я бы ещё добавил "и false для булевских значений". На входе - исходный код на С++ (для простоты - один файл), в котором 0 используется как угодно. На выходе - исходный код на С++, в котором используются правильные 0 (смотри выше). 39 yum-yum | fhtagn! | | 1:00 pm |
Меня иногда спрашивают, как мне удаётся так продуктивно работать, почему у меня такие "пухлые" недельные отчеты и тп. Отвечаю: я начинаю работать с утра, как прихожу на работу. А не после обеда. 9 yum-yum | fhtagn! | | Wednesday, March 28th, 2012 | | 2:58 pm |
Сходил на ещё одно интервью, "многое понял". Убрал из резюме слова software architect. Не надо мне это. Хотя по факту я — инженер, выполняющий обязанности "архитектора". Надо подтянуть теорию по распределённым системам. Теория без практики фигня, конечно. Но по крайней мере не должна возникать необходимость договариваться с экспертами о терминах. Ещё понял, что я — практически гуру EDA, что очень ценно, но не слишком востребовано в эпоху кровавого энтерпрайза. Тем временем начальство в Интеле, кажется, наконец начало шевелиться. Если всё сложится хорошо, и получится наладить правильный "конвейер" для разработки инструментов для ESL, будет, пожалуй, первая настоящая "большая победа". Если всё сложится иначе, то, скорее всего, я либо перейду на другие проекты, для которых соответствующая инфраструктура существует и поддерживается, либо попрощаюсь с Интелом и займусь чем-нибудь более осмысленным. 8 yum-yum | fhtagn! | | Friday, March 23rd, 2012 | | 1:28 pm |
Когда я был молодой и глупый, я думал, что С++ - это язык богов, на котором написана незримая ткань бытия (после прототипирования на Лиспе, но об этом как-нибудь потом). Сейчас я знаю, что этих богов звали Йог-Сотот и Нъярлатотеп. 58 yum-yum | fhtagn! | | Wednesday, March 21st, 2012 | | 11:49 am |
Добрым словом и просинтезированным RTL-ем можно добиться гораздо большего, чем просто добрым словом. fhtagn! | | Tuesday, March 20th, 2012 | | 9:51 pm |
И тут, "так не кстати", очередной job offer, и тоже в организацию, где много хороших знакомых. Ну вот как после этого за что-то бороться, а? 11 yum-yum | fhtagn! | | 12:15 pm |
Всякий раз, когда вижу код на Паскале, испытываю некоторое чувство умиления. Вспоминается "детство золотое", Turbo Pascal 3.0, черно-желтый интегрированный текстовый редактор и всякие "школьные" программулины. Потом, конечно, всё было совсем не так, но осадок, вызывающий ностальгию по тем временам, когда программы были маленькими, а компьютеры - большими, остался. 9 yum-yum | fhtagn! | | Friday, March 16th, 2012 | | 10:14 pm |
Быть иль не быть? Достойно ль прогибаться под ударами судьбы, иль стоит оказать сопротивление? Это и многое другое мы узнаем по результатам второго квартала. fhtagn! | | Thursday, March 15th, 2012 | | 3:14 am |
Что-то не спится совсем. Раздирают меня внутренние противоречия. С одной стороны я чувствую определённый, вполне измеримый и достаточно осязаемый "профит" за той штуковиной, над которой сейчас работаю. Что за штуковина и в чем профит - военная тайна. Придётся поверить на слово. С другой стороны, подзадолбался я, где-то до такой степени, что регулярно хочется "бросить всё к чертовой матери и уехать в Ивановск", пойти строчки из веб-формы в базу данных по-перекладывать. Устал добиваться результатов не благодаря, а "вне" организации. Есть такое чувство, что надо как-то срочно учиться правильно резать осетра в нашем кровавом резёче. Делать что-то уровня "аспирантских поделок" совесть не позволяет, а на "коробочный продукт" ресурсов нет. Где-то должна быть золотая середина... Вот примерно так и рождаются все кривые инструменты, ага. 9 yum-yum | fhtagn! | | Tuesday, March 13th, 2012 | | 10:17 am |
Начальство озадачило. "Даёшь, - говорит, - diversity". Никто не имеет на примете девушку-студентку (курс 3+) или аспирантку, проживающую в СПб (релокация для интерна, как я понимаю, не вариант), учащуюся на около-программистской специальности (программирование, прикладная математика, ...), не боящуюся браться за не-быдлокодерскую работу? И ещё чтобы понимала С++. Реки на интернские ваканскии будут в следующем квартале. 8 yum-yum | fhtagn! |
[ << Previous 20 ]
|