Category: история

Category was added automatically. Read all entries about "история".

Book

Половые виндопроблемы-2

Тут надмозг посоветовал чудесный сайт:

https://tb.rg-adguard.net/public.php

Сайт генерирует ссылки на MS, дабы обойти leech protection, которая как я понимаю сделана из говна и палок а не криптой, и тривиально реверс-инжинирится. Карл после каждого третьего слова.

Текущее решение - скачать мартовскую обновлённую исошку октябрьского апдейта 1809, примонтировать штатной монтировкой десятки и прокликать визард авторана.

Интересно, если придираться - то апдейт "сентябрьский" ибо 09, зарелиженный с багом в октябре и перевыпущенный с фиксом в ноябре :)
Book

Гитлер и печник

В декабре 1954 года Трухильо сообщили, что владельцы "Электрической компании", гринго, повышают тарифы в некоторых бедных районах, или вообще не включают там электричество.

Трухильо отправил за хозяином компании. Когда тот явился во дворец, Трухильо сказал: "Сколько стоит ваша компания? Инвестор ответил: "я не знаю, она не продаётся".

Тогда Трухильо спросил, "а сколько вы вложили?". На что хозяин компании ответил: "13 миллионов долларов". Затем Трухильо сказал ему: "напиши мне сумму, завтра я отправлю чек и у тебя будет 48 часов, чтобы покинуть страну ... Или я не гарантирую твою безопасность после этого. Или уважай моё, или иди туда откуда пришёл!"

По материалам фейсбучека.

[В реальности конечно отняли в течение 2 лет с 52 по 54 по просьбе Трухийо, пересмотрев контракт на концессию через Конгресс, выпустив бондов на 13 млн песо и "заплатив" ими. Но это совсем другая история™]
Book

Прогресс по починке опенсорсного гнилья-3

Запилил недостающие матрицы:

- http://fast-matrix.cpantesters.org/?dist=Danga-Socket%201.62_03-TRIAL (новая; замержил патчи которые были в трекере)
- http://fast-matrix.cpantesters.org/?dist=AnyEvent-Gearman%200.11_01-TRIAL
- http://fast-matrix.cpantesters.org/?dist=Test-TCP%202.22_01-TRIAL

Легко видеть, что AnyEvent-Gearman теперь падает на винде на 5.24 и более старых.

Падает он своеобразно, но причина теперь в том, что половину Test::TCP я не включаю, зато включаю половину Test::Simple. Это пакет-монстр не смотря на то что исторически simple. Ну и он не работает, если половины разных версий, а в новых версиях даже ругается.

Решение видимо заменить нахуй билд-систему - Module::Install на Module::Build.
Book

Задачка "на графы"

Есть у нас граф зависимостей дистров. Узлы - дистры, дуги - зависимости. Зависимости бывают обязательными и опциональными. Подграф, содержащий только обязательные зависимости - это DAG (нет циклов). А так циклы есть.

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

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

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

Лишние дистры, понятно, ставить нельзя.

Надо найти минимальный валидный скрипт для данного списка. Их может быть более одного :)

Пример (=> - обязательные зависимости а -> - опциональные):

Foo => Bar -> Baz
Baz => Quux

Минимальный скрипт установки всех 4 пекеджей - это [Baz, Foo]

А вот вам риал-лайф граф: https://gist.github.com/nponeccop/0d4df7839d73f9b960a1dda51fd0d380

Upd: вариант со звёздочкой - учитывать поломанные дистры. То есть нашей функции передается ещё и список поломанных дистров. И задача - не собирать все пекеджи, у которых один из поломанных пекеджей является обязательной транзитивной зависимостью.
Book

Гит-фу: shallow clone like a boss

git clone --no-single-branch --shallow-since=2017-04-22

Идея в том, что коммиты времен царя гороха очень редко нужны. А частота коммитов зависит от проекта, поэтому число коммитов в --depth трудно угадать. Ну и без ключика --no-single-branch если делать shallow clone через depth или shallow-since, клонируется только мастер.

Интересно, кстати, сколько полный клон линукс-стабле занимает?
Book

Прикладная фаллометрия

300 строк из 1700 занимают импорты и прагмы :)
$ grep -RE "^import |^INCLUDE|^{-# LANGUAGE " AG HNC.hs Utils.hs Setup.hs Bar.ag \
  HN CPP FFI Tools Utils Unifier Parser | wc -l
265
70 - сигнатуры типов. Притом, что я их не люблю, то есть, стоят только в особо мерзких местах:
$ grep -RIE '^[^ ]+ ::' AG HNC.hs Utils.hs Setup.hs Bar.ag HN CPP FFI Tools Utils Unifier Parser | wc -l
17 файлов, в которых есть декларации типов и инстансов:
$ grep -RIEl '^instance|^data |^DATA' AG HNC.hs Utils.hs Setup.hs Bar.ag \
  HN CPP FFI Tools Utils Unifier Parser | wc -l
17
Как правило, в этих файлах ничего кроме этих деклараций нет, разве что смарт-конструкторы и иные бойлерплейт-хелперы, которые заведомо просты и безбажны.

В файликах 611 строк. За вычетом 83 импортов и прагм (которые вошли в 265) получаем 1712 - (611 - 83) - 265 - 70 = 849 строк собственно хардкорной логики компилятора HNC :)

Ровно половина строк чистая декларативность. Ну не мечта ли поэта? Не об этом ли говорили классики?
Book

Я джва года хочу эту игру

Как и в оригинальном меме, дизайн игры не до конца продуман. Ну и это не совсем игра, а скорее жидотопологически-криптолибертарианский 1d-ICFPC про машинное зрение.

Сюжет может быть таким:

В 1930-е немецкие физики открывают способ создания порталов в параллельные вселенные, для которого требуется много электричества, вычислений и большая вакуумная труба. Третий рейх начинает работы по всем направлениям. Для сохранения постройки трубы в тайне и уменьшения последствий возможных катаклизмов пытаются строить на дне северного ледовитого океана, но ресурсов не хватает, поэтому начинается 2 мировая война. Поскольку глубоко строить нереально, решают строить трубу на небольшой глубине вокруг острова. Выбор падает на Новую Землю.

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

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

В 50-е годы о трубе узнает разведка СССР. Поскольку точных сведений о природе работ нет, решают показать кузькину мать и уничтожают Трубу царь-бомбой.

Чтобы подобных эксцессов не повторялось, СССР решают уничтожить. Начинается Холодная война. Для объяснения строительства труб налогоплательщикам и вероятному противнику придумывается легенда в виде необходимости финансирования государством фундаментальных исследований, в частности, физики высоких энергий. Но на самом деле государствами развиваются только те направления, которые могут быть полезны для создания портала и последующей отправки через него людей и зондов. Легенда о глобальном потеплении нужна из-за того, что энергии из углеводородов по рассчётам недостаточно, и нужно объяснять финансирование возобновляемых источников. Поэтому же термояд. Германия закрывает атомные станции, поскольку это наиболее эффективный источник из известных, и реакторы нужны для мегаустановки. Казалось бы странный шаг, но из текста выше понятно, почему именно Германия :) Проект Аполлон не летает, поскольку никто не собирался летать на луну, а нужны были технологии жизнеобеспечения для будущего Портала и развал СССР. СССР, кстати, любящий всё слепо копировать, и Трубу себе построил, но ничего особо там не нашёл. И т.п., эти альтернативные истории строить одно удовольствие - столько совпадений :)

Ближе к концу холодной войны строят LHC, и после развала достраивают, запускают, и получают первый практически пригодный Портал. Используя опыт NASA, пускают туда "зонды".

Хотя к причине, по которой в портал человека послать не получится, никто не был готов :)

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

Swift for Windows

https://swiftforwindows.codeplex.com/

Почитал я про свифт этот. Ощущения двоякие.

С одной стороны, это невероятная хуйня всё, каменный век. Все эти for..in, chaining of optional values, объекты-геттеры-сеттеры, тьфу. Когда вспоминаю recursion-schemes хаскелевские, меня начинает тошнить от свифта.

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

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