Как стать автором
Обновить
-5
0
Рогин Василий @roginvs

Пользователь

Отправить сообщение

Талант против удачи: роль случайности в успехе и провале

Время на прочтение45 мин
Количество просмотров41K


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

Создание модуля WebAssembly с помощью Emscripten, AssemblyScript и Rust

Уровень сложностиСредний
Время на прочтение57 мин
Количество просмотров6.3K

В этой небольшой заметке предлагается рассмотреть несколько способов компиляции модуля для WebAssembly, используя три разных подхода. Мы реализуем решение одной и той же задачки на трёх языках и скомпилируем полученный код в модуль WebAssembly. Будем использовать:

Emscripten для компиляции кода, написанного на С++

AssemblyScript для компиляции кода, написанного на, собственно, AssemblyScript

wasm-pack для компиляции кода, написанного на Rust

План такой:

Во введении мы обсудим постановку задачи и немножко поговорим о технологии WebAssembly

В программной части мы реализуем функциональность модуля на трёх языках: c++, AssemblyScript и Rust. Поговорим о том, какие при этом возникают сложности и как их можно обойти

Подведём небольшой итог. Станет видно, какая технология хорошая, а какая не очень

В конце планируется два бонуса. Первый бонус - это пример простого web-приложения, использующего один из скомпилированных нами модулей. Второй бонус - демонстрация того, как этот модуль можно использовать в программе на Python.

Читать далее

Проверяем работает ли full-RBF в Bitcoin

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров4.1K

В декабре 2022 года вышло обновление Bitcoin Core 24.0, которое позволяет заменять неподтвержденные транзакции (full-RBF или replace-by-fee). Это может коснуться всех, кто принимает оплату в биткоине по неподтвержденным транзакциям из мемпула: криптоматы, криптообменники, мерчанты и тд.

В статье я описал пошаговую инструкцию: как я разворачивал свою Bitcoin ноду и проверял, действительно ли можно заменить транзакцию.

Читать далее

Принятие решений на основе математики: задача о проблеме секретаря

Время на прочтение7 мин
Количество просмотров15K

Настало время занимательных задач. Представьте, что вы снимаете квартиру в огромном городе. Как свести к минимуму риски при столь значимом выборе, когда вы ничего не знаете о вариантах заранее? На этот вопрос отвечает теория вероятности и задача о проблеме секретаря. Графики, рассуждения, немного кода на Julia — все подробности под катом.
Добро пожаловать!

Как я начал проводить технические собеседования за 30 минут

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров33K

За последние несколько лет я значительно изменил свой подход к проведению технических собеседований. Если когда-то (лет 7 назад) я мог весело и задорно интервьюировать джавистов два часа, то на текущей позиции у меня нет столько времени на каждого кандидата. При наличии 4 открытых позиций и с результативностью 10% (примерно 10% кандидатов проходят собеседование и готовы принять оффер), получается, что мне нужно провести порядка 40 собеседований. Если тратить хотя бы по часу на собеседование, то это дополнительные 40 рабочих часов, которые где-то надо найти. Плюс накинуть 10 минут на переключение между задачами, получается ещё 400 минут (~6.5 часов).

Поэтому я задумался над вопросом повышения эффективности собеседований.

Для себя я сформулировал это следующим образом: как организовать собеседования, чтобы принимать решение о найме в течение 30 минут.

Читать далее как там быстро собеседовать

«Почему я не могу нормально зарабатывать?» 5 особенностей мышления, которые мешают это делать

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров101K

Думаю, как и я, очень многие задавались вопросом: «Почему несмотря на хорошее образование, любознательность, способности и трудолюбие, они зарабатывают меньше, чем им хочется. Где баг, который мешает зарабатывать больше?»

Читать далее

Увеличь это! Современное увеличение разрешения в 2023

Уровень сложностиСредний
Время на прочтение26 мин
Количество просмотров27K

Почти 4 года назад вашим покорным слугой была опубликована статья Увеличь это! Современное увеличение разрешения, которая набрала +376 хабролайков и 176 тысяч просмотров. Но прогресс на месте не стоит! Новые нейросетевые методы жгут! Их результаты прекрасны и великолепны. 1,5 года назад на хабре была неплохая статья Апскейл, который смог (+160), в которой были показаны плюсы новых алгоритмов.

Но всегда ли все прекрасно? Конечно нет! 

Мой любимый пример фантастических способностей нейросетевых алгоритмов выше. В шарике отражается наша лаборатория. Бюст Зевса был взят в датасет, чтобы оценить работу нейросетей с полутенями, но результат «обработки полутеней» сильно превзошел ожидания. Во-первых, мудрые голубые глаза и покрасневшие губы! Во-вторых, Зевс теперь причесан! В-третьих, его борода стала короче и тоже аккуратно подстрижена! Наконец, Зевс теперь выглядит ощутимо моложе и… человечнее! О, жители Олимпа, согласитесь, это просто божественно! 

Почему нам таки есть что сказать по теме? За последние годы мы создали 3 бенчмарка Video Super-Resolution под разные кейсы использования, которые на данный момент занимают первые 3 (из 14) места в соответствующем разделе на сайте paperswithcode.com.

Подобная деятельность безмерно актуальна, поскольку если 4 года назад на GitHub было меньше 200 репозиториев Super-Resolution, то сейчас их там больше 900 и разобраться в этом море исходников стало совсем непросто.

Естественно, при создании бенчмарков у нас было много чудных примеров. Более того, сейчас мы целенаправленно создаем датасет артефактов нейросетевых алгоритмов апскейла.

Кому интересно посмотреть, какие забавные косяки бывают у новых алгоритмов, а также как выглядят наилучшие результаты, которые даже меня, занимающегося темой 14+ лет, удивляют — добро пожаловать под кат!

Много прекрасных картинок Super-Resolution

Введение в диффузионные модели для генерации изображений – полное руководство

Время на прочтение22 мин
Количество просмотров38K

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

Читать далее

Нетоксичное лицемерие

Время на прочтение8 мин
Количество просмотров86K
Программистам сызмальства внушают важность технических навыков, забывая научить тактично общаться с окружающими. Наша конкурентная среда богата вызовами и достижениями. Это рождает комплексы равно как и высокомерие. Неудивительно, что в IT остро стоит проблема токсичности.

Я немного утомлен частотой ее появления в жизни. Трудно выразить мнение так, чтобы не вляпаться в очередную попытку выяснить, было ли грубым сказанное.
Читать дальше →

Как решать конфликты с уважением к себе и оппонентам? Гайд по ненасильственному общению

Время на прочтение6 мин
Количество просмотров25K

Хотелось бы, чтобы в рабочей коммуникации все понимали друг друга с полуслова, не совершали ошибок и дарили окружающим исключительно положительные эмоции — но это что-то на сказочном. Какими бы классными ни были ваши корпоративные отношения, конфликты и сбои в диалоге будут случаться. О том, как общаться и вести себя в непростых ситуациях, рассказываем под катом.
Читать дальше →

Задача коммивояжера (TSP) точное решение — метод целочисленного линейного программирования (Integer programming)

Время на прочтение20 мин
Количество просмотров24K

Дочитав эту статью до конца, вы сможете решать точно задачу коммивояжёра на сотню элементов за считанные секунды!

Заинтригованы? Тогда, добро пожаловать под кат.

Читать далее

Осторожно: осознанный

Время на прочтение4 мин
Количество просмотров52K

Если вы читаете этот текст, значит он не про вас. По крайней мере – пока. Я искренне за вас рад. А за ребят из провинции, к коим и сам отношусь, уже немного переживаю.

Наши местные руководители и HR тоже решают проблему дефицита и оттока программистов. Со свойственной провинциальным людям смекалкой.

Читать далее

Происхождение и эволюция аллокатора памяти в С

Время на прочтение11 мин
Количество просмотров24K

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

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

Читать далее

Как оптимизировать работу Stable Diffusion при помощи текстовой инверсии

Время на прочтение7 мин
Количество просмотров10K
Изображение, сгенерированное AI по промпту «photograph of a robot drawing in the wild, nature, jungle» («фотография робота, рисующего в природе, джунглях»)

22 августа 2022 года Stability.AI объявила о публичном релизе Stable Diffusion — мощной диффузионной модели text-to-image. Модель способна генерировать различные варианты изображений на основании текстового или графического ввода.

Стоит заметить, что «модель выпущена под лицензией Creative ML OpenRAIL-M. Лицензия допускает коммерческое и некоммерческое использование. Ответственность за этическое использование модели лежит на разработчиках. Это относится и к производным от неё моделям».

В этой статье я расскажу, как точно настраивать эмбеддинги для создания персонализированных изображений на основании произвольных стилей или объектов. Вместо переучивания модели мы можем представить собственный стиль в виде новых слов в пространстве эмбеддингов модели. В результате этого новое слово будет руководить созданием новых изображений интуитивно понятным образом.
Читать дальше →

Нестандартный полиморфизм. Паттерн Type Erasure

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров12K

Нестандартный полиморфизм. Паттерн Type Erasure.

Посмотрим на проблему, решим ее обычным полиморфизмом и пройдем небольшими шагами к более элегантному решению с помощью современного паттерна.

Читать далее

10 задач для девопса, когда уже нечем заняться

Время на прочтение5 мин
Количество просмотров16K

Хорошо, когда у DevOps заканчиваются задачи. Это значит, что все крупные преобразования уже позади. Однако это легко может превратиться в пугающую проблему, способную привести к деградированию навыков и выгоранию. Ради душевного спокойствия себя и своих коллег прочитайте эту статью, если вы чувствуете себя потерянным, не знаете, что делать и как оставаться проактивным.

В идеале работа DevOps должна замедляться. Вся автоматизация работает отлично, CI/CD функционирует настолько хорошо, что вы уже забыли, когда в последний раз приходилось вмешиваться после развёртывания. Кажется, что инфраструктура и процессы достигли идеального состояния, когда осталось лишь несколько мелких улучшений, которые могут и не стоить приложенных усилий.

Это настоящая мечта — не делать ничего, в то время как ваша инфраструктура функционирует подобно хорошо смазанному механизму. Однако в реальности, если вы долго ничего не делаете в роли инженера DevOps, ваши навыки и знания начинают теряться.
Читать дальше →

Выгорание разработчиков

Время на прочтение6 мин
Количество просмотров8.5K

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

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

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

Читать далее

Поздравляю, у нас в команде человек «Всё — г… но»

Время на прочтение7 мин
Количество просмотров95K

Это была самая первая встреча с командой заказчика на проекте, которым я руководил. Мы должны были провести модернизацию инфраструктуры в крупном банке. Один из участников встречи, назовем его Миша, возглавлявший у заказчика поддержку крупной ИТ-системы, начал набрасывать. Сначала проблемы с предыдущего проекта. Потом Мишу понесло, и досталось прошлой команде («криворукие умники»), архитекторам как таковым («да что эти дебилы понимают в том, что проектируют»). Его ворчание перебросилось на «тупые процессы» и «отстойный менеджмент». Это не было энергичное возмущение, скорее монотонное гудение, что «всё не так». Так я понял, что у нас в команде человек «Всё — г..но». А дальше предстояло разобраться с тем, как нейтрализовать Мишу, чтобы он не портил атмосферу в команде. Или даже обратить его суперсилу на пользу делу.

Вот как это было

3D для каждого. Риггинг и анимация

Время на прочтение16 мин
Количество просмотров19K


Для не посвящённых, меня зовут Хигерович Людмила. Я биотехнолог по профессии, а по хобби художник и 3D-моделлер со стажем. Многие приёмы в 3D мне в свое время приходилось осваивать самой, а кое-чему даже учить других. 
Читать дальше →

Эксплойтинг браузера Chrome, часть 1: введение в V8 и внутреннее устройство JavaScript

Время на прочтение29 мин
Количество просмотров24K


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

Работая дверями в Интернет, браузеры в то же время создают существенные угрозы целостности персональных вычислительных устройств. Почти ежедневно мы слышим новости наподобие "баг Google Chrome активно используется как Zero-Day" или "Google подтвердила четвёртый эксплойт Zero-Day Chrome за 2022 год". На самом деле, эксплойты браузеров не представляют собой ничего нового, их находят уже долгие годы, начиная с первого эксплойта для удалённого исполнения кода, задокументированного как CVE-1999-0280. Первым потенциально публичным раскрытием браузерного эксплойта, используемого в реальных условиях, стал эксплойт Aurora браузера Internet Explorer, который атаковал Google в декабре 2010 года.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Великий Новгород (Новгород), Новгородская обл., Россия
Дата рождения
Зарегистрирован
Активность