Показаны сообщения с ярлыком программирование. Показать все сообщения
Показаны сообщения с ярлыком программирование. Показать все сообщения
четверг, 13 сентября 2018 г.
Жопа есть, а слова нет
Из Python'а начали выпиливать слова master и slave. По этому поводу уже начинается флейм, а Эрик Реймонд, хотя и сел на своего любимого конька (коммунизм), но вполне определённо и негативно высказался по этому поводу. Мне как-то всё происходящее кажется весьма странным, но найти объяснение я не могу.
вторник, 4 сентября 2018 г.
TechTrain 2018, день второй
С некоторым опозданием, но вот отчёт за второй день (воскресенье):
- Динамическое проектирование: как разрабатывать без перекомпиляции (Дмитрий Нестерук)
- Тема интересная и вечная. В Java-вселенной её более или менее закрыли стараниями ZeroTurnAround, то в .Net, о чём и шла речь, всё гораздо менее оптимистично. Примечательно, что похожую по механике проблему я когда-то решал в C++, с похожими костылями и с похожими же подходами. 4 из 5.
- Обзор отечественных процессоров (Антон Бондарев)
- Как-то не в кассу. Хотелось послушать больше про Embox, RTOSы и всякое такое про "поближе к железу", но не получилось. 3 и 5.
- Зачем нужен ещё один язык программирования? (Роман Елизаров)
- Интересный обзор старых и новых ЯП, классификации и тренды. 5 из 5.
- Может ли беспилотный автомобиль предсказывать намерения (Роман Удовиченко)
- Было скучно. Поскольку разговор пошёл на шаг впереди капитана очевидность и только. В дискуссионной зоне было поживее, но, опять же, непонятно, что мешает рассказывать более предметно? Секреты фирмы? 3 из 5.
- Скрещиваем DP Visitor, Builder, Composite, Decorator и Iterator: пример С++ архитектуры (Антон Семенченко)
- Качественное изложение того, зачем в ООП шаблоны и каково их место в природе. Для студентов самое оно, да. А так - практического интереса немного. 4 их 5.
- Lean ML: рациональный подход к машинному обучению (Андрей Законов)
- Это как раз очень близкая тема, постулируемая максимой "как бы нам из проекта про машинное обучение это самое обучение выбросить". Подкачало скучноватое изложение. Зато всё очень практично, да. 4 из 5.
воскресенье, 2 сентября 2018 г.
TechTrain 2018, день первый
Вот мероприятие. Если честно, то мои ожидания оправдались на 4 из 5 примерно. Что-то, кажется, пошло не так, но я пока не могу обозначить, что именно. То ли моё личное восприятие, то ли оно и правда так и было... Завтра проверим, да.
А мой личный субботний трек был такой:
А мой личный субботний трек был такой:
- CatBoost (Василий Ершов)
- докладчик, кажется, заметно нервничал (на прошлой конференции SmartData выступал аккомпаниатором в дискуссионной зоне, с тех пор, кажется, нигде не засветился, потому могу предположить, что просто опыта выступлений перед широкой аудиторией немного), плюс уровень доклада был заметно занижен. А зря. По мне, 3 балла из 5.
- Разведопрос (Дмитрий Пучков vs Иван Ямщиков)
- Парни жгли напалмом, особенно во второй половине. Первые минут двадцать, кажется, происходила разведка боем, а потом даже времени не хватило. Одним словом, когда встречаются два профессионала, ничего другого ожидать не приходится. Ждём записи, чтобы пересмотреть. 5 из 5.
- Всё, что вы хотели знать об инструментах для Data Science, но боялись спросить (Виталий Худобахшов)
- Возможно, я ошибаюсь, но на SmartData 2017 Виталий выступал от "Одноклассников" (если так, что - жизнь меняется, да). Сначала я подумал, что "это какая-то фигня", не может быть так. После прошлогоднего зажигательного кейноута такая скукотища сейчас: всякая статистика и опрос аудитории про "какие фичи вам бы в IDE для Data Science, мы запишем, дадим приз и, может быть, сделаем"... Однако, поразмыслив, пришёл к выводу, что таки нет, всё гораздо глубже, и теперь даже жалею, что не попросил микрофон. Одним словом, хоть и 4 из 5, но шляпу снимаю, да.
- Как данные превращают в знания и почему уметь мечтать - одно из самых важных умений (Иван Ямщиков)
- Тут, как говорится, комментарии излишни. 5 из 5, как ни крути. Иван удивительным образом умудряется соединять вопросы технические с вопросами философскими в одной теме. Наверное, так и делается наука.
- Искусственный интеллект и цифровая трансформация бизнеса (Дмитрий Сошников)
- До этого никогда не смотрел выступления Дмитрия живьём. Не пожалел. Хороший технарь и хороший технический евангелист (не зря он в Microsoft работает). Искренне удивлюсь, что аудитория после его выступления не пойдёт смотреть, а что же такое Azure ML Stiduo, и что есть Bot API от Microsoft. 5 из 5, хотя - технически - с маленьким минусом.
- Мифы о Spark, или Может ли пользоваться Spark обычный Java-разработчик (Евгений Борисов)
- В каком-то смысле это разочарование для меня, ибо Евгений повторил на 90% своё выступление 2-х летней давности (кажется). И шутки тоже были уже не новые. Впрочем, я, возможно, придираюсь, ибо многое под маркой jug.ru так или иначе я уже смотрел. 3 из 5, хотя и хочется поставить больше.
четверг, 3 мая 2018 г.
Утиная типизация
Я тут искал в архивах переписку с одним сообщником, чтобы невпопад не получилось. Заодно в тех же архивах обнаружил чудесную телегу. Перечитал.
И вот же оно: "И отвечает он просто и понятно: на мне сейчас шузы Гены Психоделика, штаны Гены Психоделика, майка Гены Психоделика и мобила Гены Психоделика. Значит я и есть Гена Психоделик, сомневаться не приходится."
Утиная типизация, она.
PS Однажды, изучая тему подробнее, обнаружил, что кто-то УТ реализовал на Java. В принципе, наверное, в любом ЯП с развитой интроспекцией это сделать разумно можно.
И вот же оно: "И отвечает он просто и понятно: на мне сейчас шузы Гены Психоделика, штаны Гены Психоделика, майка Гены Психоделика и мобила Гены Психоделика. Значит я и есть Гена Психоделик, сомневаться не приходится."
Утиная типизация, она.
PS Однажды, изучая тему подробнее, обнаружил, что кто-то УТ реализовал на Java. В принципе, наверное, в любом ЯП с развитой интроспекцией это сделать разумно можно.
четверг, 5 апреля 2018 г.
Стартуем данные
Первый раз в своей биографии еду в командировку внутри России (странные поездки в 90-х по буровым Западной Сибири не в счёт). Вот сюда. Работодатель (удивительно, но факт) второй раз оплачивает участие в конференциях. Первая была SmartData, в Питере, первый шар в этом направлении от jug.ru, удалась. Посмотрим, что получится у организаторов DataStart, кажется, это не первая попытка.
PS. Кстати, небезынтересно открыть в firefox. Мир веба до сих пор поразительно крив.
PS. Кстати, небезынтересно открыть в firefox. Мир веба до сих пор поразительно крив.
понедельник, 19 марта 2018 г.
понедельник, 12 марта 2018 г.
понедельник, 19 февраля 2018 г.
SmartData 2017
Видео с конференции #smartdata 2017 открыты для всех желающих!— SmartData (@SmartDataCon) 13 февраля 2018 г.
Творческий ИИ, Data Science, свёрточные сети, распознавание образов и математический хардкор – мастхэв для тех, кто может в Big Data.https://t.co/gAa0w3t3qr
Начать хорошо с:
- «Имя это фича» (открывющий кейноут к конференции)
- «От клика к прогнозу и обратно»
- «Глубокие свёрточные сети»
- «Neurona: зачем мы научили нейросеть писать стихи в стиле Курта Кобейна» (закрывающий кейноут к конференции, интересен скорее с философской точки зрения)
пятница, 21 апреля 2017 г.
Хорошая работа, 0x5f3759df!
Какая, однако, прелесть:
Это маленький кусочек кода из Quake III: Arena. А вся история - вот тут, на вики.
float Q_rsqrt( float number ) { long i; float x2, y; const float threehalfs = 1.5F; x2 = number * 0.5F; y = number; i = * ( long * ) &y; // evil floating point bit level hacking i = 0x5f3759df - ( i >> 1 ); // what the fuck? y = * ( float * ) &i; y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration // y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed return y; }
Это маленький кусочек кода из Quake III: Arena. А вся история - вот тут, на вики.
среда, 9 марта 2016 г.
пятница, 26 февраля 2016 г.
JetBrains C++ минус
По итогам JetBrains C++ Night - впечатление от мероприятия осталось странное, что я и вынес в
заголовок.
Собственно, так или иначе C++ в продуктах JetBrains было посвящено только одно выступление - "Виртуозное использование юнит-тестирования в CLion" - да и то опосредованно: был явный перекос в сторону фреймворка от Google (Test и Mock), а сами возможности CLion и та самая виртуозность остались за кадром. Впрочем, было можно заметить, что CLion унаследовал от платформы IDEA достаточно пристойную юзабилити. По крайней мере, в написания юнит-тестов для упомянутого фреймворка и элементов управления проектом (использование только CMake аудиторию несколько обескуражило, но это, в принципе, можно пережить). Предполагаю, что люди, которые работают над CLion, как минимум думают в процессе своей работы. Тут ведь такое дело: если IDEA была написана на самой же IDEA, что сильно улучшало и ускоряло процесс разработки, то вот с CLion ситуация "как у всех", в смысле вряд ли CLion написан на C++ и потому нужны заметные потусторонние усилия, чтобы у команды было концентрированное понимание, а как вообще мы программируем в несферических условиях не в вакууме.
Само же мероприятие началось с "Оптимизация ReSharper C++". Тут вообще всё сложно. Понятно, что в среднем присутствовавшая публика так или иначе заинтересована в том, чтобы писать код на C++
(В качестве отступления. Если и были товарищи, которые только ещё думают в сторону C++ или пока только пытаются делать что-то осмысленное и может даже боевое,то должны после этого вообще перестать так думать, ибо зачем нужен настолько сложный язык программирования, который в свою очередь требует сложных и дорогих инструментов для достижения сравнимой эффективности, скажем, с Java или .Net? Проще сразув управдомы на Java
и вообще уже мозг не морщить никогда.),
но далеко не всем интересны глубинные проблемы ReSharper C++ по работе с кодом на C++ же. По мне со времён Together C++ (а это, на минуточку, лет 10-15 как) мало что изменилось в этом смысле, разве что дельту парни из JetBrains поэффективнее научились пересчитывать,.. но тут задачи у продуктов отличные друг от друга (Together не был классической средой разработки, там можно было сэкономить кое в чём). А вот информации и примеров того, что (возможно) ReSharper C++ делает лучше или по-другому относительно той же Visual Studio категорически не хватило. Зато примеры гаденьких плюсовых фрагментов были хороши. Интересно, как с этим справляется CLion? - ибо докладчик нерешительно упомянул, что у продуктов кодовая база разная.
Вишенкой на торте показался третий и последний по счёту доклад про HPC (high performance computing). Хорош и по форме и по содержанию, так что в итоге вопросов к докладчику можно сказать не возникло вообще. Но и опять, на мой взгляд, несколько мимо ожидаемого по двум причинам. Во-первых, и C++ и JetBrains остались далеко за сценой. Во-вторых, HPC в представленных измерениях это такие вычисления, которые или надо ухитриться выполнить быстрее конкурентов, или очень надо завершить до момента кончины этой вселенной. Не то чтобы я прямо считал это каким-то маргинальным направлением, ноя так считаю
что-то мне подсказывает, что подобными вещами с воодушевлением
занимаются очень и очень немногие. Основное поверье "давайте
мы сейчас поставим Hadoop и кучу серверов и всё станет хорошо" вытравить из народных масс просто так не получится. А более приземлённые HPC... ну, какие-то
практические штуки, как-то: уложить в real time какую-то могучую
цифровую обработку сигналов, добавить в существующую систему
кучу дополнительного функционала не поломав время отклика требуют и размышлений не таких глобальных и инструментов поприземлённее. Можно сидеть и профилировать код, поискав
какие-то способы по-другому разбросать нагрузку по ядрам, подвигать
память между быстрыми и медленныеми банками, купить новую железку (если
клиент платит), где ядер/мегагерц/памяти побольше, или есть железная реализация нужного конвейера (скажем, быстрое
преобразование фурье) или поискать закатившиеся под ковёр полезные интринсики от вендора. Вот
где влияние правильной софтины для разработчика недооценить невозможно. Это я к тому, что в докладе смешались два разных направления за один час времени, и это немного порвало контекст.
Да, и что хочу сказать: так вот, сподвигся на то, чтобы наконец заглянуть в опции C/C++ компилятора для VS - а там есть готовые опции для распараллеливания кода. А я и не думал!
Собственно, так или иначе C++ в продуктах JetBrains было посвящено только одно выступление - "Виртуозное использование юнит-тестирования в CLion" - да и то опосредованно: был явный перекос в сторону фреймворка от Google (Test и Mock), а сами возможности CLion и та самая виртуозность остались за кадром. Впрочем, было можно заметить, что CLion унаследовал от платформы IDEA достаточно пристойную юзабилити. По крайней мере, в написания юнит-тестов для упомянутого фреймворка и элементов управления проектом (использование только CMake аудиторию несколько обескуражило, но это, в принципе, можно пережить). Предполагаю, что люди, которые работают над CLion, как минимум думают в процессе своей работы. Тут ведь такое дело: если IDEA была написана на самой же IDEA, что сильно улучшало и ускоряло процесс разработки, то вот с CLion ситуация "как у всех", в смысле вряд ли CLion написан на C++ и потому нужны заметные потусторонние усилия, чтобы у команды было концентрированное понимание, а как вообще мы программируем в несферических условиях не в вакууме.
Само же мероприятие началось с "Оптимизация ReSharper C++". Тут вообще всё сложно. Понятно, что в среднем присутствовавшая публика так или иначе заинтересована в том, чтобы писать код на C++
(В качестве отступления. Если и были товарищи, которые только ещё думают в сторону C++ или пока только пытаются делать что-то осмысленное и может даже боевое,то должны после этого вообще перестать так думать, ибо зачем нужен настолько сложный язык программирования, который в свою очередь требует сложных и дорогих инструментов для достижения сравнимой эффективности, скажем, с Java или .Net? Проще сразу
но далеко не всем интересны глубинные проблемы ReSharper C++ по работе с кодом на C++ же. По мне со времён Together C++ (а это, на минуточку, лет 10-15 как) мало что изменилось в этом смысле, разве что дельту парни из JetBrains поэффективнее научились пересчитывать,.. но тут задачи у продуктов отличные друг от друга (Together не был классической средой разработки, там можно было сэкономить кое в чём). А вот информации и примеров того, что (возможно) ReSharper C++ делает лучше или по-другому относительно той же Visual Studio категорически не хватило. Зато примеры гаденьких плюсовых фрагментов были хороши. Интересно, как с этим справляется CLion? - ибо докладчик нерешительно упомянул, что у продуктов кодовая база разная.
Вишенкой на торте показался третий и последний по счёту доклад про HPC (high performance computing). Хорош и по форме и по содержанию, так что в итоге вопросов к докладчику можно сказать не возникло вообще. Но и опять, на мой взгляд, несколько мимо ожидаемого по двум причинам. Во-первых, и C++ и JetBrains остались далеко за сценой. Во-вторых, HPC в представленных измерениях это такие вычисления, которые или надо ухитриться выполнить быстрее конкурентов, или очень надо завершить до момента кончины этой вселенной. Не то чтобы я прямо считал это каким-то маргинальным направлением, но
Да, и что хочу сказать: так вот, сподвигся на то, чтобы наконец заглянуть в опции C/C++ компилятора для VS - а там есть готовые опции для распараллеливания кода. А я и не думал!
четверг, 14 января 2016 г.
Забытые алгоритмические упражнения
Вот ссылка: "Умножение по методу русских крестьян".
Не уверен, что собственно крестьянам это было сильно надо (хотя... кто его знает), но вот припоминаю, что когда-то в ЛИАПе мы реализовывали алгоритмы умножения (в коде микропрограмм и напрямую, в железе) похожим способом на всяких лабах-курсовиках. В том числе для странных военных спецвычислителей (были там странные ящички, обладавщие не то 19-ти, не то 23-х разрядным словами для данных). Ставилась задача - умножить:) ...умножали, да.
Не уверен, что собственно крестьянам это было сильно надо (хотя... кто его знает), но вот припоминаю, что когда-то в ЛИАПе мы реализовывали алгоритмы умножения (в коде микропрограмм и напрямую, в железе) похожим способом на всяких лабах-курсовиках. В том числе для странных военных спецвычислителей (были там странные ящички, обладавщие не то 19-ти, не то 23-х разрядным словами для данных). Ставилась задача - умножить:) ...умножали, да.
понедельник, 30 марта 2015 г.
четверг, 26 марта 2015 г.
среда, 25 марта 2015 г.
понедельник, 23 марта 2015 г.
Дочитываю книжку про F#
...и собираюсь приступить уже к Haskell'ю. И посетила меня парадоксальная мысль о том, что императивные языки программирования структурно близки обычным аналитическим языкам (по большей части, западным, таким как английский, немецкий и т.п.), в то время как функциональные ЯП кажутся больше похожими на синтетические (например, славянские языки).
Впрочем, может это я просто гоню :)
Впрочем, может это я просто гоню :)
четверг, 5 марта 2015 г.
Золотые слова
"The temptation to add features to a program must be resisted as strongly as possible. This requires the dedication of a saint" - @joeerl
— About Programming (@abt_programming) March 5, 2015
среда, 18 февраля 2015 г.
понедельник, 16 февраля 2015 г.
Странный андроед
Случайно выяснилось, что Android Studio (а, скорее всего, Android SDK tools) не любит русские буквы (non-ASCII) в пути к местоположению проекта, если это Windows:
Я не поленился проверить, и правда - не любит, проект в Android Studio не собирается. Скорее всего это связано с тем, что в Windows путь к файлу не представлен как UTF-8 строка. Странно, что в Google поленились это проблему обойти. Второй момент: эта проблема намекает на наличие полных путей в конфигурации IDE и проекта, что не может не изумлять.
Я, за достаточно долгое время привыкнув жить в русской локали, сильно удивился этому факту. Но менять расположение каталога с проектами и кодом мне как-то не катило, особенно если учесть, что та же Visual Stidio тоже хранит абсолютные пути в настройках проекта (например, к внешним заголовочным файлам или библиотекам). Перенастраивать проекты совершенно не хочется.
Решение нашлось в самой Windows. Оказывается, администратору доступна в терминале команда mklink, которая умеет создавать и жесткие и символические ссылки. Что примечательно, символическая ссылка в Проводнике выглядит как привычный ярлык .lnk, но таковым не является. cygwin терминал видит эту штуку тоже как символическую ссылку. Собственно, я рядом папкой "Проекты" положил символическую ссылку "Projects" на эту папку. Android Studio осталась довольна, всё собирается.
PS. Что ещё для меня загадка, так это почему, если мне хочется увидеть в windows терминале non-ASCII строки из C++-ного кода (строки из "широких" символов), то надо в самой программе выставить локаль таким образом:
Я, за достаточно долгое время привыкнув жить в русской локали, сильно удивился этому факту. Но менять расположение каталога с проектами и кодом мне как-то не катило, особенно если учесть, что та же Visual Stidio тоже хранит абсолютные пути в настройках проекта (например, к внешним заголовочным файлам или библиотекам). Перенастраивать проекты совершенно не хочется.
Решение нашлось в самой Windows. Оказывается, администратору доступна в терминале команда mklink, которая умеет создавать и жесткие и символические ссылки. Что примечательно, символическая ссылка в Проводнике выглядит как привычный ярлык .lnk, но таковым не является. cygwin терминал видит эту штуку тоже как символическую ссылку. Собственно, я рядом папкой "Проекты" положил символическую ссылку "Projects" на эту папку. Android Studio осталась довольна, всё собирается.
PS. Что ещё для меня загадка, так это почему, если мне хочется увидеть в windows терминале non-ASCII строки из C++-ного кода (строки из "широких" символов), то надо в самой программе выставить локаль таким образом:
std::locale::global(std::locale(""));
четверг, 22 января 2015 г.
За процесс init замолвите слово...
Прекрасный текст на Хабре: Проблема PID 1 zombie reaping в Докере.Помимо междустрочного изложения за Докер в статье описаны подробности про процесс init, которые в явном виде много где отсутствуют. Например, я не помню, чтобы тот же Робачевский уделял этому моменту достаточно внимание в своей книжке (под рукой сейчас нет, не проверить сразу).
Подписаться на:
Сообщения (Atom)
Спутник взлетает. Первая ступень отработала.
И, кажется, неплохо: Посмотрим, что будет когда отработает вторая.
-
Арт-группа «Явь» нарисовала на одной из стен петербургских зданий граффити со Стивеном Хокингом : Неизвестно только где.
-
(я взял отсюда , только английские, без перевода) It’s more fun to be a pirate than to join the navy. [1982] Do you want to spend the re...




