Ознакомьтесь с нашей политикой обработки персональных данных
Регистрация

A Mad Tea-Party is Going On

↓ ↑ ⇑
00:21 

Не надо кофе, нет, спасибо

Спасибо современной моде за то, что она на многих мужчинах вырастила бороду. Борода прибавляет 80 баллов к мужественности, 40 к загадочности и уменьшает неказистость на 70 баллов.
Каждый раз думаю об этом когда слушаю вудкида. Не могу бросить слушать вудкида. Слишком много вудкида -- слишком много мыслей о бороде.

@темы: мысли, музыка

22:53 

Горизонт событий

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

А каково это -- остаться навечно наедине с самим собой? Я бы не выдержала, как мне кажется. А что, есть ли варианты когда у тебя нет тела, нет привычного мира, нет тактильного, вербального и прочих контактов?

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

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

Успел ли ты за милисекнду что-то сделать? Ты, застрявший в вечности обломок существа, имевшего живое тело. Тело, которое могло дышать, перемещаться, ощущать, желать, контактировать. Это такое невероятное богатство. Сейчас, здесь в бесконечной и холодной пустоте ты понимаешь это как никогда хорошо. Иногда и при жизни это ощущение на секунду охватывало тебя, но отпускало быстро и забывалось. Сделал ли ты? Создал ли? Изменил? Попытался? Был шанс.

@темы: мысли

18:16 

Существует странное

Общая могила невостребованных прахов

В неё захораниваются урны с прахом, которые не забрали из крематория в течение года.

Звучит как-то... впечатляюще чтоли.

@темы: работа

19:04 

Снепшот

Сляпала пример сайта выпускников на вордпрессе, подобрав подходящие фотографии (в том числе из семейного архива времён конца 1940-х, когда мой прадед ещё директор, а моя прабабушка учитель). Пришли в школу, там уже сидит пафосная ИН и команда. Меня опросили -- как зовут, где работаю, кем, чем компания занимается (ушла от ответа), откуда родство с Мишей. Потом лили в уши что они хотят. Что-то там про папки, в которых фотографии, списки и шпаргалки. В ответ я показала им сайтец, все воодушевились и стали в восторге даже. ИВ узнала на фотографиях конца 40-х родную школу. Что неожиданно -- здание старое, деревянное ещё, которого уже нет, видно от него один небольшой кусок стены и люди, большинство из которых не с нами.
— Сколько это будет стоить?
— Да нисколько
— А мастер-класс по наполнению сайта?
— Нисколько
Дальше были похвалы, пришлось уйти в себя.

Кошмарный сайт закончила верстать, передала Максиму на доделку бэкэнд части. Заказчик внезапно опомнился что ему нужно управлять контентом. Из-за того, что этот вопрос не согласовали заранее, пришлось делать ему почти задаром. Пришли к выводу, что такие мероприятия -- себе в ущерб. Я теперь буду браться только за то, что самой интересно, а не за всё подряд. Этот сайт, несмотря на относительную сложность вёрстки, которую я сделала качественно, даже в резюме не добавишь. Позорище просто.

На мои занятия в проекте фонда записалось всего два человека: любопытная взрослая тётушка и парнишка из посёлка в 50 км от нас, которого будет возить папа. Ещё один парнишка записался на другие занятия. И всё. Тишина. Промахнулись мы с "бизнес-моделью". Так аренду помещения не окупишь. Ладно, посмотрим.

Ваня последние два дня ходит сад без слёз.

Со Львом они отлично играют вместе, придумали на этих выходных прятаться под матом и кричать "ищите нас". Даже Ваня кричит "итите нясь".

На этих выходных собралось аж восьмеро для игры в настолки. Оказалось что игр для восьмерых у нас одна, для семерых -- чуть больше. Однако, игровой процесс организовался так, что я могла без ущерба уходить к Ване когда он просыпался, а Максим успел доработать всякие рабочие дела пока играла я. Неплохо сыграли в "цитадели", потом -- отлично в "бэнг", после чего четверо разъехались спать, а мы чудесно отполировали это всё "мачи коро".

@темы: реальная жизнь

09:51 

Почему Лёва плачет перед сном?

Потому что Шреддер -- плохой мальчик

@темы: Лёвчик-разбойчик

16:46 

Читаю предыдущий свой пост и "рваность" текста и то, как незначительные факты в нём перемешиваются со значительными, заставляют меня заподозрить себя в психическом недуге.

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

Какое-то гаденькое чувство обиды меня всё равно не оставляет. Брошенный в меня проект разделён на две части -- мастер и рефакторинг. Нужно поддерживать мастер и продолжать рефакторинг. Затея делать рефакторинг в отдельной ветке прдолжает казаться мне провальной, особенно если учесть что за все 4 месяца существования ветки рефакторинга, в рефакторинге-то особо мы и не продвинулись, зато мастер продолжал развиваться и мои коллеги (оба два) в разговоре со мной сообщали что они не видят смысла писать в мастере хороший код потому что всё равно есть рефакторинг. При подготовке последнего релиза я молча подчистила за ними столько багов, что не сосчитать. Плюс навернулась ещё тонна костыльного захардкоженного кода. То есть, я остаюсь разгребать авгиевы конюшни, а господа-боги (согласно техлидовской классификации) несутся в светлое будущее создавать новых пациентов.

Техдир, зная (откуда-то, лично я с ним не беседовала) мои настроения, сыграл ещё одну карту -- "Вера, раз ты остаешься в ритуалке, ты автоматически становишься техлидом!". Блять, прекрасно. Автоматически. Техлидом. Я -- сама себе техлид. Одна посреди говнокода и костылей. Пиздец, мечта стала реальностью. Я -- автоматический техлид. Ну ахуеть.

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

@темы: работа

19:47 

Каша событий.

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

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

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

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

Утром в субботу -- сообщение от техлида о том, что он с двумя моими коллегами "временно" занимаются другим проектом, а я остаюсь одна на текущем. На поддержке. Описать моё разочарование -- слов не хватит. Казалось что я уже влилась в команду, мне очень нравился рабочий процесс, хоть и были к нему вопросы. И тут оказывается что без моего участия принимается решение о судьбе команды, мне сообщают постфактум даже не объяснив почему именно так, а не иначе. Я сообщила о своём недоумении относительно такого распределения, тут же техлид мне сказал что меня всё-таки берут вместе со всеми на новый проект, а техдир назначил время митинга в офисе. Но нет, спасибо, постараюсь теперь от нового проекта откреститься. Мотивация упала, ощущение "командного игрока" пропало. Весь рабочий настрой слился.

11:03 

Серьезное, но красивое обучение python и Javasсript
checkio.org

Прогать на питоне прямо на телефоне:
play.google.com/store/apps/details?id=org.qpyth...

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

@темы: обучение программированию, архивач

00:44 

Информатика в МФТИ

Продолжаю собирать материалы и свои знания в кучу. Среди нескольких просмотренных курсов вдруг натыкаюсь на курс информатики в МФТИ. И бааа! Кто это у нас тут? Это у нас экс-коллега Тимофей:

www.youtube.com/user/tkhirianov/videos

Хорошо читает. Очень даже.

Похожий гарвардский курс (с натяжкой, конечно, но начало этих курсов идентично), от которого я просмотрела три лекции:
www.youtube.com/watch?v=PLigQUosV34

Занятно что гарвардский препод устройство компьютера объясняет с точки зрения стоимости, соотношения цена/оптимальность и две леккции из трёх в итоге сваливаются к попытке ответить на вопрос "как покупать компьютер".

@темы: обучение программированию, архивач

12:44 

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

К сожалению, "Кодабра" стала коммерческим проектом и сотрудничать с ними теперь можно только по франшизе. Поэтому сёрфю по интернету, собирая информацию о том, как вести этот процесс.

Программирование блоками, на выходе -- тридэ игра
www.alice.org/

Скретч, программирование блоками, куча уроков. Но для малышей
scratch.mit.edu/

Сборник отличных идей-проектов для обучения программированию на scratch, python, html/css,...
codeclubprojects.org/

Не до конца разобралась, но здесь есть программы, по которым может работать учитель и курсы, которыми могут пользоваться самоучки
code.org/

Двач как всегда радует:

«Когда мне было 15 лет, и я ездил в лагерь вожатый всё время как-бы невзначай крутился возле компа, и всё спрашивал, почему ты не передаёшь указатель на структуру, почему передаешь саму структуру? первый раз я не ответил, так он начал стучать по столу, и орать, что ты там итерируешь, почему у тебя потребление памяти превышает 14 килобайт? начал материться, и говорить, что вообще на Си переведёт всю группу, будем вручную память очищать, алсо, вожатый ругался, если я передаю аргумент не как указатель , причём не просто при объявлении метода структуры, а везде, мотивировал это тем, что памяти меньше нужно, и сам потом мне говорил: вот я объявлю функцию и и передаю ей указатель, и ты так делай!
однажды я программировать сел, и слышу, вожатый где-то у двери встал в отдалении, ну я скомпилировал всё, и на пол накарачики присел, а там щель очень широкая снизу у двери, ну я в щель и смотрю, а там вожатый на карачиках сидит и в щель смотрит, и мне говорит: ты чё? ебанутый? чё ты там делаешь?
вожатый кстати всё время какие-то методы у структур объявляет, чтобы писать было удобдно, пишет по 5 программ в день, а потом говорит, что пальцы жжёт, и ещё монады любит. пиздец короче!
реальная история. я не тролль»

@темы: обучение программированию, архивач

22:39 

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

medium.freecodecamp.org/we-fired-our-top-talent...

@темы: программное, архивач

14:16 

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

@темы: мысли

12:52 

Дети

Лев общался с логопедом-дефектологом, после чего нам выдали список занятий для улучшения Львовой речи. Говорит Лев много, использует сложные слова и конструкции ("Оставьте меня в покое", "Это двигатель, в нём есть поршни, они делают энергию и машина едет"). Но порой его сложно расшифровать. Даже мне, слышащей его каждый день и помногу, порой приходится очень основательно напрягать нейросеть чтобы перебрать возможные слова и собрать их в осмысленное предложение. Если Лев устал -- говорит совсем непонятно. Утром, после сна говорит хорошо.

Проблемы с мягкой "л", со звуками "с" и "з", с путанием "р" и "л" и с перестановкой слогов в некоторых словах. Также не очень хорошо оперирует словами (дети животных, обобщения, числительные). Будем работать.

Один из эпизодов:
Лёва не смог заснуть и через ~40 минут после укладывания спустился вниз. Мы на него строго посмотрели и попросили раз уж не заснул, сидеть тихонько на диване под пледом и не отсвечивать.
— Я не смог заснуть потому что меня чайки напугали. — (за окном действительно орали чайки)
— Ладно, посиди тихонько здесь, мы будем работать, может заснёшь.
— А можно я мультики посмотрю?
— Ладно, один мультик можно. Подожди немного, сейчас включу.
Лев тихонько ждет. Минуты через две говорит:
— Там так кричали чайки, я их очень испугался. Вдруг они прилетят, возьмут меня и отнесут на озеро, положат туда и скажут "спи тут". А я не хочу в озере спать!
Мы с Максимом переглянулись и захохотали такой изощрённой чаечной фантазии.
— Поверь, они тебя не унесут. Мы рядом и не дадим тебя забрать.
— Ааа, ну ладно, тогда не буду бояться — успокоившись говорит Лев, — А можно я два мультика посмотрю?

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

Папа разговаривает с Ваней:
— Скажи "пожарный"
— "пазяный"!
— Скажи "ананас"
— "нанась"!
— Скажи "пожарный ананас"
тишина... тишина... тишина...
— "пазяный нанась"!

Ваня поёт песенки:
Из заставки к "Вспышу" "ну же, ну же, ну же давай": "нузе-нузе"
Из песни-мультика "кто же, кто же, кто же песенку поёт?": "тозе-тозе"
Из песни-мультика "еду-еду-еду на машине": "еду-еду-еду-еду-еду мисини"

Ходит с коробкой на голове, широко расставляя ноги и приговаривает, четко разделяя слова "я-ёбот, я-ёбот, я-ёбот"

Ваня пошёл в садик, весь сентябрь водили его то на 1,5 часа, потом на 2-3, потом на 4. Сегодня, вероятно, будет первый его полный день. Пошёл легче, чем я ожидала. Мне стало значительно проще успевать с работой. Да и вообще почувствовала себя человеком.

@темы: Лев говорит, Ваня говорит

15:47 

АйТи хайп

О ХРюшах, галерщиках и войтивайти тренде:
ebanoe.it/

"Работаю я в Днепре на заводе ДЗБО (это завод бурового оборудования), фрезеровщик-универсал 5-го разряда, платят мне по 10 тысяч гривен в месяц (это примерно 380 долларов США), работа крайне тяжелая, напряженная, ответственная. На жизнь не хватает, а хватает только на существование. И каждый раз, когда я иду по улице в Днепре и вижу едущего по тротуару на гироскутере бородатого парня, держащего в руке смузи и курящего вот это ваше модное электронное дымовое дерьмо, у меня возникает желание повалить его на тротуар и, не обращая внимания на едущий дальше по инерции гироскутер, начать остервенело избивать подонка кулаками, ломая ему очки и нос и выкрикивая на весь район: «НА RUBY ПИШЕШЬ, МРАЗЬ, ДА?!»"

@темы: архивач, программное

13:48 

Серийный программист

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

Плохой программист Джон сделал ошибку в коде, из-за которой каждый пользователь программы был вынужден потратить в среднем 15 минут времени на поиск обхода возникшей проблемы. Пользователей было 10 миллионов. Всего впустую потрачено 150 миллионов минут = 2.5 миллиона часов. Если человек спит 8 часов в сутки, то на сознательную деятельность у него остается 16 часов. То есть Джон уничтожил 156250 человеко-дней ≈ 427.8 человеко-лет. Средний мужчина живет 64 года, значит Джон убил примерно 6 целых 68 сотых человека.

Как тебе спится, Джон — серийный программист?

@темы: архивач, программное

11:40 

Про во всем виноватых родителей

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

В голове моей периодически болезненно пульсируют две истории.

Первая из лайвжорналовского психологического сообщества:
Тётка пишет что она одинокая бабища в возрасте, что мужчины нет и не предвидится, что семья не получается, что с людьми контакт не очень и что интереса к жизни нет. И что во всём этом, по её мнению, виновата мама. В качестве примера вины она приводит историю, которую сама называет причиной всех её невзгод. Мол, эта история случилась и всю жизнь она её помнит и именно в тот момент что-то в ней надломилось и так никогда и не срослось. История такая:
Тётка -- старшая сестра. Когда мама родила второго ребёнка, ей, по-видимому, стало тяжело справляться с двумя сразу и было решено старшую дочь (автора поста) отдать в садик. И вот, мама приводит впервые девочку в садик, переодевает и оставляет в группе с воспитательницей и детишками и уходит. Девочка расстроена, подбегает к окну и видит как мама уходит. Девочка начинает рыдать и стучать в окно. Мама слышит её, оборачивается, видит рыдающую у окна дочь, на секунду задержавшись, разворачивается, приходит в садик, забирает девочку и больше никогда её туда не отводит. Девочка всё остальное детство до школы провела дома с мамой и младшим ребёнком. Так вот, трагедия именно в том моменте, когда автор поста рыдает о окна, увидев уходящую маму. Но мама же её забрала. Забрала навсегда, мать её. Блять, как же меня бомбит с этой истории. Тут наглядно видно что человек выбрал один из немногих запомнившихся из детства эпизодов и теперь всю жизнь винит этот эпизод, маму и окружающий мир за наличие этого эпизода в её жизни. Да переработай ты уже этот момент, найди в нём плюсы (а они тут определенно есть). А еще лучше -- смирись с тем, что в нескладывающейся жизни твоей не эпизод виноват и не мама, а ты сама. Дура.

Вторая от моего товарища, который любит повторять что его родители делали кучу ошибок пока его растили и что он всё делает по-другому. История звучит так:
"Мне было 8 лет и когда я возвращался домой из школы, мама требовала от меня чтобы я убирался. Например, чтобы я мыл полы. Блять, я сейчас взрослый человек, мне это и тогда не нравилось, а сейчас я особенно этого не понимаю: как она, здоровая, молодая, тридцатилетняя женщина не могла сама помыть полы, а заставляла меня, ссылаясь на то, что мама устала и у мамы спина болит".
Тут меня тоже бомбит: блин, ты, восьмилетний здоровый пацан, чем ты мог быть занят в 8 лет после школы таким важным и таким долгим, что не мог найти 20 минут на мытье пола? Да, в 30 можно устать и может болеть спина. Да и без этого не понятно в чем такая трагедия помочь маме с уборкой?

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

@темы: , бомбануло, реальная жизнь

00:02 

Правильная болезнь

Когда болеешь коксаки, кажется будто руки зудят от желания программировать.

@темы: реальная жизнь

23:03 

Программист 2 категории.

Так называлась моя должность на предыдущем месте работы.

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

1. Потереть продакшн. В самом начале спросила можно ли поломать продакшн, запустив проект на локалке. Техлид сказал что нет, нельзя. Оказалось что можно. С тестовой/девелоперской инсталляции оказалось возможным подключиться к продуктовой корзине и перезаписать документы на невалидные. Что я благополучно, сама о том не зная, и сделала. Саппорт заметил это и засуетился. Занервничал техдир. Техлид стал предлагать сделать разные ключи в дев- и прод- корзины. Я, помня общепринятую в РЦ практику, предложила ограничить в прод-корзину доступ по IP только с продуктового сервера. Техдир отмахнулся что это невозможно, но в то же время вариант с разными ключами -- слишком сложно. Я нагуглила доку о том, как ограничить доступ с IP, примерно в то же время это же сделал техдир и благополучно закрыл доступ по IP.

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

3. А зачем, у нас же в основном фронтэнд. кнопки, вотэтовсе. Полное отсутствие автоматических тестов. Сейчас покрытием тестами интерфейса на селениуме занимается человек. А бэкэнд крыть тестами нет нужды, кнопки же все на фронте ведь, очевидно же.

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

5. Дублирование кода. Зачем писать реюзабл-код когда можно просто копипастить? Дёшево и сердито, нечего плодить сложность.

6. Что ожидал изменить -- то и проверяй. Внес изменения в код? Проверь только в том разделе, о котором говорится в задаче. Нет нужды вспоминать где это ещё могло использоваться и проверять там. Речь то только об этом месте. Так был потерян весь раздел для одной из ролей пользователей. Никто не заметил, пока у меня не появилась юзер-стори по этому разделу.

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

8. Отдельный АПИ каждому. Делала внешний АПИ, который нужен был для интеграции бизнес-процессов с другой компанией. После обсуждения деталей реализации техлид, невзирая на мои возражения, настоял на том, чтобы сделать _отдельный_ АПИ. Доводы о том, что это плохая практика делать для каждого пользователя свой АПИ (увеличение объёма поддерживаемого кода и точек входа для записи данных) не помогли.

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

10. Быстро сляпать. "Если нужно быстро сляпать, то можно в натив не лезть, но если нужен качественный продукт, то без натива не обойтись." Зачем тогда все эти фреймворки, в толк не возьму? Лучше нативных решений ещё никто ничего не придумал.

11. А у меня не работает. Коллега запустил у себя мой код и сказал что у него не работает так как надо. Я посоветовала почистить кэш, получила ответ а-ля "нутычёваще-нусамособой", полдня угробила на поиск причин, позже оказалось что кэш-таки не обновлял коллега. Ctrl+F5 и всё волшебным образом заработало.

12. Качество или юзабилити? Вот так. Или-или.

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

14. Только аякс. Во всех бэкэнд-запросах перед выполнением кода делается проверка запроса на аяксовость. Мол, если не аякс -- пшел вон. Как в этом случае будет использоваться АПИ другими? А мы их попросим добавлять заголовок что это типа аякс.

15. А ты их спроси. У выдаваемой наружу по АПИ сущности есть поле1 и поле2, которое считается как сумма полей1 нескольких сущностей, выбранных по определённому правилу. Внезапно техлид решает, что некрасиво делить поля на поле1 и поле2, расово верно будет выдавать только поле1, а поле2 пусть пользователь АПИ сам считает, мы ему сообщим по какому правилу. Это невероятно уродливое решение -- переносить ответственность расчета на сторону клиента. Плюс, клиент должен быть всегда осведомлён о _правиле_ расчёта и если оно поменяется -- вносить изменения у себя. Надо понимать что при этом "клиент" -- это сторонняя организация со своим ПО и со своим бизнес-процессами. Меня отправили спрашивать у коллег из смежной организации будут ли они сами считать поле2. Мне было стыдно, но я пошла спрашивать. Ребята отказались.

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

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

Все вместе и последние два в особенности пункта тащат всю эту историю в могилу.

Тем временем я забрала трудовую из РЦ.

@темы: работа, программное, бомбануло

12:02 

Два классных поста на хабре

Байки про геймдев:
habrahabr.ru/post/328552/

Про внутреннее желание быть "гуглом":
habrahabr.ru/company/infopulse/blog/330708/

@темы: архивач

01:48 

Видосы про программирование и около

Отличная история про развитие веб-технологий, про скачки общественного мнения туда-сюда и про то, как вслед за общественным мнением переделываются проекты в угоду технологической новизне.
www.youtube.com/watch?v=f4uXBpP_xxY&t=8s

Немного затянуто и местами сопливо про жизненный путь программиста, подкатившегося к кризису среднего возраста. Про профессиональное выгорание в том числе. Спикер говорит на базе фронтэнд программирования, но это можно пропускать мимо ушей ибо актуально для всех человеков, не только программистов:
www.youtube.com/watch?v=FxljIvLxUqQ

Крутейшая лекция о микроархитектуре кода, рассказанная географической лесбиянкой (так себя представляет сама спикер ибо она родилась и выросла на острове Лесбос в Греции):
www.youtube.com/watch?v=loj3CLHovt0

@темы: архивач, программное

E-mail: info@diary.ru
Rambler's Top100