Михайлов Алексей Анатольевич @MinimumLaw
Linux Kernel, Bare metal, Embedded developer
Информация
- В рейтинге
- 1 953-й
- Откуда
- Пушкин, Санкт-Петербург и область, Россия
- Дата рождения
- Зарегистрирован
- Активность
Специализация
Инженер встраиваемых систем, Архитектор программного обеспечения
Старший
От 350 000 ₽
Может быть. Мне, как человеку заставшему код на 80186 без всяких MSDOS и в последствии занятым как раз низкоуровневым для ПК (в основном для Linux), да контроллерами, включая незабвенные 8051 с очень похожим ассемблером, уже начинает казаться что это нечто типа набившего оскомину Cobol'а у импортных финансистов.
Типа есть и есть. По возможности не трогай, чтоб не воняло. А если вдруг что, то немного денег кинем и нам все починят. Потому сюда особо народ не рвется. Навыки нужны несколько специфичные, денег больших нет, спрос и ответственность офигенные, результата работы в идеале не видно вообще. Стоишь ядовитой слюной забрызганный в стиле мы круты, а вы все криворукие, но ничего скоро наша ржа вас всех сожрет и не подавится. Только вот как-то не жрет. Скотина такая. Самим выкручиваться приходится.
Это если есть трекер. И если есть проблема. Мой проект, как правило, при сборке выдает пяток варнингов, все они результат кода типа
И даже если трекер есть, то я добавлю сюда код в трекере. Ошибки и предупреждения при сборке мозолят глаза. И когда их становится критично много с ними приходится или как-то бороться или удалять как неважные.
Безусловно, такой подход требует написания "чистого кода", в котором собственные предупреджения не потеряются на фоне многочисленных предупреждений компилятора (к слову ненавижу VHDL за генерацию простыни предупредений в абсолютно любом проекте - но это и не про программирование как таковое). Впрочем, мне кажется что это просто правила хорошего тона, и говорить о их соблюдении как-то странно. Они или безусловно соблюдаются, или безусловно игнорируются.
Да уж. Прямо детство. Не пионерское, постарше. Но детство. debug.com, правда, не сильно любили. Скорее Turbo Debuger, а потом и более интересные варианты. Буквально следом должен идти перевод Криса Касперски о том, как взломать хиты времен MsDOS.
Надо ли только это хоть кому-то? Уже и в ассемблер для контроллеров мало кто заглядывает, что тут про специфичную археологию времен DOS да еще с "$"-терминированными строками. Хотя, безусловно, там было очень много интересного.
Смотря что брать за критерии оценки. Я видел классные проекты, сделанные единственным реально высококлассным разработчиком. К сожалению, я гораздо чаще видел, мягко говоря, весьма посредственные проекты, сделанные тем, кто таковым себя считал. При этом ценность "встречных плюшек" обычно была не очевидна ни для кого, кроме самого автора.
И не надо меня спрашивать про реальные проекты. Я не имею привычки злопамятно хранить плохие решения и не занимаюсь и не занимался их сопровождением. В лучшем случае доработкой, но обычно переработкой. И, самое главное - помимо проекта надо доставать контекст. Это практически не возможно в рамках комментариев и ровно по тем же причинам отсутствует в вашей статье. Не брать же за реальные примеры описание всяческих конструкций, выполненных дендрофекальным методом на потребу дня.
Плюс всегда есть возможность сказать - ну это же точно делал не мастер. Я же не такой. Круче меня только яйца, и то если очень долго варить. Критичнее надо относиться. И в первую очередь к себе. В частности рекомендация не писать простой код (без крайней на то необходимости) - это явное наплевательское отношение к тем, кто по каким-то причинам будет этот код сопровождать. И, на самом деле, совершенно не важно с какой стороны пятилетки от сдачи кода это понадобится. Включая (но не ограничиваясь) наплевательское отношение к будущему себе. Впрочем, оговорюсь, есть моменты когда сложный код необходим.
А пользоваться реально хорошими решениями сторонних разработчиков - да безусловно. Но только в том случае, если персонально тебе кристально понятно как они работают и какие накладные расходы создают для твоего проекта. Иначе это будет не проект, а монстр-Франкенштейн (ну или лоскутное одеяло, если такая аналогия понятнее). Да, оно будет работать, но жгучего желания делать так же не вызовет. Что, в свою очередь, соответствующим образом охарактеризует автора.
Ну да, если ты Rockstar и единственный разработчик на проекте, то все так. В остальных случаях надо смотреть. Идеи здравые, но... Видели мы и их последствия. Скажем так - очень часто они не подпадают под "тащи к себе лучшее, из увиденного".
Монолит vs микросервисы или Авианосцы против "москитного флота". Плохо лишь то, что Linux не Hurd или QNX. И при этом каждый свою нишу занял. Статья-то собственно ровно об этом.
А что бывает при использовании плюсов для драйверов - это надо поспрашивать у Apple и Hackinoth'езаводчиков. Там плюсы для ядра - это как раз mainstream. По собственному пользовательскому опыту все довольно неплохо. Но и зоопарк железа (даже с учетом Hackintosh'ей) там несравнимо меньше. Как и количество желающих портировать драйвера из того же Linux. Если сеть еще как-то, то звук и видео - совсем глухо.
Любопытно одно - за развитие ядра агитируют люди, которые в подавляющем большинстве своем для ядра ничего не писали. Линус сказал Rust'у быть - значит быть. По большому счету это повод пошевелить ряд подсистем, которые другими методами подвинуть ну никак не получается. А уж что там будет - это будет видно. Когда-то и на Go драйвера писали. И вроде бы тоже кричали, что "быстрее и безопаснее одновременно".
Удивительно, но ровно наоборот. За весь мой уже около 30-летний опыт работы могу четко сказать - на общих основания я реально устраивался всего дважды. И оба раза договаривался, что испытательный срок в режиме совмещения со старой работой.
В одно из этих двух брали всех вообще, но обстановка такая, что меня хватило ровно на испытательный срок в три месяца и один день. Закончит начатое (дело чести) и свалить в закат. Реально работать так, как желали тамошние руководители, было просто невозможно. Один день сверху и то по причине того, что руководитель красавчик...
Второе - полная противоположность. Шикарный онбоардинг, отличные руководители, для работы все есть. Задачи понятные. Деньги вменяемые. Реально прямо сказка. От сказки отличается только тем, что работать надо. А работать реально надо и много. Тоже ушел по собственной инициативе с середины испытательного срока. Очень уж хорошее предложение сделала моя любимая контора. До сих пор временами червячок гложет - а правильно ли я поступил.
Все. Остальное исключительно по рекомендации. И да, исключительно совместителем. Везде уходил или по сокращению в связи с очередным кризисом, или потому что все - совместитель уже не тянет. Но консультирование - всегда пожалуйста. И до сих пор иногда пишут и звонят.
И да - основная работа последние 25 лет одна. Удивительно, но иногда зовут даже те, с кем в свое время сильно ругался, не разделяя подходы к проектированию.
Но личный опыт - плохой советчик. Это только один из множества разных вариантов. Так тоже бывает
Да будет он самый!
Понимаю - личный опыт плохой советчик. Но тем не менее. К этому возрасту уже не ты должен искать работу, а работа тебя. Сделанные проекты - лучшая рекомендация. Воспитанные тобой спецы при случае именно учителя позовут туда, где самим страшно. Мир тесен, на самом деле. Кто что может, кто чем занимается - все в округе знают.
Для этого, конечно, надо до 40 лет работать, а не профессионально собседования проходить и дольше трех лет на одном месте не задерживаться. Да не быть "специалистом широкого профиля" (узкой колеи). Вот, собственно, и все. Поломать этот вариант может только оченб серьезный кризис. К сожалению и от такого никто не застрахован.
"Когда тебе за 45, ты уже не сеньор — ты древний артефакт." - отлично. Я согласен. Я строчкой из анекдота отвечу - "когда ваши молодые и амбициозный сбегут и вырастут вы знаете кому звонить". Но озвученная фраза одна из причин, по которым стартапы проваливаются. Впрочем, это нормально. Это их путь, и их выбор. Работы и без них хватает.
Нормально. Там не ошибки, как таковые. Скорее моменты, которые слегка режут слух тем, кто серьезно телефонией занимался. Знаете, как набившее оскомину "не дырка, а отверстие". Не думаю, что это стоит исправлять. Ну, допустим, про тот же DTMF странно звучит "комбинацией двух тонов четырех различных частот". Сравните это с написанным на вики. А вообще-то и частоты те, не просто так подбирались... Но это все уже залезая в дебри. Боюсь меня сегодняшнего уже не хватит. А перепечатывать нетленку "Сигнализация в сетях связи" как-то не правильно.
Вот как всегда... Самая интересная часть, а именно как по двум проводам передается голос в дуплексе, да так что полярность подключения с любой из сторон не имеет значения, в лучшем случае слегка приоткрыта. А это, собственно говоря, самое важное и интересное в мире аналоговой телефонии. Впрочем, реально подробный ответ на этот вопрос достоин отдельной статьи. С уклоном в схемотехнику (может быть даже электротехнику). Только кому это уже интересно?
А так, как старый телефонист, ставлю плюс. Лет тридцать уже не видел этих, некогда знакомых терминов. И бог с ним, с некоторым количеством ошибок. Например, про двухтональный сигнал DTMF, про ручное отключение абонентов и остальное.
Всем, помнящим кто такой Борис Соломонович Гольдшейн, мой пламенный привет.
Да, чудны дела твои... В свое время всем, кто претендовал на звание Advanced User рассказывали про содержимое файла /etc/protocols поясняя что там, и зачем это нужно. А нужно было, хотя бы потому что IP-сети тогда совсем не были безальтернативны. Наоборот, сети на IPX были куда как более в фаворе. А тем, кто хотел Network Administrator еще и про ether-type и зачем нужно оно. Да много еще всякого в сетевых стеках хватает. Например 4addr в 802.11.
Да, конечно - стоило бы еще упомянуть RFC1700 как документ, имеющий непосредственное отношение к данной статье.
... высокие деревья, зеленая трава, бегающие вокруг розовые единороги. Впрочем, возможно у каждого был свой 2003-ий. Ладно, проехали.
С подачи того самого 2003-его (ну может попозже) у нас он не только проглядывает, но весьма активно используется. В гос. секторе точно.
Да скажите проще - это самые ранние терминалы. Я, правда, живьем (именно как пишущую машинку с телефоном) его видел еще дошкольником и младшим школьником. Не поверите - в Сбербанке. В поселке городского типа. Вместе с ламповыми калькуляторами. И да первая персоналка, в привычном смысле этого слова, виделась там же. Судя по обрывочным воспоминаниям она даже работала на UNIX, возможно даже была не персоналкой и терминалом - мне тогдашнему этого было не понять. Первая команда, которую показали была cal - выводила календарь на текущий месяц. Что тонко намекает.
Да, для сомневающихся - год что-то между 1985-1989. Лужский район Ленинградской области.
Как правило, сложность тут одна. Или менять все и сразу, или не трогать. Все, что можно заменить частями, давно заменено. Остальное просто страшно. Долгий простой, большие деньги, необходимость синхронной работы множества специалистов.
В этом плане нам повезло больше. В том период, когда у нас "завтра приходите, компьютеры не работают" было (да и остается) в порядке вещей мы могли себе позволить менять систему частями. Да и не работающий эквайринг тогда не был чем-то из ряда вон (наличка на случай чего всегда была в кармане). Да и расшатано и развалено было все настолько, что построить по новой было проще и дешевле, чем чинить.
Впрочем, чем дольше проблема существует, тем дороже она стоит. В принципе рано или поздно а переделать придется. Обычно, правда, строят альтернативу и дают ей работать в режиме кооперации, постепенно замещая. Почему в штатах так не получается... Не мне судить.
Ну, в общем случае это не так. Другое дело, что есть известная присказка: "Колхоз - дело добровольное. Хочешь - вступай. Не хочешь - расстреляем!" Так и тут. Оба компонента не обязательны. И в принципе без них можно обойтись. Вот только не очень хочется. Да и "современные армы" - уж очень широкое определение.
Да ладно. Не так уж страшен черт, как нам его малюют.
Правда, неплохо бы цифровой схемотехникой владеть. А это не на год в монастыре или как там ее - а, ну да - Школы 21 работы. Потому как к ней без аналога подойти сложно, а аналог безграничен. За то тогда С прост. Почти как ассемблер.
А по какому критерию вы причислили эту работу к классической? Может быть классика это "Капитал" товарища Маркса, а это жалкая новодельная пародия?
Много всякого написано. Много личного опыта. Как положительного, так и отрицательного. А уж "по крайней мере, вывести вашу карьеру из-под удара" - это не про профессионализм, а про карьеризм. Впрочем, каюсь - не читал. Просто не знал, что это оказывается "классика". При случае ознакомлюсь. А вдруг действительно.
Док, я все понимаю, но...
Понятно и бесспорно, что ожирение это зло. Но как лично вы разбираетесь с теми, у кого ИМТ 25-30? Мне кажется, что избыточное рвение ваших коллег по отношению к этим людям, скорее мешает, нежели помогает. У нас не Африка. Один только комплект зимней одежды, который надо носить на себе - далеко не шорты. Что по весу, что по удобству и количеству затрачиваемой энергии. Да и генетика за столько поколений адаптировалась под климат.
Откуда вообще взялась верхняя планка нормы в 25 у.е.? При моих 175 см это 77 кг. Человек, к такими характеристиками выглядит как, простите за сленг, дрищ. Поднять мешок картошки (50 кг) на пятый этаж без лифта в один заход - не верю. Неужели правда кто-то решил, что сила и выносливость не важны, а важна некоторая жилистость и возможность короткого рывка?
Своя история
45 лет, 175см, 84 кг. ИМТ - 27,4. Не менее любимый показатель, а именно окружность живота - 96см (да, +2см к навешиванию клейма "ожирение"). Чуть больше пяти лет назад меня прямо загнали в спортзал. Угрозами в стиле "либо сейчас в зал, либо через три года инсульт". На тот момент у меня было 78 кг (ИМТ 25,4). Никакие доводы, по поводу того что каждый рабочий день час ходьбы (или 7 километров) ежедневно, что лифты до седьмого этажа всегда игнорируются, что летом 18 км до работы и обратно - велосипед, что помимо прочего есть дача, стройка и все остальное - не работают. Раз так, значит мало - добавляем еще.
По итогу вес только в плюс (он, на самом деле в течении года гуляет от 79кг лето до 85 кг зима). Давление только хуже - и разброс больше, и ощущение отклонений хуже. Головные боли, правда, сильно реже стали беспокоить. Да внешний вид поинтереснее стал (что точно побочка - основной целью это точно не было).
Да, бывают. И сильно чаще, чем хотелось бы. Другое дело, что стараниями разработчиков осей и драйверов их не очень видно конечному пользователю.
Да и что считать за обычный "серийный" ПК. Ноутбуки, например, почти поголовно имеют те или иные проблемы. Но опять же - они обычно довольно неплохо спрятаны.
Есть одна проблема. Описание платформы. ACPI точно не лишён недостатков. И не каждый производитель считает нужным вчитываться в эту спецификацию. "И так сойдёт" - это прямо повсеместно. Но и DTB - это полная анархия. Там всё настолько платформо-специфично, что просто кошмар. Шансы на то, что U-Boot каким-то образом правильно сделает ACPI ничтожны, а без него и UEFI как таковой мало интересен.
Во всяком случае так ситуация выглядит с моей колокольни и на сегодня.
Право слово, прежде чем ловить оттенки смыслов стоит раз-другой попробовать. И только потом для себя решить какой из терминов использовать "практически невозможно" или "нецелесообразно". В конечном итоге это синонимы. С разным смысловым оттенком, но синонимы. Я вполне согласен с любым из них.
А что до "Элементарно, Ватсон" - так не боги горшки обжигают. Каждая новая задача кажется невыполнимой, а каждая пару-тройку раз повторенная элементарной. И вся жизнь всегда состоит из рутины элементарных задач и гор невыполнимых. Просто задачи у всех разные. И часть из них только с первого взгляда кажутся достаточно простыми и понятными. Ровно до тех пор, пока их решать не придется.