Telegram Group & Telegram Channel
🩼 "Временные" костыли...

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

В 90-е многие приложения определяли версию ОС предельно примитивно: например, искали в строке "9" и считали, что перед ними Windows 95 или 98. Соответственно, если бы Microsoft выпустила "Windows 9", такие программы легко приняли бы её за Windows 95/98, и последствия предсказать было бы сложно.

Microsoft всегда трепетно относилась к обратной совместимости, поэтому версия про "костыльный" код звучала правдоподобно. Официально в компании объясняли пропуск "девятки" маркетингом и желанием подчеркнуть разрыв поколений. Но факты подтверждали миф: в открытых репозиториях реально находили куски кода на Java, где проверка шла именно по названию ОС, а не по номеру версии. То есть такие костыли действительно существовали. Ирония в том, что из-за них у нас нет Windows 9, а "десятка" стала новой точкой отсчёта для всей планеты.

Другой из классических примеров "вечного костыля" - история с високосным 1900 годом в Microsoft Excel. Если ввести в таблицу дату 29 февраля 1900-го, программа примет её как корректную, хотя в календаре такого дня никогда не существовало (если что, 1900-й год не был високосным).

И это не случайный баг, а вполне осознанное решение разработчиков. Дело в совместимости с легендарным табличным процессором Lotus 1-2-3. Когда-то его создатели решили считать 1900-й високосным, чтобы не усложнять расчёт дат. Microsoft, создавая Excel, пошла на хитрость - скопировала логику Lotus вместе с ошибками. Так Excel стал считать 1900 год високосным, чтобы пользователи без проблем импортировали таблицы из Lotus, даже если даты там изначально были неправильными.

Разумеется, со временем костыль обернулся проблемами. Формально в Excel появилось смещение. Microsoft знает об этом и прямо говорит, что исправлять баг слишком дорого. Любая попытка "починить" приведёт к тому, что миллионы старых файлов окажутся сдвинутыми на один день, формулы перестанут работать, а совместимость разрушится.

В итоге компания оставила всё как есть. Пострадала только одна функция - вычисление дня недели для дат до 1 марта 1900 года. Но такие экзотические значения почти никто не использует, поэтому аномалия живёт по сей день, а фантомный 29 февраля 1900-го превратился в мем. Такие вот костыли...

#Разное
5👍46🔥1712😁76💯5222😱1



group-telegram.com/it_secur/3852
Create:
Last Update:

🩼 "Временные" костыли...

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

В 90-е многие приложения определяли версию ОС предельно примитивно: например, искали в строке "9" и считали, что перед ними Windows 95 или 98. Соответственно, если бы Microsoft выпустила "Windows 9", такие программы легко приняли бы её за Windows 95/98, и последствия предсказать было бы сложно.

Microsoft всегда трепетно относилась к обратной совместимости, поэтому версия про "костыльный" код звучала правдоподобно. Официально в компании объясняли пропуск "девятки" маркетингом и желанием подчеркнуть разрыв поколений. Но факты подтверждали миф: в открытых репозиториях реально находили куски кода на Java, где проверка шла именно по названию ОС, а не по номеру версии. То есть такие костыли действительно существовали. Ирония в том, что из-за них у нас нет Windows 9, а "десятка" стала новой точкой отсчёта для всей планеты.

Другой из классических примеров "вечного костыля" - история с високосным 1900 годом в Microsoft Excel. Если ввести в таблицу дату 29 февраля 1900-го, программа примет её как корректную, хотя в календаре такого дня никогда не существовало (если что, 1900-й год не был високосным).

И это не случайный баг, а вполне осознанное решение разработчиков. Дело в совместимости с легендарным табличным процессором Lotus 1-2-3. Когда-то его создатели решили считать 1900-й високосным, чтобы не усложнять расчёт дат. Microsoft, создавая Excel, пошла на хитрость - скопировала логику Lotus вместе с ошибками. Так Excel стал считать 1900 год високосным, чтобы пользователи без проблем импортировали таблицы из Lotus, даже если даты там изначально были неправильными.

Разумеется, со временем костыль обернулся проблемами. Формально в Excel появилось смещение. Microsoft знает об этом и прямо говорит, что исправлять баг слишком дорого. Любая попытка "починить" приведёт к тому, что миллионы старых файлов окажутся сдвинутыми на один день, формулы перестанут работать, а совместимость разрушится.

В итоге компания оставила всё как есть. Пострадала только одна функция - вычисление дня недели для дат до 1 марта 1900 года. Но такие экзотические значения почти никто не использует, поэтому аномалия живёт по сей день, а фантомный 29 февраля 1900-го превратился в мем. Такие вот костыли...

#Разное

BY infosec




Share with your friend now:
group-telegram.com/it_secur/3852

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

But because group chats and the channel features are not end-to-end encrypted, Galperin said user privacy is potentially under threat. The Dow Jones Industrial Average fell 230 points, or 0.7%. Meanwhile, the S&P 500 and the Nasdaq Composite dropped 1.3% and 2.2%, respectively. All three indexes began the day with gains before selling off. You may recall that, back when Facebook started changing WhatsApp’s terms of service, a number of news outlets reported on, and even recommended, switching to Telegram. Pavel Durov even said that users should delete WhatsApp “unless you are cool with all of your photos and messages becoming public one day.” But Telegram can’t be described as a more-secure version of WhatsApp. Despite Telegram's origins, its approach to users' security has privacy advocates worried. In this regard, Sebi collaborated with the Telecom Regulatory Authority of India (TRAI) to reduce the vulnerability of the securities market to manipulation through misuse of mass communication medium like bulk SMS.
from it


Telegram infosec
FROM American