- 1
IT Оффтоп #203
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−1
IT Оффтоп #203
#173: https://govnokod.ru/28681 https://govnokod.xyz/_28681
#174: https://govnokod.ru/28689 https://govnokod.xyz/_28689
#175: https://govnokod.ru/28696 https://govnokod.xyz/_28696
#176: https://govnokod.ru/28703 https://govnokod.xyz/_28703
#177: https://govnokod.ru/28709 https://govnokod.xyz/_28709
#178: https://govnokod.ru/28716 https://govnokod.xyz/_28716
#179: https://govnokod.ru/28726 https://govnokod.xyz/_28726
#180: https://govnokod.ru/28734 https://govnokod.xyz/_28734
#181: https://govnokod.ru/28739 https://govnokod.xyz/_28739
#182: https://govnokod.ru/28749 https://govnokod.xyz/_28749
#183: https://govnokod.ru/28777 https://govnokod.xyz/_28777
#184: https://govnokod.ru/28790 https://govnokod.xyz/_28790
#185: https://govnokod.ru/28794 https://govnokod.xyz/_28794
#186: https://govnokod.ru/28815 https://govnokod.xyz/_28815
#187: https://govnokod.ru/28833 https://govnokod.xyz/_28833
#188: https://govnokod.ru/28837 https://govnokod.xyz/_28837
#189: https://govnokod.ru/28840 https://govnokod.xyz/_28840
#190: https://govnokod.ru/28875 https://govnokod.xyz/_28875
#191: https://govnokod.ru/28878 https://govnokod.xyz/_28878
#192: https://govnokod.ru/28886 https://govnokod.xyz/_28886
#193: https://govnokod.ru/28911 https://govnokod.xyz/_28911
#194: https://govnokod.ru/28914 https://govnokod.xyz/_28914
#195: https://govnokod.ru/28917 https://govnokod.xyz/_28917
#196: https://govnokod.ru/28925 https://govnokod.xyz/_28925
#197: https://govnokod.ru/28935 https://govnokod.xyz/_28935
#198: https://govnokod.ru/28938 https://govnokod.xyz/_28938
#199: https://govnokod.ru/28942 https://govnokod.xyz/_28942
#200: https://govnokod.ru/28945 https://govnokod.xyz/_28945
#201: https://govnokod.ru/28948 https://govnokod.xyz/_28948
#202: https://govnokod.ru/28951 https://govnokod.xyz/_28951
Этот оффтоп сгенерирован автоматически.
Индекс оффтопов: https://index.gcode.space/.
Зеркала Говнокода и полезные ресурсы:
* https://govnokod.xyz/ (альтернативный Говнокод)
* https://gcode.space/ (read-only зеркало Говнокода)
* https://t.me/GovnokodBot (Говнокод-бот в «Telegram»)
* https://t.me/GovnokodChannel (Тематический канал в «Telegram»)
* https://app.element.io/#/room/#govnokod:matrix.org (резервный чат)
Примечание: автоматические перекаты в настоящее время осуществляются только с аккаунта nepeKamHblu_nemyx.
Остерегайтесь подделок. Берегите себя и своих близких. Кок!
И я решил что пора закончить откладывать и пора уже заняться.
За пару недель немного изучил HTML, сетевые запросы GET, POST. Ну и всякую мелочь. И уже в предвкушении думаю: "А может сайт создать на Паскале?!".
как там в 2001-м году кстати?
Intel Software Developer Manual: сам иди на хуй, анскилябр
ну я догадывался
the physical address of the base of a PML4 table, access rights, and memory management information.
The base physical address of the PML5 table
is stored in CR3. The PML5 table is used only with 5-level paging.
• A page map level 4 (PML4) — An entry in a PML4 table contains
the physical address of the base of a page directory pointer table, access rights, and memory management information.
With 4-level paging, there is only one PML4 table and its base physical address is stored in CR3.
• A set of page directory pointer tables — An entry in a page directory pointer table contains
the physical address of the base of a page directory table, access rights, and memory management information.
• Sets of page directories — An entry in a page directory table contains
the physical address of the base of a page table, access rights, and memory management information.
• Sets of page tables — An entry in a page table contains
the physical address of a page frame, access rights, and memory management information.
---
спасибо, штеуд
Похвально, похвально.
В таблице хранятся не pageframes, а адреса других таблиц, а там третьих, итд, в самом конце уже pageframes.
Если ты совсем не знаешь как работает виртуальная память и MMU, то лучше и правда почитать MindShare (сначала про ISA, затем про Pentium или x86), но я не очень понимаю, зачем тебе это надо?
Ты хочешь посчитать пейджфолты (когда приходится грузить таблицы с диска)?
ЗЫ: Я могу написать про таблицы вкраце, ща попробую. Но там овердохуя всяких низкоуровневых тонкостей)
В таком режиме память разбита на страницы по 4K (или другого размера, если включен huge tables в регистре).
Менеджер виртуальной памяти в ОС создает в памяти таблицы, которые отражают адрес на page frame. Часть адреса это смещение в таблице, а остальное это адрес внутри страинцы, подобно тому, как первые несколько цифр телефона это код оператора (или местности).
Page frame содержит информацию о странице: например её адрес в памяти.
Когда ты просишь процессора считать чото по адресу N, то часть процессора (она называется MMU) пиздует в эти таблицы, и узнает "реальный" адрес в памяти твоего N (таблицу кешируют в секретном регистре TLB, чтобы не читать каждый раз)
Чтобы не делать таблицы адскими, внутри одной таблицы могут лежать указатели на другие таблицы, а дальше уже page frames.
В современных процессорах бывает до пяти таблиц в такой иерархии.
При смене процесса ОС загружает в регистр CR3 процессора адрес корневой таблицы (тогда же она грузится в TLB), таким образом у каждого процесса свои таблицы, и ты невидишь чужой памяти.
Запись в такой таблице может давать право только чтение (тогда туда нельзя писать) еще есть права на exec и пр.
Ос может выгрузить страницу на диск и пометить ее как выгруженную. Тогда процессор при чтении ее сгенеррует page fault, который обработает ОС, которая загрузит ее с диска (так работает свап/пейджинг)
Обращение по адресу, для которого нет записи в таблицах приводит к general protection fautl, который segfault на прыцще или access violation в винде (или thread bad exec на гейос кмк)
1. Размер таблиц. Если у тебя 100500 гигабайт памяти, то лучше бы часть страниц сделать huge pages: это уменьшит размет таблиц. Погугли, как это сделать в прыщах (через proc)
2. Чтобы не было часто page fault: ну для этого не нужно дохуя памяти занимать.
Если это страницы пустые, то там не будет фолта: что с диска-то подгружать?
Проблема в том, что чтобы отдать тебе страницу в памяти, ее нужно занулить (иначе тебе случайно достанется плейнтекстовый пароль админа от соседнего процесса, который эту страницу юзал)
Занулением в фоне занимается операционка (это ядреный тред обычно делает: спец служебный тред ядра)
Когда процесс просит страничку, а готовых зануленных нет, менеджер памяти просит его подождать.
А трогая страницы заранее, ты вынуждаешь ОС их сразу занулить
Еще наверное это позволяет застолбить их сразу, потому что прыщи могут сделать оверкоммит: обещать больше памяти, чем есть реально. А потом придет OOMKiller и ёбнет
зы: орокол со мной согласен
-XX:+AlwaysPreTouch
Pre-touch the Java heap during JVM initialization. Every page of the heap is thus demand-zeroed during initialization rather than incrementally during application execution.
https://www.oracle.com/java/technologies/javase/vmoptions-jsp.html
тогда ты парв
Мне в данный момент нужен демонстративно бенчмарк на вылезание за пределы L1/L2/L3. Список ивентов, которые могут иметь отношение, меня немного удивил, как и то, что перф репортит больше миссов, чем обращений. Тут стало понятно, что на существующие коне я не вытянул, и надо подробно смотреть что каждая метрика значит, и как не объебаться с бранчами и мюопсами, которые надо будет пинать после кэшей
1. Блюсти рефернс-локалити
Данные, с которыми ты работаешь вместе, и должны лежать вместе, и не быть разреженными другими данными.
Дешевле идти последовательно по массиву байт, чем прыгать вперед/назад на на мегабайты.
например: ты держишь массив структур в сишке, у каждой структы две поля: user_id и data на 4 мегабайта.
Ты ищещь юзера с нужным user_id, и прыгаешь туда/сюда по этмоу массиву. Чапсть работы по загружке data префетчер делает впустую.
2. Стараться не делать фолс-шарингов
Две несвязанныхъ переменные лежат в одной области памяти. Ты пишешь в две переменные из двух потоков, и случайно инвалидируешь всю линейку.
Это лечат делая между ними паддинг, чтоб они попадали в разные линейки.
Наступить легко: можно срать из двух потоков в соседнгие поля класса в куче, и делать фолсшаринг.
Высоконагруженному коду лучше срать в локальные (стековые, а то и регистровые) переменные, и только потом копировать результат в поля классов в куче. Чем дальше ты ходишь срать -- тем больше шансов, что это будет долго.
(нота бене:
На крупных серверах можно попасть на NUMA, и ходить срать в память контроллера на другом процессоре (некоторый софт типа Hyper-V или MS-SQL это учитывает, и пытается не выделять стираницы в другом ядре)
)
3. не делать мемори барьеров: не юзать синхронизации и volatile там, где не надо.
Чем больше всего синхронизированно -- тем сложнее жить компилятору и процессору.
В идеале лучше вообще не иметь ничего "тред-сейфнутого" кроме локфри питушни а-ля CAS
Поэтому мне каждый эффект нужно продемонстрировать отдельно.
https://shipilev.net/jvm/anatomy-quarks/
*данная информация может не соответствовать действительности и регулируется законом Технология-27 от 7.27.227 года
Ну и вот пришёл к тому, что пора делать дальнейшие шаги, чтобы на презе громко не объебаться, померяв вместо самого кода луп вокруг него
Лоу-левел поебушки вроде кешмисов и так тяжело даются высокоуровневым блядям, а сквозь абстракцию джавы и того сложнее.
алсо, это абстракции очень разного уровня
>> прогрев вм,
ЖЫТ, С1, С2, сервер? Грааль?
> инлайнинг
туда же
> особенности турбобуста (тау, загруженность ядер),
Это уже про цпу, и про убыстрение одного ядра на время в ущерб другим. Ты еще про откобчение всяких power states в прошивке расскази
> бранч предикшены и похожие вещи.
Ну тут надо про анроллинги говорить, лол)
но на самом деле просто нужно стараться делать поменьше ифов в горячих циклах. Чем код прямее -- тем лучше.
идеальный код последовательно увеличиывет регистр инстаркшн поинтер и последовательноч итает память
Я надеюсь сделать себе какое-никакое имя
> алсо, это абстракции очень разного уровня
Я хочу там сделать несколько частей, от "что ж вы ебланы только на ascii-то проверяете" до "у вас эта залупа прыгает по бранчам, потому что вы тривиальный expression разъебали на if-else ветки"
> ЖЫТ, С1, С2, сервер? Грааль?
Хуже.
В планах сделать сразу три версии: шарп, джава, жс. Сегодня ебался с жс, вроде как нашел и прогрев, и кэш миссы (но, например, проебался с упомянутым тобой префетчером - у меня там последовательный доступ по массиву). Собственно и началось всё с того, что потребовалось интерпретировать разницу в счетчиках, полученных от perf
> Ну тут надо про анроллинги говорить, лол)
Монархию возрождать
Анроллинг тебе чуть ли не любой рантайм сделает, а вот с вещами посложнее может не угадать. Типа если запутать PGO, и компилятор не станет оптимизировать под один тип, а в самом бенчмарке туда будет прилетать только один.
1. Нужно попрофилировать приложение. Может оказаться, что замена рефернс-тайпа на примитив или алгоритма O(N) на O(1) увеличит скорость в сотню тыщ раз, и ебаца с лоу-левелом не придется
2. Если очень хочется ебаться с лоу-левелом -- ты напиши пожалуйста на код на НЯШНОЙ, отладь его до блеска, и тереборь его через JNI (или JNA: я их путаю)
Ну то-есть если ты не Брендон Грэг, Рома Елизаров или Леша Шипилеша, то знание о Profile Guided Optimization в ЯЖЕ тебе может быть не очень обычно надо
И это при том, что Rust+LLVM не самое супер-оптимальнео в мире
https://towardsdatascience.com/use-rusts-speed-to-install-python-libraries-up-to-100-times-faster-f25489434337
Если приспособить к жопе
Сопроцессор фирмы крэй
Я проверял, пандас реально отсасывает
Авторы джаваскрипта и пехапе должны гореть в аду вечно
как было выбрано -5 - загадка
now i look for ssds only on amazon
https://www.amazon.nl/dp/B09QL8TZ4V
Mauro, SHUT THE FUCK UP!
Почему утилита, которая просто тестирует наличие хардварного ускорения, требует дисплей?
$ vainfo --display drm
error: failed to initialize display 'drm'
- ладно, хуй с вами, спрошу у этого вашего копилота в бинге
- "С QEMU бывает действительно непросто разобраться. Вот как нужно поправить docker-compose:"
Иди на хуй иди на хуй иди на хуй.
Я хочу акселерацию у джеллифина. И я не хочу засирать хост ненужным, мне нужны виртуалки, которые я могу пачками грохать.
да блядь
https://github.com/intel/linux-intel-lts/issues/33
Meanwhile: https://www.phoronix.com/news/Intel-Xe-DRM-Next-Linux-6.12
Intel is targeting Kernel 6.12 for "Intel Xe2 Lunar Lake & Battlemage Graphics," and also "further support for SR-IOV."
блядь а
но для этого нужно пространство, а у меня там ссд на 500 гигов, при том что музыки 300+, а я хочу фильмы транскодить, да и вообще он слабый пиздец
конечная цель конечно же завести лубернетис с openebs, но я не готов прямо сейчас
уважаемый владимир василич!
2. Yes, we already test Windows VM and works well.
Ну как, успели?
https://images.okr.ro/serve/auctions.v7/2018/aug/10/16527dd85ed705c6261ad769e9264487-6798439-1000_1000
негры всегда были дикими, но белый человек зачем-то дал им оружие. теперь негры превратились в обезьяну с гранатой, и стали опасны, как никогда.
Советую съездить с Сомали, Южный Судан, и ЦАР.
https://varlamov.ru/746024.html
странно, что нет disambiguation
Попробовал поспать чуть-чуть перед вечерними личными созвонами, чтобы потом отрубиться как следует. Итог: нихуя толком не заснул, час дрёмы, потом привезли коробку, после коробки позвонил pagerduty и сказал, что а) у меня сервис хрюкает и б) сам пошёл на хуй, я читаю что ты там на говнокоде пишешь.
Теперь видимо все-таки читать мануал интела и ждать этих созвонов, чтобы потом наконец нормально вырубиться. Хотел ренессанс - получил ренессанс.
*на самом как минимум один раз я пошел совершать некоторый trespassing в четыре утра, но это другая история.
The incident was acknowledged. Goodbye.
https://x.com/dm_eliseev/status/1815041913436725297
Было бы заебись.
А Стертора и так ослы ебут.
> distroless
> debian11
#штурвал
(глядя на лого) а может быть, ещё и #счётчик
сравниваем перформанс анонимных и неймед фунецкций
https://github.com/caderek/benny/blob/master/examples/named-vs-anonymous.js
сначала даже хочется верить:
Но потом замечаешь:
Вы же видите, да? Во втором случае петух вызывает исходную функцию напрямую, а в первом возвращает новую функцию, которая должна вызывать исходную. Естественно, стоит только починить "бенчмарк", как всё встаёт на свои места
Но самый главный вопрос остается: что мы здесь меряем? А меряем мы здесь, маргарет, скорость выделения памяти и Math.random().
Не замечаете ничего странного?
Benchmark took 1154389282 nanoseconds
setTimeout(..., 1000);
Судя по отсутствию какого-либо поясняющего комментария - автора эта ситуация устроила. Она более чем объяснима (вы знаете, у нас тут джит / прогрев), но оставлять в таком виде в доке нельзя.
ИДИ НА ХУЙ
Раздельно: в качестве направления. Иди на хуй.
Проверка: раздельно пишется, когда можно воткнуть слово. Иди на большой хуй.
Вьет нам цы так пи шут. У них боль шин ство слов из од но го сло га.
Въетнамский язык - полностью взаимственый язык у китая.
Например, в китайском языке нет слово "привет", а употребляемое "нихао" всеми любимое, на самом деле в переводе, типа "ты хорошо", "ты хороший".
Так что не удивительно почему такие всратые описание на али-экспресс товаров из Китая, или китайцы плохо переводят на другой язык из-за такой особенности.
с другой стороны, хоть кто-то про warmup слышал
да как смочь-то
https://github.com/aegenet/belt/tree/master?tab=readme-ov-file#belt-monorepo
вы в силах это осознать? чувак хочет 0 зависимостей, поэтому каждую дополнительную вещь он выносит в отдельный опциональный самописный пакет
crc32 отдельно пишет. нет, я его понимаю, я бы и сам писал разные давно известные штуки просто потому что это фан. но как ты проблему зависмостей-то этим решаешь?
Почему 34?
Потому что 33 уже застолбил мой коллега, и чтобы он случайно не переписал мой файл, пришлось поменять
и вы еще будете ругать джаву за вербозность?
джаваскриптеры познают суть компьютерного времени
я и не знал, что бывают интеллектуальные соревнования людей, купивших "геймесркие" ноутбуки
https://www.techpowerup.com/forums/threads/achieving-the-advertised-all-core-boost-of-the-13700hx.317217/
Есть дом у Сары Марабу и там же туареги порезали вагнеровских свиней включая упырька грейзон
Сара Марабу
Сара Марабу
Какая это нахуй бухта? там и моря нет
Предположительно в этом месте когда-то Нигер впадал в бессточное озеро, позже исчезнувшее, а дальше начиналась другая река, с которой теперь слился Нигер.
Однажды Добрый Король Леопольд купил немного нигеров, и приставил к ним других нигеров, и сказал им так: следите, чтобы нигеры работали. А кто будет не работать -- тому отрубите чонить, и получите награду.
нигеры-охранники быстро смекнули, что за кусочек нигера Добрый Король Леопольд выдает звонкую монетку, и стали рубать на куски рандомных нигеров, и тащить Доброму Королю Леопольду руки, ноги, пальцы, и всякие другие запчасти.
Добрый Король Леопольд был наивный, и за каждую отрубленную руку чесно башлял.
В какой-то момент в Конго кончились нигеры с руками, и тогда парламент Бельгии отнял Конго у Доброго Короля Леопольда, и переподчинил его самой Бельгии
Понимание, что можно жить по-новому, приходит не сразу
Они подились на два клана, называли их "виги" и "тори" (на бритнаский манер) и стали друг-дружку пиздить до кровавых соплей
Все же в курсе, что демократы изначально это буквально партия Гологубов ("I wish I were in the land of cotton"), в респы -- партия северян?
То-есть тут у нас просто поворот на 180 градусов
Это про Узбекистан?
P.S. Но вот составного термина для хлопка у нидеров нету, похоже, у них будет просто «катун».
Да, разумеется есть слово boom. И есть katoen.
заметь: в стороне дерева мы качнулись в сторону немцев, а в случае хлопка -- в сторону англичан.
Вот такой весь язык у нас: одно слово английское, другое -- немецкое
https://pikabu.ru/story/kto_takoy_nastoyashchiy_muzhchina_109442 35
Лето за щекой, какое лето..
— Кто тут только что неодобрительно отозвался о власти?
— Говорю, погода невыносимая!
— Неправда, погода выносимая. Знаем мы, что невыносимо!
— Проклятая власть!
— Кто тут только что неодобрительно отозвался о нашей власти?
— Говорю, проклятая власть на бездуховном Западе!
— Отмазываетесь. Знаем мы, где проклятая власть!
Подходит росгвардеец:
— Ну, какая разница?
— А-а-а, никакой, никакой, никакой!
Что же это творит, п*дл*ц! Это же он уб**ца получается! Господи, бедная российская культура, против тебя ведется вой**, выживи пожалуйста, дорогая!
Вы всё таки гарант Конституции! Народ доверил Вам право управлять страной!
Разберитесь пожалуйста с тем, какой беспредел творит сантехник Сидоров. К. С. из ЖСК номер 4 светлоградского района!
Третьего дня он пьяный в лифте
Василич, помоги!
Василич, помоги!
Василич, помоги!
https://api.slack.com/gov-slack/about
TASS
>FIPS
FAPS
>FedRAMP
Red[beck]RAMP[AGE] (гологуб)
> DOD IL4.
DIL DO4
А ещё IL-4 — интерлейкин, белок, участвующий в иммунных реакциях.
В бизнес-центре массово начали выходить из строя писсуары, один за другим во всех туалетах. Смыв плохо работает и моча не смывается, накапливается в чаше.
При этом вся остальная канализация и сидячие туалеты работают исправно.
Вы админ и ответственный за починку. Ваши действия?
2. загуглить "моча не сливается как починить"
3. sfc /scannow на сервере
4. проверить, все-ли установлены обновления
Если без шуток, то нужно понять что общего в неработающих писсуарах: может быть сразу будет виден паттерн. Далее, подебажить один: поссать, и посммотреть как сливается. Проверить, есть-ли связь с близжайшей трубой
Гофра — хуйня. Смени на гладкую трубу, ничего откладываться не будет.
Вообще я считаю, что гофру придумали САМИ ЗНАЕТЕ КТО, чтобы всё быстрее выходило из строя, чтобы у поставщика была постоянная прибыль.
Ваши действия?
А в офисе сидеть в противогазе.
awasaka иди на хуй
прыщебляди соснули
Они вообще что ли update-git-for-windows не тестировали?
так я понял, что это точный перевод слова "списывать"
у нас потому что опсхрайвен
«-сх-» может возникнуть на стыке частей слова, но я сходу не могу привести реальный пример.
Итого получается, нужно искать слова, у которых второй корень — греческий на «ch-».
В общем, где «хь», как в слове «ихь». В остальных на «ch-» звучит либо [к], либо французское [ш], либо английское [ч]. А с твёрдым [х] вроде ничего и нету.
Много человек под поезд ложится,
Малость борозда в поле остаётся,
Много боров под трактор бросается.
Дофига же слов, оканчивающихся на -ss, к которым можно прилепить суффикс -chen.
Am Flüsschen, am Flüsschen, an jenem Üferchen wusch Marusenka weiße Beine. Ku!
Короче, для меня эти кабинки с наушниками — что-то из фантастики, из другого мира.
Хотя я в детстве тоже обкончался бы от такого космического пейзажа: стёлка, наушники... еще бы комп туда поставить
Восьмиядерный процессор на 2-4 гигагерца, больше двух гигов оперативки, и всё только для того, чтобы в мессенджере сообщение отправить. А технически грамотных не так много. Как папуасы, в руках которых случайно оказался вертолёт.
потому что любовь к гошечке обратно пропорционально техническому навыку
<REDACTED>, [7/31/2024 2:02 PM]
лемминги с ноды переехали и подумали "о ебать мана небесная"
как же всё-таки хорошо в адекватных технических чатах
Грач ей: «И жавронка там пение прелестно».
Кокушка говорит: «Во славе ль там скворец?»
Грач ей: «И он у них известный
ssh [email protected]
Hi! You've successfully authenticated, but GitHub does not provide shell access.
idea:
sign_and_send_pubkey: signing failed for ECDSA "/.ssh/id_ecdsa" from agent: agent refused operation [email protected]: Permission denied (publickey). Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
технология иди на хуй
а ты хорош
Это древняя машина, точнее диск, который я в неё вставил. Оно будет жить пару месяцев максимум, мне просто надо подтвердить, что дело действительно в диске было.
Летят все: и Сигейты, и WD.
У меня недавно четырёхтерабайтник йопнулся на ровном месте, хотя я его ни разу не ронял. Старый винт на 300 гигов с поцарапанной поверностью работает, только поцарапанный участок не читается, а вот этот новый сдох окончательно.
https://dzen.ru/a/YZ8_zTKhjER8Uhlv
Сто хуёв за щеку тому, кто такое придумал.
Это как взять QLC SSD и ныть потом что на сервере плохо живеца
Это как взять винмодем роквел и жалица что там 56K нету
И что делать? Собирать зеркальные массивы или целенаправленно искать что-нибудь без черепички?
1. дорогой серверный HDD
2. Небольшой HDD
Дешевый и большой будет с черипичной записью.
Черепичка по-английски SMR
https://interface31.ru/tech_it/2022/12/chto-takoe-cherepichnaya-magnitnaya-zapis-smr-i-stoit-li-ee-izbegat.html
Без нее -- CMR
Seagate IronWolf 12TB CMR: 319 Eur
Seagate Exos X14 ST12000NM0558 HSMR: € 139,95
Ну тоес-ть один объем (12тб) отличается в 3 почти что раза.
Если тебе данные ценны, то всё равно придется делать зеркало. Можешь взять два CMR, и получить более дешевое зеракало (только следи, чтобы не развалилось).
Если один диск, то конечно CMR.
ЗЫ: чел пишет
>>>
SMR-диски не предполагают продолжительной и интенсивной нагрузки, особенно случайной записи. Их основное предназначение - хранение.
>>>
ну конечно если 99% времени у тебя диск выключен, то тоже конечно можно брать черепицу
+ло. Можешь взять два SMR, и
Судя по отзывам в разных магазинах, у людей сыпятся SMR-диски, которые 99% времени выключены. Подключил раз за два месяца, начал добавлять на него информацию, и он посыпался.
Т. е. хранить тоже не очень.
Хотя хз, может всё уже настолько плохо с SMR, что лучше их не трогать совсем
После добавления нескольких новых файлов стал сыпать ошибками, даже прочитать директории не давал. После отключения и повторного подключения перестал показывать паспорт, как это бывает при «мухе цэцэ». Диск раскручивает и останавливает, а головки больше не сикают.
Как определить, что диск можно отключить, если в той же Винде значок извлечения ничего не знает о внутренних процессах, он знает только о сбросе кэша ФС?
в USB есть такая тема
>>>
Stop: The USB-FDU turns off the drive motor, if it is currently on, without waiting for the motor off delay timer
to time out. If the drive motor is already off, then the USB-FDU does nothing.
>>>
В сате есть такая пижня
>>
4.6 Advanced Power Management (APM) feature set
...
.1.74 spin-down
process of bringing a rotating media device’s media to a stop
>>>
ну тоесть формально как-то можно выключить девайс перед вытыканием, хз правда кто так делает.
а зачем упоковывают?
Потому что они бабло рубят с дорогих клиентов, а не с нищебродов
Команда Stop точно гарантирует, что возврат из неё будет по окончанию этого фонового процесса раскидывания, или такой гарантии нету?
— Drive-managed SMR. Тот самый чёрный ящик, который в неподходящий момент запускает фоновый процесс раскидывания кэша по черепице, снаружи прикидываясь обычным хардом.
— Host-managed SMR. А этот тип дополняет ATA новыми командами и требует специального ПО. У этого типа кэш по черепице раскидывает твоё ПО. Достоинство в том, что ты знаешь, когда можно выключать питание, об этом сообщит твоё ПО. Недостаток в том, что без специального ПО диск работать не будет.
Сначала диски были тупой-как-дрова, и даже моторчиком управлял драйвер!
Потом поуменли, мозги переехали в диск, hence IDE: Integrated Digital En..
Потом в продакшене потупели: SCSI (в этом была их надежность: диск был зело тупой)
Во времена SSD внутри дисков опять стали черти ебаца и черт знает что там вообще происходит.
А теперь что у нас опять?
...Нарекли кусок железяки умным - является ли он в прямом смысле разумным? Нет. Наделили Хуйло властью - является ли он в самом деле президентом? Нет.
Если мы долго ничего не пишем на флешку, из ячеек потихоньку утекает заряд, когда-нибудь его потеря станет настолько заметной, что данные исказятся.
Если мы стираем блоки для последующей записи, ячейки изнашиваются.
Мы между двух огней: потерять заряд или износить ячейки.
Вот тут развернулась интересная дискуссия:
https://habr.com/ru/articles/512886/#comment_21914880
NAND это вообще жестокость: они насильно пихают электрон, и он там застревает.
Есть экспресс-ртфм по устройству этового говна, довольно годный (читается за час, покрывает 90% вопросос)
https://www.cactus-tech.com/resources/blog/details/solid-state-drives-101/
Сдохнет диск, сдохнет контроллер, шифровальщик всё зашифрует
И всё равно читаешь "я писал пять лет докторскую, хранил ее на внешнем SSD фирмы PASANONICS за 0.99 c Алишечки, а сегодня он вдруг перестал видеться помогите"
Есть предположение, что капслоком моргать он начинает как раз в момент записи
https://content.imageresizer.com/images/memes/Computer-Guy-Facepalm-meme-cdl6.jpg
это ллама или электрон?
Тоже так делал, через teleport pro. За ночь в компьбтерном клубе можно было пару дискет нужных сайтов записать, и потом дома смотреть
господи
если зайти с выключенным js, то комментарий просто плейнтекстом покажут
а гк там может, а?, а?
хевелдих!
(на всякий случай напомню, что в "соц-сетях" сидят пидоры)
https://youtu.be/uGIbpPcvbg0?t=678
На некотором виндосервере запускался некоторый код, который использовал WSL2.
Запускалка этого кода собирала некоторую статистику с ОС, и потом репортовала загрукзу CPU, IO и пр.
И вот на графике загрузка CPU 2%, загрузка IO 10%, смех-смехом, а код исполняется пол часа.
Ну разумеется вопрос "Вы там что, функцию `sleep` тестируете?"
Но ларчик открывался гораздо интереснее. Кто угадает -- тому ничего, но можно задавать наводящие вопросы.
У меня как-то Image Magick тормозил на VPS. Пересобрал без OpenMP — заедушные выблядки отсосали от буста пирфоманса.
И ты прав, что 2% это от всех ядер.
Но ядер было всего 12, так что загрузка даже одного ядра полностью должна была быть выше, чем 2%
Часть кода работала на хосте, часть в WSL2
Дисковый IO должен был бы отразиться в IO, но IO там низкий.
(и да: диск локальный, если ты про это)
Я не даром написал про WSL2, ну
Какой-нибудь ебанутый DNS, который не может отрезолвить хост, и потом программа сваливается в какой-то фоллбек?
Долгое установление tcp-подключения?
короче проблема в том, что когда ты включаешь Hyper-V, (в BCD ставишь галочку) то хостовая машина становится для тебя просто еще одной виртуалкой на движке Hyper-V (см types of hypervisor)
Счетчик винды Processor / Total / ProcessorUsage (или как-то так) считает время процессора, занятое шедулером хоста. Разумеется, он считает только время процессов на хосте, а про виртуалки ничего не знает.
для виртуалок есть другой счетчик, но петухи его не использовали.
В итоге они посчитали время ЦПУ хоста, а не WSL2. А в WSL2 в это время могли факториалы от миллиарда считаться в 42 потока, а с точки зреня хоста загрузка ЦПУ была 2%.
Ну разумеется вопрос "Вы там что, функцию `sleep` тестируете?"
намекало на то, что процесс просто висит в ожидании чего-то
Вопрос про слип это была красная селёдка.
Кстати, доступ по сети бы мы тоже не отловили, потому что они считают только загружку диска.
В винде нет счетчика `iowait`, но есть лейтенси диска, размер его очереди, и пр
и отдельно нужно считать IO сети
Space character in generated G-code
ебать конечно страйкер на всех континентах своими ссылками заебал
Rotoeb укусил коллегу, и коллега сказал так:
Зачем нам писать сложный код с разными интерфейсами и силд-классами? Зачем разносить его по модулям?
Давайте сделаем класс `Config` и вынесем туда все нужные параметры. Все их сделаем nullable, ведь не все из них всегда нужны.
Я возразил: "но тогда как я буду знать какие параметры когда доступны?"
Коллега сказал: "ну ты же сам пишешь код, просто будь внимательнее"
Тогда я сказал: "Но мы же не сможем в компайл тайме проверять"
А он ответил: "для этого есть тесты"
У меня загорелся пердак
Как потушить???
> укусил
«Закралась ошибка? Есть простое советское средство: выпустить хотфикс. На этот раз ошибка нашлась в одном из движков фильтрации. Мы всё исправили, и AdGuard стал только краше.»
Прямо повеяло духом изначальных вареций этой инвормации.
>>>
Итак, попробую ввести вас в то, что я назвал «матричным колебанием». Ибо утверждаю, что умея «повторять» и «запоминать», можно вполне себе обрабатывать алгокод.
Представлю математическую модель. Допустим, у нас есть переменная I. Мы ее повторяем, то есть у нас две переменные, взятые последовательно, I и I. Далее мы запоминаем I и I как II. Или просто указываем разрядность. Следующий шаг: переменные I и II, взятые последовательно (перебор остаток II), Затем II и I (остаток). Запомнили, далее переменная III (относ-сть) и ее поступательные вариации.
Зачем это нужно? Смотрите, попробуем «писать»:
I + ∑I+ ∑∑II + ∑∑∑I,II + ∑∑∑∑II,I + ∑∑∑∑∑III
То есть мы только повторяем (копированием) полностью каждый раз предшествующую запись ∑ и запоминаем вновь образованные переменные, логически обоснованные в целостном пространстве для обработки.
I + ∑I есть "1" (запоминаем + к разряду, то есть при обращении к 1 на этом этапе всегда будет последующий поиск по разрядности) y1
∑II есть "10" (нанизываем в допразряде I) x2
∑I+ ∑∑II есть "11" (+ к разряду) y2
∑I,II есть "1010" (нанизываем в разряде I)
∑II,I есть "1111" (+ к рязр)
∑I,II + ∑II,I есть "1110" (нанизование разрядов для всех последующих операций) x3
∑III есть "11111111" (+ к рязр для всех) y3
Или I + ∑I+ ∑∑II + ∑∑∑I,II + ∑∑∑∑II,I + ∑( ∑∑∑I,II + ∑∑∑∑II,I) + ∑∑∑∑∑∑III общее изовыражение кода.
Получив 3 бесконечных всегда независимые оси пространства в сообщении, можно ввести общую точко и выбрать, допустим, начало. Далее описать теорему равностороннего треугольника обозначив переменными равные вершины и попробовать выразить наверно Пи через свойства △. Так же возможна последующая операбельность числом Пи при выделении свободного программирываемого пространства, к примеру, внешне и отвечающего проверке входящих битовых "переменных" на соответствие I → "компиляторам".
https://habr.com/ru/articles/827018/
> Внутренняя ошибка
> e is undefined
А тут генератор вореций немного заклинило.
>>>
Хотел бы рассмотреть конструкцию видом ниже, для последующего промышленного программирования (шаг степени для примитива беру от начала ✌):
I
II (2, количество параллельных схем)
IIII (2a2b 2b2a количество параллельных схем параллельным) или 3 разрядная точка отсчета вектора в памяти IIII . 2a2b . 2b2a
IIIIIIII . (((2a2b 2b2a) . (2с для ab или 9 разрядное обращение вектора к памяти))) . (((2a2b2c) . (2b2a2c)) . ((2b2a2c) . (2a2b2c))) . (((2c2a2b) . (2c2b2a)))
1.16. 27 разр.
1.32. 81 разр.
Допишем виртуальную машину, в которой будут проходить линейные пошаговые вычисления для ориентации. Представляем, что у нас есть логически обоснованная возможность объявления переменных шагами памяти (разряд I), их приравнивания или опер-р = (разряд 2) и возвращения к необходимым данным (разряд ab) в определенном векторном геометрическом пространстве (списком).
Объявляем переменные α (IIII.2a2b.2b2a), β (IIIIIIII . ((2a2b 2b2a) . (2с)) и.т.д., γ (27) и некую VAR1 (81). Теперь проведем вычисления. К примеру, надо узнать α=β или ? разрядное обращение вектора. Его значение (IIII).(IIIIIIII) и будет результатом, хранящимся сообщением в памяти переборов. Да, удовлетворение пространственной геометрии и несет собой сакральный смысл вычисления, друзья! α=β=γ=VAR1 - суммарное значение вектора. Списком: V1=V2=V3 - вп.окр. (V1=V2)=(V2=V3)=(V3=V1) - радиус. (V1=V1)=(V2=V2)=(V3=V3) - оп.окр. У нас есть единственная операция приравнивания. Описанная окружность = радиусу или итерационный подвызов = VARПи. Дерзайте!
https://habr.com/ru/posts/833596/
I + ∑I+ ∑∑II + ∑∑∑I,II + ∑∑∑
Надо перевести на WCD
Алексей Константинович Грибченко, Москва, 15.04.1984:
https://vk.com/perekoncentrat
Сорок лет, а ума нет.
Он, к слову, продолжает: https://habr.com/ru/posts/851630/.
Взглянёт в твои глаза
И слова припомнит все и снова повторит
Кто тебе сказал, ну кто тебе сказал
Кто придумал, что тебя
САМ ЗНАЕШЬ КТО не любит
Ещё у меня есть ножницы по металлу, тоже подобранные на улице.
хуй дах
Владимир Владимирович сказал, что пока он президент, повышения пенсионного возраста не будет. Значит, либо его уже нет, либо он не президент. Что за самозванец в кресле вместо него, я не знаю.
народ вот ипотеки стал брать
https://x.com/litavrinm/status/1819691108525318345
which: bad option: -h
да блядь
Ставлю из репозитория, всё-таки как никак в линуксах живём и можем не качать каждую тулзу с гитхаба, и... В $PATH его по-прежнему нет. Потому что он поставился в /usr/share/nvm, а исполняемые скрипты не прокинул. Вызываю напрямую - а у него не проставлен executable bit. Проставляю executable bit - скрипт начинает выполняться, выходит с exit code 0, только нихуя не делает.
tech -> phallus
https://github.com/bormand?tab=followers
Сталкеришь его?
P. S. (три слова подряд с буквой ё!)
Оригинал, Говорун, etc?
питузик, ну whichу полтос недавно исполнился, ну не было в то время никаких "-h"
ты еще до dd ддоебись
Помнишь PF (parity flag)?
К слову, в SSE зачем-то завезли аналоги BSF и BSR (а именно LZCNT и TZCNT), отличающиеся интерпретацией результата (они выдают результат то ли на единицу больше, то ли на единицу меньше).
LZCNT = разрядность - 1 - BSR
TZCNT = BSF, если аргумент не ноль, иначе разрядность.
https://news.ycombinator.com/item?id=31216289
а там точно нигде убе не притаилсч?
блядь ну естественно в комментариях лемир с avx
Но какой смысл в PF? Проверка целостности чего-нибудь?
Но на самом деле это же интел, и нормального входа в этот магазин нет
>>>
One common reason to test the parity flag is to check an unrelated x87-FPU flag. The FPU has four condition flags (C0 to C3), but they can not be tested directly, and must instead be first copied to the flags register. When this happens, C0 is placed in the carry flag, C2 in the parity flag and C3 in the zero flag.
>>>
сука почему так смешнор
--Вот тут у нас розетка
--Но почему в ней семь дырок? Я не знаю таких вилок
--Таких вилок и нет. В первую и третью дырочки нужно сунуть зубочистки, и в туалете спустится вода
--А остальные дырки?
--Остальные это легаси. В следующей версии мы их законапатим
22 июля 2024 года 72-летнего Солдатова приговорили к двум годам колонии по делу о злоупотреблении полномочиями. По версии следствия, ученый с бизнес-партнерами обманом передал чешскому провайдеру права на IP-адреса, принадлежавшие РосНИИРОС. По данным «Медузы», дело возбудили после вмешательства Администрации президента. Причиной конфликта Солдатова с Кремлем стала борьба за домен .su, который широко используется в Рунете и вместе с доменами .ru и .рф стал частью «национальной доменной зоны» и должен контролироваться государством.
-----
Ебать я четверть века назад про РосНИИРОС и курчатовский центр читал на citforum.ru, когда разбирался как ай пи сети работают, ктобы мне тогда сказал
Я СЕЙЧАС ХРЮКУ ВТФ ЭМ АЙ РИДИНГ
На моём столе рабочем?
Кто наклал соплей зелёных
В мои сменные ботинки?
Кто написал в мою шляпу,
Облевал мои перчатки?
Кто на стенке кабинета
Написал мне слово "сука"?
Толстый начальник отдела кадров,
Потный начальник отдела кадров.
Толстый начальник отдела кадров,
Потный начальник отдела кадров.
Кто украл мой партбилет
И подтёр свою им жопу?
Кто подкладывает мне
Анашу и всяку гадость?
Кто рабочим слух пустил,
Что всегда даю я в жопу?
Кто послал ко мне жлобов,
Что разбили мне всю репу?
Толстый начальник отдела кадров,
Потный начальник отдела кадров.
Толстый начальник отдела кадров,
Потный начальник отдела кадров.
Что
От того он так сердит,
Что
Кто-то сбросил со стола
Три тарелки, два котла
И в кастрюлю с молоком
Кинул клещи с молотком;
Может, это серый кот
Виноват,
Или это черный пес
Виноват,
Или это курицы
Залетели с улицы,
Или толстый, как сундук,
Приходил сюда индюк,
Три тарелки, два котла
Сбросил на пол со стола
И в кастрюлю с молоком
Кинул клещи с молотком?
Что
Оттого он так сердит,
Что
Банку, полную чернил,
Кто-то на пол уронил
И оставил на столе
Деревянный пистолет;
Может, это серый кот
Виноват,
Или это черный пес
Виноват,
Или это курицы
Залетели с улицы,
Или толстый, как сундук,
Приходил сюда индюк,
Банку, полную чернил,
В кабинете уронил
И оставил на столе
Деревянный пистолет?
Что
Оттого он так сердит,
Что
Все картинки кто-то снял,
Кто-то сбросил их и смял
И повесил дудочку
И складную удочку;
Может, это серый кот
Виноват,
Или это черный пес
Виноват,
Или это курицы
Залетели с улицы,
Или толстый, как сундук,
Приходил сюда индюк
И повесил дудочку
И складную удочку?
Тише ребята, давайте перенесёмся в 2001-й год, и сами всё увидим
https://www.metalland.net/cgi-bin/board/board.cgi
CGI, дизайн, верстка, анимированные гифки, "charset=windows-1251",
, html (которыя не могу показать потому что СУКА ИНЬ ПОЧИНИ СВОЙ ЕБАНЫЙ ВОНЮНИЙ XYZ ЧТОЮЫ ОН НЕ ЕЛ HTML<KZLM
мояж ты радость
И дальше всё на атрибутах (как в <body>), как будто CSS и не подключали.
бля, Tahoma, Verdana, я как в децтво вернулся
но по-умолчанию вероятно были px
https://metalland.net/board/board.js
бля
Ещё бы добавить дублинское ядро, и будет Web 3.0.
А на улице Герцена будет расщеплённый учебник.
#gologub
Что
https://govnokod.ru/28971
https://govnokod.xyz/_28971/
У 27-летнего преступника есть крайне необычная суперспособность — он может в любой момент намеренно и мгновенно обосраться.