Log in

No account? Create an account
About this Journal
Current Month
10 сент, 2027 @ 13:25 кредо
Make love, not ware!
About this Entry
6 мар, 2017 @ 03:37 moving to Blogger
I have decided to write all further serious programming-related posts on Blogger. LJ just doesn't feel to be the appropriate place for this. And since I have already switched all my social communication to Facebook, I guess it means this journal is becoming read-only (or perhaps I will repost links to the Blogger).

My first Blogger post.
About this Entry
15 фев, 2017 @ 03:38 TeardownTree update
The TeardownTree project is coming along nicely. It is now feature-complete: both the basic and the interval tree have been implemented, thoroughly tested and benchmarked. The interfaces provided are Map and Set with all the familiar BST operations (with the notable exception of insert): find, query_range (basic tree) / query_overlap (interval tree), delete, delete_range / delete_overlap with optional filtering, iter, into_iter.

As to the insert operation, I initially assumed it was simply impossible to implement in a satisfactory manner. But I have now arrived at the idea that it's doable by borrowing from the awesome data structure called Scapegoat Tree. Indeed, the Scapegoat Tree is perfectly suited for my use case: it rebalances itself by rebuilding entire subtrees as opposed to by tree rotations (which are basically impossible in the implicit representation) and requires no extra data in the nodes. It also does not affect the delete_* operations, which I want to keep as they are, or perhaps allow enabling full conformance to the Scapegoat Tree with a flag if the user is interested in guaranteed O(log N) amortized complexity at the expense of having to rebuild the whole tree every once in a while.

Anyway, my immediate plans are to publish a full and proper set of benchmarks (the currently published benchmarks are, as I learned, only valid for Windows, where Rust uses the inferior system allocator - as opposed to jemalloc on Linux, - with a huge effect on data structures that allocate their nodes individually): first, comparing the flagship TeardownTree::delete_range, as well as delete, query and query_range operations with the competition; second, showing how various features affect the performance of delete_range: basic delete_range vs filter_range vs IntervalTree::delete_overlap vs IntervalTree::filter_overlap.
About this Entry
25 дек, 2016 @ 21:06 HOWTO: Ivacy VPN & QBittorrent on Windows
Goal: configure Ivacy VPN service on Windows in such way that only select few applications (QBittorrent in my case) would use it.

After several hours of bashing my head against the wall, here is what I found.

1) There is a guide describing how to achieve this with OpenVPN; however, I found that, for some reason, with Ivacy this yields a much worse performance than when connecting with Ivacy's proprietary client. Namely, QBittorrent is able to connect to much fewer peers. Ivacy's support has (so far) been unable to solve this.
2) QBittorrent allows one to configure the network interface through which to connect, but the drop-down list does not include "Ivacy" - the name of the VPN interface created by Ivacy's proprietary client.

1) Set up the Windows Firewall rules to block all communication for QBittorrent, except through the VPN interfaces. This is a safety measure, not required for the rest to work.
2) Download and install ForceBindIP.
3) Connect to the VPN. Find out the GUID of the VPN network interface: open regedit and browse to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces.
4) Modify QBittorrent's shortcut as follows: <path/to/ForceBindIp.exe> -i <GUID> <path/to/qbittorrent.exe>

P.S. Of all Torrent clients I tried, only Vuze was able to handle this properly. However, its GUI is extraordinarily repulsive and inconvenient, not to mention the ads.
About this Entry
22 ноя, 2016 @ 17:33 Bulk delete for BST (binary search trees)
Hmm, it seems Google doesn't know of an algorithm to bulk delete all nodes in [from, to] range from a binary search tree in O(k+log n) time (where k is the number of nodes in that range). Can I be the first to invent one? Granted, the implementation is involved with lots of cases, but quite straightforward conceptually.

Briefly, it is a recursive algorithm (duh!) based on the standard BST delete operation (refresh your memory on that before reading further). The recursive function accepts 4 parameters aside from the node itself: two stacks of items (replacements_min and replacements_max) and two integers (min_reqs, max_reqs).

- min_reqs contains the number of minimum items that were requested to replace items above in the call stack
- replacements_min contains the stack of items in increasing order (biggest on top) that have been accumulated in response to min-reqs. Thus its size is always <= min_reqs.

(max_reqs and replacements_max are the same for max items)

What we are supposed to do in our current subtree is:
- for every item that is inside the search range, move it to an output list; then attempt to retrieve a replacement for it from either the left subtree (by passing max_reqs+1) or the right subtree (by passing min_reqs+1). To be more specific: after a recursive call on the left subtree with (max_reqs+1), we check whether max_reqs+1==replacements_max.len() and, if so, pop an item from replacements_max and put it in place of our removed item. Otherwise we proceed to recursive call on the right subtree with (min_reqs+1), etc.
- remove (min_reqs-replacements_min.len()) smallest items that have not been consumed and add them to replacements_min
- mirror for replacements_max and max_reqs

See my implementation below for details. It has been exhaustively tested on all trees up to size 10 with no errors (the test is found in lib.rs).

About this Entry
31 июл, 2016 @ 18:53 Предание о Хакинтоше
Сказ о том, как я собрал себе Хакинтош.

I) Дано
1. Железо: GA-Z97-D3H, i5 4690k, карта WiFi TL-WN881ND, NVidia GTX 260, KVM из Китая (CKL-92D).

II) Создаем виртуальную машину с Mac OS X. Это нужно для того, чтобы создать образ инсталляции Хакинтоша. Такой вот bootstrapping.
2. Качаем VMWare Player и готовый образ под него. Следуем инструкции по установке. Если сеть перестает работать (как это случилось у меня), переводим в настройках виртуальной машины сеть в режим Bridged, нажимаем на кнопку Configure Adapters, выставляем там флажок только напротив реальной сетевой карты.
3. Вставляем флешку или USB Hard Disk. Говорим VMWare подключить его к виртуальной машине.
4. Форматируем так, чтобы первый партишн был пустым, имел обычную файловую систему мака (HFS+) и размер от 8 до 16Гб (важно!).

III) Создаем образ инсталляции Хакинтоша:
5. Следуем гайду по установке Хакинтоша. В программе Unibeast включаем галочку "Inject NVidia". Везде, где есть выбор между EFI и Legacy, выбираем EFI.
6. Качаем Multibeast, записываем его на наш USB drive.
7. Качаем Clover Configurator, записываем его на USB drive.

8. Подключаем все проводки к KVM.
9. Открываем Device Manager в Windows. Идем в Universal Serial Bus Controllers. Открываем все девайсы со словом "Hub", идем в таб Power Management, отключаем галочку "Allow the computer to turn off this device to save power". Это нужно потому, что со включенным флажком при переключении KVM в Windows часто отключаются клавиатура и мышь. (Возможно, это проблема только с этим конкретным девайсом KVM.)
10. У всех нормальных KVM есть комбинация горячих клавиш для переключения между девайсами. У моего она явно нигде не указана, но методом научного тыка выявлены две: два нажатия на Scroll Lock и два нажатия на Num Lock. Самое интересное - как выяснилось, девайс отлавливает не сами нажатия, а изменение состояния лампочки (мы к этому еще вернемся).

V) Инсталлируем Хакинтош и конфигурируем его:
11. Продолжаем следовать гайду по установке Хакинтоша.
12. Настройки BIOS для Z97-D3H берем отсюда.
13. После окончания установки загружаем Хакинтош используя тот же диск USB (в boot menu будет соответствующая опция). Это важно потому, что его собственный boot loader может быть еще не создан или иметь неправильные настройки.
14. Запускаем Multibeast с нашего диска USB. В нем выбираем опции: Audio->ALC1150, Misc->FakeSMC*, Misc->NullCpuPowerManagement, Network->Intel->AppleIntelE1000e v3.3.3, Bootloaders->Clover v2.3k r3423 UEFI Boot Mode, Customize->Inject NVIDIA, Customize->System Definitions->Mac Pro->Mac Pro 3,1
15. Открываем таб Build в MultiBeast, выбираем правильный Install Drive (важно!), запускаем Install. Отключаем наш USB drive, перезагружаемся. Комп должен теперь загружаться со своего хард диска.
16. Запускаем Clover Configurator с диска USB.
17. В разделе Boot выставляем: Rootless=0, -XCPM, Darkwake=no, как советуют здесь.

VI) Чиним драйвер для карты WiFi:
18. Копируем файл /System/Library/Extensions/IO80211Family.kext на десктоп. Сразу же создаем его бекап на десктопе.
19. Жмем на файл правой кнопкой -> Show package contents.
20. Открываем Contents -> Plugins.
21. Жмем правой кнопкой на файл AirportAtheros40.kext -> Show package contents
22. Открываем файл Contents -> Info.plist в текстовом редакторе
23. Находим первую строку вида <string>pci168c,XX</string> и меняем в ней XX на "2e", где "e" - маленькая
24. Сохраняем Info.plist
25. С помощью утилиты KextBeast инсталлируем IO80211Family.kext в директорию /System/Library/Extensions/
26. Перезагружаемся, теперь WiFi должен работать.

VII) Устанавливаем программы, облегчающие жизнь:
27. "MouseFixer" - программа от TeamLiquid, отключающая ускорение мыши. Рекомендуется в сочетании с программой, устанавливающей нужный DPI (т.к. скорость мыши в контрольной панели Мака перестает работать), - например, драйвером производителя мыши.
28. TeamViwer - иногда удобнее использовать программу такого рода, чем KVM (для filesharing, clipboard sharing, если надо часто переключаться туда-сюда, etc)

VIII) Проблема с переключением KVM и ее решение:
29. Как я писал выше, мой KVM отлавливает не нажатия на клавиши Scroll Lock и Num Lock, а изменение состояния лампочек. Когда он обнаруживает, что лампочка мигнула, срабатывает переключение на другой компьютер.
30. Проблема в том, что клавиатура Маков в принципе не имеет ни этих клавиш, ни лампочек. При нажатии на Scroll и Num Lock генерируются какие-то события, но лампочка не переключается. Соответственно, hotkey в Маке не работает.
31. Как пофиксить:
  а) скачать этот файл и положить его в /Users/MYUSER/bin/. Это программа, скомпилированная под Intel/x64 (не проверял, для какого точно instruction set).
  б) Установить системный хотки как описано здесь. В качестве команды выбираем Shell Script с текстом "/Users/MYUSER/bin/setleds" (без кавычек). В качестве комбинации клавиш я выбрал Cmd+Scroll Lock, т.к. просто Scroll Lock не работает.
  в) теперь двойное нажатие на Scroll Lock через полсекунды переключит компьютер
32. Что это за программа:
  а) Это код, взятый из этой репозитории
  б) ... переделанный так, что он вместо заданных пользователем операций всегда делает следующее: выключает лампочку Num Lock; спит полсекунды; включает лампочку Num Lock; спит полсекунды; выключает лампочку Num Lock
  в) почему Num Lock, а не Scroll Lock? Потому что лампочка Scroll Lock почему-то не включается (хотя должна).
  г) почему требуется двойное нажатие на Scroll Lock, а не одинарное? Потому что одинарное не всегда работает. Whatever!
About this Entry
17 июн, 2016 @ 15:12 развитие идеи про клетки и вкусняшки
Что мне не нравится в предыдущей версии дизайна? Во-первых, в играх большую роль играет идентификация игрока с персонажем или персонажами. Бесформенный, непрерывно растущий клеточный организм выступает вроде как персонажем, но идентифицироваться с ним было бы довольно сложно (вызывает отрицательные коннотации). Во-вторых, количество игровых элементов, вероятно, слишком маленькое, а значит, придется вводить новые. У меня есть несколько идей, например, ломать стенки. В-третьих, смотреть, как размножаются клетки - это не очень зрелищно.

Итак, модифицируем дизайн.
1) На каждой вкусняшке написана ее "пищевая ценность", то есть сколько клеток из нее вырастет. Игрок в начале получает определенное число вкусняшек с разной пищевой ценностью, и его задача - расставить их по уровню таким образом, чтобы в итоге организм добрался до Главной Вкусняшки (она зафиксирована где-то на уровне) и сожрал ее.
2) Клетки будут не только размножаться, но и умирать. Но не по таким правилам, как в Game of Life: умирать они будут от старости. Организм жрет вкусняшку, возникают новые клетки, после этого каждая из этих клеток живет N тиков и умирает. В результате наш монолитный организм может разделиться на несколько отдельных, и каждый будет жить дальше своей жизнью. В моем воображении это выглядит уже более интересно и забавно. И не так угрожающе, как всепоглощающая протоплазма (мама!). Похоже на жизнь.
3) После поглощения вкусняшки новые клетки вырастают не все сразу, а с течением времени. После тика k вырастет слой клеток на расстоянии k от вкусняшки.
4) Как вариант - когда вкусняшка исчерпана, все клетки, которые находятся по одну сторону от этой вкусняшки, "по инерции" продолжают двигаться в ту же сторону, в которую они росли, отрываясь от остального организма. Не уверен, что это хорошая идея.
5) Открытый вопрос - что происходит, когда два организма сталкиваются. Самый простой вариант - просто соединяются в один, но есть и другие.

С такими правилами уже не уверен, что нужны дополнительные элементы. По крайней мере кажется, что с имеющимися можно делать годные уровни.
About this Entry
15 июн, 2016 @ 23:35 еще идея для игры
Буду рад услышать комментарии - насколько интересно это звучит, как можно улучшить, итп.

У нас есть сетка определенного размера, причем между некоторыми ячейками расположены стенки. Где-то на поле находится целевая ячейка, в которую надо добраться. Игрок получает клетку (как в биологии) и N вкусняшек. Он должен расставить вкусняшки по полю, поставить клетку на край поля и нажать на Start. После этого происходит автоматическая симуляция: клетка начинает делиться. Каждый раз при делении новая клетка попадает в соседнюю ячейку (подробнее дальше). Изначально у нее есть потенциал создать 10 новых клеток. Каждая съеденная вкусняшка увеличивает потенциал еще на 10. Наконец, как происходит выбор ячейки, в которой будет создана новая клетка: мы всегда выбираем ту ячейку, которая находится на минимальном расстоянии от ячейки, в которой находилась вкусняшка. Если таких ячеек больше, чем одна, то выбираем первую такую ячейку против часовой стрелке (от направления "вверх").
About this Entry
15 июн, 2016 @ 15:49 идейка
Возникла вот такая идея для игры с паззлами (или, скорее, набора игр). По мотивам Legend of Grimrock и иже с нею.

Есть поле фиксированного размера, скажем, 10x10. Для простоты скажем, что все клетки либо черные, либо белые (если развивать идею, то хочется еще вариантов: скажем, есть активные/неактивные, а также помеченные символами). При нажатии на каждую клетку, паттерн как-то изменится (или не изменится). Правила, по которым меняется паттерн, устанавливаются для каждого паззла отдельно. Цель - получить на поле определенный паттерн (в зависимости от задумки автора, игрок может знать или не знать целевой паттерн заранее). Дополнительно есть подсказки, которые могут появляться при достижении определенного паттерна, а также игрок может просить о подсказке, если застрял. В общем, автор паззла задает набор правил, общее описание, подсказки и целевой паттерн.

Идея в том, чтобы:
а) написать "движок", который бы позволял создавать паззлы путем задания системы правил и удобный интерфейс для этого
б) придумать и забить в базу данных сколько-то паззлов
в) социальные фишки: позволять пользователям самостоятельно создавать паззлы и закачивать их на сервер, а другим пользователям выставлять паззлам оценки, итд

Основной вопрос - в том, как построить удобную и гибкую систему правил. Наверное, она не должна быть Turing-complete, иначе возможен абьюз (с другой стороны, можно постараться и сделать песочницу). Хотелось бы, чтобы ей могли довольно успешно пользоваться непрограммисты, но непонятно насколько это реалистично.

Кто-нибудь слышал о похожей системе? Мысли/идеи приветствуются.
About this Entry
31 май, 2016 @ 16:59 Про Rust
Это своего рода summary моего текущего опыта работы с новым интересным языком Rust. Давно собирался написать на эту тему, но вот подвернулся удобный случай - avva просил прокомментировать опыт использования этого языка.

Мой бекграунд: много лет программирования под JVM (Java, Groovy, Kotlin, чуть-чуть Scala), само собой JS, кое-что на Objective-C, лоу-левел C+OpenGL, игрушечные проекты на OCaml. Интересуюсь ЯП.

Раст мне интересен в трех категорияхСвернуть )
About this Entry
22 авг, 2015 @ 00:39 Snap-Dragging in Gargoyle (C) Xerox Parc
Еще один шедевръ от Xerox Parc - графический редактор Gargoyle с функциональностью CAD. Видео записано в 1986-м!
About this Entry
13 июл, 2015 @ 16:20 Rust + Qt
Сделал маленький проект на Rust + Qt. И тем, и другим пользовался впервые (да еще и проект под венду, поэтому пляски с бубном вокруг MinGW и прочая, и прочая, - ну, это отдельная песня).

Rust у меня пошел на ура - этот язык близок к идеальному (в моем представлении). Из серьезных недостатков я заметил только отсутствие N:M тредов - с rust'овскими каналами это абсолютно необходимый фичер. Причем они вначале были в ядре семантики языка, но год назад разработчики решили перейти на традиционную модель 1:1. Ну, хотя бы можно надеяться, что в будущем поддержка появится в виде библиотеки (собственно, возможно, под *никсами оно уже работает). Возвращаясь к самому Rust - из-за фирменной семантики ownership, borrowing & lifetimes у него, конечно, довольно высокий порог вхождения. Но для меня он оказался преодолимым. Rust для меня - это OCaml с малтитредингом, более удобным синтаксисом и гораздо ближе к железу (благодаря инновационным фичерам языку не нужен garbage collector). Сказка.

Qt оставил немного двойственное впечатление. Код на C++ под него выглядит, конечно, по нашим временам архаично. Тонны бойлерплейта ради крупиц смысла. Поэтому я делал проект почти целиком на QtQuick - это относительно новый фреймворк в составе Qt, позволяющий строить интерфейс декларативно. Синтаксис описания элемента GUI напоминает определение ассоциативного массива на JS, а скриптинг опять-таки на JS (с возможностью вызывать методы объектов C++, если надо). Выходит нечто вроде веба, но гораздо менее verbose (вместо html компактный JS-объект) и с более широкими возможностями. Но главное отличие - модулярность. Каждый готовый элемент можно использовать как блок в построении большего элемента - так же, как в ООП класс A можно инстанциировать в классе Б, передав ему параметры, и потом вызывать на нем методы и менять пропертиз. Не знаю, кто первый придумал эту схему - Qt или еще кто-нибудь, - но получилось на удивление просто и элегантно.

Самая неприятная часть проекта состояла в связке Rust - C++ - Qml. Поначалу я рассчитывал воспользоваться готовым клеем, но при ближайшем рассмотрении оказалось, что он умеет передавать сообщения/вызовы только в одну сторону (Qml -> Rust), что меня, конечно, не устраивало. Плюнул и написал весь клей вручную. Уродливо, мерзко, но работает.
About this Entry
18 июн, 2013 @ 10:56 То Самое Кино (2011)
- именно так я назвал бы этот фильм, хотя на самом деле он называется "Незначительные подробности случайного эпизода".
About this Entry
24 фев, 2013 @ 12:25 (без темы)
Фильм 1953-го года об аналоговых компьютерах управления огнем, использовавшихся на военных кораблях того времени. Насколько эта штука ни отличается от знакомых нам цифровых архитектур, замечательно, что в ней уже воплощены идеи modularity и reusability :)

About this Entry
21 фев, 2013 @ 20:03 Ichik Umer
это прекрасно
About this Entry
7 фев, 2013 @ 22:51 Еще документальные сюжеты от Vice
Я взялся за просмотр всех фильмов от Vice, которые только есть на Youtube. Буду сюда кидать линки на лучшие (обновляется):

The Mexican Mormon War: 1
О войне между мексиканскими наркокартелями и целой общиной мексиканских мормонов (переехавших туда из США), кстати говоря, родственников Митта Ромни.

Bride Kidnapping in Kyrgyzstan: 1
Пристальный взгляд на свадебный обычай киргизов.

Female Fighters of Kurdistan: 1 2 3
Курды мне очень понравились. Наверное потому, что они кажутся похожими на израильтян в 1947 - и внешне (невероятная схожесть! практически неотличимы), и по направлению развития. Есть, оказывается, еще один прогрессивный народ на Ближнем Востоке. Марксисты, конечно, но кто без греха?

Prostitutes of God: 1
Об узаконенной проституции в Индии.

Slaves of Dubai: 1
Об иностранных рабочих, строящих Дубаи.

И, особняком, хардкор из параллельной вселенной.
The Cannibal Warlords of Liberia: 1

2 из 3 их сюжетов про Израиль и фаластынцев ангажированы в пользу последних, эти не рекомендую. Третий не очень интересен (там про житуху в Газе).

Собирательная реакция: охуеть!!! умеют же люди снимать документальное кино.
About this Entry
6 фев, 2013 @ 08:56 Жесть как она есть
СЯУ (Сегодня Я Узнал), что... Россия покупает рабский труд северокорейских рабочих (журналистское расследование, часть 1/7).

У VICE есть предвзятые репортажи, но этот прекрасен во всех отношениях. Действие первой половины фильма происходит еще только по пути к этим лагерям - в российской глубинке, но авторы прозорливо посчитали отснятый там материал годным введением в тему. И действительно, тому, кто стал свидетелем сакрального "гопника в поезде" (звезда второй серии), становится как-то совсем легко понять, как попал в Эту Страну филиал северокорейского ГУЛАГа и почему Всем Похуй на его существование.

Дорогая Родина! Именно такой я тебя и запомнил.
About this Entry
4 фев, 2013 @ 00:40 Antichamber
Только что закончил проходить новый паззл, Antichamber. Восторг и обожание. Горячо рекомендую всем любителям паззлов, не пожалейте $15 - это лучший, в который мне довелось играть.
About this Entry
1 фев, 2013 @ 17:22 почему на голове
Пользуются ли акрофобы (люди, страдающие боязнью высоты) спутниковыми картами?
About this Entry
28 янв, 2013 @ 16:52 дневник
Не покидает чувство, что я на самом деле не бросил курить, а только временно воздерживаюсь. Это объясняет то состояние, в котором я пребываю последние 6 недель. Я сейчас четко вижу, что все это время я непрерывно пытаюсь найти себе какое-нибудь развлечение, чтобы забыть о сигарете, хотя это происходит и неосознанно. В основном эти развлечения сводятся к компьютерным играм и кино. И уже понятно, что физической тяги больше нет, но желание есть такое, будто я не курил 6 часов, а не недель. Самое неприятное - стало очень трудно заниматься скучными делами, т.к. от них чаще хочется отвлечься. И вообще настрой как у испорченного ребенка, первый раз за год помывшего в доме посуду: теперь неделю можно жрать сладости, капризничать и не делать уроки.

Надо срочно прекращать себя жалеть и начинать делать то, что должен. Говорю себе это все время, и... ничего не делаю. Никак не могу перейти к той же жизненной рутине, что была раньше, только без сигарет. Мозг застрял в состоянии "мне необходима сигарета", и никак не хочет из него выходить. Это ужасно. Убейте меня кто-нибудь. И да, спорт - это тоже скучное дело, от которого хочется отвлечься сигаретой. :)
About this Entry
24 янв, 2013 @ 17:36 снова о выборах
Если бы у Лапида и Беннетта была голова на плечах, они сделали бы то, о чем мечтают практически все их избиратели: договорились между собой на какой-либо компромисс по внешним вопросам и выступили единым фронтом по внутренним, то есть
- реформа призыва
- строительство жилья
- отказ от финансирования ортодоксов

В этом случае не было бы ни одной силы в государстве, способной их остановить или воспрепятствовать. Такое правительство было бы самым успешным за десятки лет. Не говоря уже о том, что это событие навсегда изменило бы политическую систему в Израиле, т.к. уже на следующих выборах привело бы к полному обновлению состава Кнессета и заставило бы политиков относиться к избирателям гораздо серьезнее, чем раньше.
About this Entry
24 янв, 2013 @ 06:18 дневник
Сегодня снова мучаюсь от сигаретной зависимости. Это происходит время от времени, но сегодня почему-то больше обычного. Откровенно говоря, я по-прежнему чувствую себя наркоманом, и это совсем не радует. Ощущение примерно такое же, как 2 недели назад. Есть устойчивое чувство голода в левой части груди, не очень сильное, но назойливое и не проходящее. Одним словом, то же самое желание курить, что и раньше. По сведениям Википедии, оно должно исчезнуть через 5-8 недель. Прошло уже 5.

Мой брат когда-то бросил, а через несколько месяцев или год сказал "заебался не курить", и понеслась. Не момент слабости, не переоценка своих сил, не глупость - нет, он долго терпел, а потом попросту не выдержал и сдался. Кажется, я немного унываю.
About this Entry
23 янв, 2013 @ 18:08 (без темы)
Интересно, почему распределение парламентских мест работает так несправедливо к маленьким партиям. В нынешних израильских выборах 5% от общего числа избирателей остались без представления в Кнессете из-за того, что партии, за которые они голосовали, не преодолели избирательный барьер, и их голоса распределились между остальными. 5% - это 6 мест. Разве не было бы намного справедливее, если бы эти 6 мест пропорционально поделили между собой эти партии? Тогда, к примеру, та партия, за которую голосовал я, получила бы 1 место в Кнессете, а вместе с ним свою долю трибунного времени, право контролировать исполнительную власть, представительство в комиссиях и проч. В условиях настоящей демократии есть существенная разница между партией с 1 парламентским местом и партией с 0 мест.
About this Entry
23 янв, 2013 @ 16:46 Очевидное - невероятное
Ynet опубликовал очень интересную карту голосования на прошедших в Израиле выборах. После получаса разглядывания я неожиданно столкнулся с парадоксальным явлением: почти во всех арабских населенных пунктах есть голосующие за Шас! Причем в некоторых деревнях доля их избирателей достигает 13%. Особый восторг у меня вызвала деревня Ма'ар (что рядом с Киннеретом), где Шас получила 19% голосов (из 5000, половина из которых - друзы) и, таким образом, выиграла в ней выборы!

Заинтригованный этим феноменом, я полез искать что-нибудь на эту тему в сети. И действительно нашел статью, которая объясняет его происхождение. Как ни трудно в это поверить, арабы видят в Шасе проводника их собственных интересов. В самом деле, основы внутренней политики Шас - повышенное финансирование многодетных семей, пособия для неработающих, противодействие преференциям для служивших в армии - отвечают интересам арабов.
About this Entry
23 янв, 2013 @ 01:27 Выборы
В связи с только что прошедшими выборами можно подвести черту под странной предвыборной войной с Газой и событиями, которые произошли с тех пор. Как я и ожидал, блок Нетаньяху-Либермана понес существенные потери. Я тогда не верил, что это произойдет на самом деле, и поэтому всерьез думал, что до выборов Израиль окажется втянутым во внезапный военный конфликт, в ходе которого правящий блок улучшит свое положение. Но этого, как ни странно, не произошло.

Что ж, never attribute to malice that which is adequately explained by stupidity.

А голосовал я за маленькую партию "Эрец хадаша", выступающую с программой по борьбе с коррупцией и устранению олигархов от власти. Она, похоже, не прошла. Я не могу сказать, что доверяю этой партии - голосовал просто за программу.
About this Entry
21 янв, 2013 @ 20:33 Родина
В прошлой записи я употребил слово "родина", и сразу захотелось приписать к нему несколько примечаний. Начал было, но потом решил, что они слишком далеко выходят из контекста той записи. В итоге решил ограничиться там эпитетом "бывшая" и перенести все комментарии в новую запись.

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

2. В то же время, я не наделяю слово "родина" каким-либо смыслом, кроме сокращенного "место, где родился и вырос и которое поэтому хорошо знаешь". В этом смысле родиной для меня является СССР, и ни Израилю, ни какой-либо другой стране ей уже никогда не стать. Но поскольку этот смысл не является общепринятым, в виде компромисса я ставлю перед этим словом "бывшая". Этот эпитет, хоть и не сочетается с тем, как я предпочел бы трактовать "родина", по крайней мере, явным образом отправляет страну, из которой я уехал, в отставку.

3. Именно СССР, а не Украина. Украина для меня была и остается совершенно чуждым образованием, собравшим в себя много худшего из совка и мало лучшего. Впрочем, мои воспоминания могут быть обманчивы: период моей жизни в государстве с этим названием пришелся как раз на худшее время на всем постсоветском пространстве - 90-е годы - и, может быть, значительная часть моей ненависти к Украине могла быть направлена и на другую бывшую республику, случись мне родиться в ней. Но это плохо объясняет тот факт, что украинский язык был и остается для меня неприятным. Так же, как украинские национальные символы и культура всегда вызывали у меня только презрение. Я думаю, что на самом деле это все-таки связано с известной мне не понаслышке юдофобией среднего украинца и примитивностью простого народа. Я, разумеется, не имею ничего против примитивности как таковой, но необходимость изучать плоды этой примитивности на уроках литературы наряду с русской и зарубежной литературой казалась мне всегда то ли лицемерием, то ли самообманом; в обоих случаях, по известным причинам у меня не было никакого мотива участвовать в этой игре, кроме обязаловки, которая, естественно, только усиливала внутреннее отрицание.
About this Entry
21 янв, 2013 @ 16:19 О миграции умов (интроспекции псто)
(Ниже я буду очень неполиткорректно обобщать, петь дифирамбы, высказывать категоричные суждения, хвалить себя и спорить о вкусах. В виде исключения, на этот раз я буду это делать с полным правом: ведь речь пойдет о моем подсознании, которое совершает все эти преступления вне зависимости от рассудка.)

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

Изменения, впрочем, были слишком обширными, чтобы охватить их все одним постом или даже одним внутренним взглядом; поэтому конкретизирую: именно сейчас я поражаюсь внезапно возникшему сравнению между моим отношением к "родной", то есть советско-русской культуре и... внезапно, британской. Если 10 лет назад я был - по крайней мере считал себя - верным сыном советской цивилизации, по-настоящему любящим и разделяющим только ее культуру, то к настоящему моменту ситуация решительно изменилась. В самом деле, давайте вспоминать:

- Музыка? Изумлен и восхищен феноменом британского рока, давшим такие имена как Пинк Флойд, Битлз, ELP, и прочее, и прочее, до бесконечности. Очень ценю, многократно восхищался и восхищаюсь до сих пор. Что касается русской музыки, то здесь для меня существует в основном русский рок, который, даже если я его иногда цитирую в этом блоге, все же - in the grand scheme of things - в целом вызывает у меня намного более слабые ощущения, чем британский. Да пара еще более забытых песен из детства. Чайковский и проч. классика - просто не мое (так же, как, впрочем, я не могу вспомнить ни одного классического английского композитора).

- Литература? Трудно было себе в этом признаться, но я совсем не любитель классической русской литературы. Достоевский? Мимо меня. Толстой? Скукотища. Прочие грибоедовы и державины вообще оставили по себе в памяти одно большое недоумение. Пушкин - это да, но в этом списке он все же счастливое исключение. Впрочем, в новой истории дела пошли веселее: взять, к примеру, Булгакова или Ильфа&Петрова. Или вот Набоков, которым я без памяти когда-то зачитывался... И каково же было мое изумление, когда я узнал, что Набоков - с его неповторимым чувством русского языка - начиная с определенного возраста полностью перенес свое творчество на английский. И в предисловии к "Лолите" аргументировал это так:
Телодвижения, ужимки, ландшафты, томление деревьев, запахи, дожди, тающие и переливчатые оттенки природы, все нежно-человеческое (как ни странно!), а также все мужицкое, грубое, сочно-похабное, выходит по-русски не хуже, если не лучше, чем по-английски; но столь свойственные английскому тонкие недоговоренности, поэзия мысли, мгновенная перекличка между отвлеченнейшими понятиями, роение односложных эпитетов -- все это, а также все относящееся к технике, модам, спорту, естественным наукам и противоестественным страстям -- становится по-русски топорным, многословным и часто отвратительным в смысле стиля и ритма. Эта неувязка отражает основную разницу в историческом плане между зеленым русским литературным языком и зрелым, как лопающаяся по швам смоква, языком английским: между гениальным, но еще недостаточно образованным, а иногда довольно безвкусным юношей, и маститым гением, соединяющим в себе запасы пестрого знания с полной свободой духа.
Причем подозреваю, что Набоков здесь еще очень мягок к русскому языку по сентиментальным мотивам. С течением времени после прочтения этой цитаты из Набокова, я научился видеть в английском именно эти качества и полюбил их. И, хоть и не владея им достаточно хорошо, чтобы быть способным сносно выражать свои мысли, я чувствую его красоту в литературе.

- Кино? Лет 5 назад неожиданно открыл для себя тот факт, что обожаю британский кинематограф. Это было действительно неожиданно, ведь акцент, язык и специфика этих фильмов казались мне тогда непреодолимо сложными, а в переводе они теряют слишком много. Но в какой-то момент не замечать эту тенденцию стало невозможным: практически каждый британский фильм, попадавший в мои руки, вызывал огромный отклик, очень отличавшийся от реакции на Голливуд и прочее. Только в сравнении с британским кино (и все-таки Амели:) в памяти потускнели настоящие шедевры советского. И здесь я отдам советскому кино должное: оно по-своему прекрасно. Но самое ценное, что сохранила память; то самое, которое все мы нежно любим, - Собака на сене, Мюнгхаузен, Обыкновенное Чудо, даже Солярис - построено на иллюзии, на мечте. Мечте прекрасной, бесспорно, но как насчет прекрасной реальности? И здесь, разумеется, найдутся исключения, но я уверен, что не случайно именно мечта оказалась такой богатой почвой для советского кино, в то время как в пустыне совковой реальности всходили только горькие плоды, либо вовсе несъедобные. В то же время, британское кино оказалось способным красочно, но достоверно и детально отражать жизнь во всех ее проявлениях. Собственно, драма и комедия - вот два его центральных жанра.

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

В результате, впервые поставив вопрос именно так, я с удивлением обнаружил в себе британофила! Не фейкового как советские хиппи или мотивированного снобизмом как нувориши - а истинного, пришедшего к этому состоянию по мере знакомства с предметом. Напрашивается вопрос: произошло ли бы то же самое, если бы я остался жить вна Украине? Я всегда (насколько могу судить с высоты теперешнего опыта) отличался независимым мышлением и не имел предрассудков в отношении Запада. Но все же вряд ли эта независимость распространялась достаточно далеко, чтобы позволить мне по-настоящему объективно взглянуть на эти вещи так, как я вижу их после того как эмиграция разорвала мою географическую, а потом и ментальную связь с бывшей родиной.
About this Entry
20 янв, 2013 @ 21:14 вдогонку
Песня в прошлой записи взята из фильма "Сломанные цветы" 2005-го года, который, собственно, и навел меня на эти мысли. Забавно, что как раз этот фильм и песня из него что-то во мне всколыхнули. Песня там звучит в самой заставке, но она поразительно хорошо передает атмосферу всего фильма.

"Сломанные цветы" не содержит в себе каких-либо революционных идей или насыщенного, драматичного сюжета - качества, которые я обычно ищу в кино - но все же очень понравился какими-то вещами, которые обычно являются косвенными. Например, в нем очень своеобразный темп нарратива. Люди часто замолкают во время диалога - просто смотрят друг на друга и молчат. Но воспринимается это не как неловкость, а именно как пауза в нарративе, в течение которой режиссер задумчиво разглядывает сцену под разными углами, иногда любуется ей. В целом, есть ощущение, что режиссер осмысленно решил пользоваться именно этими художественными средствами, а сюжет и персонажей отодвинул на задний план (впрочем, это не значит, что они плоские, - просто не в фокусе).
About this Entry
20 янв, 2013 @ 18:57 раздумий псто
Замечаю, что с годами все меньше вещей дают мне эмоциональную встряску. В последнее время стал ловить себя на том, что, как любители экстремального спорта, откровенно ищу этого. Но особо ценными остаются внезапные эмоции, получаемые из какой-нибудь случайной мелодии или образа. Такие выскребаю до последней крошки. Стал смотреть много фильмов, и отношусь к ним менее разборчиво. И все равно не хватает, жизнь кажется лишенной былой остроты. Впрочем, я мало читаю, может в этом все дело? Или в образе жизни? Или все-таки зрелость?

About this Entry
24 дек, 2012 @ 18:58 Курение - апдейт
Я думаю, что в социально-терапевтических целях буду постить время от времени апдейты насчет избавления от сигарет, пока эта тема не потеряет для меня актуальность. Кстати, большое спасибо всем, кто выразил поддержку.

Я до этого в шутку написал, будто чувствую себя покорителем Эвереста и героем, и многие, кажется, приняли это за чистую монету, хотя на самом деле это было именно в шутку. На самом-то деле все было ровно наоборот: я бросил потому, что понял, что сделать это довольно легко. Не так легко, как хотел бы уверить нас Алан Карр, но все-таки по плечу простому смертному. Я был бы, конечно, непрочь и дальше строить из себя героя-разведчика, но это, к сожалению, может привести к тому, что я и сам в это поверю, и в результате процесс бросания сильно усложнится. Дело в том, что по методу Карра надо поверить в то, что курение ничего не дает и, бросая, вы ни от чего не отказываетесь. Если же считать бросание геройством, то выходит, что курильщик отказывается от чего-то очень-очень желанного. Но это, разумеется, не так: все, от чего я отказываюсь, это колебания уровня допамина в крови между нормальным и пониженным. Пройдет еще неделя, и естественный уровень допамина достигнет нормального, и в этот момент о курении можно будет забыть как о страшном сне.

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

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

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

Вот такие дела. Что касается мук отвыкания, то я с каждым днем чувствую себя немножечко лучше. Еще пару дней назад было очень трудно на чем-то сосредоточиться, даже на чтении новостей. Сегодня это уже удается, начинаю понемногу работать.
About this Entry