white wizard

My tech notes.

white wizard

Гостевуха.

Если френдите, представьтесь и пишите почему решили зафрендить и что ожидаете читать в блоге (камент можете удалить, если стесняетесь (я в любом случае получу его копию на email в момент публикации)).

Guidelines по бложеку.
1) Пишите содержательно. Старайтесь, чтобы ваши сообщения содержали полезную информацию, чтобы их было полезно читать. Воздержитесь от "а у вас негров линчуют" и "а вот у вас во freebsd уже починили kernel crash при вставке floppy drive?" подъёбок. Если вы хотите посрать идите на лор. Я не хочу, но я может быть начну банить за тупость и разжигание, если увижу здесь набросы, вентиляторы и прочих джавистов, которым кажется, что они способны поддержать разговор на серьёзную тему не слившись на старте.
2) Мат. Если вы хотите написать, что в версии кернела 1.2.3 наконец починили давно заебавший баг и от этого у вас в проекте наступило счастье и взошло солнце - пишите. Если вы хотите написать, что вася - лох - не пишите.

Мотто:
I’ve sometimes joked of Steve that when he needs to write a program, he starts with any other randomly chosen chunk of code, and debugs it until it does what he wants.

Я в Беларуси 06-07-2010 [фото]
Я в Киеве 07-10-2013 [фото]
Я в Киеве 08-03-2015 [фото]
white wizard

система типов

В который раз открыл TAPL.
Почитал 10 минут.
Не смог найти для себя ответ на вопрос нахуя я это читаю? Нахуя я на это трачу время которого и так нет?
Закрыл TAPL.

Пока, TAPL.
Это уже третий или четвёртный раз.
white wizard

Раскачивайте лодку.

пост про IT



- зачем обновлять если всё работает
- это нам не нужно
- на это нет времени, надо вчера
- нового кернела у нас не будет ибо надо весь софт перетестировать
- это не аппрувнуто менеджером
- это будет в следующей версии
и т.д.

Если вы приходите к коллеге и рассказываете свою гениальную идею, а в ответ получаете "не качайте лодку" из списка сверху, поздравляю, ваш коллега - чудак. Ничего кроме убитой мотивации от него вы не получите. Я таких называю стабилизаторами - есть фаза код фриза, когда мы только фиксим - стабилизируем версию. Некоторые люди застревают в ней навечно. Мои коллеги из штатов называют такое "IT guy point of view". Один мой друг сравнивает их с Агентами Смитами из Матрицы - как только ты делаешь что-то не входящее в порядок дел в матрице - появляются агенты и тебя останавливают.

Особенность стабилизатора заключается в том, что, на первый взгляд, все его доводы кажутся логичными и аргументированными. И в самом деле, зачем нам обновлять кернел когда это повлечёт за собой перетестирование всей системы? Явно как-то слишком дорого и необдуманно получается. И рефакторить технический долг у нас тоже времени нет и вообще нам это не нужно.

Всё логично. И через год вы замечаете себя пилящим костыль на костыль на костыль на логику, которую пользовать может только тот кто может обтанцевать вокруг тупых, но закопанных глубоко граблей (это даже может быть вы, но от этого никому не легче). Дизайн, конечно же будет "потом" и "в следующем релизе". Замечаете себя перекидыващим лопатой кернел 2.6.10 (зачем обновлять, если всё работает?). Тратите неделю, чтобы исправить детский баг в самопальной шине сообщений (дбас? нам это не нужно). Ну и прочее увязание в говне по уши. Зато 100% логичное и обоснованное.

Ваши идеи умирают в голове едва родившись ибо зачем? Ведь в любом случае "это не нужно".

Не путать с менеджером/архитектом.
Свою тупость и вред стабилизаторы любят прикрывать потребностями проекта. Или например отыгрыванием роли менеджера (менеджер это не аппрувнет, на это у проекта нет денег) или роли другого отдела (девелопер: это будет слишком сложно тестировать). Прелесть в том, что в отличие от менеджера или архитекта, которые действительно принимают решения дебил-стабилизатор просто развлекается обламыванием. И менеджер/архитект очень даже покупают идею почистить технический долг, если показать, например, на вереницу критических last-minute багов, которые выскакивают месяцами и закрываются по методу "в следующей версии переделаем". И/или показать что накопленный технический долг мешает работать целому ряду людей из других команд. Или что полное перетестирование происходит в определённое время, которое ну никак не привязано к, например, целому ряду патчей переделывающих подсистемы ядра, которые делались последние 3 месяца.

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

Что делать со стабилизаторами? Где они не правы? А ничего не делать. Хз где не правы. Какая разница? Просто принять, что есть люди с говняным взглядом на жизнь отравляющие жизнь окружающим. И не окружать их - пусть бурлят в своём собственном говне в окружении таких же, которым "это не нужно". Благо на свете есть полно людей, которые замотивированы предлагать, изобретать, продвигать и отстаивать свои идеи - общайтесь с ними.

The main concern is not to do it. The main concern is in how to do it correctly.

Прекрасные видео в тему:
How Open Source Projects Survive Poisonous People (And You Can Too)
Pushing Big Changes
white wizard

apache httpd: how ServerName and ServerAlias matching works?



1) the node is parsed into server_rec structure. Namely:
* ServerName becomes server_rec.server_hostname
* ServerAlias'es in which ap_is_matchexp() finds either '*' or '?' symbol become server_rec.wild_names
* other ServerAlias'es become server_rec.names
2) the ServerName/ServerAlias matching is done versus Host received from HTTP request following these rules:
* byte-by-byte comparison of Host and server_rec.server_hostname, ignoring the case of characters
* byte-by-byte comparison of Host and server_rec.names, ignoring the case of characters
* wildcard comparison of Host and server_rec.wild_names

See matches_aliases() at http://svn.apache.org/viewvc/httpd/httpd/tags/2.4.12/server/vhost.c?view=markup (line 774)
white wizard

Уберите войска НАТО из ДНР!



Для тех кто не следит за событиями:
- войска нато в днр: http://dnr-news.com/dnr/10265-v-harkov-pribyli-voyska-nato.html
- бомбит Даунбасс фосфорными снарядами: http://dnr-news.com/foto/13711-hunta-ispolzuet-fosfornye-snaryady-protiv-grazhdanskogo-naseleniya.html
- два раба и солдаты SS: http://news.bigmir.net/ukraine/856523-Rossijskie-SMI--nacgvardejcam-obecshajut-po-dva-raba--oni-koljut-detej
- геноцид снегирей: http://news-nsk.com/na-ukraine-pedagogi-uchat-detej-ubivat-snegirej.html
- пьют кровь русских младенцев: http://novorus.info/news/obshetvo/31175-ukrainskie-shkolniki-pyut-krov-rossiyskih-mladencev.html
- изнасиловали пенсионерку в эпилептическом припадке: http://obozrevatel.com/abroad/80715-novaya-vyidumka-ot-rossijskogo-tv-hunta-iznasilovala-pensionerku-v-epilepticheskom-pripadke.htm
- изнасиловали казака бабая: http://news.freejournal.biz/article4220/index.html
- вызвали дух бандеры: http://antikor.com.ua/articles/16506-ministr_kuljtury_lnr_trebuet_rasstreljatj_luganchanku_za_to_chto_ta_vyzyvala_duh_shuhevicha
- захватили русскоязычных православных священников: http://www.vesti.ru/doc.html?id=2021050
- про "русской армии там нет, это шахтёры выкопали танки и смерчи и воюют с украиной" каждая первая речь путлера/лаврова про украину
- местные силы самообороны: http://zn.ua/POLITICS/putin-zayavil-chto-v-krymu-deystvuyut-ne-rossiyskie-voyska-a-mestnye-sily-samooborony-140331_.html
- насрал на стол: http://pikabu.ru/story/stenograma_30_go_zasedaniya_sovbeza_oon_3025319