Это Урс Хёльцле (Urs Hölzle), человек, который стоит за многими революционными технологиями.
Урс, обладатель степени магистра информатики Калифорнийского университета и доктора наук Стенфорда, известен как один из первых и ключевых сотрудников Google. Он прославился созданием высокопроизводительной виртуальной машины HotSpot и разработкой распределенной архитектуры для датацентров.
Но история Урса этим не ограничивается. В свое время он помог Дэвиду Грисволду создать более эффективную строго-типизированную версию языка Smalltalk, получившую впоследствии название Strongtalk. Вместе с Ларсом Баком они потратят два года на разработку, создав самую быструю реализацию языка. Однако их проект останется незамеченным в тени растущей популярности Java в двухтысячных...
Не смотря на это, через пару лет Ларс будет проектировать новый необязательно-типизированный язык на основе классов - Dart. Именно влияние {Small, Strong}talk подарит нам каскадный оператор и миксины, без которых трудно сейчас представить использование языка.
Мораль истории: Иногда великие вещи начинаются с незаметных начинаний. Даже если ваши идеи не сразу станут популярными, они могут в итоге изменить мир☺️
Урс, обладатель степени магистра информатики Калифорнийского университета и доктора наук Стенфорда, известен как один из первых и ключевых сотрудников Google. Он прославился созданием высокопроизводительной виртуальной машины HotSpot и разработкой распределенной архитектуры для датацентров.
Но история Урса этим не ограничивается. В свое время он помог Дэвиду Грисволду создать более эффективную строго-типизированную версию языка Smalltalk, получившую впоследствии название Strongtalk. Вместе с Ларсом Баком они потратят два года на разработку, создав самую быструю реализацию языка. Однако их проект останется незамеченным в тени растущей популярности Java в двухтысячных...
Не смотря на это, через пару лет Ларс будет проектировать новый необязательно-типизированный язык на основе классов - Dart. Именно влияние {Small, Strong}talk подарит нам каскадный оператор и миксины, без которых трудно сейчас представить использование языка.
Мораль истории: Иногда великие вещи начинаются с незаметных начинаний. Даже если ваши идеи не сразу станут популярными, они могут в итоге изменить мир
Please open Telegram to view this post
VIEW IN TELEGRAM
Кстати у Урса есть много публикаций на тему построения расширяемых и энергоэффективных датацентров (ибо он всё таки вице-президент технической инфраструктуры 🙂 ), вот они.
Однако я дошёл к нему через коллективную работу 1991 года, «Optimizing Dynamically-Typed Object-Oriented Languages WithPolymorphic Inline Caches».
В то время он занимался языком Self, который тоже строился на динамических типах и JIT компиляции, часть из которых Грисвольд и возьмёт за идею для оптимизации Smalltalk.
Однако я дошёл к нему через коллективную работу 1991 года, «Optimizing Dynamically-Typed Object-Oriented Languages WithPolymorphic Inline Caches».
В то время он занимался языком Self, который тоже строился на динамических типах и JIT компиляции, часть из которых Грисвольд и возьмёт за идею для оптимизации Smalltalk.
Please open Telegram to view this post
VIEW IN TELEGRAM
Яндекс выпустил в open-source свой DI фраемворк - yx_scope. И поскольку он теперь открыт для каждого, у меня есть чем с вами поделиться. 😎 ))
Первую версию этой библиотеки я видел на закрытом показе ещё в 2023. Тогда задача стояла так – решение зависимостей в суперапп приложении, в котором существует N количество фичей для M количества ролей, где N * M выходило в ну очень большую циферку. Такое количество фичей не позволяло инициализировать их все для каждого пользователя, поскольку ресурсы устройства сильно тратились. Было принято решение делить ответственность по скоупам (фич-зонам зависимостей, отсюда и название библиотеки) и инициализировать их по мере использования. И на моменте ресерча стало понятно, что достойных решений для такого подхода просто *нет* (почему так - можете найти тут или спросить в комментариях, отвечу).
Тогда появилась идея создать DI-фраемворк, который будет вдохновлён подходу riverpod, который в то время активно использовали, инициализировать зависимости по мере использования, не будет иметь сторонних зависимостей (чистый дарт, для лёгкой интеграции в проект и избежания Dependency Hell), НО не делая его статичным, на глобальных переменных, словарях, и так далее. Должно было быть чёткое разделение ответственности за ЖЦ зависимостей, где сохранялась строгая типизация, а большинство ошибок можно было бы ожидать в compile-time.
И, ура! Библиотечка вышла и протестирована, получила набор тестов и свои правила линтера. Первую версию вы можете найти здесь (а к 1.0.1 ваш покорный слуга даже немного приложил руку помощи), пробуйте!🤩
Но учтите, порог входа у этого инструмента достаточно большой. Он как острый хирургический скальпель, может быть полезен только в руках профессионала, и нанести много проблем при неправильном использовании. Не будьте глупыми, и почитайте сначала эту статью на хабре от Серёги Кольцова для ознакомления.
Первую версию этой библиотеки я видел на закрытом показе ещё в 2023. Тогда задача стояла так – решение зависимостей в суперапп приложении, в котором существует N количество фичей для M количества ролей, где N * M выходило в ну очень большую циферку. Такое количество фичей не позволяло инициализировать их все для каждого пользователя, поскольку ресурсы устройства сильно тратились. Было принято решение делить ответственность по скоупам (фич-зонам зависимостей, отсюда и название библиотеки) и инициализировать их по мере использования. И на моменте ресерча стало понятно, что достойных решений для такого подхода просто *нет* (почему так - можете найти тут или спросить в комментариях, отвечу).
Тогда появилась идея создать DI-фраемворк, который будет вдохновлён подходу riverpod, который в то время активно использовали, инициализировать зависимости по мере использования, не будет иметь сторонних зависимостей (чистый дарт, для лёгкой интеграции в проект и избежания Dependency Hell), НО не делая его статичным, на глобальных переменных, словарях, и так далее. Должно было быть чёткое разделение ответственности за ЖЦ зависимостей, где сохранялась строгая типизация, а большинство ошибок можно было бы ожидать в compile-time.
И, ура! Библиотечка вышла и протестирована, получила набор тестов и свои правила линтера. Первую версию вы можете найти здесь (а к 1.0.1 ваш покорный слуга даже немного приложил руку помощи), пробуйте!
Но учтите, порог входа у этого инструмента достаточно большой. Он как острый хирургический скальпель, может быть полезен только в руках профессионала, и нанести много проблем при неправильном использовании. Не будьте глупыми, и почитайте сначала эту статью на хабре от Серёги Кольцова для ознакомления.
Please open Telegram to view this post
VIEW IN TELEGRAM
Как бы я не пытался не превращать свой же канал в армейский дневник, но мне нечего больше постить. Ничего не происходит интересного. Вообще. Я ощущаю каждый день здесь как серый кусок пластилина, из которого ни один ребёнок не захочет лепить фигурки. Жизнь человека активного, насыщенного желанием общаться и познавать людей (и новое!!) замкнулась поневоле. Удивительное чувство безисходности.
Ладно, о позитивном. У меня есть немного свободного времени этим вечером. Как вам идея позадавать мне вопросы?
Ладно, о позитивном. У меня есть немного свободного времени этим вечером. Как вам идея позадавать мне вопросы?
Вопрос знающим людям: 105 задач это много или мало?
Казалось бы, тратя на одну задачку около минут 15, это уже огромный бекграунд.
С другой стороны – смотришь на график и думаешь, что и не сдвинулся толком.👍
Разумеется это не отображает мой уровень алгоритмов (как и ничего, собственно, не отображает, хватит меряться циферками), я скорее хочу сделать себе красивый профиль, чтобы прикреплять его к резюмешке. А за это надо попотеть 🥺
Казалось бы, тратя на одну задачку около минут 15, это уже огромный бекграунд.
С другой стороны – смотришь на график и думаешь, что и не сдвинулся толком.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Microbenchmarks are experiments
- (с) Slava Egorov
https://mrale.ph/blog/2024/11/27/microbenchmarks-are-experiments.html
- (с) Slava Egorov
https://mrale.ph/blog/2024/11/27/microbenchmarks-are-experiments.html
Последнее, я начинал читать эту книгу не будучи нулём в алгоритмах)
Я уже занимался ими с Тренировок по алгоритмам 2.0 от Яндекса, уже прорешивал Leetcode, читал Алгоритмику (огромный респект Сергею Слотину за его работы). В колледже на парах по алгоритмам и структурам данных мне было скучно, и я пытался себя развлечь пописывая реализацию ориентированного графа на плюсах (btw не лучший мой код).
Я взял книгу для того, чтобы понять логику решения в сложных мне областях, а именно:
- манипуляции с битами (от "найдите следующее число с таким же количеством единиц" до "сложите два числа не используя оператор сложения");
- «Почему сортировка в начале алгоритма это не всегда плохо?» или «O(n*log(n)) – ещё не приговор»;
- Динамическое программирование с кешированием в многомерных массивах.
Книгу считаю полезной, особенно для тех, кто свой путь только начинает. Пожалуй оценю её на 8 из 10.
Важная составляющая в ней – активно практиковаться в темах, которые вы изучили, чем я и буду заниматься в последующие дни.
Я уже занимался ими с Тренировок по алгоритмам 2.0 от Яндекса, уже прорешивал Leetcode, читал Алгоритмику (огромный респект Сергею Слотину за его работы). В колледже на парах по алгоритмам и структурам данных мне было скучно, и я пытался себя развлечь пописывая реализацию ориентированного графа на плюсах (btw не лучший мой код).
Я взял книгу для того, чтобы понять логику решения в сложных мне областях, а именно:
- манипуляции с битами (от "найдите следующее число с таким же количеством единиц" до "сложите два числа не используя оператор сложения");
- «Почему сортировка в начале алгоритма это не всегда плохо?» или «O(n*log(n)) – ещё не приговор»;
- Динамическое программирование с кешированием в многомерных массивах.
Книгу считаю полезной, особенно для тех, кто свой путь только начинает. Пожалуй оценю её на 8 из 10.
Важная составляющая в ней – активно практиковаться в темах, которые вы изучили, чем я и буду заниматься в последующие дни.
YouTube
Тренировки по алгоритмам от Яндекса 2:0
Share your videos with friends, family, and the world
В свободное время стараюсь изучать публичные работы про компиляции, сборки промежуточного представления языка, оптимизации над ними и так далее. Накопилось на подборочку.
🥺 Уже многоизвестная документация про виртуальную машину Dart от Вячеслава Егорова (на которую я ссылался в статье).
(Оно же – зеркало официальной документации языка)
❤️ Write your Own Virtual Machine (Justin Meiners и Ryan Pendleton, 2022)
🐱 Заметки о суперкомпиляции (записи Сергея Романенко и Ильи Ключникова, 2009-2011)
Так же из последнего мне дошла книжка Константина Владимирова – «Оптимизирующие компиляторы. Структура и алгоритмы». Ибо у меня пропала возможность слушать лекции...📕
(Оно же – зеркало официальной документации языка)
Так же из последнего мне дошла книжка Константина Владимирова – «Оптимизирующие компиляторы. Структура и алгоритмы». Ибо у меня пропала возможность слушать лекции...
Please open Telegram to view this post
VIEW IN TELEGRAM
Удивительный год. Я бы сказал, что он самый морально тяжелый для меня за все 20 лет. И это не "взросление" или стачка с взрослым миром. Скорее лишь череда жизненных ситуаций и неприятных решений, которые загоняют тебя в состояние, где "даже лучика солнца не видно", когда речь не о небе.
Но идущий дорогу осилит, и, мать вашу, ура, он закончился. Можно сказать внутренняя победа. Я был счастлив встречать его под мартовскую погоду в середине января. Но надо поднять его ретроспективу, понять, что и почему произошло. Ну и любимое бизнес коучей *"сделать вы-во-ды"*)
Первая половина года – поиск и потерянность.
С профессиональной точки зрения – я начинаю искатьнаркотик потяжелее и круче обычной мобильной разработки и ввожу себя в мир строения языков программирования. Этот мир тяжёл, сложен, но тем и удивителен. Я горд собой, что смог собрать грамотно мысли и выпустить статью о строении базовых типов в Dart, но даже её я упрощал, чтоб порог оставался незначительным. Мне нравится заниматься этим, поэтому продолжу изучать и делиться с вами находками.
С личной точки зрения – переформатирование взгляда на людей. Когда новостные ленты превратились в серую массу (в том числе либо тупую, либо милитализированную), мне стало интересно общаться и цепляться за истории личностей людей вокруг себя, поэтому теперь (спасибо телеграмму) в моей ленте подписок теперь преобладают личные каналы. С одной стороны это некая возможность зажигать других на более крутые действия, с другой восхищаться и мотивироваться самому. Удобное.
Начал делать акцент на книги, причём исключительно технические (Я не люблю художественную литературу, возможно поэтому я слаб духовно?). Старался уделять больше внимания на путешествия, прогулки, выходы на мероприятия. В целом было ощутимо, что я перегрузил себя работой и учёбой, поэтому такие шаги считаю правильными.
Ну и закончил колледж с красным дипломом. Горд за это, но не кичусь. Всё равно большинство моих навыков и знаний – результат самообразования.
Но идущий дорогу осилит, и, мать вашу, ура, он закончился. Можно сказать внутренняя победа. Я был счастлив встречать его под мартовскую погоду в середине января. Но надо поднять его ретроспективу, понять, что и почему произошло. Ну и любимое бизнес коучей *"сделать вы-во-ды"*)
Первая половина года – поиск и потерянность.
С профессиональной точки зрения – я начинаю искать
С личной точки зрения – переформатирование взгляда на людей. Когда новостные ленты превратились в серую массу (в том числе либо тупую, либо милитализированную), мне стало интересно общаться и цепляться за истории личностей людей вокруг себя, поэтому теперь (спасибо телеграмму) в моей ленте подписок теперь преобладают личные каналы. С одной стороны это некая возможность зажигать других на более крутые действия, с другой восхищаться и мотивироваться самому. Удобное.
Начал делать акцент на книги, причём исключительно технические (Я не люблю художественную литературу, возможно поэтому я слаб духовно?). Старался уделять больше внимания на путешествия, прогулки, выходы на мероприятия. В целом было ощутимо, что я перегрузил себя работой и учёбой, поэтому такие шаги считаю правильными.
Ну и закончил колледж с красным дипломом. Горд за это, но не кичусь. Всё равно большинство моих навыков и знаний – результат самообразования.
Вторая половина года – апатия.
Я не хочу вас пугать, но вот мой главный вывод за 185 дней вне дома – люди не знают, что из себя представляет срочная служба во время боевых действий. Как и что в целом представляет из себя армия. У многих в головах проигрывается картинка отечественных патриотичных фильмов, модель защитника мира (исключительно в добрых помыслах) и "армия сделает из тебя мужчину".. и это очень далеко от истины.
Очень много стресса, шантажа, безморальных поступков, поломанных жизненных судеб, обесценивание солдатской жизни, в каком-то плане даже обесценивание смерти. Я глупец-пацифист, который оказался к вольеру войны очень близко. А ведь она кусается и кусается больно.
Было много зрелищ не из приятных, и порой делиться этим (с кем-то с гражданки) свеч игра не стоит. Мы привыкли здесь, что живём в более жестком мире, чем вы, поэтому такие трудности пережить легче. Сначала ты в шоке, потом постепенно привыкаешь к этому всему, а затем ужасаешься от того, как опустели твои моральные переживания. Где-то внутри себя я всё ещё не хочу принимать, что нахожусь здесь.
Огромный респект друзьям, которые смогли мне доказать, что я не смогу провести этот год продуктивно, как бы я не пытался. Я до последнего не мог принять это, пытался заводить сюда книжки, так же усердно кодить, успевать за последними обновлениями. В результате только больше изматывал себя неоправданными ожиданиями.
Хочу напиться, как выйду. Это путь к глупому саморазрушению, я знаю), но я не смогу передать словами это ощущение, когда тебе хочется отдохнуть и забыться. Тем более половина пройдена, дни можно считать в обратном порядке. Кажется осталась простая часть, надо просто не давать своим размышлениям затопить себя и плыть по течению.
Главный мой посыл такой же, как и в самый первый мой пост об этом – берегите родных и старайтесь их держать подальше от соприкосновения с военным миром.
Я не хочу вас пугать, но вот мой главный вывод за 185 дней вне дома – люди не знают, что из себя представляет срочная служба во время боевых действий. Как и что в целом представляет из себя армия. У многих в головах проигрывается картинка отечественных патриотичных фильмов, модель защитника мира (исключительно в добрых помыслах) и "армия сделает из тебя мужчину".. и это очень далеко от истины.
Очень много стресса, шантажа, безморальных поступков, поломанных жизненных судеб, обесценивание солдатской жизни, в каком-то плане даже обесценивание смерти. Я глупец-пацифист, который оказался к вольеру войны очень близко. А ведь она кусается и кусается больно.
Было много зрелищ не из приятных, и порой делиться этим (с кем-то с гражданки) свеч игра не стоит. Мы привыкли здесь, что живём в более жестком мире, чем вы, поэтому такие трудности пережить легче. Сначала ты в шоке, потом постепенно привыкаешь к этому всему, а затем ужасаешься от того, как опустели твои моральные переживания. Где-то внутри себя я всё ещё не хочу принимать, что нахожусь здесь.
Огромный респект друзьям, которые смогли мне доказать, что я не смогу провести этот год продуктивно, как бы я не пытался. Я до последнего не мог принять это, пытался заводить сюда книжки, так же усердно кодить, успевать за последними обновлениями. В результате только больше изматывал себя неоправданными ожиданиями.
Хочу напиться, как выйду. Это путь к глупому саморазрушению, я знаю), но я не смогу передать словами это ощущение, когда тебе хочется отдохнуть и забыться. Тем более половина пройдена, дни можно считать в обратном порядке. Кажется осталась простая часть, надо просто не давать своим размышлениям затопить себя и плыть по течению.
Главный мой посыл такой же, как и в самый первый мой пост об этом – берегите родных и старайтесь их держать подальше от соприкосновения с военным миром.
Как и куда двигаемся дальше?
Основное, вокруг чего буду дальше "крутиться" – компиляторы, оптимизаторы, создание языков программирования и так далее. Хочу дочитать начатые книги, а так же в качестве упражнения сделать небольшой язык без сборки мусора, исключительно для тренировки оптимизаций инлайнинга, свёртки циклов и так далее.
Хочу понять процесс оптимизаций кода у Dart, в частности FlowGraphCompiler, сделать об этом статью или выступление (причём что-то подобное я уже видел), мол как происходят оптимизации с вашим кодом. Этакая задача со звёздочкой. Посмотрим, получится ли её воплотить.
Вернуться на работу к своим старым давним коллегам бигтеха. Этот шаг требует большой подготовки, так что я пока не буду распространяться о нём. Мне будет легче готовиться без внимания общественности.
Есть много размышлений по поводу вышки, по возможности зарубежной. Мне не хочется заниматься последующие 4 года исключительно ради *книжечки*, хочу провести следующие пару лет с пользой.
К ЕГЭ и трате ещё одного года жизни для соревнования с олимпиадниками ради бюджетных мест я морально не готов. В целом, изучая требования ВУЗов, складывается впечатление, что в системе не продумано повышение своей квалификации на уровень высшего образования, если ты уже выходец среднего. Некоторые заведения закрывают это своими возможностями, предлагая сокращенную программу и краткий курс вступительных испытаний, а некоторые обесценивают тебя до уровня обычного выходца 11 класса и требуют проходить по общей программе. Почему это не однообразно? Почему не утверждено выше?
А ресерч среди зарубежных возможностей я оставил до весны, так как уж слишком много всего у нас меняется из-за геополитики.
А, ну и разумеется взять пульт из фильма "Клик: с пультом по жизни" (2006) и перемотать на полгодика было бы неплохо, конечно))👍
Основное, вокруг чего буду дальше "крутиться" – компиляторы, оптимизаторы, создание языков программирования и так далее. Хочу дочитать начатые книги, а так же в качестве упражнения сделать небольшой язык без сборки мусора, исключительно для тренировки оптимизаций инлайнинга, свёртки циклов и так далее.
Хочу понять процесс оптимизаций кода у Dart, в частности FlowGraphCompiler, сделать об этом статью или выступление (причём что-то подобное я уже видел), мол как происходят оптимизации с вашим кодом. Этакая задача со звёздочкой. Посмотрим, получится ли её воплотить.
Вернуться на работу к своим старым давним коллегам бигтеха. Этот шаг требует большой подготовки, так что я пока не буду распространяться о нём. Мне будет легче готовиться без внимания общественности.
Есть много размышлений по поводу вышки, по возможности зарубежной. Мне не хочется заниматься последующие 4 года исключительно ради *книжечки*, хочу провести следующие пару лет с пользой.
К ЕГЭ и трате ещё одного года жизни для соревнования с олимпиадниками ради бюджетных мест я морально не готов. В целом, изучая требования ВУЗов, складывается впечатление, что в системе не продумано повышение своей квалификации на уровень высшего образования, если ты уже выходец среднего. Некоторые заведения закрывают это своими возможностями, предлагая сокращенную программу и краткий курс вступительных испытаний, а некоторые обесценивают тебя до уровня обычного выходца 11 класса и требуют проходить по общей программе. Почему это не однообразно? Почему не утверждено выше?
А ресерч среди зарубежных возможностей я оставил до весны, так как уж слишком много всего у нас меняется из-за геополитики.
А, ну и разумеется взять пульт из фильма "Клик: с пультом по жизни" (2006) и перемотать на полгодика было бы неплохо, конечно))
Please open Telegram to view this post
VIEW IN TELEGRAM
Igor Molchanov
Друг прислал фотку зимы. Как же я хочу там оказаться.. Среди храма бетонных высоток, ледяных дорог и чистого неба. Всех с наступившим! Счастья и добра вам. Лично я встретил свой новый год в наряде. Есть много, что сказать, но как только, так сразу
И я оказался. Хоть на денёк. Среди пустого мира, бездыханного общества,
В рыжей куртке, что греет на вид
И спасает людей от судьбы, пока та не устойчива.
Настанет момент, я вернусь навсегда
В мир, где любовь это творчество,
А пока мой стиль это кепка и музыка
Ведь жду, пока всё не закончится
В рыжей куртке, что греет на вид
И спасает людей от судьбы, пока та не устойчива.
Настанет момент, я вернусь навсегда
В мир, где любовь это творчество,
А пока мой стиль это кепка и музыка
Ведь жду, пока всё не закончится