2016-10-10

Pumpkins

I've made this photo on a fruit stand. Its that colorful time of the year.

2016-10-02

Rainier panoramas



The panoramas were shot the last time we've been at Rainier, but I've processed them just recently.

2016-09-21

New tolkov.com

The tolkov.com web-site is completely redesigned. Previously it was my personal experimental web-site, but almost everyone in the family has their own site now, so I've decided to convert tolkov.com to a dispatch point from where you can go to individual sites. I hesitated a little to add that background photo, but finally decided to leave it. I like the picture, where we all together.

My personal page is moved to valery.tolkov.com, which is currently an archive copy of my blog merged together with old photo collections. I haven't finished with software page, which currently is just a selected set of blog pages.

The code is completely new, all of it, HTML+javascript, site management code. The site is generated using m4 preprocessor and uses node.js scripts to synchronize with external blog. In fact, I've made a blog backup tool, which can backup blogspot and tumblr blogs. Finally I can completely retire my Windows scripts and Windows virtual machine. Also, I've found that "webkit2png" is a great tool to capture screenshots of web-sites. And also, I keep everything in a Git repository and use its metadata to synchronize local copy with web-server.

I removed a huge old pile of obsolete and unreferenced files, which potentially could break some links from old or external pages. If you find some, write me, I'll fix what I can.

Update: As I said, I retire vtolkov.livejournal.com.

2016-09-15

Sunrise


Традиционная наша поездка на Sunrise,
Rainier National Park.

СССР

Давайте разберемся

Меня возмущают те, кто возмущается.
Меня удивляют те, кто удивляется.
Ибо все претензии к нашей жизни отпадают, если с трудом понять и без труда сформулировать.

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

А начальство наше генералы.
И дома у них генеральские.
И шутки у них генеральские.
И шапки у них генеральские.
И жены, и дети у них генеральские.
И лечение, и похороны после него...

А мода у нас солдатская.
И манера у нас одна на всех.
И вкус у нас один.
И тоскуем мы по Родине, как и положено солдату.

M. Жванецкий
Длинно писать лень, а читателю будет лень читать, поэтому пишу коротко и конспективно. Пишу про период, который застал, от середины 60х до развала империи, по собственным впечатлениям.

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

Вот так же и естественное свободное общество - сложно. В нем много иерархий, отношений, стилей жизни, экономических ниш, стимулов существования.

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

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

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

Эта минимальность структурной сложности общества и культуры воспитала поколения людей, не переносящих сложности вообще. "Зато не надо думать", было одним из существенных доводов в выборе работы или стиля жизни. "Не е** мне мозг" - стандарный ответ не все мало-мальски нетривиальное.

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

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

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

Как всегда, Жванецкий про все это уже писал. Я только могу добавить, что все это не свойство исключительно СССР. Если пойти назад в историю, почти все вышеперечисленное будет справедливо. Так российская империя была испокон веков устроена. И поэтому после развала СССР и краткого периода свободы все довольно быстро отыгрывается назад в то же самое минималистичное армейское состояние, на этот раз с религией. Вопрос - каким теперь будет враг, абстрактным или конкретным, внутренним или внешним?

2016-09-05

Colchuck Lake



Colchuck Lake - одно из красивейших горных озер в наших краях. Вода изумительно синяя, как в Crater Lake. На языке местного племени Chinook название озера означает "холодная вода".

2016-08-28

Marmot and flowers


The flowers were already there. Marmot tasted some. That's how marmots appreciate flowers.

2016-08-16

Рамочки, скобки и кубиклы

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

В языках программирования, где вместо рамочек были скобки, такая же тенденция. Старая идея о свободном форматировании, когда пробелы не важны, но супер-важны скобки и пунктуация, в современных языках заменилась на использование пробела, как важного синтаксического элемента. Из казалось бы уже стандарного С-подобного синтаксиса новое поколение выкидывает все скобки, заменяя их любимым теперь пробелом. Явное различение типов тоже убираются даже из языков со строгой статической типизацией. Типы теперь понятны по контексту. Python, Ruby, Coffee-script, SWIFT, продолжайте список сами.

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

2016-07-20

Russian

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

Появилась идея бросить копировать в Live Journal. Старый скрипт, который копировал из Blogger работает только под Windows, и это последний скрипт, из за которого я запускаю вручную виртуальную машину с Windows XP. Все остальное работает автоматически. Читать в LJ кому-нибудь важно и если да, то почему?

2016-05-23

Disabling Windows 10 automatic upgrade

If you are wondering how to disable it, there is a KB article:

https://support.microsoft.com/en-us/kb/3080351
To block the upgrade to Windows 10 through Windows Update, specify the following registry value:

Subkey: HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate
DWORD value: DisableOSUpgrade = 1

Also there is a "Never10" app with some technical details.

I haven't tried myself any of it (as I only use server version of Windows), but colleagues claim that it works.

2016-05-19

bnr.js

As I mentioned already, I use node.js for scripting. The same scripts work on OsX, Linux and Windows. Also, its fast, stable enough and somehow interesting. Microsoft is investing into it too: new VS Code editor is written on node.js.

So, besides many build scripts, sync scripts and other scripts my home computing relies on, I wrote this simple one, which someone may find useful. It generates comment headers like that:

//# Comment ---------------------------------------
//                                             #
//   ###                                       #
//  #   #   ###   ## #   ## #    ###   ####   #####
//  #      #   #  # # #  # # #  #   #  #   #   #
//  #      #   #  # # #  # # #  #####  #   #   #
//  #      #   #  # # #  # # #  #      #   #   #
//  #   #  #   #  # # #  # # #  #      #   #   #
//   ###    ###   # # #  # # #   ####  #   #    ###

The script detects a special line, starting with "//#" and extends (or replaces) the following comment section with the same "banner"-style text. You can process source files, it will update all the comments in them. Original text will be saved under ".sav" extension.

Why would you need that? If you are using an editor which shows small preview of entire file, like Sublime or recent Visual Studio, you can actually read that banner in that small preview. So, if you work with long files, its easier to navigate between code sections just scrolling the preview up to the readable marker.

Also, you can make a different form of banner, like on screenshot, which only works when you have Unicode fonts with block characters, like on Mac computers. Windows fonts do not have this range, usually, but, there is a free font "DejaVu Sans Mono", which displays that Unicode range correctly. In this case you have 2x2 block pixels per character, so the text is twice more compact.

The script can be downloaded here. Obviously you would need node.js to run it.

Usage:
  • node bnr.js [ -a | -u | -n ] [-0 | -1 | -2 | -3 | -4 ] -f file.c file.h -- replace comments in two files
  • node bnr.js [ -a | -u | -n ] [-0 | -1 | -2 | -3 | -4 ] text -- print text
  • node bnr.js [ -a | -u | -n ] [-0 | -1 | -2 | -3 | -4 ] -- print character set
Options:
  • -a -- Ascii mode, '#' per pixel
  • -u -- Unicode block mode
  • -n -- remove banners from comments
  • -0 -- default font (my old "Forecast")
  • -1..4 -- other fonts

2016-05-11

Chehalis-Western Trail



Chehalis-Western Trail is a result of yet another relatively recent rail-to-trail conversion, where its used to be "Chehalis Western Railroad". The trail name is misleading a little, it is not close to Chehalis town, but rather to Lacey, north of Olympia.

The trail is 22 miles, but it is connected to 15 mile Yelm-Tenino Trail. On west side it ends at Woodard Bay, a quiet and peaceful place.

In Lacey we couldn't miss a bakery and a cup of tea.



"Scotch broom" is non-native and considered invasive here, but I like it, its so colorful. Without it the place would be occupied by blackberry anyway.



What I like about that trail is it goes on nice green areas, not along a highway, as often. We rode 52 miles that day.



2016-05-04

~~~

I need to improve my English writing skills and start actually thinking in English. It appears, that like computer, our mind has two indexes: from a word to a meaning and from a meaning to a word. Like SQL relations or hash-tables are unidirectional, so is our mind. If you are reading text understanding all the words, it doesn't mean that you will be able to find all these words when speaking. You will need to fill reverse indexes by exercise.

I've installed Text Customizer Chrome extension and added the following rule:
  • replace regular expression "[А-Яа-я]+" by "~".

It replaces all Russian words by "~". I can see that the text is in Russian, but I don't see the text itself. Good. I'll use it for a while to avoid distraction by Cyrillic on screen. It immediately returns thinking back to a bitten path.

Also I'm not going to write in Russian in that blog for a while. Sorry for that. Maybe I'll try writing in English.