May 2017

S M T W T F S
 1 23456
78910111213
14151617181920
21222324252627
28293031   

Style Credit

Expand Cut Tags

No cut tags
Saturday, June 24th, 2017 10:17 pm
 Утром проспали до полвосьмого, так что с мужиками кофе пить не поехали. Я повозился чуток с "зависимыми типами" (ну надо же закончить!), и в Икею ломанулись. Ну в смысле сначала еще в Коровку, потом в Пало Альто Арт Центр, а потом уже в Икею. Купили там одежный шкаф в угол маленького коридора. Но только это столько времени заняло! Потом дизайн на компьютере, потом подошла тетенька, все это вставила в базу, наш заказ, и мы поехали обедать. В Восточном Пало Альто подруга есть не пожелала, поехали в тайский на Литтон, в Пало Альто. Я там был раз в 2010м, обедал с Качингом. Ну ничо так. Но сейчас уже совсем так себе.

Вернулись, погрузили мебель на большую машину, на крышу. Ну разгрузили дома, и уже 4 часа дня.

Надо всякое делать по дому, но некогда!!! Поспал, потом опять программировал до вечера.

Кошка стучалась; есть не хочет, хочет общаться. Возьмешь ее на колени - слюни текут... нет, не бешенство. Но особо-то не насладишься. Выгнал ее. Пусть там с енотами тусуется. Кстати, енотов нету. Рыбы только. Рыбы, кстати, меня узнают.

И вот уже чуть не пол-одиннадцатого, а немецкий еще не доделан. Ну и дела. И кстати, еще не все готово с "типами".


Tags:
Saturday, June 24th, 2017 06:17 pm
Обычно у меня хватает ума не писать ничего про работу в неподзамочных интернетах. Однако, эта история произошла по интернетному времени настолько давно, что ничего, относящегося к современности, в ней нет; все упомянутые софтверные системы давно мертвы. Это - одна из моих самых любимых программистских историй.

Году в 2004-2005 я работал в Амазоне, и унаследовал код, передающий данные о предложениях товаров для создания страницы с этими предложениями (например). Данные о предложении состояли из идентификатора, состояния (новое, б/у, коллекционное, отремонтированное); регулярной цены; цены на распродаже и сроков распродажи, если таковые были; доступности; наценок и увеличения сроков доставки на Гавайи, Пуэрто-Рико и т. п.; и т. д. Эти данные поступали из трех источников: склады самого Амазона; большие поставщики, которые регулярно посылали нам информацию о своем инвентаре; и мелкие продавцы, которые продавали свои книжки и т. п. на сайте Амазона. Данные из разных источников хранилась в разных независимо разработанных системах, основанных на разных технологиях; данные от мелких продавцов - в объектно-ориентированной базе данных.

Код, который я унаследовал, брал списки предложений, отсортированные по цене в порядке возрастания, и сливал их в один список (для первой страницы со списком - первые 25 предложений, для второй - брал первые 50 и отбрасывал первые 25, и т. д.; каждый из исходных списков был того же размера, что и результат). Предложение было классом в C++, а список был дважды связанным списком (std::list) умных указателей на этот класс, но не STL-овских, которых тогда не было, а внутренних амазоновских, написанных одним разработчиком, нынче главным архитектором одной известной компании; алгоритм слияния был реализован вручную.

Я подумал: зачем нужна эта ручная реализация алгоритма слияния, если можно класть списки предложений в std::vector, вызывать функцию std::inplace_merge, и после каждого слияния отбрасывать все элементы после первых 25 (50 и т. д.)? Однако, как оказалось, в умном указателе есть баг: если его присвоить самому себе, то он обнуляется, а STL-овская реализация алгоритма слияния иногда присваивает разыменованные итераторы самим себе. Я дал знать об этом баге автору указателя, но библиотека с умным указателем была настолько корневая, что исправить его означало перекомпилировать значительную часть всего амазоновского кода, что занимало чуть ли не сутки, и вызывало множество случайных ошибок. Поэтому баг остался неисправленным. Слияние же я реализовал, используя кучу: создать вектор, пройтись по всем предложениям из всех источников, и класть их в этот вектор, используя функцию std::push_heap, и если размер вектора превышает 25 (50 и т. д.), удалить из вектора максимальный элемент, используя функцию std::pop_heap. В конце вектор будет состоять из самое большее 25 (50 и т. д.) минимальных предложений из всех источников в кучевом порядке; их можно вынуть оттуда от самого большого до самого маленького, используя функцию std::pop_heap, и положить в вектор результата в обратном порядке.

Проблема заключалась в том, что как старый, вручную реализованный код, так и функция std::inplace_merge устойчивые, а мой алгоритм - нет. Если все предложения поступали из одного источника - объектно-ориентированной базы данных с предложениями от мелких продавцов с одной и той же ценой, то старый код сохранял их порядок, а новый - перетасовывал.

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

Весной 2005 года прошла Amazon Seller Conference, на которой послышались жалобы от продавцов: мы уволили четверых человек (кажется; я эти цифры помню очень смутно); мы уволили двоих человек. Отдел Амазона в Германии написал, что два продавца объявили банкротство. Все эти люди построили свою бизнес-модель на баге в коде Амазона, и исправление этого бага ее сломало.

Но это еще не конец истории. Через несколько месяцев один продавец написал Джеффу Безосу: почему мое предложение для такого-то товара стоит на втором месте уже четыре месяца? От Безоса это письмо спустилось по корпоративной иерархии ко мне, но вместо того, чтобы случайным образом перетасовывать предложения с одинаковой ценой, я добавил вторичный ключ для сравнения: хэшированный идентификатор, интерпретированный как 64разрядное целое число, деленный на юниксовское время в часах, по модулю большого простого числа. Теперь предложения с одинаковой ценой перетасовывались каждый час. Это работало по той же причине, по какой если у планеты есть несколько спутников, обращающихся в плоскости эклиптики, периоды обращения которых соотносятся, как иррациональные числа, то вероятность того, что в определенный момент у данного спутника будет минимальная эклиптическая долгота, вторая по величине, третья по величине и т. д. одинакова, и равняется единице, деленной на число спутников. Я тогда читал книжку про статистическую механику, узнал о существовании эргодической теоремы, и вывел из нее этот факт в пределе, когда и размер хэшированного идентификатора в битах, и большое простое число стремятся к бесконечности (подробностей я теперь уже не помню).

Если у меня будут внуки, и они будут уметь программировать, я им буду рассказывать эту историю.
Tags:
Saturday, June 24th, 2017 04:54 pm
So, I believed. Yes, I did.

trait Map[-Domain, +Codomain].

What does it fucking mean? That an f: X → Y is also X1 → &Y1 for any X1 <: X and Y1 >: Y.

Do I have to elaborate why it's just plain fucking bullshit?

Ok, ok, I understand, Curry typing.

Does Curry typing have any categorical meaning? Eh...
Tags:
Sunday, June 25th, 2017 12:30 am
"Назначение получил во Владивосток заместителем начальника политотдела Тихоокеанского Военного Флота и, заодно, был избран секретарем комитета комсомола этого флота. Владивостокский порт только строился. Механизмов для выемки земли было недостаточно. Кто-то предложил пригласить китайцев с их лёгкими бамбуковыми носилками. Они небольшими лопатками набрасывали на них землю и бегом относили её на нужное место. В перерыве по 4-5 человек собирались у костерка и в консервной банке варили рис. Хранился он у них в длинных карманах штанов. Так без особых затрат выполнили важную часть строительства"
"Вдруг кому-то пришла в голову мысль: это не патриотично привлекать чужой народ, когда есть свой. Вот его-то и нужно было привлечь, заставить работать. Вину за недосмотр возложили на начальника политотдела".
( из воспоминаний Анны Вельковской).
Saturday, June 24th, 2017 06:57 pm
Вот ты, юноша, в порывах романтических мечтаний, думаешь, что успех - это стартапнуть что-то такое-этакое, что позарез нужно человечеству, просто оно, тупое, без тебя еще не знало, что ему позарез нужно, но вот пришел Ты и дал человечеству эцсамое. И, конечно, благодарное человечество отвесило тебе в ответ, в порядке благодарности, стопиццот денег. Верно же?

И вот ты, дурашка, кодишь аплекухи, просчитываешь ROI (ну, 5% из вас просчитывает), тратишь драгоценные минуты своей молодой жизни на вот это все...

А что в результате? Предсказуемо, не так ли?

Это все от того, что ты не в курсе критерия успеха.

Критерий же простой: хапнуть и отползти (Х&О).

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

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

Это непросто. Тебя будет манить соблазн, мол, вот еще пару десятков (сотен) лямов - и фсё!
НЕ ВЕДИСЬ. Отползай немедленно!

Отползать нужно сразу. Не тяни. Не теряй времени на попытки Договориться, Зайти и на прочие обманки. Время - союзник Прокуратуры, Следственного комитета, ФСБ, ФСО и лично Владимира Владимировича. Оно работает против тебя. Отползай!

Ты скажешь - но как же Отползти, если на мне обязательства, доли в акционерных обществах и прочее, и прочее.

Не могу дать тебе конкретного совета, а просто покажу примеры истинно успешных людей: Роман Хоменко, Борис Мазур, Владимир Яковлев - это лишь те, о ком ты можешь прочитать в прессе или фейсбуке. Но поверь, тех, кто действительно отполз, отполз настоящим образом, так, что никто их давно не видел и не слышал - их много больше. Наверное, больше в тысячи раз.

Вот с них и бери пример.

хехе

ЗЫ: все приведенные мудрые советы касаются резидентов Российской Федерации, Казахстана, Сомали, Беларуси, Украины, Венесуэлы и прочих гордых республик. Что там в Большом Мире, мне точно не известно.

хехехе
Saturday, June 24th, 2017 05:46 pm
Ну шо, давайте, розказуйте про свої похождєнія під цю пісню. :-)

Saturday, June 24th, 2017 05:33 pm

Saturday, June 24th, 2017 04:58 pm
Як дійти до фіналу шоу, не сказавши жодного слова.
Saturday, June 24th, 2017 01:00 pm










Кто-то описал свою версию возникновения гримасы у премьера и представил себя на его месте ☟



А кто-то сделал Медведева героем известного фильма и видеоигры ☟








Но если хорошенько подумать, то из любой — даже самой мокрой — ситуации можно найти выход! ☻







- Ну хочешь, я попрошу Оливера и про тебя фильм снять. Как тебе название "Он вам не Димон"?


Saturday, June 24th, 2017 12:46 pm

Карта на на 23 июня
В зоне АТО отмечается усиление российско-террористических сил на позициях. Прес-центр штабу АТО: минулої доби 48 обстрілiв, 2 бійців зазнали поранень
Оккупанты "ЛНР" устроили мощную атаку на позиции 93-й ОМБР в районе Желобка и Крымского и понесли серьезные потери.Гибридная армия России продолжает бить по силам АТО вдоль всей линии фронта, 2 бойцов ВС Украины были ранены

В зоне АТО поймали медсестру, помогавшую боевикам убивать и калечить украинских бойцов

Им нравится война. ​В РФ разгоняют украинофобскую истерию: социологи зафиксировали резкий рост антиукраинских настроений среди россиян. Социологи также зафиксировали постепенное снижение интереса россиян к событиям в Украине.

Как же, станем мы глотать такое... на российском пропагандистском канале "Россия 1" один из приглашенных "экспертов" вещал о тайных планах украинцев поглотить российский этнос.

чиновник “ДНР” открыто признает, что в Донецке невозможно жить – Украина лучше во всем.

Как в Украине ничегониделаеца. Часть 55 (обзор)

Главари «ДНР» приказали своим «наместникам» в оккупированной Горловке «жертвовать» местной епархии УПЦ МП земельные участки и другую недвижимость. Оккупационные власти Макеевки приказали местным священникам УПЦ МП написать доносы, предоставив в них полную информацию о представителях других религиозных конфессий, персональные данные участников католических, протестантских и мусульманских общин, действующих на территории города и местах их собраний.
Митрополит Донецкий и Мариупольский Иларион провел в оккупированном Донецке собрание с благочинными вверенной ему епархии по подготовке акций протеста на подконтрольной Украине территории, но с привлечением к ним прихожан с подконтрольных оккупантам и террористам районов

New #DisinfoReview В очередной раз на этой неделе мы стали свидетелями рассказов о «Доброй России» и «Злом Западе». из прокремлевских СМИ мы узнали, что Запад якобы не хочет бороться с терроризмом и немцы опять плохие

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

В городе Ялта, который находится на аннексированном РФ Крыме, по запросу Интерпола задержан один из главарей террбанды "ДНР", Россия готова выдать боевика Украине.

​Госдума РФ забила последний гвоздь в крышку гроба крымского туризма: Местным властям позволят сдирать до 100 рублей в день с каждого приезжего туриста в возрасте от 18 лет "за гостеприимство".

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

 

Saturday, June 24th, 2017 09:36 am

В Череповце журналистку газеты «Голос Череповца» Елену Колядину уволили после того, как она выступила в штабе политика Алексея Навального,

передает «Медиазона».

«Вчера (22 июня) я выступила в штабе Алексея Навального с небольшой лекцией о литературе и о том, как написать хороший текст. Сегодня меня уволили из ООО "Медиа Центр" из газеты "Голос Череповца" в течение получаса после объявления об этом», — написала Колядина на своей странице «Вконтакте».

По ее словам, трудовую книжку ей отдали «в течение десяти минут», объяснив увольнение «сокращением ставки специального корреспондента из-за падения тиражей газеты».Она добавила, что руководство издания, что газета «придерживается линии партии власти» и ей самой тоже нужно следовать этим правилам.

В городе Ейск Краснодарского края после антикоррупционного митинга 12 июня из гимназии уволили учителя истории и обществознания, председателя местного отделения партии «Яблоко» Александра Коровайного. Егоарестовали после акции на 10 суток.

«Сперва правоохранители поговорили с руководством учебного заведения, о чем я не знаю. Потом со мной. Уходя обронили: «Наверное, вы больше в школе работать не будете», — рассказал Коровайный.

В марте в Красноярске руководство Сибирского федерального университета уволило преподавателя философии и культурологии Михаила Константинова, показавшего студентам фильм «Он вам не Димон».

Saturday, June 24th, 2017 11:46 am
Полагаю, все в курсе борьбы российских властей со свободой информации в Интернете.
Полагаю, большинство даже в курсе готовящегося запрета на анонимайзеры, ВПН и т.п.

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

Особого философского смысла в этом нет - но почему бы не посмотреть разок своими глазами?

Один из любимых анекдотов:

"Миллиционер не пускает пьяного в метро:
- Гражданин, не положено!
- Ну пусти, дай хоть раз взглянуть?
- А ты что, ни разу не видел, что ли?
- А ты ни разу и не пустил."

Вот ссылка
http://asozd2.duma.gov.ru/addwork/scans.nsf/ID/F071CE249CC1BD814325813900378252/$File/195446-7_08062017_195446-7.PDF?OpenElement

Зацените, коллеги, два момента.


Первый.
"Владельцам информационно-телекоммуникационных сетей,
информационных систем и программ для электронных вычислительных
машин, а также владельцам информационных ресурсов, в том числе сайтов
и страниц сайтов в сети «Интернет», посредством которых на территории
Российской Федерации осуществляется доступ к таким информационно-
телекоммуникационным сетям, информационным системам или
программам для электронных вычислительных машин, запрещается
обеспечивать использование на территории Российской Федерации
информационно-телекоммуникационных сетей, информационных систем
или программ для электронных вычислительных машин для получения
доступа к информационным ресурсам, в том числе к сайтам и (или)
страницам сайтов в сети «Интернет», доступ к которым на территории
Российской Федерации ограничен в соответствии с настоящим
Федеральным законом"

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

Ну и второй.

Помните, Королёв написал "Луна - твёрдая", закрыв длинные учёные споры на эту тему?

Какие-то лопухи высчитывают, во что обойдётся выполнение подобных законов и т.п. Какие-то миллионы, миллиарды и пр.?

Всё проще. Вот так это делается, текст от первой и до последней буквы:

"ФИНАНСОВО-ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ
к проекту федерального закона

«О внесении изменений в Федеральный закон «Об информации, информационных технологиях и о защите информации»

Принятие Федерального закона «О внесении изменений в Федеральный закон «Об информации, информационных технологиях и о защите информации» не потребует дополнительных расходов из федерального бюджета."



Коротко и чётко. :)
Saturday, June 24th, 2017 11:22 am
 А вот если бы в застенках пхеньянской жандармерии был умучен не человек, а котик, совсем по-другому бы сейчас Маккавити писал)
Tags:
Saturday, June 24th, 2017 06:57 am

Не вставай  с постели. Скажись больным.
Притворись немым или пьяным в дым.
          Может быть, не тронут.
                      © Тимур Кибиров  
 

          Фото: Aртур Тресс „Мальчик в телевизоре“, Бостон, 1972