2016-12-31

Итоги 2016 (личное).

Как обычно, по пунктам.

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

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

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

Летом посетили San Diego, где у Иры была летняя практика в UCSD. Курортное место, океан довольно теплый, но слегка вонючий и все время были волны, в которых плавать сложно, но приятно прыгать. San Diego - очень интересный город, где много есть чего посмотреть.

Августовская поездка в Центральный Орегон тоже понравилась, если не считать того, что по пути обратно разбили машину, служившую нам безотказно 16 лет. На нас ни царапины. Хорошая была машина. Жалко.

Машина.
Естественно, как вернулись из Орегона, сразу купили новую машину, куда без нее. В память об удачной предыдущей взяли снова Toyota. По городу мы ездим немного, поэтому хотелось машину для поездок за город и путешествий с велосипедами, лыжами и палатками. Я хотел что-нибудь полноприводное, но не слишком огромное. Взяли Rav4. Мне нравится, хотя она явно тяжелее предыдущей Camry и напиханы всякие ненужные и неудобные компьютерные навороты, которые, впрочем, можно игнорировать. Пришлось купить новое крепление для велосипедов. Перепробовал несколько, остановился на велосипедной платформе Küat.

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

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

Компьютерное.
Две вещи показались интересными в этом году. Во первых, стал активно пользоваться node.js для разных быстрых задачек. Хотелось бы такую же, но в native code.

И вторая вещь - язык Swift от Apple, который мне понравился по описанию значительно больше, чем C# или Java. Все собираюсь попробовать Swift практически, но пока так и не добрался.

А еще в планах вспомнить и поразбираться с нейронными сетями. Сейчас самое время, очень горячая тема и очень востребованная.

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

Завел себе iPhone в качестве карманного компьютера. Дорого, но оказалось очень удобно. Я долгое время пользовался iPad-mini вместо телефона, но телефон оказался значительно удобнее просто потому, что меньше и влезает в карман. Как ни странно, он хорошо стыкуется с сервисами на работе. Почта и митинги работают лучше, чем на рабочем компьютере. С беспроводными наушниками можно участвовать в skype-митинге гуляя по парку.

Пристрастился читать Фейсбук, который частично стал платформой внутри-семейного общения.

Полностью перешел на Git для домашних проектов.

Еще я несколько разочаровался в концепции cloud и html5 и стал постепенно переходить на домашнюю сетевую storage и больше пользоваться native-приложениями. Про это надо бы сделать отдельный пост.

С новым годом!
Желаю здоровья и положительных эмоций. Они нам в новом году будут особенно нужны.

2016-12-21

В поисках равновесия

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

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

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

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

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

2016-12-20

Maui



Trump

И теперь уже официально.

Параллель с российской ситуацией удивидельна. Для меня лучшие годы в России были 90е, Ельцинская оттепель, полная прогресса и надежды. Потом ненавистный совок начал наступать опять со всех сторон, и сверху и снизу. В штатах лучшее время для меня были Обамовские 8 лет, тоже время некоторого заметного прогресса. И опять, точно так же, ненависть к этому прогрессу начала изливаться в социальных сетях, как индикация, что население опять к нему не готово и хочет обратно в комфортный для него мир средневековья.

Республиканская партия сначала выдвинула каких-то совсем реакционных кандидатов, но праймариз выиграл максимальный популист. "Make America Great Again" - это то же самое движение назад, как и нынешний российский "СССР 2.0", как и Горбачевский "обновленный социализм" 90-х. Ключевое слово в лозунге "again", означающее, по мнению авторов, что штаты когда-то были более great чем сейчас. В какие времена предлагают вернуться, неясно, во времена рабовладения, полагаю.

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

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

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.

2016-04-17

Nick Pitera

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

Nick работает аниматором в Pixar, пение - хобби. Известность приобрел после серии роликов на Youtube под названием "One man...", в которых исполнял и мужские и женские партии.

2016-03-27

Delicate Arch



Arches National Park - фантастическое место. Порталы в иные миры.

Нижнее фото - традиционная точка съемки, а верхнее снято точно с обратной стороны, со скалы, видимой через арку на нижнем фото.

2016-03-01

Web 2016

Сайты стали невообразимо тяжелые. Мой iPad стал уже практически бесполезным для чтения сайтов: не хватает памяти.

Когда-то я выбирал кафетерий для ланча просматривая сайт со списком меню. Сейчас это уже почти невозможно. Специально только-что померил: заглавная страница внутреннего сайта Dining со всякими ненужными ссылками и стоковыми картинками "мы пахали" грузится 20 секунд, делая 310 соединений, загружая 1M данных. Страничка меню одного кафетерия, простая и текстовая, грузится 12 секунд, делая 165 соединений. При этом грузятся тонны json и javascript, образующие тот Office 365, на котором все это и построено. Один кафетерий посмотреть можно, найти что-то перебирая десяток - терпения уже не хватает.

Заглавная страница этого блога в Blogger грузится три секунды, делая 110 соединений, загружая 200K, большая часть из которых - что-то гугловское, внутреннее устройство платформы. Но основная часть грузится за первую секунду, и сайт доступен сразу, а остатки догружаются в фоне.

Фейсбук - порядка 170 запросов, 300K данных, грузится за 5 сек, и потом продолжает делать запросы, увеличивая объем загружаемых данных до мегабайт.

Заглавная страница tolkov.com грузится 0.7 сек, 22 запроса, 37K данных.

Я посмотрел на разные известные сайты, параметры 100-200 запросов, единицы секунд загрузки, единицы мегабайт данных, занимая в памяти порядка 300M - сейчас примерно на всех сайтах, за редким исключением.

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

Я недавно попробовал Visual Studio 2015, оказывается система уже медленнее, чем клавиатура. Курсор в редакторе не успевает бежать вниз с обычной скоростью, если держать кнопку со стрелкой, затыкается на каждой третьей строчке. Выделить большой блок текста курсором, что всегда было простой задачей, становится испытанием нервной системы. В результате вернулся в VS2008, глючный, но терпимый. Молодые коллеги ничего такого не замечают, пользуются новой VS вовсю. То ли выделяют текст мышкой, то ли у них нервная система устойчивее. И на Dining они тоже не заглядывают, идут толпой в ближайший кафетерий. Вероятно, желудок устойчивее тоже.

2016-02-22

Discovery Park, Seattle


Давно не были в этом парке. Первый раз приехали туда в 2000 году, в первый год пребывания в штатах. А потом было как-то недосуг. А тут вдруг оказалось, что удобно путешествовать по Сиэтлу на велосипеде, значительно удобнее, чем на машине.

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

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