Posts
1499
Following
Hidden
Followers
Hidden

Несерьёзный Выдумщик

Хватить наделять #Роскомнадзор несуществующими, магическими способностями и сверхсилами.

Касаемо блокировки #XMPP со стороны #РКН, какова реальность:

  1. не блокируется #XMPP
  2. не умеет выявлять и блокировать

Через DPI заглядывать внутрь TLS соединения никто не умеет (чтобы распарсить какой там протокол прикладного уровня).

Оборудование #ТСПУ может:

  • Подглядывать в TLS-сертификаты (SSL-сертификат), когда #TLS v1.2
  • Смотреть на доменные имена в SNI-поле, когда соединения #TLS v1.3.

Начиная с версии 1.3 обмен сертификатами происходит уже в закрытом виде.

Что может РКН?
Взять и заблокировать все известные ему xmpp-сервера по доменам или IP’шникам.

Для этого ваш личный xmpp-сервер должен:

  • быть известен РКН
  • признан как распространитель информации
  • внесён уведомительно в соответствующий реестр.

Хватит тиражировать бред вида одна-бабка-сказала-были-учения

В напряжных ситуациях истеричек с паникёрами квалифицируют провокаторами и уничтожают на месте. Для общественной безопасности и спокойствия.

3
2
3

Несерьёзный Выдумщик

«Власти Дагестана и Чечни по инициативе силовых структур заблокировали Telegram на федеральном уровне»

А зачем нужен вам #xmpp этот или #sip?

А вот затем — что каналы связи нужно свои шифрованные иметь, а не в секретных чатиках телеги списываться.

Свои это когда используешь SIP- или же XMPP-сервер для обмена сообщениями и звонков.

#telegram @russian_mastodon @ru @Russia

2
3
2

Несерьёзный Выдумщик

Edited 20 days ago

Про миграцию на Wayland.
Последние пару лет у меня Xorg оставался на машинах из-за Simple Desktop Display Manager (SDDM).
Несколько месяцев назад #SDDM таки ушёл на #Wayland и больше #Xorg не используется, можно удалять.

  • Пару лет назад претензии к Wayland были, но скорее к его поддержке окружениями и софтом.
  • С год назад почти не осталось нареканий к работе десктопов с Wayland, что не могло напрямую с ним работать, то вращалось через его Xwayland.
  • Последние же месяцы поддержка и переход софта состоялись в полном объёме.

Если что-то из софта потеряло функциональность, вынужденно работая через #Xwayland на тех системах, где нет Xorg, то в этом софте ментейнеры довольно быстро реализовал поддержку Wayland.
Однако, пошло это лишь тогда, когда дистрибутивы стали использовать Wayland в качестве основного GUI-сервера.

Не фанат Wayland, просто #X11 сам по себе и Xorg крайне небезопасны и категорически не способны сделать безопасный десктоп для пользователя. А потому и неизбежен переход на Wayland, альтернатив нет.

И в тоже время, комично наблюдать как толпы жалуются, что якобы Wayland плохой\сырой и т.д. так и не вкурив, о необходимости переключать софт на работу с ним.

Например, можно в /etc/environment вставить:

QT_WAYLAND_TEXT_INPUT_PROTOCOL=zwp_text_input_v2
MOZ_ENABLE_WAYLAND=1
QT_QPA_PLATFORM="wayland;xcb"
SDL_VIDEODRIVER="wayland,x11"

Перезагрузиться и тогда уже составлять впечталение о работе десктопа с Wayland’ом.

Для контроля работы через #Xwayland можно запустить:

qdbus org.kde.KWin /KWin org.kde.KWin.showDebugConsole

Если всё хорошо, то там может не быть ни одного приложения в «X11 Windows» — значит все напрямую через Wayland работают: https://idealists.su/media/590a70fdbaf86a51a982ad028600bd4560cb35e8a5809e541e9cd5845e114022.png

#linux #qdbus #kwin @russian_mastodon @ru @Russia

1
4
2

Несерьёзный Выдумщик

Edited 8 days ago

Всегда есть дефицит наглядных примеров по вопросу rebase vs. merge.
Для убеждения заблудших можно использовать такую публикацию «Чем опасен rebase, или как получилось, что 2*3=5»

Поскольку другие публикации на схожую тематику водянисты, расплывчаты и вообще TL;DR.

Да обрящут заблудшие разум, да не истощится терпение взразумляющих :)

#git #software #SoftwareDevelopment #программирование #разработка #programming @russian_mastodon @ru @Russia

1
3
0

Несерьёзный Выдумщик

Edited 8 days ago

Открытие Эндрю Крапивина о хеш-таблицах и микро-указателях?
Чисто гипотетически, может и актуально, но лишь в чистой и голой computer science теории.
На практике же полно нюансов реализации, сводящихся к оптимизациям конкретных аппаратных платформ.

Например, есть #SwissTable известные с 2018 года, недавно #Golang перешёл на них (с версии 1.24). И до него на SwissTable перейти успел #Rust.

Хеш-таблицы Google SwissTable и Facebook F14 примерно одинаковые, одно лишь вариант другого.

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

Надо ещё много раз поиграться с вариантами реализации какой-либо идеи из чистого computer science. Посмотрев как оно ложится на аппаратную платформу сродни x86-64.

  1. Есть prefetching памяти и работа с ОЗУ идёт через загрузку целиком всей cache line в ЦПУ, даже при обращении на чтение лишь к одному значению в пару байт.

  2. Предыдущий пункт не только про cache misses, но и «локальность данных». Как повышающую производительность, так и приводящих к false sharing при многопоточном использовании структуры данных.  

  3. Необходимо учитывать и размер страницы виртуальной памяти, чтобы снизить «давление» на TLB и уйти от TLB miss.

Для пример, в нагруженных системах используется донастройка системы на huge pages, например, все кто используют модный #DPDK сам по себе или с каким-нибудь #Seastar:

  • Выбравшие не оригинальную #Kafka, а её более производительный аналог #RedPanda.
  • Использующие вместо Apache #Cassandra более производительную #ScyllaDB

Голая теория computer science это хорошо и замечательно, но практика омерзительна свой приземлённостью. Прямой проход перебором по небольшому массиву оказывается быстрее, чем использование binary search tree. И совершенно не важно какого именно красно-чёрного или же АВЛ.

Это не вопрос ретроградства и вызова 40-летней теории :)

#software #SoftwareDevelopment #программирование #разработка #programming @russian_mastodon @ru @Russia

0
2
1

Несерьёзный Выдумщик

Edited 8 days ago

Неплохо рассказывается что добавить в свой:
~/.gitconfig

https://blog.gitbutler.com/how-git-core-devs-configure-git/

Много разных полезностей, такого рода как

  • Чтобы теги автоматом синхронизировались.
  • Список веток отображался по свежести коммитов.
  • Перемещение кода отображалось разными цветами.
  • Выявление был ли файл переименован.
  • Префиксы в diff откуда пришло различие.
  • Алгоритм вычисления разности коммитов.
  • Автоматом разруливать «has no upstream branch».
  • Дописывать чутка сведения в конфликты.
  • Индексирование файлов для ускорение status.

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

#git #software #SoftwareDevelopment #программирование #разработка #programming @russian_mastodon @ru @Russia

0
9
8

Несерьёзный Выдумщик

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

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

Важно, чтобы письма удалённые в папках на сервере почтовый клиент не торопился удалять и у вас в локальной базе.
Потому, возможно, придётся использовать из-за этого не imap, а какой-нибудь древний pop3.
Или же две иерархии папок — одна архивная копия, а вторая отображает текущее состояние папок на сервере.

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

Как правило компании используют сервера эл.почты с #DKIM подписями всего того, что проходит через почтовый сервер — это и заголовок и тела письма. В архиве таком эта подпись сохраняется, так же как и вся остальная служебная информация из полей заголовка.
Доказательная база писем складывается с того, что это криптографически стойкая подпись ключом сервера.
И что в случае обострения противостояний вся переписка якобы должна быть поднята с архива.

Именно по этому, есть практика рассылать некую резолюцию по итогам любой встречи или совещания. Тот самый meeting result, о котором часто упоминают как и про executive summary. Записывать встречи лишний раз не стоит, муторно это, а вот фиксировать договорённости на горячее теми или иными письмами очень даже полезно.

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

Это не описуемо, сколько нервов и сил сохраняется демонстрацией того или иного письма в подходящий момент нужному человеку.

#корпоративизмы #email

0
1
2

Несерьёзный Выдумщик

Миром правят выжившие из ума старпёры?
Непонятно зачем и с чего развязавшие войну?
Чем и как руководствуются эти маразматики?
Вот тут можно послушать ответы зачем и почему это случилось https://rutube.ru/video/e14f34bc2c9197a14fd5fb1004e78edd/

Это речь Джеффри Сакса якобы в Европарламенте (вероятно каком-то из залов для прессконференций 25.02.2025).

Что РФ не разрушала систему контроля за ядерными вооружениями, это сделало США последовательное в несколько шагов и всегда в одностороннем порядке. Что именно США этими действиями поставило мир на грань ядерного апокалипсиса. Поскольку США стали непрерывно угрожать нанести первичный ядерный удар под видом превентивного.

  • Что РФ пыталась дважды восстановить ситуацию общаясь по этим вопросам с США и в декабре 2021 и январе 2022, только после этого начала СВО.   
  • Что уже через семь дней с начала СВО киевские приниматели решений были готовы договариваться, как и РФ, и обе стороны начали договариваться.   
  • Что этот процесс мирного урегулирования был полностью успешен и завершён, но перед подписанием вмешались сторонние игроки.

#геополитика #США #Европа @russian_mastodon @ru @Russia

2
4
2

Несерьёзный Выдумщик

О, да. У нас ведь тоже недавно было, все на говно исходили, истерики устраивали. А как в США, то это нормально, но вы таки посмотрите, у них правительство старается, а у нас ну совсем гандоны… И всем насрать что причина в птичьем гриппе — правительство должно и обязано. И нет пророка в своём отечестве, у нас всё плохо, а вот у них смотрите как власть старается :) не то что наши жирные морды и безумный принтер.

@johan @dimkainc

RE: https://cr8r.gg/users/johan/statuses/114107702974832975

0
0
0

Несерьёзный Выдумщик

Edited 23 days ago

Или вот «токсичность» в новоязе или токсичные отношения?

Тонкий саботаж.

Если кто-то рядом с вами чувствует угрозу из-за вашего успеха или роста, он может попытаться саботировать вас и ваши решения различными скрытыми способами. Саботаж не всегда очевиден и прямолинеен: иногда он проявляется в неправильных советах, искаженной информации или мелких ошибках, которые, складываясь в единую картину, мешают вам достичь своих целей. Например, друг, который забывает рассказать вам важную информацию; член семьи, который нечаянно упускает ключевые детали; коллега, который по ошибке осложняет вам работу. На первый взгляд это может показаться банальной невнимательностью, но если такие случайности повторяются из раза в раз, стоит задуматься — а действительно ли это случайность? Карл Юнг говорил о том, что если человек не может смириться со своими неудачами, он может бессознательно проецировать свою фрустрацию на других, мешая им продвигаться вперед. Для чего? Чтобы самому не чувствовать себя хуже.

 

И оно реально бывает двух видов, эта самая токсичность. Включает и такой вариант:

Тихая конкуренция.

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

#НЛП #новояз #манипуляции #психология

0
0
0

Несерьёзный Выдумщик

Новояз современный содержит перефразированные понятия, давно эксплуатируемые НЛП для саморепликации подобно вирусу:

Абьюзинг или абьюзивные отношения?

Сарказм и презрение, замаскированные под иронию.

Враждебность не всегда проявляется открыто: некоторые люди предпочитают выражать её через саркастические шутки, колкости или иронию, высмеивая вещи, которые бьют по вашим чувствам. Но когда вы пытаетесь им на это указать, они отвечают фразами вроде «Я же просто пошутил, не будь таким обидчивым, ты просто не понял юмора». Это поведение особенно коварно потому, что оно приносит вам чувством дискомфорта, в то время как другой человек сохраняет маску безобидного шутника. При этом явным признаком скрытого презрения такого юмориста является то, что его шутки не приносят вам веселья, а только чувство унижения или преуменьшение ваших достоинств. А главный признак – эти шутки повторяются время от времени по одним и тем же сценариям. Это уже не просто юмор, а признак подавленной враждебности. Юнг утверждал, что наша личная Тень проецируется на других. Тот, кто постоянно использует иронию, чтобы атаковать определенные аспекты вашей личности, тем самым выдает в себе то, что не может принять в самом себе.

#НЛП #новояз #манипуляции

1
0
1

Несерьёзный Выдумщик

Edited 21 days ago

И когда этот ваш open source перестанет страдать хернёй? Free software говорите?

Походу #USAID и другие платят миллионы не только кинозвёздам за поездки на Украину, но и во всякие open source проекты закидывают денег. При условии, что покажут свою ангажированность явным и демонстративным образом.

Free software, вот только не от политики или денег, выделяемых фондами различным «свободным» проектам.

#wxWidgets #OpenSource #software

3
1
3

Несерьёзный Выдумщик

Копируйте важные контакта на SIM’карту из основной памяти телефона, а так же на SD’карточку.

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

У детей и стариков телефоны имеют свойство ломаться, и в незнакомой части города куда им идти? Может они и знают, что потеряшке есть смысл зайти в любую «Пятёрочку» — там персонал обучен действиям и оказанию помощи потеряшкам.

Однако, как они помогут связаться с близкими? В случае того же разбитого телефона?
Вытащить SIM’ку из него или карту памяти с vcf-файлом. И пусть потеряшка сам знает об этой возможности, и спокойно обращается к персоналу за помощью в таком предметном контексте: — Я потерялся и у меня проблемы с телефоном, есть номера на SIM’ке.

Вопрос решится за пять минут и сэкономится куча нервов.

#общество #потеряшки #связь #телефон @russian_mastodon @ru @Russia

0
3
1

Несерьёзный Выдумщик

Грядёт замена #wxMaxima ?
Оказывается в #KDE предлагается универсальный GUI для систем математики: #Cantorhttps://apps.kde.org/cantor/

Заявленный перечень environments включает: #KAlgebra, #Maxima, #Sage, #Scilab, #Qalculate Т.е. полноценные, давно и хорошо известные системы computer algebra system (CAS) or symbolic algebra system (SAS).

Хотя это скорее дополнительный вариант, тем кто на #linux привык использовать #wxMaximahttps://wxmaxima-developers.github.io/wxmaxima Решает в алгебраическом виде уравнения и системы, численные вычисления, построение графиков. По возможностям близка к Maple и Mathematica.

Из забавного позволяет видеть графики в динамичном виде:

И в целом всё то, что потом перешло в питоновский Jupyter как notebooks:

https://wxmaxima-developers.github.io/wxmaxima/images/linux_1.png https://upload.wikimedia.org/wikipedia/commons/f/f7/WxMaxima_0.7.1_screenshot.png

#математика #машиннаяалгербра #mathematic #CAS #ComputerAlgebra @russian_mastodon @ru @Russia

1
5
2

Несерьёзный Выдумщик

А много таких жило со сдачи квартир, как единственного источника дохода?

А сколько книжек было издано, какими тиражами и как пробито чеками через ОФД?

Кормились ли они с рекламы? Той самой рекламы, для которой важен размер аудитории? Не занимались ли поэтому хайпо жёрством, передёргиванием и жаренными новостями высасывая и надувая инфоповоды из чего угодно? Да все чем угодно, лишь бы зацепить как можно большее число слоёв населения?

Давал ли это обилие аудитории посещаемость всяких семинаров с лекциями и выступлениями?

Ох, как жестоко и бесчеловечно поступила с ними «власти» в РФ. Нет чтобы так же как США поступать с ними? Сажать спокойно на несколько лет по уголовной ответственности, как там это принято для разномастных ИноАгентов.

@sixo_fle

RE: https://mastodon.social/users/sixo_fle/statuses/114090851751952521

0
0
1

Несерьёзный Выдумщик

Edited 26 days ago

Очень неплохи отдельные главы в книге: «Основы классической криптологии. Секреты шифров и кодов», Адаменко М.
Например, глава «Числовые шифры»

Но гораздо интереснее отдельные из шифров описаны с привязкой к реальным историческим фигурам разведок. Например, есть вот такое описание шифра Зорге (группа «Рамзай», в Японии работал во время Второй мировой).

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

Одна из книг в 15 томах «Великая победа», на картинке видно, что это Книга тридцатая «Шифры разведчиков и партизан». https://cyberleninka.ru/viewer_images/16403253/f/2.png

Выходные данные у этой работы интересные:

Великая Победа: в 15 т. / под общ. ред. С.Е. Нарышкина, А.В. Торкунова; Моск. гос. ин-т междунар. отношений (ун-т) МИД России, Центр военно-политических исследований. М.: МГИМО-Университет, 2015.

Взять «Великая победа» в 15 томах можно здесь:


Да, похоже тот самый Нарышкин, Сергей Евгеньевич — глава Службы Внешней Разведки (СВР) — бывшее ПГУ при КГБ, ставшее отдельным ведомством — с развалом СССР.

Выпускник двух годичной спецшколы ПГУ КГБ, ныне «Академия внешней разведки» (считай магистратура, т.к. там учатся уже имеющие высшее образование).
Там же, где учился В.В. Путин, но после этого Нарышкин учился ещё и один год на 8-м факультете «Высшей школы КГБ» — той самой, что включает в себя «Институт криптографии, связи и информатики (ИКСИ)».

#криптография #шифрование #книги #books @russian_mastodon @ru @Russia

0
2
1

Несерьёзный Выдумщик

За несколько часов пришлось поставить «игнорить» аккаунтам больше чем за всё время.

Это прямо реально весеннее обострение — повыползала всякая нечесть, словно дерьмо на подтаявшем снегу.

Одни про политику, другие секс-вечеринки, третьи про свою политику модерации и себя любимых, другие про какие-то сны приснившиеся.

Лента забивается дерьмом всё сильнее и сильнее, пока кнопку «игнорировать» размещать уже прямо в ленте, возле аккаунтов.

1
0
2

Несерьёзный Выдумщик

Стареют ли в ИТ, бывали ли в 2007-м году уже разработчики возрастом 60-70 лет.
Чем занимается Program Manager.

Видео в очень поганом качестве https://www.youtube.com/watch?v=vYIoWdEuNfU

Оригинал нормального видео в районе 2008 года был на Channel9 Russian, но это уже очень сложно найти. потому такая вот археология.

То что рисует на доске никакого сакрального смысла не несёт, скорее способ успокоиться и сосредоточиться для него самого.

Не могу подтвердить стоял ли Элдар за #msxml 5-й и 6-й версий.

Однако, вещь неплохая, использовал в нескольких проектах как DOM парсер и XSLT преобразователь XML-конфигов с одной версии (схемы) в другую. Начиная с 2005 по 2011 год что ли.
По умолчанию msxml присутствовал во всех #Windows и доступный как ScriptingHost (JScript/VBScript), так и через COM & IDispatch напрямую из C++ кода, когда через IDL-нотацию .h/.cpp файлы генерируются.

В качестве же SAX-парсера больше подошёл #xerces из-за желания встраивать в софт (статическая линковка) — https://xerces.apache.org/index.html

#management #xslt #xml #Microsoft #SoftwareDevelopment

0
0
1

Несерьёзный Выдумщик

Edited 27 days ago
В блоге, а потом и в книге Joel Spolsky была расписана история появления #VBA в том самом Microsoft #Excel.

Этот персонаж так же потом сделал #stackoverflow и вообще известный графоман от #softwaredevelopment, сродни Лебедеву от дизайна — https://neolurk.org/wiki/Джоэл_Спольски
———

В допотопные времена в Excel был очень неудобный язык программирования, которому не дали названия. Мы называли его «макросы Excel». Он был весьма ограничен – без переменных (значения приходилось хранить в ячейках таблицы), локальных переменных и вызовов подпрограмм – короче, сопровождать такой язык было практически невозможно. В нем имелись некоторые более сложные функции вроде Goto, но метки были скрыты от глаз.

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

17 июня 1991 года я приступил к работе в Microsoft в составе команды Excel. Моя должность называлась Program Manager. Предполагалось, что я как&то решу проблемы языка. Подразумевалось, что это решение будет связано с языком программирования Basic.

Basic? Фу!

Некоторое время я вел переговоры с разными группами разработчиков. Только что появился Visual Basic 1.0, выглядевший довольно круто. Также имелся неудачный проект под кодовым названием MacroMan и еще один проект – создание объектно-ориентированного языка Basic – под кодовым названием Silver. Команде Silver было сказано, что первый клиент для их продукта уже есть – это Excel. Менеджер по маркетингу проекта Silver Боб Уаймен (Bob Wyman) – да, тот самый – мог продать свою технологию только мне.

Проект MacroMan, как я сказал, был неудачным, и с некоторым трудом его все же удалось закрыть. Команда Excel убедила команду Basic в том, что ей нужен особый вариант Visual Basic для Excel. Моими стараниями в Basic включили четыре вещи, которые мне очень нравились. Был добавлен структурный тип данных Variant, позволяющий хранить данные любого типа, потому что иначе сохранить в переменной содержимое ячейки рабочего листа можно было только с помощью оператора переключения. Также было добавлено позднее связывание, ныне известное как IDispatch, или COM&автоматизация, потому что исходный проект Silver требовал глубокого понимания системы типов, чего трудно было ожидать от тех, кто станет писать макросы. И еще я получил две свои любимые синтаксические конструкции – For Each, украденную из csh, и With, украденную из Pascal.

Потом я засел за написание спецификации Excel Basic – огромного документа, разросшегося до сотен страниц, – думаю, в конце их стало не меньше пятисот. («Каскадное проектирование» – усмехнетесь вы. Да-да, приятель, оно самое.)

В те времена существовало понятие «рецензирования БиллГ». Практически любой крупной и важной функции требовалась оценка Билла Гейтса. Мне сказали послать в его офис на рецензию экземпляр спецификации (фактически, это целый том лазерных распечаток).

Я тут же напечатал и отослал ее. В тот день у меня оставалось немного свободного времени, и я стал размышлять над тем, достаточно ли в Basic функций для работы с датами и временем, чтобы делать с ними все то, что позволяет Excel.

В большинстве программных сред даты хранятся в виде действительных чисел. При этом целая часть – это количество дней, истекших с некой оговоренной даты в прошлом, называемой началом эпохи (epoch). В Excel сегодняшняя дата 16 июня 2006 года хранится как число 38884, за точку отсчета принято 1 января 1900 года.

Я стал экспериментировать с различными функциями даты и времени Basic и Excel и обнаружил в документации Visual Basic нечто странное: в Basic началом эпохи считалось 31 декабря 1899 года, а не 1 января 1900 года, но по каким-то причинам сегодняшняя дата и в Excel, и в Basic представлялась одинаково.

Что?!
Я стал искать разработчика Excel, достаточно старого, чтобы помнить такие вещи. Похоже, ответ знал Эд Фрайз (Ed Fries).

– Ха, – сказал он мне, – проверь 28 февраля 1900 года.
– 59, – отвечал я.
– Теперь 1 марта 1900 года.
– 61!
– А где 60? – спросил Эд.
– 29 февраля 1900 года, год был високосным! Он делится на 4!
– Мысль интересная, но неверная, – сказал Эд, оставив меня в недоумении.

Пришлось провести некоторые исследования. Оказалось, что годы, которые делятся на 100, бывают високосными, только если при этом еще делятся на 400.
1900-й год не был високосным.
– В Excel ошибка! – воскликнул я.
– Не совсем так, – возразил Эд. – Нам пришлось пойти на это, чтобы импортировать таблицы Lotus 1-2-3.
– Значит, ошибка в Lotus 1-2-3?
– Да, но, скорее всего, умышленная.

Требовалось уместить Lotus в 640 Kбайт – не так много памяти. Если не обращать внимания на 1900 год, то можно проверить год на високосность по двум правым разрядам числа – они должны быть нулевыми. Быстро и легко. Наверное, ребята из Lotus решили, что ничего не случится, если какие&то два месяца в далеком прошлом будут считаться неправильно. Похоже, разработчики Basic дотошно учли эти два месяца, сдвинув эпоху на день назад.
– Вон оно что, – сказал я и стал выяснять, что означает флажок 1904 Date System (Система дат 1904) в окне параметров.
На следующий день должно было состояться рецензирование БиллГ.

30 июня 1992 года.
В те дни в Microsoft было гораздо меньше бюрократии. Это сейчас там одиннадцать или двенадцать уровней управления, а тогда я подчинялся Майку Конте (Mike Conte), который подчинялся Крису Грэму (Chris Graham), который подчинялся Питу Хиггинсу (Pete Higgins), который подчинялся Майку Мэйплзу (Mike Maples), который подчинялся Биллу. Всего примерно шесть уровней иерархии. Мы еще посмеивались над компаниями вроде General Motors, где этих уровней было восемь или около того.
На моем рецензировании БиллГ присутствовала вся иерархическая цепочка вместе с родными и двоюродными сестрами и тетками, а также человек из моей команды, который должен был точно подсчитать, сколько раз Билл скажет f… (чем меньше, тем лучше).

Вошел Билл.
Я подумал: как странно, что у него тоже две ноги, две руки, одна голова и так далее – совсем как у обычных людей.
В руках у него была моя спецификация.
В руках у него была моя спецификация!
Он сел, обменявшись с кем-то из незнакомых мне управленцев шуткой, смысл которой до меня не дошел. Несколько человек рассмеялись.
Билл повернулся ко мне.
Я заметил комментарии на полях моей спецификации. Он прочел первую страницу!
Он прочел первую страницу моей спецификации и что-то написал на ее полях!
Если учесть, что мы послали ему спецификацию всего 24 часа назад, он должен был читать ее накануне вечером.

Он стал задавать вопросы. Я отвечал. Вопросы были достаточно простыми, но я не в силах их вспомнить, потому что неотрывно следил за тем, как он листает спецификацию…
Он листал спецификацию! [Успокойся, ты же не маленькая девочка!]

И НА ВСЕХ ПОЛЯХ БЫЛИ ПОМЕТКИ. НА КАЖДОЙ СТРАНИЦЕ. ОН ПРОЧЕЛ ВСЮ ЭТУ ЧЕРТОВУ СПЕЦИФИКАЦИЮ И НАПИСАЛ ЗАМЕЧАНИЯ НА ПОЛЯХ.
Он Прочел Все! [БОЖЕ МИЛОСТИВЫЙ!]
Вопросы становились более сложными и детальными.
Они казались несколько случайными. Я уже был готов считать Билла своим приятелем. Какой славный малый! Он прочел мою спецификацию!
Он, наверное, хочет задать мне несколько вопросов, связанных с заметками на полях! Я занесу все его замечания в систему контроля ошибок и прослежу, чтобы все они были учтены, и как можно скорее!

И вот решающий вопрос.
– Не знаю, ребята, – сказал Билл, – есть здесь кто-нибудь, кто действительно в деталях разбирается, как это сделать? Например, все эти функции даты и времени. В Excel их очень много. Будут ли такие же функции в Basic?
И будут ли они работать точно так же?
– Да, – ответил я, – кроме января и февраля 1900 года.
Тишина.

«Счетчик f» и мой босс изумленно переглянулись. Откуда он это взял?
Января и февраля КАКОГО ГОДА?
– ОК. Хорошая работа, – сказал Билл. Он взял свой размеченный экземпляр спецификации.
…Погодите! Я же хотел…
И вышел.

– Четыре, – объявил «счетчик f», и все заговорили, что такого низкого счета на их памяти не было и что Билл с годами становится мягче. Ему тогда было 36.

Позже мне все объяснили.
«На самом деле, Билл не собирается обсуждать твою спецификацию, ему просто нужно убедиться, что ты владеешь темой. Его обычный стиль – задавать вопросы все сложнее и сложнее, пока он не уличит тебя в каком-нибудь незнании, и тогда можно сделать тебе выволочку за неподготовленность. Никто не знал, что произойдет, если кто-то ответит на самый трудный его вопрос, потому что такого раньше не случалось».

– Если бы на этом совещании был Джим Манци, – сказал кто-то, – он спросил бы, что такое функция даты.

Джим Манци (Jim Manzi) – это тот менеджер с MBA, задачей которого было загнать в гроб Lotus.

Замечание было верным. Билл Гейтс поразительно разбирался в технических деталях. Он понимал, что такое Variant, COM&объекты, IDispatch, и чем автоматизация отличается от vtables, и как возникают двойственные интерфейсы. Его интересовали функции даты. Он не влезал в программу, если доверял тем, кто над ней работает, но его нельзя было провести на мякине, потому что он сам был программистом. Настоящим, действующим программистом.

Смотреть, как непрограммист пытается управлять софтверной компанией – все равно что наблюдать за новичком серфингистом.
«Все отлично! У меня на берегу отличные помощники, которые подсказывают мне, что нужно делать!» – говорит он и снова падает в воду. Типичное поведение администратора, считающего управление универсальной функцией. Не повторит ли Стив Балмер подвиг Джона Скалли, который едва не довел Apple до исчезновения, хотя совет директоров посчитал, что торговля пепси-колой – подходящая подготовка для руководителя компьютерной фирмы? Поклонники MBA склонны полагать, что справятся с управлением организацией, в работе которой они не разбираются.

———
Перевод на русский язык этой публикации найти более не удаётся, взята из книги «Джоэл: и снова о программировании» ISBN 978-5-93286-144-8

#программирование #programming #software #Microsoft @russian_mastodon @ru @Russia
0
4
3

Несерьёзный Выдумщик

Основное назначение Посейдона и Буревесника — не только обойти средства ПРО, но и превратить местность в лунный пейзаж за счёт усиленного поражающего фактора https://naked-science.ru/article/tech/kobaltovyj-mif-pochemu-ro

эффект «натриевой бомбы» морского (подводного) взрыва такой:

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

При этом оно не даёт обратки для страны задействовавшей это оружие:

Период полураспада натрия-24 — всего 15 часов, что и делает его столь опасным в первые сутки после удара. Но по той же причине сверхбыстрого распада натрия-24 пораженные им площади уже через несколько месяцев абсолютно безопасны для людей даже безо всяких мер дезактивации. Ведь уже через примерно 1500 часов концентрация натрия-24 падает примерно в квадриллион квадриллионов раз, отчего натолкнуться на его атом в пораженном районе становится нереально.

Такая натриевая бомба имеет над кобальтовой несколько стратегических преимуществ. Первое: она абсолютно безопасна для создавшей ее страны. Даже если после взрыва натриевая пыль частично поднимется в стратосферу, где сможет с ветрами достичь отдаленных земель, то процесс такого подъема и опускания займет много суток. Следовательно, практически весь натрий-24 успеет распасться, и «возврат на родину» ему не грозит.

#оружие #СЯО #Посейдон #Буревесник #ядерноеоружие @russian_mastodon @ru @Russia

0
3
0
Show older