Pull to refresh
4
0.2
Anatolii Mamaev@Serpentine

User

Send message

Предположу, дело в названии.

Причин для минусов и без названия для подобных статей можно накопать достаточно, например, более понятным будет "неформат" для технического ресурса.

Ну или еще - автор разместил статью в хаб "Лайфхаки для гиков". Интересный такой лайфхак - рулить производством за несколько миллионов, я скажу. Для такого нужен определенный склад ума и характер ну и стартовый капитал, не каждый "гик" потянет.

По этой статье доход должен быть от 80млн.руб. либо ущерб от 16млн.руб. Плюс для установления факта ограничения конкуренции требуется заключение специалиста ФАС.

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

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

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

Однако я не считаю, что следует их фотки публиковать на открытом ресурсе, да и вообще где-то публиковать. Такое должно в индивидуальном порядке решаться ну или в рамках УК / КоАП / ТК РФ в отдельных случаях. Человек может измениться в конце концов (или нет).

Знаю, что имеются разные закрытые чатики в вайбере или группы в ВК с определенной заинтересованной аудиторией "работодателей", где они делятся даже фотками паспортов.

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

Кто уже успел минус статье вкатить ?

Я минус не ставил (это технически невозможно, т.к. только авторы статей с кармой не меньше 5 могут их ставить), но если бы мог влепил бы только за фотку работника с такой подписью:

Он не выдержал естественный отбор и больше у меня не работает

У меня есть сомнения, что ее публикация была с согласия этого человека. Нет времени проверять законно это или нет (может и законно), но мне бы воспитание не позволило это на всеобщее обозрение выкладывать с таким комментарием.

Если что, сам в мебельной сфере проработал где-то 8 лет на разных должностях.

Я скорее имел ввиду полный рефакторинг, нежели именно переход на новый стандарт С

Видимо, я просто не так понял.

Окей, Раст гарантирует нам, что мы не отстрелом себе правую ногу, но по всем остальным конечностям все ещё можно стрелять. 

Учитывая, что в "безопасной" версии объем кода на Расте сопоставим с оставленным сишным кодом, а львиная доля так и осталась на asm'е, речь будет идти скорее про пару пальцев на правой ноге.

Интересно, а можно было переписать с "небезопасного С" на более безопасный С(с соблюдением современных стандартов, рекомендаций, использованием стат. анализаторов и т.д.)

Проект dav1d "относительно" свежий по меркам выхода сишных стандартов (2018г.). Да, стандарт там C99 (только без VLA и некоторых примочек), C11 для потоков и современный POSIX. Смысла в тогда вышедшем С18 они при разработке, наверное, не видели.

Учитывая, что целью поставили кроссплатформенность и достижение максимально возможной скорости, чтобы преодолеть временное отсутствие аппаратного декодера AV1 (он уже появился 3-4 года назад если что), думаю, им новый C23 не подойдет, т.к. он до сих пор не опубликован и, соответственно, не так широко поддерживается. Да и насколько быстрее будет код на C23, это другой вопрос.

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

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

char* read_user_input(void) {
	rl_getc_function = getc;
	fflush(stdout);

	// Буфер ввода (то есть получаем вывод через readline с новой строки с окрашиванием в цвета для красоты)
	char* input_buffer = readline("\n\033[2m╰─>\033[0m\033[0;36m $ \033[0m");

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

Кстати, этот код только приведен только в статье, в репе реализация уже другая.

Про кучу опечаток и странных речевых оборотов я вообще молчу. С самого начала:

И его знать, нет, не обходимо, но довольно желательно.

Я запутался от такого отрицания отрицания.

Скромненько выскажусь, что ассемблер в таких количествах - это антипатиерн.

Статья же в хабе "Ненормальное программирование" + автор пишет, что:

Эта статья появилась на свет, потому что я хотел улучшить свои знания ассемблера заодно сделав чего-нибудь интересное и мотивирующее.

Да и в целом текст написан в развлекательном ключе и перевод отличный, а нецензурированный вдвойне классный! Побольше бы таких статей/переводов, вместо всякого унылого треша от нейросеток.

Можно попросить, чтобы вернули если очень надо.

Наверное не стоит, т.к. если честно, то использовать С с Direct2D или такими сложными API как DirectX 11 или 12 даже с поддержкой производителя - то еще извращение. Если с OpenGL такое прокатит, то вот с ними - нет. Вся математика у них с перегруженными операторами.

Пользуясь случаем , а зачем вам именно C, в не C++?

Как я говорил, я не профессиональный программист. Прихожу с работы уставший, и если на обычном С с воодушевлением пишу, то при переходе на C++ меня почему-то начинает клонить в сон, писать долго, многое не знаю как написать. Обычно даже C++ туториалы переписываю на простой С. Из последних переписал простой 3D шутер. Было интересно.

В MSVC Long Double всегда был 64 бит, но это также не является отклонением от стандарта.

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

И проголосовать

Там обсуждение трехлетней давности.

VLA также опционально не реализован в MSVC, некоторые считают что и в GCC не нужно было реализовывать.

Они много всего не реализовали, как и gcc много всякого реализовал, на первый взгляд, лишнего (это шутка). Лично мне эти приколы с VLA тоже непонятны - ломается преимущество языка - zero runtime.

В целом с MSVC работать на С гораздо неудобно даже не из-за ограниченной поддержки, а потому что они свои (вроде как даже нативные и написанные на С) API ломают в неожиданное время и в неожиданном месте. Я не профессиональный программист и несколько дней убил, пытаясь запустить свою программу на С с Direct2D и только потом наткнулся на запись в их блоге, что они сишные заголовки удалили из SDK.

Только по этой же ссылке написано, что:

MSVC doesn't support the _Complex keyword or native complex types. The Universal CRT <complex.h> uses implementation-specific macros to achieve the same effect. For more information, see C complex math support.

Насколько я помню, обязательную поддержку комплексных чисел убрали начиная с С11.

Но вообще в MS особо не заморачиваются на этот счет, к примеру, у них long double 64 битный, тогда как раньше был 80.

Есть компиляторы которые всем глобальным переменным присваивает ноль если мы не сделали свою инициализацию.

Может вы имеете ввиду "локальным переменным", т.к. неинициализированные глобальные переменные по стандарту и так обнулены.

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

Текстовую портянку для печати сорцов можно составить при помощи Unix консольных утилит и скриптом добавить в эти логи для печати имена файлов, даты и баннеры конца файла.

Речь ведь шла про шапки над функциями (4), а не только про начало/конец файла. Вы недооцениваете упоротость бюрократов. Они могут сверить исходники с распечаткой и увидеть несоответствие, и никого не будет интересовать что компилятор комментарии игнорирует.

Оффтоп конечно, но мне как-то раз проект нормативного акта так перед публикацией завернули - в текстовом файле в системе электронного документооборота 2 подписанта из 8 стояли не в том порядке, как в оригинале документа (требования как они должны были располагаться не было).

Если я правильно понимаю, то ГОСТ Р 51904-2002 "Программное обеспечение встроенных систем. Общие требования к разработке и документированию" таки предусматривает, что исходный код может быть напечатан на бумаге (в отдельных случаях), отсюда и требования к шапкам определенной длины и т.п.

Там же в п. 8.3.4 "Просмотры и анализы исходного кода" и про гарантии того, что он не содержит неописанных функций, "нежелательных" операторов и структур и иную "точность и непротиворечивость".

По логике стандартизаторов, отход от установленного форматирования это как если чертежник начертил деталь розовым фломастером и размеры бы не везде написал - типа и так по линейке измерить можно, я ведь точно начертил.

Вторая строка кода из решения:

int f[1001]={0},n,m,sum=0;

По сишному стандарту (§6.7.9 или 6.7.8 если до С11) неинициализированные глобальные переменные обнуляются. А на практике все эти глобальные переменные из примера (в т.ч. явно инициализированные нулем) разместятся в сегменте .bss и обнулятся.

Не инициализировать явно нулями глобальные переменные n и m, в то же время инициализировать нулями глобальные массив f и sum, это косяк/копипаста или какое-то неизвестное мне кунг-фу?

Наверное в любой современной читалке имеется что-то вроде избранного или закладок. Мануалы читать надо.

Например, в SumatraPDF есть возможность добавить страницу в "избранное" (Ctrl+B). Соответственно, когда боковая панель с этими избранными страницами видна, то можно щелчком мыши переходить на нужную. В эту панель также можно добавлять страницы и из других книг.

Я читаю книги по CS, Си, Unix, структуры данных, алгоритмы и т.п. Эти вещи очень долго устаревают.

Например, Хэзфилд Р., Кирби Л. "Искусство программирования на C" - 2001г., отдельные главы можно читать как художественную литературу или вообще по диагонали (есть пара абзацев про факс и UseNet, но подобного относительно мало), другие (напр., касающиеся обработки данных) читаешь более вдумчиво, параллельно с другими источниками. Код в книге, что характерно, по большей части не устарел и компилируется, т.к. используется стандартная библиотека.

Про второе издание K&R 1988г., думаю, и говорить не стоит.

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

Читаю по 2-3 книги параллельно. Все электронные.

Одну-две (в зависимости от прорабатываемой темы) на работе со старого смартфона, т.к. работаю в цехе и руки отмывать от масла и металлической пыли дольше, чем длятся перекуры по 5-15 минут (в сумме из 10-часовой смены, получается около 40-50 минут на чтение). Получается иногда до 40 страниц за смену прочитать, если материал понятен или уже был в другой книге. Телефон старый и интернета в нем нет.

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

Веду записи, какие книги прочел, когда разбогатею, куплю бумажные и сдам в какую-нибудь библиотеку, если конечно разбогатею и смогу их найти в продаже. Думаю, так будет правильно.

Но помимо мусора в кадре Urban Chaos одновременно было сильно меньше NPS и машин, с которыми игрок мог взаимодействовать, как ему заблагорассудится, и они реагировали на его действия по всякому, как хотя бы в той же GTA 3.

К сожалению, с годами с подобным сарказмом всё хуже и хуже

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

Information

Rating
2,685-th
Location
Россия
Registered
Activity

Specialization

Программист
C
C++