Глумимся-с

Давай, Роскомнадзор, блокируй меня. Блокируй меня полностью!!!

Картинка

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

Как я убила время

…в ожидании самолёта.

Из квартиры нас выселили в 12, а самолёт вылетает только в 21:35.

В общем, я поехала с «Московской» в ТЦ «Лето», чтобы посмотреть (просто посмотреть) в «Медиа Маркте» выбранную мной модель ноутбука.

По пути зашла в «Сони-Центр». Оказалось, что эта модель есть на 4 (!) тысячи дешевле, при этом даже на тысячу дешевле, чем в Новосибирске, но с одним «но»: нужно было ехать в другой «Сони-Центр» на другом конце города («Мега-Парнас»). При этом в «Лете» я предварительно оплатила покупку и в «Мегу» приехала уже с чеком.

Продавцы упаковали мне ноутбук (последний с витрины) и в качестве бесплатного бонуса помогли поменять местами жёсткие диски. Таким образом, в новом уже стоит SSD со старого, и пишу я сейчас из Kubuntu, которая даже не потребовала переустановки — сразу подхватила новое железо.

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

Пока наездилась туда-сюда, пока походила по магазинам, время и пролетело. В аэропорт приехала почти ровно в 19.

Про пиратство

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

Я плачу деньги за продукт творчества, если он доступен в моём регионе без DeRьМа и на нужном языке. Я понимаю, что авторы «тоже хотят кушать» и заслуживают вознаграждения за свой труд. Вот кто не заслуживает ни копейки, так это издатели-паразиты, которые, сами не приложив руки к созданию продукта, начинают ставить пользователю условия.

(Потому, кстати, я за инди плачу охотнее: знаю, что деньги пойдут авторам, а не какому-то хрену с горы.)

Я оставляю за собой право спиратить игру в одном из четырёх условий:

  1. Она недоступна в данном регионе.
  2. Доступна, но с DRM. (Хотя пункт 1 — разновидность пункта 2; региональные ограничения — это тоже разновидность DRM, и притом особенно ненавистная мне.)
  3. Доступна, но не на нужном языке. Да, EA, я смотрю в вашу сторону. Ведь на территории РФ все говорят исключительно на русском, да?!
  4. Нет официальной демки, а я хочу пройти хотя бы первый уровень, чтобы посмотреть, стоит ли игра своих денег.

В случае 4, если я собираюсь играть дальше, я игру таки куплю. Я таки купила практически (© Пехтин) все игры, в которые когда-либо играла на ПК.

И ещё. Стим на том и расцвёл, что его создатели нашли лучший способ защиты от пиратства: нужно предоставить услуги, которые пираты не смогут предоставить. Сделать покупку выгоднее.

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

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

Это даже хуже, чем у пиратов. По крайней мере, скачав .mkv с рутрекера, я могу делать с ним всё, что хочу. И сам по себе с моего жёсткого диска он не исчезнет из-за того, что правообладатель, видите ли, доступ закрыл.

Про проблему других сознаний

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

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

В чуть более позднем детстве я начала задумываться над тем, что другие люди тоже обладают сознанием, схожим с моим. ведь я смотрю на мир через свои глаза и тем самым не могу посмотреть на себя со стороны. Если бы не зеркала и не фото/видеосъёмка, я бы вообще могла никогда не узнать, как выглядит моя голова или спина, или как я в принципе выгляжу с самых разных ракурсов. В то же время всех остальных людей я могу воспринимать только со стороны. Я не могу залезть к ним в мозги, увидеть и почувствовать мир с их точки зрения, поделиться с ними рецепторными ощущениями на уровне нервной системы.

(А хорошо бы! Надеюсь, когда-нибудь такие технологии появятся.)

И ещё один вопрос был, на который, к счастью, дали ответ энциклопедии: а что находится по другую сторону моего «вьюпорта», передней граничной плоскости моего поля зрения?

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

Чисто гипотетически, например, вполне возможно, что Алиса и Боб субъективно видят один и тот же цвет по-разному. И если бы Алиса могла «заглянуть» в мозг Боба, она увидела бы, что цвет, который она видит как синий, Боб видит так, как она видит красный, и наоборот. Но при этом они всё равно пришли бы к соглашению о том, какой цвет называть синим, а какой красным. Для возникновения непротиворечивых соглашений об именовании достаточно только, чтобы и Алиса, и Боб видели все оттенки того цвета, который в обществе называется «красным», именно как разные оттенки одного и того же цвета. Даже если субъективное восприятие этого цвета между ними будет отличаться. Всё равно они этого никогда не узнают.

Про гомофобию

Перепост развёрнутого ответа в ВК в ответ на утверждение, что в Европе несравнимо меньше гомофобии, чем в РФ.

Этого я не отрицаю. Вопрос в причинах, по которых там меньше гомофобии.

Во-первых, «там» (в среднем по больнице) гомофобия наказуема, существуют и реально работают антидискриминационные законы. А в РФ и так ЛГБТ не считаются социальной группой, в отношении которой вообще возможна дискриминация, а тут ещё и «закон Мизулиной».

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

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

Это и есть то, что называется «толерантность». Толерантность — значит терпимость, от слова tolerate — терпеть. Но терпеть и принимать — не одно и то же. Терпеть можно и скрепя сердце. Принятие — это другой термин, acceptance. В русском не знаю хорошего аналога.

Вот эти-то люди, у которых не tolerance, а именно acceptance, и составляют третью категорию — категорию людей, искренне считающих, что в ЛГБТ нет ничего плохого и их дискриминация неэтична. И процент этой категории постепенно растёт.

Но с родителями всё сложнее. Среди родителей, особенно старшего поколения, до сих пор популярно отношение к ребёнку как к вещи, «недочеловеку», которого допустимо психически давить, запугивать и шантажировать. «Мой же ребёнок!» Или: «Вот будут у тебя свои дети, их будешь воспитывать как считаешь нужным!»

(Кстати, я подозреваю, что корни «закона о пропаганде» растут в том числе и отсюда. Мизулины всей страны, сами будучи родителями, боятся, что «какие-то ненормальные» нарушат монополию на промывание детям мозгов, де факто никак не наказуемое. Поэтому если родитель из-под палки заставляет ребёнка молиться, поститься и слушать радио «Радонеж», то это нормально. А если ребёнок случайно увидит радужный флаг, у него могут появиться крамольные, «неблагонадёжные» мысли, он, чего доброго, увидит, что родители не истина в последней инстанции!)

Поэтому на своих детях «можно» отрываться. Это социально «допустимо» — никто же не видит, и ребёнок не побежит никому жаловаться. И если родитель воспринимает ЛГБТ как нечто плохое, тут вступает в действие ещё один психологический штамп: «Ну уж с нами-то ничего плохого не случится, это так, просто статистика, есть они там и ладно!» И когда такой человек, которого ты считаешь «ненормальным», но не можешь об этом сказать в приличном обществе, находится в твоей семье, это тем горше. Ну хоть на ребёнке можно оторваться. Угрожать выкинуть его на мороз, лишить денег, еды, чего угодно, лишь бы прекратил эти «противоестественные» и «небогоугодные» занятия.

Я злая

Тут должен был быть длинный пост, но его нет, потому что грёбаный хостинг отвалился на несколько часов как раз в тот момент, когда я нажала кнопку «Сохранить». Перенабирать вручную лень. Может, в другой раз.

Про планшет

Итак, я всё-таки поддалась веянию времени. :(

Даже как-то стыдно немного.

Выбор пал на ASUS MemoPad ME301T, потому что я тотальная нищебродка (читай: не хочу платить двойную цену за понты и ненужные навороты). Самый простенький Асус, какой только был, без мобильной связи и док-станции. Отсутствие первой успешно компенсируется наличием рядом телефона с вай-фай-адаптером. Что касается второго, то клавиатуру всегда можно подключить по USB, если припечёт, а набирать на таком экране большие тексты всё равно неудобно.

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

И главное и несомненное преимущество: ОН БЕЛЫЙ!!!11

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

Правда, Игорь тонет, чтоб его.

320430714

Нет, ну некоторые годные игры под Андроид есть. Aquaria там, Scribblenauts Remix. Есть Warcraft II, портированный народными умельцами с помощью опенсорсного движка. Хотя и то играть, постоянно водя пальцем по экрану, лично мне неудобно. Мышкой привычнее как-то.

Пока осваиваюсь. Для видео поставила VLC, для почты — AquaMail (бесплатную версию), в качестве браузера — Firefox. Он хоть и в этой инкарнации заслуживает репутацию Тормозиллы, зато там есть Adblock (который Гугл по понятным причинам в свой браузер никогда не вставит) и возможность принудительного отображения десктопной версии сайта. Что есть гут, ибо некоторые сайты, опознав Андроид, настойчиво пихают урезанные мобильные версии даже при разрешении 1280×800. Читалку электронных книг оставила штатную, вполне себе няшная.

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

Ну и жаловаться на такую мелочь, как неотключаемое 12-часовое время в штатном виджете часов, было бы уже свинством с моей стороны. Это называется «зажралась». Заменила на Fancy Widgets.

Пока радуюсь.

Про GWT

GWT — зло.

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

Но GWT — это особая песня.

«А давайте сделаем вид, что никакого JavaScript у нас нет! Мы типа пишем на Java типа гуй в стиле Свинга.»

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

«А давайте сделаем декларативный язык разметки для интерфейса!»

Алё, гараж. В web-клиентах уже лет двадцать есть декларативный язык разметки интерфейса. HTML называется.

Велосипеды, велосипеды, сплошные велосипеды.

Не получается абстракция-с. JS прёт наружу. Закон текучих абстракций ещё никто не отменял. Сделать вид, что у нас JVM, всё равно не получится. Не работает рефлексия, многопоточность, I/O и ещё много чего, что никогда не будет поддерживаться в браузере. Стандартный API календаря и форматирования даты/времени тоже почему-то не поддерживается, вместо него свой костыль, да ещё и продублированный в двух пакетах.

И так у них всё.

При этом попытка скрестить ужа с ежом, то есть подогнать паттерны Java под паттерны JavaScript, смехотворна. В JS есть много кошерных вещей, невыразимых в Java. Прототипы, first class functions, apply/call/bind, eval и new Function (зло, но и у них есть свои области применения), динамическое переопределение объектов, интеграция с JSON и т.д. В GWT для каждой нестыковки лепят свой отдельный костыль. Вариантов прикручивания к GWT того же JSON существует как минимум штук пять, и у каждого свои косяки.

При этом GWT ещё и пытается изолировать программиста от уже устоявшихся клиент-серверных парадигм. REST? JSON-запросы? Не, не слышали. А берите-ка GWT-RPC, давайте делать вид, что мы гоняем по сети Java-объекты — естественно, с диким оверхедом на самопальную сериализацию. Естественно, серверная сторона становится ни с чем не совместимой, кроме GWT-клиентов. А попробуйте-ка написать для этой байды юнит-тесты и сравните с лёгкостью юнит-тестирования REST-ресурсов Restlet или JAX-RS.

В качестве попытки исправить косяки GWT-RPC эти клоуны написали RequestFactory. Который ещё хуже, ибо гвоздями прибивается к реализации на сервере. А ещё клиент привязывается к схеме базы данных, что уже вообще ни в какие ворота не лезет.

Кстати, о юнит-тестах. Одной из целей GWT заявляется как раз лёгкость юнит-тестирования. В итоге это выливается в то, что они предлагают выполнять автоматизированное тестирование GWT-клиентов… в браузере! Интересно, откуда возьмётся браузер на headless-сервере, где тесты гоняются автоматически в каком-нибудь jenkins’е. И чем это лучше тестирования JavaScript в браузере? Кстати, проблема с тестированием JavaScript решается вообще элементарно: Rhino + envjs для эмуляции браузера.

Что имеем в сухом остатке?

Тестирование на JavaScript:

  1. Внести изменения в код
  2. Перезагрузить страницу

Тестирование на GWT:

  1. Внести изменения в код
  2. Запустить тяжеленный сервер с devmode, еле ворочающийся с -Xmx512m
  3. Дождаться запуска
  4. Перезагрузить страницу
  5. Дождаться, пока тормозной компилятор распарсит ВЕСЬ клиентский Java-код, игнорируя слайсы и runAsync
  6. Выругаться на ошибки deferred binding, вылезающие в зависимости от погоды на Марсе
  7. Перезагрузить страницу
  8. Перезагрузить страницу
  9. Выругаться на OutOfMemoryError из-за текучего и тормозного браузерного плагина
  10. Перезапустить сервер, повторить шаги 2-5
  11. Наконец дождаться загрузки формы логина
  12. Залогиниться
  13. Подождать, пока компилятор подгрузит всё остальное…

Ну вы поняли.

А сначала-то какая у меня была эйфория, когда начальник решил использовать GWT. Шанс изучить новую технологию, да ещё и на Java! Это сейсас я понимаю, что на чистом JS я бы написала веб-морду гораздо быстрее и при этом меньше мучалась бы с багами разных сопутствующих библиотек в разных браузерах.

«Если вы не отзовётесь, мы напишем в Спортлото!»

Итак, позвонил сотрудник ГАИ.

Оказалось, указанные участки не относятся к дорогам общего пользования, поэтому на них ГОСТ не распространяется.

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

IMAG0035

А вот этот участок…

IMAG0032

…является газоном! Потому что находится между проезжей частью и тротуаром.

Интересно, если это газон, могу ли я насыпать туда земли и посадить цветы?

Каждый день узнаёшь что-то новое.

Ещё он предлагал выйти и пообщаться лично — «моя машина, мол, стоит возле вашего дома». Я отказалась.