zemlan.in  / page-89

Про линтеры

В ответ на твит @SilentImp’а

  1. Стилистические правила в линтерах — субъективны и ведут к срачам "с точками с запятыми/без точек с запятыми". Поэтому…
  2. Продавать линтеры надо как средство для поиска ошибок/опасных практик в коде. Пресет eslint:recommended отлично с этим справится
  3. Стилистические штуки оставить для prettier, потому что
    • всё автофиксится (это успокоит тех, кто не согласен с выбранным стилем — "пиши, как хочешь, но запускай npm run fmt перед коммитом/пушем")
    • минимум конфигурации, что уменьшит "поверхность" возможных срачей
  4. Какая аудитория?
    • Те, кто уже юзает линтеры, вырубились после получаса README eslint'а
    • Те, кто их не юзает, всё равно будут настраивать их через несколько дней по документации линтеров, а не по воспоминаниям/видео доклада

rollupintoaballandcry.js

  1. Решил забандлить Rollup’ом observable.cool, чтобы нормально его расширять (сейчас это тупо html-файл с кодом внутри <script>)

  2. Rollup потерял внутреннюю функцию Реакта, из-за чего валятся undefined is not a function

  3. Ок, думаю, попробую preact@6. Он не умеет flatten вложенные массивы. Ок, сам сделаю children.reduce(flatten)

  4. Его реализация CSSTransitionGroup зависит от preact@5, из-за чего children рендерятся как "[object Object]". Ок, форк, клон, "peerDependencies": { "preact": "^6.0.2" }, cd ~/js/observable.cool, npm i ../css-transtion-group

  5. У CSSTransitionGroup упали тесты. Исправил, установил-таки форк

  6. camelCase в SVG не конвертится в kebab-case, а «left»-ноды висят в DOM (что критично из-за постоянно генерящихся новых нод). Терпение кончилось

  7. «3kb alternative» my ass! А потом спрашивают «Почему [popularLib.js], а не [artisinalLib.js]?». Потому что популярное работает, а художники недооценивают масштабы и свои силы

(тикеты, конечно, заведу)

Заметил, что (извините за клише) кручусь как белка в колесе

Года два-полтора назад я страдал от отсутствия цели. Eat-sleep-shit-repeat каждый день, делай, что говорят, смотри сериалы в свободное время, каждый вечер пей

Решил что-то поменять. Записался в спортзал. Оказался тимлидом (всё ещё сомневаюсь, что заслуженно. «в нужном месте, в нужный час»). Начал красить календарик на гитхабе в зелёный. О, сериалы можно заменить на видео с конференций, которые нужно намного внимательнее смотреть. А время на улице отлично заполняется подкастами. Больше, больше целей!

И оказалось, что часов в сутках слишком мало — всё время бодрствования тратится на что-то вроде бы полезное с общественной точки зрения («организм нужно укреплять», «без постоянного обучения новому, программистом будешь плохим»), но бесполезное с точки зрения удовлетворения жизнью сейчас. На работе засиживаться до восьми—девяти вечера стало нормой. Жонглирование рабочими проектами, о которых зависят другие люди (в текущий момент их четыре или пять, смотря как считать). Бездонные Read/Watch Later в Инстапейпере и на Ютубе

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

Кажется, некоторые это называют burnout

Написано с бокалом виски в руках

Facebook Relay: An Evil And/Or Incompetent Attack On REST

Facebook's whole business model rests on controlling your ability to communicate with your own social circle. Rent-seeking behavior has always been their hallmark. This is why it was so darkly hilarious when Google killed Google Reader so it could focus all its resources on building a second-rate Facebook clone.

Google's answer to Facebook's growing power as a rentier was to give Facebook an entirely new dominion to charge rent against. Who could have built best-of-breed RSS support into the most popular browser in the world? Who owns news discovery today?

Мартышка и клавиатура

me: Почему многие ищущие работу программисты любят задачки и не любят пользователей? Потому что программисты или это причина их поиска работы?
me: На вопрос "чем вы занимались и чем бы вы хотели заниматься?" отвечают не про улучшение жизни пользователей, а про разгадывание “судоку”
kt: Ну так они надеются, что для улучшения жизни пользователя у вас есть специально обученный человек, который знает, как надо пользователю, и пишет об этом в тз. В идеале-то так и надо
me: Только хуже — если делать ТЗ, совсем не задумываясь над ним, то хуйня получится. Их авторы либо гонятся за золотой антилопой, либо не знают техчасть (или, что страшнее, знают, но опасно мало)
me: В итоге, люди по 10 лет работают, а делать могут только то, что было написано в ТЗ, которое, со временем, подстраивалось под их скилл всё больше и больше
me: Или есть кадры, которые религиозно следуют NIH, и не задумываются о том, что пользователю насрать на красоту авторского кода (и не насрать на проблемы в использовании этого кода)
kt: Программист на то и программист, чтоб программу написать
me: Программист должен найти решение проблемы. Как он пришёл к этому решению — второстепенное
kt: И эта проблема не должна быть «пользователям неудобно». Должно быть «пользователям неудобно, поэтому надо сделать так»
me: "Сделать так" есть разное. Можно сказать, например, "Надо сделать быстрые уведомления пользователя о событиях" или "Сделайте сервер, работающий с вебсокетами, стучащийся к базе, позволяющий кидать уведомления группам и отдельным пользователям"
me: Первое требует менеджера и самого разработчика, предоставляет множество вариантов решения, и разработчик — это именно разработчик
me: Второе — менеджера, разработчика и "разжёвывателя ТЗ", плюс решение очень узкое, а разработчик — просто человек с клавиатурой, которому говорят, где точки с запятыми ставить
me: Джуну быть подобным обладетелм клавиатуры нормально, людям с опытом — ни разу
kt: Программисту нельзя давать решать задачу целиком, а то получится the facebook
me: Никто не говорит, что надо решать целиком. Надо участвовать в процессе
me: Да и "целиком" тоже разное. "Разработать целиком" — одно (задача, sic, разработчика), "Выпустить на рынок целиком" — другое (задача маркетинга, менеджеров, дизайнеров, разработчиков, сопровождения)
kt: Ок, скажу проще: вместо программиста о пользователях в основном должен думать специальный человек
me: С "в основном" согласен, с "вместо программиста" — нет. Все должны думать о пользователях
kt: Только на уровне «у нас упало, пользоваться невозможно»
me: Если раньше не думать, то будет падать. "Как это пользователь может вбить в поле бред? Как это у людей бывают имена из нескольких слов?"
me: Программист знает места, в которых эти предположения могут быть опасны. А для менеджера это такое же "какая разница", как и фаза Луны

Туда и обратно

Проблема с контролем может быть не только о том, что ты сделал, но и о том, чего ты не сделал

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

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

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

Суть? Баланс – штука тяжёлая, а крайности, хоть и легки, выливаются в посредственность (с той или иной точки зрения)

🚺

У меня давно не ладятся отношения

Это началось ещё с детского сада, когда появилась А., которая отдавила мне палец каблучком. Продолжилось М., которая ушла в другой сад

Ещё одна А. старалась игнорировать этого завонявшегося мелкого очкарика. В то же время, М°. непреднамеренно оставила свой отпечаток

Л. общалась, хотя больше это походило на монологи о её парнях. Короткое общение с Л^2., которая продолжила его с братом. Ещё была К.…

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

Но он же приводит к тому, что не хочется набираться опыта и/или к тому, что понятия не имею, флирт это или обыкновенная вежливость (скорее всего, последнее)

Вот так и получается, что молчу, иногда пытаюсь, обжигаюсь, молчу дальше… До самого конца буду молчать

This Isn't Control

232 слова →