trekking, Himalaya

Вершины крупным планом

Решил собрать здесь вершины гор, снятые мною крупным планом. Буду потихоньку добавлять, поэтому пусть этот пост повисит немного. Пока добавил фотографии из района Эвереста.
Upd. Добавил фотографии из Пакистана.

Collapse )
trekking, Himalaya

Правильная опенсорсная компания Postgres Professional

Update 8 ноября 2023:

К вопросу о моральной стороне дела в использовании опенсорса пример неправильной Snap Inc, которая вовсю пользуется OpenCV, но ни копейки не пожертвовала в этот проект.

There is no legal duty in the open source licenses or elsewhere to pay up, so OpenCV.org must be talking about a moral duty. Sadly, there is no further explanation of where this moral duty is supposed to come from. I don’t see how, if someone offers you something for free, you have a moral duty to pay them.

Примеры работы правильной опенсорсной компании Postgres Professional в правильном опенсорсном сообществе PostgreSQL. Пришли коммиты в PG17 от Postgres Pro.

Наши клиенты нуждались в событийном триггере, который срабатывает при логине, уже в Postgres Pro Enterprise 14.4.1 был реализован, про событийные триггеры можно прочитать в нашей документации.  Патч был оформлен и передан сообществу три года назад, было сломано множество копий при его обсуждении,  наши разработчики работали с сообществом на протяжении 15!  Commitfest-ов и вот 16 октября сего года он был закомичен в ветку PG17.  Много людей ждет его, придется подождать до сентября 2024 года, а наши клиенты уже давно им пользуются. Вот так работает сообщество — коммерческие компании, например, наша Postgres Professional,  являются прокси между сообществом с ванильной версией и компаниями-пользователями,  для которых разрабатывают новые фичи и отдают его в сообщество. Да, требуется много времени на это, проходят годы,  для компаний это является ощутимым оверхедом, на который они идут,  сообщество «ломает копья», но при этом оттачивается идея и реализация, и, что важно, сохраняется демократичный принцип работы сообщества, и это является необходимой платой для функционирования опенсорсного сообщества. 

Collapse )
trekking, Himalaya

Все будет хорошо !

Я свободен и у меня нет проблем» — краткое содержание знаменитой песни «Raindrops Keep Fallin' on My Head», которую написал Burt Bacharach and Hal David для фильма «Butch Cassidy and the Sundance Kid», 1969.  Всю жизнь я помню эту песню и этот момент в фильме, в самые трудные времена я вспоминал ее и напевал эти слова 

«Cryin's not for me
'Cause I'm never gonna stop the rain by complainin'
Because I'm free
Nothin's worryin' me»

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

Еще один клип, который «живет» у меня в голове — это  Losing my religion

trekking, Himalaya

My Postgres Story: Internationalization

I used Postgres since 1995 ( [PG95] mailing list has less than 400 subscribers !) for my scientific projects and operating with numbers and english strings was smooth, but in 1996 I signed up to make a searchable database of electronic archive of "Uchitelskaya gazeta" ( the popular newspaper for teachers community). It was my moonlight work to help me grow kids. The whole project was sponsored by West foundation, if I recall properly, our office was located in Vetoshny Lane,  near the Read Square, I had a lot of fun working there with smart people. I claimed to be an expert in Postgres and didn't see any problem with loading the archive and writing several SQL queries :)   First, I quickly found that cyrillic letters transformed to something unreadable.  The problem was that Postgres operated with ASCII  only,  which isn't surprising given  his roots in English world, so practically it was impossible to use any national encodings  like russians koi8-r, cp-1251, cp-866, etc. That time I already participated in internationalization of perl and search engine glimpse, so I knew that  basically I need to replace  'char'  definiton  to 'unsigned char', add call setlocale(LC_ALL,"") and use functions from locale api. The reality is getting a bit more complicated than I anticipated, so it took a month to get a working Postgres on Slackware. The second problem I found is that postgres works very slow with text,  it was not only because of locale stuff — strcoll is 10 times slower that strcmp, but since Postgres used full scan — read every row of a table and performs slow text operation.  This problem was addressed by me and Teodor in 2000, when we developed OpenFTS, contrib/intarray (see this historical document for details), which was eventually transforms to built-in full-text search (FTS), which we presented at the PostgreSQL Anniversary Meeting in Toronto, 2006.  

Collapse )
trekking, Himalaya

My Postgres Story: GIN and FTS

After ten years of working with postgres ( actually, I started with Ingres, then postgres95), I and Teodor got a chance to see live other developers.  We presented there GIN and FTS.  Pictures from the Anniversary Summit at at Ryerson University in Toronto can be  viewed on the flickr under name  PGCon-2006, I hope many of us will enjoy looking back 17 years, how young we were !  

After implementing GiST index for FTS, I started thinking about better scalable indexing and eventually came to idea of inverted indexes just looking to the index pages in the scientific books, then I found a lot of scientific papers regarding search engines and inverted indexes, but I thought about online indexing in Postgres with support of various data types. We already worked on GiST (Generalized Search Tree), originally developed in Berkeley by Joseph Hellerstein (recently, hi acknowledged us in his essay Looking Back to Postgres "the last contribution may have been my GiST implementation in the latter half of the 1990s—but even that was rewritten and cleaned up substantially by open-source volunteers (from Russia, in that case)". So, we didn't think much on the name of new index AM — Generalized Inverted Index, with extensible API to support extensible set of data types (btw, GiST and GIN demonstrated  the nested extensibility of Postgres).  We implemented GIN during our work in JFG Networks company in  beautiful Toulouse, which we acknowledged in src/backend/access/gin/README

Our slides.
Our slides.
Collapse )
trekking, Himalaya

Загадочная картина

В мае 2019 года я рассказывал про JSONPATH на PGDay.IT  в райском местечке под Болоньей, где я бегал по живописным холмам. Однажды, я решил пробежать половинку, было жарко и уже на обратном пути я решил остановиться у старой церквушке Chiesa San Martino di Tignano (Sasso Marconi) в одной деревушке, чтобы поискать воды. Церковь была закрыта, но сбоку притулилась постройка, где была открыта дверь и туда я зашел попросить воды. Хозяйка, молодая женщина с ребенком, немного удивилась, увидев потного меня, но налила воды, я умылся под умывальником, пришел ее муж и пригласил попить чай. Мы побеседовали на разные темы, ребята уехали из города растить ребенка на свежем воздухе, обстановка была бедной, на стене висела картинка A4, она меня очень заинтересовала и я сфотографировал на телефон, хозяева сказали, что это подарок их подружки, которая ее и нарисовала. Я сказал спасибо и побежал дальше, но эта картина все время возникала в голове, прошло уже 4 года, а я все время возвращаюсь к ней. Я пару раз писал ребятам, они плохо отвечали и куда-то пропали, а я хотел узнать контакты художницы, чтобы понять смысл этой картины.  Я напечатал ее, вставил в рамку и она долгое время была у меня на кухне, я смотрел на неё и мечтал о космических далях, приключениях, как это я делал в далеком детстве.  

Расписание служб в церкви
Расписание служб в церкви

Буду рад вашим мыслям, а может кто знает и художника.

На шлеме написано «Solvere», на латинском означает «Решение».

Collapse )
Пристройка
Пристройка
trekking, Himalaya

Старые фото

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