Обнаружил шоурум keychron в 5 минутах от своего дома. Божественные клавы с bluetooth и hotswap свитчами. На фото процесс замены дефолтных gateron pro brown на durock silent t1 shrimp 67g.
Архив метки: выходные
thread-safe lock-free shared_ptr — приключение на полгода
Есть такой смешной вопрос «Is shared_ptr thread-safe?». Обычно либо человек сразу понимает о чем речь, либо ответа понять сходу невозможно.
Проблема достаточно простая — shared_ptr нельзя модифицировать и читать из нескольких потоков одновременно. Контрольный блок дает thread-safe гарантии, тогда как сам shared_ptr — нет. Копирование shared_ptr состоит из трех операций:
— Скопировать указатель на объект
— Скопировать указатель на контрольный блок
— В контрольном блоке атомарно поднять refcount
Если во время чтения shared_ptr какие-то из этих полей будут обновлены, то мы можем поднять refcount не у того объекта, либо попытаться получить доступ к уничтоженному контрольному блоку. То что нельзя уничтожать объект shared_ptr во время его копирования достаточно очевидно, но то что его нельзя обновлять (за исключением манипуляций на refcount) — уже не так очевидно.
Замена кулеров на thinkpad p50
Сломался у меня значит правый кулер. Года полтора он умирал, умирал, и к новому году он так и не умер. Проблема в том что FullHd ноут у меня проигрывает не включая кулеры, а 720p60fps уже нет. А правый кулер трещит, и умирать отказывается. Днем вроде бы и не слышно, а вот ночью вполне слышно.
Для замены кулера надо было лезть очень глубоко, поэтому я тянул и тянул. Но в конце концов решил, что заодно поменяю верхний пластик на ноуте, который немного постарел (он же называется palmrest). Кулеры пришлось брать в комплекте за 3000р, palmrest обошелся в 1500р. 30 декабря я торжественно сел пересобирать свой ноут. Я ничего не боялся, а стоило бы. Но у меня же была полная инструкция: https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-p-series-laptops/thinkpad-p50/parts/pd101159.
Мировой рекорд по спидрану uplink в категории ARC storyline
На прошлых выходных было отвратительное настроение, поэтому я решил поставить какой-нибудь мировой рекорд, чтобы его немного улучшить. Естественно, тратить по 100+ (1000+) часов в игре — это не очень, поэтому я выбрал uplink, где кто-то создал удачную для меня категорию, в которой до меня не было ранов. Теперь есть)) https://www.speedrun.com/uplink
Самое сложное было настроить линукс на снятие видео с рабочего стола. В процессе я понял, что спидранить в fullscreen режиме не получится. Пришлось уменьшать разрешение с FullHD до 1366×768, а сам uplink запускать в 1280×720 в оконном режиме. Также убрал vsync в kwin, и кое-как настроил таймер, чтобы мой speedrun выглядел как speedrun, а не как walkthrough. На прохождение ушло, как ни странно, больше 6 часов (по версии steam), потому что последнюю миссию мне удалось пройти всего лишь второй раз в жизни, она достаточно сложная.
По-хорошему, конечно, надо бы от рана отрезать 5-10 минут, но мне уже лень, все равно рекорд зафиксирован, а соревноваться со мной вряд ли кто будет.
Deprecating volatile
По непонятным причинам я был уверен, что static volatile int является атомарным счетчиком. Вроде бы достаточно логично — оптимизация запрещена, чтение и запись должны быть сразу в оперативную память, работать все должно быстро. Как оказалось нет.
Одно из выступлений с cppcon, где один из разработчиков clang доступно объясняет, что вообще никто не знает что делает volatile:
Пришлось разобраться и проверить.
Хот-хетч пикник от auto.ru
Каким-то чудом через внутренний форум яндекса всего за несколько дней до начала узнал про пикник от auto.ru. Узнал только из-за того что auto.ru — кусок яндекса. Весь год хотел съездить на подобную тусовку, так что особого выбора не было.
Доехал сквозь пробки за час с лишним, дорога была тяжелая, но по огромным банерам и куче народа я сразу понял, что приехал не зря. Несколько удивило, что меня 3 раза попросили показать установленное приложение auto.ru — странный способ распространения приложения, но может быть он и работает. У меня оно исходно стояло, но последний раз я им пользовался по делу более года назад.
Народа было не очень много, по ощущениям 1000-2000 человек. На втором пропускном пункте был сильно удивлен, потому что услышал знакомый голос Стаса Асафьева. В рекламе не было ничего, про то что он будет выступать, я бы тогда не опаздывал на 1.5 часа, а к началу постарался подойти.
Используем кока-колу по назначению
Давно уже читал, кто кола на редкость вредный продукт. Где-то слышал, что она может растворить кого угодно. Мол, настолько адский продукт, что наш желудок выдерживает только потому, что организм быстро ее выводит. Специально не хочу гуглить до публикации, чтобы оставить свое мнение. Колу давно не пью, невкусно, но тут проходил мимо нее в магазине и задумался, а можно ли ей отмыть кружку с застывшим чаем?
Для понимания — кружку я мою, просто не всегда вовремя, и никогда хорошо. Ложка неотмываемая вообще. Нет, если ее потереть твердой частью губки, то ничего не изменится, это надо полчаса стоять.
К сути эксперимента:
Кружку залил доверха вместе с ложкой. Через 20 минут побежал проверять по ложке, но она по-прежнему была черная. Пришлось оставить все на утро. Утром меня ждало разочарование:
Ничего не поменялось. Я, честно говоря, рассчитывал, что уже все будет чистенькое. Но потом я из принципа попробовал кружку отмыть, и, удивительно, но отмылась она в два счета. Я думаю, что кола все-таки работает.
Сборка ЗИЛ-131
Сел за сборку ЗИЛ-131 почти сразу после полного окраса МиГ29-СМТ. Закончил только сейчас, на сборку ушло больше 1.5 лет…
Модель ICM, использовал краски Мастер акрил. Долгое время хотел купить фототравление для классных дворников и зеркал. Также думал в сторону сборки полноценного поворотного моста, как это делают настоящие моделисты. В итоге на все забил, сборка и так сильно затянулась.
Очень долгое время грузовик стоил практически собранный на моем столе и пылился, на некоторых фотографиях эта пыль заметна, как от нее избавиться я не придумал. Надо в следующий раз собирать быстрее и ставить модель в какой-нибудь бокс.
Ну а в целом получилось очень красиво, куча фотографий находится под катом.
Попробуйте выключить и включить
Недавно сидели на работе, вспоминали про выключить и включить. А ведь как-то раз и со мной такая история произошла. Я купил сервер на soyoustart.com, поставил на него какую-то debian-подобную систему.
На системе было запущено много незнакомых процессов, поэтому я решил парочку лишних погасить. Спустя несколько секунд мне пришло первое письмо.
Orange PI. Домашний сервер в действии
Несколько месяцев назад мне приехал Orange PI PC Plus. Прекрасный маленький компьютер с sd-картой вместо жесткого диска, пассивным охлаждением и просто морем разъемов. Только когда я его взял в руки до меня дошло, что у меня есть клавиатура и мышка, но нет монитора. Есть роутер, но я не могу к нему подключиться кабелем — длины не хватит, и снять роутер тоже нельзя — оптоволокно порвется.
Это конец / едем домой за монитором? Нет, это было бы слишком просто!