Так себе программист
98 subscribers
185 photos
7 videos
1 file
183 links
Меня зовут Александр Троценко. Разработчик, преподаватель, к.т.н. Пишу о программировании и профессии.

10 лет в разработке desktop на C/С++

Контент: https://taplink.cc/atrotsenko
Download Telegram
Индусский калькулятор.

Сегодня не прошёл код-ревью из-за индусского кода. Прикинь. Написал я индусский код... Ну как написал... Скопипастил. Но git не обманешь, он однозначно утверждает, что автор кода я.

Но ревьювер оказался не так прост и отписался ссылкой на индусский калькулятор.
Вместо тысячи слов.
Встраивание при торможении.

Не раз попадал в ситуацию, когда при торможении, допустим, перед светофором, передо мной начинает встраиваться другая машина. Я торможу, впереди машина тормозит, сзади машина тормозит, встраивающаяся машина тормозит… Все тормозят! Мне приходится тормозить еще сильнее, так как затормозить по расчетному пути уже не получается. Машина сзади тоже тормозит сильнее и так далее.

Это потенциально аварийная ситуация. Особенно на скользком покрытии. Особенно на снегу. Особенно перед перекрестком, где снег укатан и отполирован.

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

Не порти планы соседа по полосе. Не встраивайся при торможении.

#Авто
👌1
Гориллы делают это.

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

Дайан Фосси “Гориллы в тумане”.
😁3
Очевидные неочевидности.

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

На моей памяти была похожая ситуация с кошкой, которая вдруг превратилась в кота в момент стерилизации. Каких только чудес не бывает при дефиците знания об объекте.
Разработка для занятых родителей.

Все обсуждают новую технологию, а ты знаешь про нее только по маленькому твиту? Слышишь в беседе слово htmx и считаешь, что кто-то просто ошибся в слове html? Не успел использовать новые фичи, так как они уже были отозваны? Добро пожаловать в клуб занятого человека.

Дэмиан сформулировал свои подходы, которые помогут тебе высвободить хоть немного времени:

1. Фокусируйся на проблеме, забудь про программирование. Думай, что сейчас нужно сделать, а что не нужно.
2. Две недели разработки могут сохранить тебе 15 минут времени на анализ. Думай, прежде чем делать.
3. Проверяй свои модели и решения. Думай, какие проблемы ты решил, а какие добавил.
4. Следи за ограничениями, фиксируй концепты. Думай про свою предметную область, концепты не должны выходить за ее рамки.
5. Отдели ядро от внешнего мира. Думай как изолировать свою логику от внешних эффектов.
6. Не начинай с чего-то постоянного. Думай, каким должно быть поведение модели, и потом скорректируй ее свойства.
7. Инь-ян программной инженерии. Думай о высокой связности внутри модуля (cohesion), и низкой связности между модулями (coupling).

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

Рекомендую всю статью. Много ссылок и советов.

Damian Płaza “Software Engineering for busy parents”
🤯1
Педалирование

Обратил внимание на свою манеру педалирования во время поездки. Вот такие могут быть комбинации нажатия:
- Педали отпущены: Торможение двигателем или выключение передачи.
- Газ: Разгон, равномерное движение, торможение.
- Тормоз: Торможение двигателем и тормозами.
- Сцепление: Включение первой/задней передачи. Переход на высшую передачу.
- Сцепление + тормоз: Переход на низшую передачу при интенсивном торможении.
- Сцепление + тормоз + газ: Переход на низшую передачу при неинтенсивном торможении.
- Сцепление + газ: Переход на низшую передачу при легком торможении двигателем. Включение передачи на ходу.
- Тормоз + газ: Не использую. Здесь нужна левая нога, а у меня эта “кочережка” не умеет плавно тормозить.

#Авто
Низшая оценка

Помню в школе при 5-бальной системе оценивания никто никогда не получал оценку 1. Учителя сами обозначали, что оценка 1 для них не удобная, вызовет лишние вопросы. Поэтому ниже 2 никто не ставил. Даже шутили, что система оценивания не 5-бальная, а 4-х. Но…

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

Вот действительно.

Марк-Уве Клинг. “Страна Качества. Qualityland.”

#КнижнаяПолка
Быть “плюс один”

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

В целом все логично. Но вот интересно. Если в лифте все чувствуют как вкусно пахнет отбивнушка в твоём контейнере, то ты "плюс один" или "минус один"?

Кристофер Хэдфилд - Руководство астронавта по жизни на Земле.

#КнижнаяПолка
😁1
Приспосабливание мира

“Паровая машина передавала свою рабочую силу через большую центральную ось, которая приводила в движение шестеренки и коленчатые валы. Чем длиннее была ось, тем быстрее она рвалась. Соответственно, чем больше энергии требовалось механизму, тем ближе он сам должен был находиться к паровой машине. Когда паровые машины были заменены электродвигателями, то многие фабрики практически не увеличили свою производительность. Почему? Инженеры просто купили гигантские двигатели и поместили их на место паровых машин. Только следующее поколение додумалось до того, что электродвигатели сделали возможной совершенно новую конструкцию фабрики. Такую, которая ориентировалась на движение материала в рабочем процессе, а не на близость к источнику главной силы. И в этом заключалось повышение производительности. Так что приспособить мир к новой машине также очень важно”.

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

Марк-Уве Клинг. “Страна Качества. Qualityland.”

#КнижнаяПолка
Тебе не нужно сцепление

Каждый ручной элемент управления имеет свой ресурс. Чем меньше мы его дрыгаем, там дольше он живет. В этом плане автоматические устройства часто оказываются долговечнее, чем их рукопашные аналоги.

Поэтому не жми сцепление по чем зря. Рассказываю.
Сцепление не нужно выжимать при выключении передачи. Совсем. Бросаешь газ и сразу же вынимаешь передачу. Все. При сбросе педали газа есть короткий момент, когда на шестернях коробки нет нагрузки. То есть машина и не разгоняется, и не тормозит. Стоит прозевать, начинается торможение, появляется нагрузка и передачу уже не вытащишь.
В этот же момент сброса газа можно успеть перейти на высшую передачу. При этом для перехода на низшую передачу уже не обойтись без перегазовки, чтобы поднять обороты двигателя и выровнять скорости валов в коробке. Но для этих фишек нужен навык. Если не жалко коробку, можно потренироваться. Я как только освоил переключение вверх и вниз без сцепления, бросил эту затею. Слишком жестко, про ресурс коробки можно забыть. Зато теперь знаю, что при обрыве сцепления ехать и переключать передачи вполне возможно.

#Авто
Чужое время.

Выхожу утром из подъезда, иду выкидывать мусор. У подъезда как обычно стоит такси, ждет кого-то. Рядом с такси стоит курит пацан. Я выкинул мусор, иду обратно и вижу картину. Пацан докуривает, бычкует сигарету и садится в такси... Сложно передать словами выражение лица водителя в этот момент. Что-то между крайней формой удивления, пониманием бренности бытия и недовольством: "Он все время был тут?!"

Или вчерашняя история. Чувак делал клиенту татуировку и через 1,5 часа предложил перекур. Ок. Клиент тоже встал, пошел на улицу перекурил и вернулся. Татуировщик еще сидит, тупит в телефоне. "Перекуривает". Спустя 30 минут он все таки встает и продолжает работу. Клиент все это время "смотрел в стенку".

Почему так получается? Один человек неоправданно заставляет ждать другого. Мне кажется, что 10% из них - маньяки и делают это специально, а остальные 90% - недалекие и просто не понимают проблемы, так как сами никогда не оказывались по ту сторону баррикад и даже представить себе этого не могут.
👍2🔥1
2 серьезные проблемы

"Существуют 2 серьезные проблемы компьютерных наук: инвалидация кэша, именование сущностей и ошибка неучтённой единицы". - Leon Bambrick.

Не перестаю орать. Столько мощи в одном предложении!
🔥2
YouTube Analyzer

Выложил в открытый доступ по MIT-лицензии анализатор поисковой выдачи YouTube.
https://github.com/trots/youtube-analyzer

По сути это простая графическая обертка над библиотекой youtubesearchpython с возможностью экспорта таблицы в CSV и Excel.

Но есть одно большое НО! youtubesearchpython больше не поддерживается и в любой момент все может превратиться в тыкву. Надо быть готовым либо фиксить его на форке, либо переписаться на другой инструмент😁
🔥2🤔1
Ошибки юмориста

“Опаньки…” Знакомо, да?
Рассмотрим типичные ситуации в сообщениях об ошибках, которые желательно избегать:
- непонятный пользователю технический жаргон (”фетчинг”, “токен”, “куки”);
- неуместный тон (”Упс! Что-то пошло не так”);
- перекладывание вины (”Сторонний сайт не отвечает на наши запросы”);
- общие фразы (”Попробуйте позже”).

Вместо этого при составлении сообщения:
- объясняем, что произошло;
- заверяем в безопасности;
- рассказываем, что делать дальше;
- подсказываем выход, если ничего не помогает.

Подробнее здесь и здесь.
👍1