А еще Cool Story. Как-то раз меня уволил лично CIO "одним днём" (но я узнал об этом чуть раньше, и знал всю процедуру). В частности, нужно вернуть корпоративный ноут и лично ему назвать пароль для расшифровки диска (там диск полностью VeraCrypt шифровался). Я сменил его на "Пошел ты на ъй, Такой-то такой-тович")
Не буду называть страну (в профиле есть), но в нулевых/начале десятых даже в IT (а может даже ОСОБЕННО в IT) было стандартной практикой при приеме на работу писать заявление на увольнение "по соглашению сторон", без даты, но с подписью.
Жизненно там всё. Путь от откинувшевося зека-бомжа, собирателя стеклотары до Авторитета, который к Богам с двух ног без стука в кабинеты заходит. Хоть сериал снимай: "Бандитский Ввандерфелл"
Правильный вопрос. Останутся. Для приложений использующих chromayakoza[-1 или менее от актуальной].dll. Подход «как в DirectX» — это компромисс. Чтобы новые приложения могли использовать новые фичи и багфиксы, старые при этом не ломались, а новая версия библиотеки была по‑сути «патчем» предыдущей.
Но какая альтернатива? Если бы на этот вопрос кто‑то нашел (желательно простой) ответ — премию Тьюринга ему! Linux с его «вечнозелёной» libc.so.6 тоже не лишен этой проблемы кстати. Там просто она гораздо более изящно «под коврик» спрятана.
Эх, кастомные кассетные loader-ы... Сейчас мне 46 и я до сих пор ими увлекаюсь, с 14-ти. Меня тогда сразу зацепил загрузчик Exolon - там где загрузка идёт без полос на бордере, но отсчет времени до конца загрузки - это вращающийся счётчик! Как в автомобиле или электрощитке! А потом... ой чего я только не видел и не декомпилировал! Например, лоадер в котором в процессе загрузки с кассеты (а там же реалтайм и жесткие тайминги) можно было играть в мини-игру!!!
Сейчас - у меня есть "реал" и магнитофон. И мой собственный лоадер, на который я перевёл большинство своих любимых игр. Я его называю "2BL" - то есть "Two-Blocks-Loader". Его фишка в том, что он использует стандартный загрузчик из ROM, но при этом первый блок содержит сам загрузчик, заставку, и распаковщик второго блока. После загрузки он перекидывает код загрузки и распаковки второго блока в буфер принтера по адресу 23296 (там 256 байт, но этого более чем достаточно), и грузит второй, сжатый MegaLZ блок, причем с таким расчетом чтобы его последний байт "упёрся" в 0xFFFF. А далее - распаковщик (размером всего в 96 байт) разворачивает его куда следует, и запускает игру. Сжатие как правило в 1,5 - 2 раза (а следовательно и скорость загрузки). Никаких спецэффектов - всё только ради максимально быстрой загрузки стандартной процедурой из ROM.
Рефакторингом? Как будто это что-то плохое. Наоборот, разработчики и рады бы, но "факинбизнес" требует фич. "переписыванием со Scala на GO" - seriously? Ни один team-lead/architect такого не допустит по желанию левой пятки разработчиков и без одобрения CIO/CEO. Ну а про "закругление кнопок" - вообще не представляю программиста которому было бы на это не плевать (но менеджерьё заставляет). Хотя на любом современном фреймворке - не программистское это дело.
Разработчики железа и ПО для него зачастую ОЧЕНЬ разные люди. Более того: хуже когда отнюдь неплохие разработчики отнюдь неплохого железа берутся за драйверы, вместо того чтобы открыть datasheet-ы, спецификации и т.д. Я часто задаюсь вопросом: "что и от кого вы прячете?! А главное: зачем?"
А и правда, как так? Истории Therac-25 или Boeing никого не то чтобы не научили, индустрия разработки отреагировала в лучшем случае отсылкой к подготовленным лучшими юристами «Legal Disclaimer». А иногда — как Microsoft в лицензионном соглашении Windows 95 (кстати, а его кто‑то читал? Именно Windows 95?) Они в нём главным образом не себе отмазки лепили — а Java пинали! Так что не удивляюсь почему на них Sun (теперь уже Oracle) агрились. Там было про то что «мы не можем гарантировать того, что какая‑то java в Нашей Операционной Системе будет работать стабильно и не нанесет вреда жизни и здоровью людей». Это было лирическое (но важное) отступление.
Так вот, регулирование, сертификация, проверки и.т.п. — они таки очень даже существуют. Не в стране, на языке которой я пишу этот коммент, и естественно не на уровне Android‑приложения «Пиццерия Дона Корлеоне Online». Но рассказывать про это я не могу и не хочу.
Teams — очень хороший и показательный пример. Но! Там они играют своим софтом и «на своём поле». Хотя Teams For Linux, что ожидаемо, таскает за собой Chromium, но спасибо на том, что он там работает, причём на удивление пристойно, и UI/UX неотличим от Windows/MacOS. Хотя памяти жрет как... Chromium)
Здесь можно было бы посмотреть, как та же Microsoft решила эту проблему в DirectX. Решение не идеальное (а что в этом мире идеально?) но они его нашли. Есть базовая (точно не помню, нет Windows под рукой) dx3d.dll, и далее dx3d_35.dll, dx3d_36.dll, dx3d_37.dll... dx3d_48.dll, и т. д. Последующие — не заменяют, а дополняют и/или переопределяют функционал предыдущих. Да, «адочек» еще тот, но хоть что‑то в нужном направлении! Сравните с уже упомянутой мной libc.so.6 в Linux. Но там — Surprise, Surprise — «под капотом» — устроенно примерно так же, как у Microsoft с DirectX‑библиотеками (только всё в одном файле, отсюда и иллюзия железобетонной стабильности). Хотя часто (но далеко не всегда) игры тянут к себе «под одеяло» свой набор тех же самых библиотек. А пресловутую msvcrt — действительно, каждый калькулятор предпочитает в свой каталог положить, «как бы чего не вышло».
А сформулировать всё это можно одним выражением: «Всеобщий кризис доверия к системе» (и как следствие — системным библиотекам)
Но с другой стороны: Windows, MacOS, Android, Linux — многим хочется быть сразу и везде. И Electron дал такую возможность. Несмотря на цену (которую платит конечный пользователь), а для разработчиков и тем более менеджмента — это же Silver Bullet какая‑то!
https://habr.com/ru/articles/79163/
Вспомнилось. 2009 год. Умели же!
Lightshot напряглись?
А, не, выдохнули
Ну как бы есть. Но в отделе кадров, в сейфе)
А еще Cool Story. Как-то раз меня уволил лично CIO "одним днём" (но я узнал об этом чуть раньше, и знал всю процедуру). В частности, нужно вернуть корпоративный ноут и лично ему назвать пароль для расшифровки диска (там диск полностью VeraCrypt шифровался). Я сменил его на "Пошел ты на ъй, Такой-то такой-тович")
Не буду называть страну (в профиле есть), но в нулевых/начале десятых даже в IT (а может даже ОСОБЕННО в IT) было стандартной практикой при приеме на работу писать заявление на увольнение "по соглашению сторон", без даты, но с подписью.
Лучший коммент на YouTube к этому мему:
"Сижу я на толчке, и понимаю, что..."
Жизненно там всё. Путь от откинувшевося зека-бомжа, собирателя стеклотары до Авторитета, который к Богам с двух ног без стука в кабинеты заходит. Хоть сериал снимай: "Бандитский Ввандерфелл"
Дальше вы не пройдете, пока не получите бумаги.
del. Опередили.
А что позволяет?
...при этом заранее купив за очень дорого места в нём.
Правильный вопрос. Останутся. Для приложений использующих chromayakoza[-1 или менее от актуальной].dll. Подход «как в DirectX» — это компромисс. Чтобы новые приложения могли использовать новые фичи и багфиксы, старые при этом не ломались, а новая версия библиотеки была по‑сути «патчем» предыдущей.
Но какая альтернатива? Если бы на этот вопрос кто‑то нашел (желательно простой) ответ — премию Тьюринга ему! Linux с его «вечнозелёной» libc.so.6 тоже не лишен этой проблемы кстати. Там просто она гораздо более изящно «под коврик» спрятана.
Эх, кастомные кассетные loader-ы... Сейчас мне 46 и я до сих пор ими увлекаюсь, с 14-ти. Меня тогда сразу зацепил загрузчик Exolon - там где загрузка идёт без полос на бордере, но отсчет времени до конца загрузки - это вращающийся счётчик! Как в автомобиле или электрощитке! А потом... ой чего я только не видел и не декомпилировал! Например, лоадер в котором в процессе загрузки с кассеты (а там же реалтайм и жесткие тайминги) можно было играть в мини-игру!!!
Сейчас - у меня есть "реал" и магнитофон. И мой собственный лоадер, на который я перевёл большинство своих любимых игр. Я его называю "2BL" - то есть "Two-Blocks-Loader". Его фишка в том, что он использует стандартный загрузчик из ROM, но при этом первый блок содержит сам загрузчик, заставку, и распаковщик второго блока. После загрузки он перекидывает код загрузки и распаковки второго блока в буфер принтера по адресу 23296 (там 256 байт, но этого более чем достаточно), и грузит второй, сжатый MegaLZ блок, причем с таким расчетом чтобы его последний байт "упёрся" в 0xFFFF. А далее - распаковщик (размером всего в 96 байт) разворачивает его куда следует, и запускает игру. Сжатие как правило в 1,5 - 2 раза (а следовательно и скорость загрузки). Никаких спецэффектов - всё только ради максимально быстрой загрузки стандартной процедурой из ROM.
Рефакторингом? Как будто это что-то плохое. Наоборот, разработчики и рады бы, но "факинбизнес" требует фич. "переписыванием со Scala на GO" - seriously? Ни один team-lead/architect такого не допустит по желанию левой пятки разработчиков и без одобрения CIO/CEO. Ну а про "закругление кнопок" - вообще не представляю программиста которому было бы на это не плевать (но менеджерьё заставляет). Хотя на любом современном фреймворке - не программистское это дело.
Разработчики железа и ПО для него зачастую ОЧЕНЬ разные люди. Более того: хуже когда отнюдь неплохие разработчики отнюдь неплохого железа берутся за драйверы, вместо того чтобы открыть datasheet-ы, спецификации и т.д. Я часто задаюсь вопросом: "что и от кого вы прячете?! А главное: зачем?"
А и правда, как так? Истории Therac-25 или Boeing никого не то чтобы не научили, индустрия разработки отреагировала в лучшем случае отсылкой к подготовленным лучшими юристами «Legal Disclaimer». А иногда — как Microsoft в лицензионном соглашении Windows 95 (кстати, а его кто‑то читал? Именно Windows 95?) Они в нём главным образом не себе отмазки лепили — а Java пинали! Так что не удивляюсь почему на них Sun (теперь уже Oracle) агрились. Там было про то что «мы не можем гарантировать того, что какая‑то java в Нашей Операционной Системе будет работать стабильно и не нанесет вреда жизни и здоровью людей». Это было лирическое (но важное) отступление.
Так вот, регулирование, сертификация, проверки и.т.п. — они таки очень даже существуют. Не в стране, на языке которой я пишу этот коммент, и естественно не на уровне Android‑приложения «Пиццерия Дона Корлеоне Online». Но рассказывать про это я не могу и не хочу.
Teams — очень хороший и показательный пример. Но! Там они играют своим софтом и «на своём поле». Хотя Teams For Linux, что ожидаемо, таскает за собой Chromium, но спасибо на том, что он там работает, причём на удивление пристойно, и UI/UX неотличим от Windows/MacOS. Хотя памяти жрет как... Chromium)
Здесь можно было бы посмотреть, как та же Microsoft решила эту проблему в DirectX. Решение не идеальное (а что в этом мире идеально?) но они его нашли. Есть базовая (точно не помню, нет Windows под рукой) dx3d.dll, и далее dx3d_35.dll, dx3d_36.dll, dx3d_37.dll... dx3d_48.dll, и т. д. Последующие — не заменяют, а дополняют и/или переопределяют функционал предыдущих. Да, «адочек» еще тот, но хоть что‑то в нужном направлении! Сравните с уже упомянутой мной libc.so.6 в Linux. Но там — Surprise, Surprise — «под капотом» — устроенно примерно так же, как у Microsoft с DirectX‑библиотеками (только всё в одном файле, отсюда и иллюзия железобетонной стабильности).
Хотя часто (но далеко не всегда) игры тянут к себе «под одеяло» свой набор тех же самых библиотек. А пресловутую msvcrt — действительно, каждый калькулятор предпочитает в свой каталог положить, «как бы чего не вышло».
А сформулировать всё это можно одним выражением: «Всеобщий кризис доверия к системе» (и как следствие — системным библиотекам)
Но с другой стороны: Windows, MacOS, Android, Linux — многим хочется быть сразу и везде. И Electron дал такую возможность. Несмотря на цену (которую платит конечный пользователь), а для разработчиков и тем более менеджмента — это же Silver Bullet какая‑то!
+1. Особенно популяризовал деление на "Мышеводов" и "Трактористов" Лукьяненко в первом "Лабиринте отражений"
А во времена КПК появились термины "Пыцалка" и "Тыцальце"