Наивное программирование
14 subscribers
9 photos
1 file
16 links
как жить, когда ты маленький храбрый тостер
Download Telegram
Немного о том, как тебя воспринимают бывшие коллеги
Как-то раз с Артёмом обсуждали, что у нас совершенно разные подходы к программированию (если смотреть на планирование проекта с нуля, а не действия на существующем легаси-коде). Он все изначально продумывает, выверяет, выбирает технологии, вдумчиво изучает, в чем различия, пишет прототип, иногда переписывает - и только потом делает что-то, достойное продакшна.

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

В итоге, конечно, у Артёма все очень круто, но еще не готово, а у меня где-то затычки и костыли, но вроде ничо, держится, особенно если потом пройтись по всем TODO. Короче говоря, я обычно создаю технический долг, а Артём его выплачивает (бедный мальчик).

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

Ну ладно, хотя бы попробовала найти свое решение задачи CRUD для nested JSON objects.
Из переписки с синьором
Артём:
- Программирование - это дженга наоборот. Ты добавляешь к проекту фичи, пока он не обваливается нахуй.
Степень моей рабочей заебанности: запушила коммит с сообщением “At least this shit doesn’t crash”.
Вот интересно, что во мне победит - жадность или лень?

Монго - нереляционная база данных, с которой я работаю в последнее время, - в отличие от SQL, достаточно энтерпрайзна и недешева. У них есть очень-очень базовый клиент Robo 3T, которым я пока пользуюсь - не слишком удобный, но бесплатный. Однако сделать дамп базы данных (экспорт-импорт коллекций, иначе говоря) - это не к нему, это уже через консоль (вот та черная херь, в которой киношные хакеры пишут буквы, а там потом мигает “Access granted”). Я консоль не то чтобы не люблю - просто влом вспоминать все команды и синтаксис. Короче говоря, смотрю на цены платной версии - а они начинаются от 200 баксов за год. Смотрю на другой клиент (DataGrip от JetBrains), лицензия на который у меня пока есть - а он на моем ноуте адски тормозит и, кажется, все-таки не имеет нужного функционала. Вздыхаю, открываю Гугл…

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

Морок разбила книга моей подруги. Собственно, это не первый случай, когда коммуницирующий со мной живой человек говорит: вот текст, я его сотворил (Поляринов, привет!). В данном случае я начала читать книгу Веры, потому что это было “надо”. Во-первых, подруга, во-вторых, я несколько причастна к ее становлению как писателя, в-третьих, было, наконец-таки, любопытно - мы дружим уже 10 лет, практически с наших первых дней в Израиле, я была уверена, что довольно хорошо Веру знаю.

Оказалось, нет.

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

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

Рассказы можно прочитать здесь: https://ridero.ru/books/nedelya_zhizni/
И еще здесь: https://esquire.ru/letters/246693-chtenie-vyhodnogo-dnya-5-korotkih-rasskazov-very-soroki-o-poteryannoy-lyubvi-manyake-zhizni-posle-smerti-i-ne-tolko/

P. S. Вот же ж - была уверена, что больше в жизни рецензий не напишу, да и сейчас начала всего лишь обычную заметку - а она вдруг превратилась в полноценный отзыв.
Мы тут смотались на Кипр с Майкой (3,5 года, 15 кило капризов с косичками), и это была, конечно, определенного рода авантюра. Открытием поездки для меня оказалось то, что меня перестали идентифицировать как русскоязычную. Прожженные продавцы сувениров обращались ко мне по-английски и переходили на русский (очень много русскоязычных на Кипре), только услышав, как я разговариваю с Майей. То ли лицо подрасслабилось (мы ходили без масок практически везде), то ли пластика изменилась, но не распознали ни разу. Пребываю в некотором удивлении от этого.
Текущая версия Майи
Меж тем прошел почти год.

Все еще работаю на том же месте, все еще не хочу отсюда уходить - очень необычные ощущения. Все еще делаю MVP того же самого продукта (уже полтора года в одиночку, успела по кускам практически полностью его переписать, чтобы он из суровой жопы стал хотя бы аккуратной красивой попой). Время от времени напрыгиваю на начальство с воплем "да сколько можно тянуть, давай запускать в продакшн, я его могу бесконечно допиливать по твоим указаниям". Шеф же говорит: "Евгения, я не работаю по стандартным подходам, мы будем держать его в бета-версии столько, сколько надо, пока я не буду полностью убежден, что его можно легко поддерживать и переделывать. Индустрия очень динамичная, и гибкость с возможностью мгновенно поменять условия и схемы здесь значит очень много". Я на это вздыхаю и замолкаю - до следующего раза.

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

Что еще... Майя с сентября, то есть примерно с 4 лет, ходит к юнгианскому песочному терапевту. Работаем с ее страхами и тревожностью, которой у нее очень, очень много (что неудивительно, с такими-то родителями). Я не знаю, как эта девушка ее направляет (на занятиях мы не присутствуем, только родительские сессии раз в месяц), но Майка делает фантастический прогресс, заметный прямо невооруженным взглядом. Перестала бояться темноты, перестала бояться болячек и грязи, стала гораздо уравновешенней. Сейчас, впрочем, у нее ожидаемый регресс - потому что я на 21 неделе беременности, тут уже ревность проявляется. В этот раз нам обещают мальчика - короче, собрали фулл сет. Развлекаемся, как можем!
Главный месседж начальника за сегодня - Евгения, перестань думать, как программист!

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

Но в целом, конечно, воспринимаю это как комплимент - если меня просят перестать думать, как программист, значит, я все-таки программист!
2 дня мучилась с некоторым архитектурным вопросом, много читала про деревья и графы, паттерны хранения данных в MySQL - в итоге оказалось не нужно (но очень интересно), так как проблема была принципиально в другом, а не в иерархической структуре и ее хранении. Ок, сегодня в 12 дня наконец поняла, сформулировала, написала мейл начальнику, который, скотина, опять упорол на военные сборы, где телефон даже вносить в помещение нельзя. В процессе осознала, что эта проблема коррелирует еще с двумя из моего списка задач, добавила в мейл, что вот это и вот это еще я буду с тобой обсуждать потом. Отправила-выдохнула.

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

...Пока ем, прилетает квест из реального мира. Типа, ты не в рабочем настроении - ну тогда порешай нерабочие проблемы. Мироздание по-своему логично, не так ли?
Собрала ниибический шкаф для деткиных одежек в икеевском конструкторе. И ящички как нужно, и полочка для обуви, и подсветка для висящей одежды. Двери-купе, одна зеркальная, хуё-моё. Все проверила 2 раза, полочку на ящичек заменила. Почти под 1000 баксов вышел - ну, не на пару же лет покупаю, Майка та еще шмоточница, пусть уж все сложит.
...Ни в одном магазине Израиля нет обычной белой рамы для дверей. Когда будет - неизвестно. Но вряд ли до Песаха завезут.
СУКА НЕНАВИЖУ
Мама звонит мне в самый неудобный момент - когда я в полном людей коридоре пытаюсь нацепить на Майку ботинки и вывалиться с ней в дождь. Вокруг еще примерно 10 детей с танцевального кружка, 10 родителей, тоже их одевающих, гвалт, галдеж, а на мне теплая куртка и восьмимесячный живот. "Мама, - рявкаю я в трубку, - я перезвоню тебе через 10 минут!". Сражение с ребенком заканчивается моей победой, мы вываливаемся, садимся в заботливо поданную Артёмом машину - и я перезваниваю. Необходимое замечание здесь в том, что с мамой я рассталась совсем недавно - она как раз привела Майку на танцы и ровно полчаса компостировала мне мозги своими проблемами.

- Да, мам, что такое?
- Ты знаешь, я забыла тебе совсем сказать, мы вот с Аней и Геной прошлись, я там видела объявление, какого-то там мая концерт какого-то там артиста в Хайфе, но я не знаю, сколько там билеты стоят и где это будет...
- Ты сфоткала объявление? (Мама умеет пользоваться Вотсапом, фоткать и присылать мне.)
- Нет, я не догадалась, но посмотри, пожалуйста...
- Мама, блин, нафига ты мне звонишь и говоришь, я же все забуду, ты бы хотя бы написала кто-что-когда, я потом дома посмотрю и куплю, зачем ты мне звонишь???
- Ой, ну извини, я что-то не подумала... (Кстати, хороший вариант, обычно она отвечает "У тебя никогда на мать нет времени, а вот у меня для тебя время всегда находится".)

Потом я еще минут 10 рассказываю Артёму, как меня заебало такое поведение, как я от него устала и как меня бесит, что обязательно надо рассказать предысторию. Он предлагает вариант решения проблемы:

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

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

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

...Но с сеткой, конечно, придется что-то придумывать - впрочем, детские замки неплохо действуют и для котов.
Щас будет мамское.

Наша 4,5-летняя нейросетка начала выдавать любопытные вещи, из которых видно, насколько законы физического мира для нее пока не имеют значения. Она не любит мыть голову, поэтому в один день упросила меня сделать это завтра, а не сегодня. На следующий день на резонное замечание "мы с тобой вчера договорились, что помоем голову сегодня" выдала, что "тогда давай помоем голову вчера", и долго не понимала, почему мы с Артёмом не можем перестать ржать. Или вот на днях, уже лежа в постели, сказала, что не любит ночь, потому что скучно спать, и можно ли сделать так, чтобы ночь исчезла. На что я ей ответила, что, к сожалению, я это делать не умею, но прекрасно ее понимаю, мне тоже скучно спать. Зацепившись за концепт небытия, ребенок потом меня спросил, а вот если я исчезну? И ты исчезнешь? На что я (в полном ахуе) сказала, что это, наверно, будет интересно (зачем? почему я так сказала? ладно, уже не вернешь), а теперь в любом случае пора закрывать глазки и спать.

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

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

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

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

Программирование мое пошло по пизде. Даник начал хоть как-то большими кусками спать только сейчас, а без сна я не человек, а огрызок. Соответственно, сложные умозрительные конструкции держать в голове плохо получается, а у моего начальника других не бывает. Он, впрочем, как отец троих детей, входит в положение и терпит мое падение производительности. Пытаюсь последнее время как-то расшириться и войти в прежнее русло, но с мутной башкой это тяжело. Очень скучаю по своим крутым теоретическим построениям, но пока приходится работать с тем, что есть. Надо как-то дотянуть до сентября, когда Даник тоже пойдет в садик, потому что пока что с ним сидит няня, но ребенок дома и ребенок в садике это все-таки разные вещи. Успокаиваю себя соломоновым "и это пройдет" - и делаю что могу.
Я очень люблю игры формата escape room и переиграла в какое-то неимоверное количество еще в то время, когда они были на флэше. Вживую комнаты тоже от меня не ушли, но двое детей не оставляют шанса последнее время. Зато я нашла невероятно крутые escape rooms от издателя Rusty Lake - последние две недели я прохожу их одну за другой, мне осталось всего 3 комнаты, и я, кажется, закончив, начну проходить их снова. У них прекрасное сочетание факторов: все очень логично и понятно, не нужен тупой перебор вариантов, но и не нужно ничего записывать, чтобы потом это использовать. Атмосфера саспенса и крутая аудиодорожка, единая вселенная на все комнаты - короче, я в восторге и реально кайфую от их изобретательности. Очень, очень давно я не получала такого удовольствия от игр.

Андроид: https://play.google.com/store/apps/dev?id=5341269538359321555&hl=en&pli=1
Эппл: https://apps.apple.com/us/developer/rusty-lake/id979777164

И, пользуясь случаем, еще одна залипательная игра на устный счет и вариативность (чем-то похоже на японские кроссворды):

Эппл: https://apps.apple.com/us/app/number-sums-numbers-game/id6449427809
Андроид: https://play.google.com/store/apps/details?id=com.easybrain.number.sums.puzzle&hl=en
Сижу вчера с начальником, обсуждаем очередной кусок работы. Подходит к концу второй час усиленного мозгового штурма на иврите, мозги кипят - допиливаем очередную итерацию системы разрешений, юзеров, привилегий, вот это все, ненавижу. Основные моменты выяснили, торгуемся за мелочи - я, как всегда, докапываюсь до деталей, шеф, как всегда, хочет парить в высях теории. В конце концов, не выдержав, говорю ему: слушай, у меня такое ощущение, что словами через рот мы передаем от силы 10% того, что у тебя и у меня в голове. Потому что мне от тебя нужна конкретика, а ты мне снова описываешь абстракцию, тебе нафиг не интересно, как я реализую все то, что ты тут наговорил.

Шеф ржет: Евгения, ты опять думаешь как программист.

Чуть не ответила ему: вот когда этот проект взлетит, ты сделаешь меня СТО, и я буду не кодить, а руководить, тогда, может, я и перестану думать, как программист. А пока нас тут три человека, я кровно заинтересована понимать, как я это все реализую.

Вслух, правда, сказала только последнее.

(Конечно, выебываюсь.)