migmit: (Default)
Сначала небходимое вступление. У меня лично практически нет сомнений в том, кто организовал взрывы в СПб. Ну, то есть, не конкретный Сурков-Володин-етц, но где работали организаторы — понятно. Не бывает таких совпадений, чтобы первый за несколько лет массовый протест — и через неделю первый за несколько лет теракт.

Но почему-то куча народу упирает на эту идиотскую историю с двумя взрывами. Как это выглядело отсюда:
— Приходит сообщение о двух взрывах, на Техноложке и на Сенной.
— Затем появляется уточнение: взрыв один, в поезде, ехавшем с Сенной на Технологический.
— Затем ещё одно: взрыв произошёл, когда поезд уже был на Технологическом.
— И, наконец, сообщают, что на Восстания найдена ещё одна бомба, не сработавшая по тем или иным причинам (показания расходятся).

Неужели кому-то не очевидно, что между несуществующей бомбой на Сенной и реальной, но не сработавшей, бомбой на Восстания нет прямой связи? То есть, понятно, что теракт один, но чего кричать «как они знали о второй бомбе до того, как её обнаружили?» Это же совершенно очевидно, что те, кто сообщали — НЕ ЗНАЛИ!

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

Всё это время бомба на Восстания лежала себе спокойненько, и о ней знали те, кому по службе полагается, и больше никто. Затем так или иначе, но её обнаружили. Всё. То, что сначала сообщали о двух взрывах — идиотское совпадение и совершенно нормальная в подобных обстоятельствах путаница. Такие совпадения как раз бывают, и часто.
migmit: (Default)
Закидоны ЖЖ мне надоели. В ближайшее время я остановлю кросспост из DreamWidth и закрою блог migmit.livejournal.com. Ежели кому интересно — продолжайте читать на DW.

Q: Можно ли добавить блог на DreamWidth во френдленту LJ?
A: Понятия не имею, я никогда не пользовался френдлентой, ни в LJ, ни на DW. Предпочитаю RSS/Atom.
migmit: (Default)
То ли [livejournal.com profile] avmalgin-а хакнули, то ли он головой поехал.



Не помню, чтобы он раньше а) переходил на личности и б) выпячивал национальность собеседника. Вишенкой на торте, конечно, то, что он ещё и национальность определил неправильно.
migmit: (Default)
A lot of people, myself included, decided to move to DreamWidth after Livejournal servers were moved to Oroszország. However, we still read other people's journals, and sometimes even comment on them. Livejournal claims that it's possible to comment with a DW account, using OpenID; however, it's support for OpenID is broken. Fortunately, there are some tricks that make it work.

When one tries to login to LJ via OpenID, using http://[whatever].dreamwidth.org as an OpenID URL, it results in a blank page with a long and complicated URL looking like "http://www.dreamwidth.org/openid/server?openid.mode=checkid_setup&..." — it's really long. To make it go further, one needs to find the part of the URL that looks like "openid.trust_root=http%3A%2F%2Fwww.livejournal.com" and replace "http" part of it with "https". That would redirect to Livejournal, and everything would be just fine.

Bonus track: Livejournal does not even try to fool users into believing they can use OpenID on mobile; this option simply isn't there. But, using the same URL, transferring it from the desktop to the mobile in any reasonable way, would allow one to log into Livejournal on mobile as well.

Disclaimer: Livejournal developers are quite active when it comes to breaking good things, so, I'm not sure it will work when you try it.
migmit: (Default)
Программисты бывают осторожные и ещё не осторожные. Первых, как ни странно, очень мало.

Осторожный программист, написав код, прогоняет все тесты.

Затем он запускает систему на своей машине и пробует её вручную. Потому что тесты тестами, но надо и глазами посмотреть.

Затем пушит код в отдельную ветку в корпоративном репозитории и требует у кого-нибудь — лучше у другого осторожного программиста — сделать кодревью.

Исправляет замечания.

Прогоняет тесты ещё раз.

Ещё раз запускает систему локально и пробует вручную.

Пушит исправления.

Получив одобрямс... нет, не выкатывает код в продакшен.

Ребейзит код на текущий мастер.

Ещё раз запускает тесты.

Ещё раз пробует локально.

Пушит.

Пробегается глазами по исправлениям.

И только после этого выкатывает код. Если ещё не наступил вечер — потому что ничего нет хуже, чем выкатить код в продакшен и уйти с работы.

А затем ещё некоторое время приглядывает — как оно, нормально работает? Не надо ли откатить на предыдущую версию?

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

А джип, как известно, застрянет там, куда другая машина не доедет.

Это я не говорю сейчас про опсов — у них своя специфика; ошибка опса, как правило, ломает сервис целиком и сразу, и хорошо, если только один.
migmit: (Default)
вкусный ли кофе пьют на Украине?
migmit: (Default)
Есть такой старый трюизм: два разумных человека всегда смогут договориться. И вот мне всегда было странно, что такие неглупые и, что уж там, симпатичные люди как Владимир Войнович и Эльдар Рязанов так и не смогли договориться и сделать фильм по «Чонкину». И я придумал одну теорию, которая, как мне кажется, это объясняет. Я никогда не был лично знаком ни с одним из них, и не могу всерьёз утверждать, что моя теория верна; скорее, это некое интеллектуальное упражнение.

Эльдар Рязанов оставил замечательно интересные мемуары — «Неподведённые итоги». Я читал их сначала на бумаге, а потом в электронном виде; электронный вариант был более полным, в частности, глава «Автора!» — в которой Рязанов рассказывает о подготовке сценария «Гусарской баллады» и о своих сомнениях в авторстве Александра Гладкова — в бумажном варианте отсутствовала. Возможно, это было более раннее издание, не знаю.

Нас, однако, будет интересовать сейчас не это. Давайте обратим внимание на те места, где Рязанов рассказывает о своей работе в Италии, где сняты некоторые эпизоды фильма «Необыкновенные приключения итальянцев в России». Судя по всему, итальянскому продюсеру было глубоко наплевать на этот фильм, и участники советской съёмочной группы не были, мягко говоря, желанными гостями. Рязанов приводит достаточно много деталей отвратительного обращения итальянских продюсеров с советскими киношниками. Но некоторые — только некоторые! — из этих деталей вызывают определённые вопросы.

Больше всего меня зацепила фраза «Когда мы снимали у себя дома, милиция помогала организовывать пешеходов, автомобили, регулировать потоки движения. В Италии натуру мы снимали документально, методом скрытой камеры — скрытой не столько от пешеходов, сколько от полиции». Я не знаю, как в тогдашнем Риме, но я представляю себе, что должен думать водитель, которого «регулируют» в объезд, потому что снимают какой-то фильм. Мне почему-то кажется естественным, что дорожная полиция не должна быть так уж счастлива помогать делать кино; её основная задача — помогать водителям. В совке же к людям как к людям никогда не относились: «Шоссе оцепили, чтобы никакой встречный автомобиль случайно не ворвался на дорогу» — это из тех же мемуаров, но уже про съёмку в СССР.

Подобное отношение проявляется и в других местах. Вот, например, Рязанов рассказывает, как снимали сцену с проездом «Скорой помощи» через уличное кафе.
Человек, сидевший около стены, закричал истошным голосом и упал. Все кинулись к нему — было полное ощущение, что машина вдавила его в стену. По счастью, этого не произошло. Просто человек смертельно перепугался, пережил серьезный шок. «Скорая помощь» проехала от него буквально в миллиметре.

Сразу же начался скандал. Участники массовки и толпа, которая возникла мгновенно, стали требовать от директора картины денег в уплату пострадавшему и заодно — всем свидетелям тоже. Иначе они сейчас же пойдут в редакцию газеты, которая помещается тут же на площади, расскажут о безобразии съемочной группы и фирме Дино Де Лаурентиса не поздоровится.

Директор картины тоже кричал, но это не помогло. Пришлось откупиться деньгами, после чего скандал удалось замять.
Обратите внимание — речь не идёт о том, что человек не пострадал. Рязанов согласен с тем, что этому человеку сделали плохо. Но идея, что причинённый вред — пусть и чисто психологический — надо бы как-то компенсировать, Рязанову кажется чуждой, подаётся как «пришлось откупиться деньгами». Напоминает известное выражение «вы так говорите, как будто это что-то плохое».

Хочу внести ясность. Очень многие фильмы Рязанова я обожаю. Всё, что он сделал между «Гусарской балладой» и «Забытой мелодией для флейты», на мой взгляд — абсолютнейшие шедевры (ну, ладно, кроме «Стариков-разбойников», которые фигня). «Иронию судьбы» я могу смотреть с любого места; прошедший Новый год — первый, когда я её не посмотрел. Упомянутую «Гусарскую балладу» я смотрел более сотни раз, абсолютно буквально. У него даже Гурченко хорошо играет, в «Вокзале для двоих», и более того, играет наравне с самим Басилашвили!

И вне всякого сомнения, Рязанов прекрасно понимал гнилую сущность совка. Он сам написал прекрасное стихотворение, как нельзя более точно выражающее эту сущность — «Жить бы мне в такой стране, чтобы ей гордиться...»

Но при этом, мне кажется, Эльдар Рязанов во многом оставался — советским человеком.

Нельзя слишком уж винить его в этом. Происходившее в совке было настолько немыслимо ненормальным, что осознание человеком хотя бы половины всей этой ненормальности — огромное, невероятное достижение. К тому же, Рязанов был кинорежиссёром — а в совке, напомню, кино было главнейшим из искусств. И Рязанов, видевший, как цензура кромсала и увечила его сценарии, в то же время видел и много помощи.

Но вот Войнович, как мне кажется, каким-то образом умудрился быть западным человеком. Не стать им после эмиграции, а быть им изначально. Опять-таки, я сужу только по его собственным воспоминаниям. Взять, хотя бы, вот этот отрывок из книги «Жизнь и необычайные приключения писателя Войновича (рассказанные им самим)»:
У диссидентов было принято при любых обстоятельствах демонстрировать, что они действуют исключительно законными методами, поэтому если на кого-нибудь нападали, он обычно поднимал руки, показывая возможным свидетелям, что сам никого не трогает. Я решил для себя избрать другую линию поведения. Решил, что если на меня нападут хулиганы — будь то настоящие или, вероятнее всего, мнимые, — я, сколько б их ни было, окажу сопротивление. Если сумею хотя бы одного ударить — ударю, не сумею ударить — укушу, не смогу укусить — плюну в рожу (слово «лицо» в данном контексте неуместно).
Возможно, конечно, что Войнович здесь несколько приукрашивает собственные мысли и намерения того времени — рассматривая их через призму прошедших лет. Но вернёмся к «Чонкину». Я прочитал эту историю как в воспоминаниях Рязанова, так и в воспоминаниях Войновича, и составил для себя примерно такую картину.

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

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

С точки зрения Войновича — человека полностью западного — малознакомый человек пришёл ему на помощь в трудную минуту и пошёл ради него на большой риск. Этот человек — его друг, с которым, к тому же, их связывают определённые деловые отношения. Да, скоро срок передачи прав кончится, что, разумеется, является поводом обсудить условия их продления. К тому же, талантливый режиссёр хочет экранизировать роман, что станет для них обоих — и писателя, и его друга-бизнесмена — приятным подарком. Конечно, можно и не продлевать права на «Чонкина» — но с чего бы вдруг?

И вот об эту разницу в мировоззрениях они и споткнулись. В результате, рязановский фильм так и не появился. Думаю, это, скорее, хорошо. Рязанов только что снял свой первый, после долгого перерыва, слабый фильм «Дорогая Елена Сергеевна», и ещё не снял следующий, откровенно тошнотворный фильм «Небеса обетованные». Вряд ли «Чонкин» получился бы хорошим — по крайней мере, по сравнению с романом.

Повторюсь: это всё — мои умствования. Возможно, человек, знакомый лично с Владимиром Николаевичем, или знавший при жизни Эльдара Александровича, над ними посмеётся, или даже обидится. В последнем случае я заранее прошу прощения. Речь о моём личном впечатлении от их работ в искусстве и от их воспоминаний. Не более того.
migmit: (Default)
Ну вот, прошло два года. Два года, с тех пор, как я покинул это поганое отечество.

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

У меня не осталось семьи в эрэфии. Равно как и имущества. Так что экстремальный туризм «поездки на родину» прекращён. Надеюсь, что навсегда.

В общем — жизнь идёт.
migmit: (Default)
Не примут, конечно. Но на случай, если таки вдруг — хочу зафиксировать: я в полном восторге. Прошу считать этот пост официальным выражением ликования по поводу крушения военной тушки неподалёку от сочей.
migmit: (Default)
Поистине, Go — шикарный язык программирования. У него настолько нет недостатков, что его создатели, не зная, что ещё усовершенствовать, решили сделать для него специальные новые шрифты. А что? Хорошим программам — хорошее оформление:

Давайте, всё же, немножко поменяем программу, и, вместо того, чтобы выводить простые числа, посчитаем их количество. Не всех, конечно, а тех, которые меньше определённого порогового значения. Изменится при этом только функция main, так что никаких проблем быть не должно:
package main
import "fmt"
import "os"
import "strconv"
func Generate(ch chan<- int) {
        for i := 2; ; i++ {
                ch <- i
        }
}
func Filter(in <-chan int, out chan<- int, prime int) {
        for {
                i := <-in
                if i%prime != 0 {
                        out <- i
                }
        }
}
func main() {
        c := 0
        n, _ := strconv.Atoi(os.Args[1])
        ch := make(chan int)
        go Generate(ch)
        prime := <-ch
        for prime <= n {
                c++
                ch1 := make(chan int)
                go Filter(ch, ch1, prime)
                ch = ch1
                prime = <-ch
        }
        fmt.Println(c)
}
Уж извините, но я менял программу, и она перестала быть достойной этих роскошных шрифтов.

Запускаем:
$ gccgo -g -o primes primes.go
$ ./primes 10
4
И правда, простых чисел до 10 всего четыре: 2, 3, 5 и 7. Ура!

Пробуем ещё:
$ ./primes 100
25
И правда. Ещё:
$ ./primes 100000
Не понял, висим, что ли?

Ждём.

Ждём.

А, вот:
9592
Долго что-то. Ну, дело такое, простые числа считаются нелегко. Не то, чтобы для них формула была, правда?

А главное, программу так легко распараллелить! Просто написали go — и готово! Программа тривиальным образом делается быстрее во сколько хошь раз! Вот, для сравнения, однопоточная, классическая версия:
package main
import "fmt"
import "os"
import "strconv"
func main() {
        n, _ := strconv.Atoi(os.Args[1])
        sieve := make([]bool, n-1)
        c := 0
        for p, b := range sieve {
                if !b {
                        c++
                        for i := 2; i <= n / (p+2); i++ {
                                sieve[i*(p+2)-2] = true
                        }
                }
        }
        fmt.Println(c)
}

Покороче, но зато ни разу не распараллеливается, все эти циклы выполняются итерация за итерацией — ужас. Вот, смотрите:
$ gccgo -g -o slowPrimes slowPrimes.go
$ ./slowPrimes 100000
9592
Не понял.
$ time ./primes 100000; time ./slowPrimes 100000
9592

real	3m20.962s
user	2m36.270s
sys	0m44.936s
9592

real	0m0.047s
user	0m0.028s
sys	0m0.020s
Ого.

Хотя вообще, понятно, тест нечестный. Там же куча накладных расходов — создание всех этих тредов, каналов, пересылка сообщений через них... Ясно, что на подобном синтетическом примере они будут играть основную роль. Давайте введём их в нашу «классическую» версию: будем создавать по дополнительному потоку на каждый чих (точнее, на каждое простое число), а числа будем не тупо отмечать в массиве, а пересылать в сообщениях. И оставим всё однопоточным: каждый поток, породив ещё один, будет тупо ждать, пока тот завершится:
package main
import "fmt"
import "os"
import "strconv"

type SieveCommand interface {
        perform(sieve []bool, top int)
}

type Cross struct {
        number int
}

func (c Cross) perform(sieve []bool, top int) {
        sieve[c.number-2] = true
}

func cross(number int, sieveCommands chan<- SieveCommand) {
        sieveCommands <- Cross{number: number}
}

type Lookup struct {
        from int
        result chan<- int
}

func (l Lookup) perform(sieve []bool, top int) {
        for p := l.from; p <= top; p++ {
                if !sieve[p-2] {
                        l.result <- p
                        return
                }
        }
        l.result <- 0
}

func lookup(from int, sieveCommands chan<- SieveCommand) int {
        result := make(chan int)
        sieveCommands <- Lookup{from: from, result: result}
        return <-result
}

func Sieve(sieve []bool, top int, commands <-chan SieveCommand) {
        for {
                command := <-commands
                command.perform(sieve, top)
        }
}

func OnPrime(prime int, top int, sieveCommands chan<- SieveCommand, result chan<- int) {
        for n := 2*prime; n <= top; n += prime {
                cross(n, sieveCommands)
        }
        p := lookup(prime+1, sieveCommands)
        if p == 0 {
                result <- 1
        } else {
                subResult := make(chan int)
                go OnPrime(p, top, sieveCommands, subResult)
                r := <-subResult
                result <- r+1
        }
}

func main() {
        n, _ := strconv.Atoi(os.Args[1])
        sieve := make([]bool, n-1)
        sieveCommands := make(chan SieveCommand)
        go Sieve(sieve, n, sieveCommands)
        result := make(chan int)
        go OnPrime(2, n, sieveCommands, result)
        r := <-result
        fmt.Println(r)
}

Тут много чего происходит; в общем, на каждое простое число создаётся даже не один канал, а два (один — в функции lookup, чтобы отыскать следующее, а другой — для передачи результата). Причём, найдя новое простое число, мы создаём новый поток, а старый — замирает, и ждёт, пока ему принесут на блюдечке этот самый результат. Ну, теперь точно будет медленно.
$ gccgo -g -o verySlowPrimes Dropbox/verySlowPrimes.go 
$ time ./verySlowPrimes 100000
9592

real	0m2.186s
user	0m1.000s
sys	0m1.174s
М-дя. Помедленне, конечно, но как-то не получаются те три минуты, которые были в исходном варианте.

Ладно, хорош издеваться. В Северной Корее запрещён сарказм, но мы-то, слава Монстру, не в Северной Корее (если вы таки в Северной Корее, то могу вас только поздравить с тем, что вам удалось вылезти в интернет). Если коротко, то: нефиг было лекции прогуливать. В варианте от авторов Go каждое простое число мы проверяем на делимость на каждое меньшее простое число. Что всего в два раза меньше, чем если бы мы проверяли каждое простое число на каждое простое число — а это, по сути, все пары простых чисел, что означает (количество простых чисел)2 операций сравнения. Простых чисел, меньших n, всего около n / ln n (гуглить по словам «асимптотика простых чисел»), так что получается n2 / (ln n)2 — почти что квадратичное количество операций.

А вот классическое решето Эратосфена (второй или третий вариант) работает гораздо быстрее: для каждого простого числа p вычёркиваются примерно n / p чисел — то есть, всего количество операций будет n * (1/2 + 1/3 + 1/5 + 1/7 + ...). Это можно ОЧЕНЬ ГРУБО оценить сверху как n * (1/1 + 1/2 + 1/3 + 1/4 + ... + 1/n) (просто добавив слагаемых), а это, в свою очередь — как n * (1/1 + (1/2 + 1/2) + (1/4 + 1/4 + 1/4 + 1/4) + ...) — каждая из внутренних скобок равна единице, а их количество — log2n, то есть получается максимум n * log2n операций. На самом деле, оценка слишком грубая, и правильный ответ будет n * ln(ln n) — но и так хорошо, почти линейная зависимость.

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

Westworld

Dec. 12th, 2016 01:21 pm
migmit: (Default)
I was a bit sick yesterday and decided to watch "Westworld".

Massive spoilers ahead. You've been warned.

First one (meta-spoiler): I didn't like it.

There are two things I care about in the movie: characters and plot. It's possible to make a good movie without one of those (Bergman was a master of movies without a plot; Christopher Nolan was (not anymore) a master of movies without characters), but it rarely happens; it's not possible to make a good movie without both. Unfortunately, in "Westworld" both fail. Not completely, but significantly.

Let's start with characters. One of the central characters here is Dolores (Evan Rachel Wood). She is a "host", which in the show's context means "robot". Wood certainly tries to play her part convincingly, but overdoes it a bit, looking less like a robot and more like a brick. If you look in her eyes — and the show gives us plenty of opportunities to do that — you are rewarded with an unobstructed view of the back of her cranium.

Another host, Maeve (Thandie Newton), gets a bit more interesting somewhere in the middle, when she starts taking control of her life. But her idea of "taking control" seems to be "murder everyone I don't need and threaten with murder the ones I do". There were interesting parts, when she discovered the stash of sketches under a floorboard, or when she made Hector search for a bullet inside her... but it was a brief moment.

The purpose of Dolores in the park is for men to fight over her — and win her. I just don't see it. Fighting for Maeve I could get; but she is for sale, so, no luck.

We're told that in "Westworld" the hosts a routinely reassigned to other positions — like, first Dolores' father (forgot his name) used to be a sheriff, and before that — a professor. We see that Maeve used to be a farm girl. You'd think that's an actors paradise — playing a lot of different characters instead of just one. But no. In "iZombie", which, IMNHO, is one of the best things on TV right now, Liv Moore does switch personalities, while still having a very strong one of her own; in "Dollhouse", which bears certain degree of similarity to "Westworld", Echo, Sierra, and Victor do pretty much the same; but here everybody retains the same personality, while not actually having any.

Humans aren't much better. Ed Harris certainly looks good as a Man in Black, but that's what Ed Harris always does. Can't say the same about his younger self. William aged really well; even without a hat, old and balding, Harris is more handsome than Jimmi Simpson. But it's hard to identify with William, who fell in love with a walking toaster, and hard to identify with Man in Black, who is painted with as much black paint as they could find. And when it's finally revealed that he just wanted to make the hosts able to fight back — dude, you own the company! Surely you can find an easier way to make Dr. Ford change a few lines of code! (Sure, you'll get sued by victims' relatives, but if that's what you want...)

Speaking of Dr. Ford. Anthony Hopkins routinely plays characters who are above the world. Here he brings nothing new. No new shades, no new angles. Just the same. No one can best him at the beginning; no one could best him at the end.

There is, I think, only one character who was a bit interesting. No, not Bernard/Arnold; Elsie. Young and inexperienced, but also quite smart. Ambitious, but wanting to do good. Her demise was only a result of not being given full information. In a better show she might have become a serious obstacle to Ford's manipulations — or a great ally to him; here she is nothing but a small distraction.

Let's talk about the plot then. What strikes me is how unimaginative "Westworld" is. There is so much potential here. And almost all of it is wasted.

For example: I get that some people would dress up as cowboys and try to play the part. But I don't believe all of them would agree to leave their Android phones behind (everybody in the show seems to be using the same phone, and, given how ugly the UI is, I bet it's Android). Maybe not just phones; smart watches, smart glasses — everything. Even if there is no Internet access in the Westworld (which would be a huge blow to the company income), they are still useful. And, given that that photo of William's bride remained there for thirty years, some of the lost electronic devices would remain as well. Not just lost; stolen, also. Sometimes hosts can actually hide things from their masters, like Maeve did with her drawings. So, I imagine a black market with electronics; general awareness of a bigger picture; hell, even some of the hosts having their own blogs!

Another problem with the setting is what the guests actually get for their money. Forget Man in Black, he as far from typical as it gets. Shoot a criminal? Have sex with a hooker robot (or is it robot hooker)? I'm pretty certain you can have all that much cheaper.

Man in Black keeps talking about a "deeper level of the game", but there is no game. The thing is, people play video games for two reasons: a) they don't get really hurt; and b) they feel like they won. Hosts can't kill humans (at least those that are in the park); but they can punch them. Would you go to a theme park where workers would sometimes beat you up? And what it is that you win?

Sure, you can have your private orgy there, but... do you really want it in a dirty brothel? More importantly: do you really want it under a surveillance, without knowing how many employees would have a look?

But enough about premise; let's talk about how it plays out. And the answer is: not in a good way. Apparently, Dr. Ford was trying... no, there is no "trying" for him; he was setting up a robot apocalypse. Um... and how is it good? Earlier, Arnold said that robots would be considered an enemy by humans; Ford just ensured that they would be enemies for real.

You know, I'm sick of this robot threats. In my review of "Interstellar" I've mentioned that pretty much the only thing that I liked there was that robots were people's allies. It's so easy — and so cliched — to write a toaster uprising; it's much more interesting to see real interaction between sentient species. And no, the scripted sex between Dolores and William doesn't count, as it's scripted.

Okay, I've wrote enough. Despite everything I've said, my time wasn't exactly wasted here. "Westworld" isn't the worst way to pass the time. It desperately tries to be something more; but it's not.
migmit: (Default)
На работе. Стою возле кофемашины, читаю твиттер. Натыкаюсь на смешную запись, усмехаюсь.

Из-за угла выворачивает Кеки, наш главный по технической части, замечает меня и спрашивает «Что, русские анекдоты читаешь?"

Я говорю «Нет, как раз английские» и зачитываю ему вслух содержание твита:

Посмеялись вместе, он ушёл по своим делам. Из переговорки за стеной выходит Шериф — один из коллег — и несколько недоумённо спрашивает: «Мне послышалось, или ты тут мяукал»?
migmit: (Default)
Это просто мне не попадалось, или и в самом деле никто не додумался после американских выборов процитировать вот это:
Совершенно не случайным, однако, было то, что сегодняшний день, день завершения проекта, великий день открытия, день, в который «Сердцу Золота» суждено было предстать пред лицом восхищенной галактической общественности, был также кульминационным днем лично для Зафода Библброкса. Именно ради этого дня принял он когда-то решение баллотироваться в президенты, решение, которое в свое время вызвало бурю крайнего удивления и недоумения у народов Галактики. Зафод Библброкс? Президент? Только не этот Зафод Библброкс! Только не президент! Многие граждане считали саму возможность подобного решения безоговорочным подтверждением того, что у всей вселенной окончательно съехала крыша.

Зафод ухмыльнулся и поддал газу.

Зафод Библброкс, искатель приключений, экс-хиппи, любитель развлечься, (мошенник? весьма вероятно), маньяк саморекламы, невозможный тип, который, считалось, навечно «вышел покурить».

Президент?

На самом-то деле, никакая крыша ни у кого не съехала, по крайней мере, не в этом отношении.

Во всей Галактике только шесть человек понимали, по какому принципу происходит управление Галактикой, и, как только Зафод Библброкс объявил о своем решении баллотироваться в президенты, эти шесть человек сочли, что дело более или менее в шляпе: по их мнению, Зафод был идеальной фигурой.

Единственное, чего они совершенно не понимали, так это почему Зафод принял такое решение.

Зафод круто повернул, лихо взметнув ввысь отвесную стену воды.

Сегодня наконец настал день, когда все поймут, что было нужно Зафоду Библброксу. Ради сегодняшнего дня он столько лет провел в Президентах. А кроме всего прочего, сегодня ему исполнялось двести лет, но это было не более чем очередное случайное совпадение.
И чуть позднее:
Форд был ошарашен и некоторое время не мог говорить. Потом расхохотался.

– Ты хочешь сказать, – сквозь смех выговорил он, – что стал Президентом только для того, чтобы угнать «Сердце Золота»?

– Факт, – сказал Зафод с ухмылкой, увидев которую, многие люди немедленно оказались бы заперты в палате с обитыми стенами.

– Но зачем? – недоуменно спросил Форд. – Для чего он тебе?

– А я почем знаю, – пожал плечами Зафод.
Если кто не в курсе, это Дуглас Адамс, «Автостопом по Галактике».

Так вот. Кхм. Никто не в курсе, что там США конструируют такое секретное? Да ещё во Франции, потому что
Зафод Библброкс был на пути от миниатюрного космопорта на Восточном острове (название которого суть не что иное как случайное совпадение – на галактилекте, «восточный» означает «маленький, плоский и светло-коричневый») к острову, где проводились работы над «Сердцем Золота». По еще одному случайному совпадению, остров назывался Франция.

Одним из побочных эффектов разработки «Сердца Золота» явилась целая цепь абсолютно случайных и абсолютно бессмысленных совпадений.
migmit: (Default)
Как образовать прилагательное от слова «пари»? «Паришное»?

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

Так что пока от Трамповой победы мы видели только хорошее.
migmit: (Default)
Я уже писал, что в Венгрии был референдум на тему «пущать мигрантов или не пущать». Референдум оказался недействительным, но премьер-министр Орбан заявил, что он «политически действителен» (карикатуристы откликнулись картинкой, на которой пассажир трамвая показывает контролёру проездной, тот говорит «ваш проездной недействителен», на что получает ответ «политически — действителен»), и что он собирается внести поправки в конституцию и запретить подселение мигрантов совсем.

Так вот, вчера парламент Венгрии эти поправки провалил, не набрав конституционного большинства (едва-едва).

Это очень хорошо. Но мне бы хотелось обратить внимание на то, насколько это хорошо для Орбана.

Электорат на свою сторону переманил? Переманил. Основной противник правящей партии Fidesz — партия Jobbik, ультраправые, которые совсем недавно были стопроцентными националистами (в частности, антисемитами). У них была совершенно непримиримая позиция по мигрантам; Орбан выдал столь же непримиримую.

Мигрантов в страну не впустил? Не впустил, по крайней мере — в статистически значимых количествах. ЕС изначально требовал от Венгрии принять всего две тысячи мигрантов, даже меньше. Венгрия хоть и маленькая, но такое количество даже не заметит.

С ЕС не рассорился? Не рассорился, поскольку поправки таки не принял. А значит, продолжит получать от ЕС деньги и не должен выплачивать штраф за невпущенных мигрантов.

Я, конечно, ни на что не намекаю на вполне понятную конспирологическую гипотезу. По моему убеждению, Орбан — хитрая скотина, и вполне может провернуть многоходовочку (настоящую).
migmit: (Default)
Наткнулся на статью «Эфемерность Кадырова», и что-то мне захотелось ответить.

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

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

Так вот. Я лично считаю, что если что-то выглядит как утка, то нужны очень, очень серьёзные аргументы, чтобы сделать вывод, что это не утка. Ещё раз: очень, очень серьёзные. Если кандидат в президенты выглядит идиотом — это не потому, что он притворяется идиотом, это почти наверняка потому, что он и есть идиот. И к действующему президенту (другой страны) это относится в той же мере. Если похоже, что ВВБХ платит Академику дань — почти наверняка это так и есть.

Разгадывать подковёрные махинации и тайные сигналы — увлекательное занятие; но надо понимать, что, кроме игры ума, в этом ничего нет. Реальность такова, что подковёрные махинации гораздо мельче, чем можно заметить в телевизоре, а тайные сигналы — это просто помехи в эфире.

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


Перед колонной едут грузовики — старые, того времени — с символически пробитыми знамёнами.


Набережная частично перекрыта для движения машин. Мост Свободы тоже перекрыт, а вот мост Эржибет, как и следующий за ним Цепной — нет, они проходят над колонной, и машины могут по ним проехать, не мешая демонстрантам.


На одном из грузовиков так и написано, «1956, октябрь, 23».


Колонна реально огромная, но совершенно спокойная.


Когда колонна немного отвернула — чтобы пройти возле стен Замка — это заметили не все.


Выходящие на набережную улицы, в основном, тоже перекрыты полицией.


А по набережной так и гуляет народ, и шествие ему совершенно не мешает.
migmit: (Default)
Как оказалось, российская политика предоставляет огромные возможности для цитирования классики и не только.
Например: )
Многие цитаты перевраны, но без изменения смысла.