Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
467 - Telegram Web
Telegram Web
Хогвартс мой, где же твоя выручай комната?
19👍3
Набросайте нам идей проектов на сиспрошный хакатон!

А заодно подписывайтесь на канал сиспро, там и мемы про системщину и математику будут, спасибо @bsielwk)
❤‍🔥21
Уже через неделю пройдет первое в этом семестре сиспрошное мероприятие Хакатон!
Это событие, когда мы дружно запираемся в офисе, разбиваемся по командам, выбираем тему для проекта и весь день кодим в свое удовольствие!

Для нас это шикарная возможность отвлечься от повседневной рутины, пообщаться, и бахнуть какой-нибудь интересной проектик)

Как это прошло в том году, можете посмотреть здесь: https://youtu.be/V886KappFwA?si=_qp9LRIYygubNmar

А в комментариях к этому посту можете поделиться своими идеями для проекта на хакатон! Может, именно ваша идея принесет какой-то из наших команд победу в этом году!
🔥32
Чем хороши воскресенья: в них нет созвонов => можно и код пописать 😏
🥴10👍7🤣3
Аааа, семестр начинается через 10 минут!

И какой семестр: начинается третий сезон алгосов и второй сезон плюсов на английском! Будет жарко.
🔥152
В трениках в ректорат, еее



Какую же безумную уверенность в себе дает этот костюм!
👍23🔥16😁4
This media is not supported in your browser
VIEW IN TELEGRAM
Так, а как работать после 4 пар в универе с утра?
🔥112
Хуйня эти ваши speaking clubs, хотите прогрессировать, попробуйте прочитать семестр лекций по плюсам на английском.
17💯5🔥1🎃1
Обычная пара по плюсам в этом семестре
😁27😨9💔1
Сегодня работаю тропинкоукладчиком 🫡
274
Искал одну старую картинку (вот эту, помните эту историю про Мэтта Тейлора и его рубашку, да?), случайно увидел свои посты 2012 года... ну я, конечно, тогда был прям агрессивно тупым. Надо как-то законодательно запретить читать свои старые посты, чтобы не расстраиваться.

Хотя с пары постов и картинок я даже посмеялся, неплохо, уже тогда были все задатки твиттерского.
9🫡4😁1
а попался он из-за того, что постил свои треки в страве!
😁13👍2
Вообще-то два года
17😢6🎃4👍2😁1
Хотите паззлер?

Вешают на меня ишуй, говорят: вот, смотри, тест зависает намертво, копай. Я смотрю: ишуй старый, месяц назад и правда зависал тест. Проверяю на ночной сборке - все работает!

Смотрю в асм (да, я сразу смотрю в асм), за месяц изменилось по факту одно место.

Было:

mov    QWORD PTR [rbp+0x10],r14
mov QWORD PTR [rbp+0x18],0x0


Стало:

mov    QWORD PTR [rcx+0x10],r14
mov r14d,0x0
mov QWORD PTR [rcx+0x18],r14


На этой ноте я говорю "ах ты сука", начинаю смеяться и зову компиляторщиков посмотреть на их труды.

Ваши идеи, в чем здесь проблема? Почему тест зависал? Почему перестал зависать? Подсказка: тест на некотором managed языке.

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

P.S. наши, кто уже видел описание ишуя или просто мой смех гиены в офисе, молчим.

#дух_машины
🤪91👍1🤡1👀1
Алло, это отладочная?
Хотите паззлер? Вешают на меня ишуй, говорят: вот, смотри, тест зависает намертво, копай. Я смотрю: ишуй старый, месяц назад и правда зависал тест. Проверяю на ночной сборке - все работает! Смотрю в асм (да, я сразу смотрю в асм), за месяц изменилось по…
Разгадка на самом деле очень простая.

Что за тест:

К сожалению это был один из тех откровенно ублюдочных тестов, которые проверяют, что объект, который стал недостижим, будет собран GC.

Работает по очень простой схеме: создаем объект с финализатором, записываем единственную ссылку на него в локал => перетираем эту ссылку каким-нибудь другим значением => крутимся в цикле и ждем, пока финализатор сработает.



Почему тест ублюдочный:

Не существует никаких гарантий, что недостижимый объект будет собран. Про GC вообще почти ничего не говорится в спеке, например, языка Java. Это такое секретное внутреннее знание, что трассирующие GC вот так должны работать, но бывают исключения.

Например: обычно во время своей работы GC находит множество корневых объектов, используя информацию от компилятора. Дескать вот здесь, в этой точке на r14 лежит живая ссылка на объект, значит ты этот объект добавляй в корневое множество и размечай.

Но иногда GC может строить корневое множество поконсервативнее: смотреть на все регистры и слоты стека, находить там что-то похожее на ссылки и соответствующие объекты якорить. Это не очень надежно (как мы увидим чуть ниже), но все еще корректно.

Именно в этом методе была такая ситуация: корневое множество строилось консервативно.



Что произошло (почему зависало):

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

Дальше крутимся в цикле, ждем срабатывание финализатора, а его все нет (GC раз за разом признает объект живым из-за этой протухшей ссылки на r14). Вот вам и зависание.

Что произошло (почему перестало зависать):

За этот месяц в компиляторе проделали большую работу, которая к сожалению в том числе привела к появлению ненужной пересылки. Вместо того, чтобы записать 0 сразу в [rbp+0x18], компилятор сначала услужливо сохранил его на r14. Имеет право, ведь r14 уже не используется, объект то мертв!

Это, конечно, пессимизация чистой воды, которую надо чинить. Но нашу то проблему это полечило! Ведь больше в r14 нет ссылки на мертвый объект, там нолик. Так что GC объект собирает, финализатор срабатывает, тест проходит.



Что было дальше:

Посмеялся, показал компиляторщикам, они очень возмутились, говорят, что надо срочно чинить! А я отвечаю: зачем, отличная работа, вы же баг починили 😂

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



Паззлер первым разгадал @sergey_kachkin, респект!

#дух_машины
😈10👍4🔥2
- Пойдешь ко мне в штат?
- Кем?
- Криэйтором.
- Это типа творцом? Если перевести?
- Криэйтором, Вава, криэйтором, — сказал он. — Творцы нам тут нахуй не нужны.



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

И в целом то все так, но со временем я стал гораздо больше ценить именно "творцов". Да, с ними бывает сложно; да, иногда чувствуешь себя воспитателем в детском садике; да, скучную рутину все еще нужно кому-то разбирать и да, их бывает трудно на это уговорить.

Зато какие-же крутые вещи они могут сделать, если им дать определенную степень свободы и хорошенько подтолкнуть в правильную сторону! Разве это менее ценно, чем монотонное закрытие мелких тасков по расписанию?

Понятно, что всем творцами не быть, кому-то и приземленные фичи надо криэйтить, но что тут скажешь, для того нам и дано разделение труда.
💯134
Действительно, какой? 😏
❤‍🔥20
Ну котики же)

Обожаю этих пацанов и девчат, абсолютно не жалко провести с ними все воскресенье, организовывая хакатон ☺️
35🔥14👍4
Это мы читаем! @conwor завел канал, наконец 🎉
6🔥3
2025/07/13 22:18:42
Back to Top
HTML Embed Code: