804 members
91 photos
53 links
Устанавливали виндоус Трэвису Скотту

www.moscoding.ru
Download Telegram
to view and join the conversation
Есть редакторы кода, а есть Vim. С ним стоит столкнуться хоть раз, чтобы потом понимать половину шуток на хакерньюс. Даже просто выйти из Vim сложнее, чем открыть дверцу стиралки после начала цикла. Владение Vim — весомая ачивка, а-ля краповый берет в программистской среде. Настолько работа в нем не похожа ни на один из привычных редакторов кода. При этом освоить основные приемы Vim сможет даже сммщик, чтобы, например, писать в нем тексты новых вовлекающих постов и гивэвеев. Научиться всему и поупражняться в навигации и редактировании текста можно на тренажере-симуляторе openvim.com или в головоломном квесте vim-adventures.com. Когда пройдете все уровни и испытаете сладкое чувство превосходства, возвращайтесь в родной вскод.
Время от времени возвращаемся к семинальному эссе Пола Грэма про хакеров и художников. Хакеры, писатели, архитекторы, художники, по большому счету, занимаются одним и тем же делом, говорит Грэм. Отличающимся от того, которым занимаются информатики, математики, физики и даже инженеры. Поэтому и собирательный термин «компьютерные науки» возмущает Грэма не меньше, чем пуритан селфи на фоне ворот концлагеря. Хакеры, — к которым Грэм причисляет и себя — не исследователи, а, прежде всего, мейкеры. Поэтому хакерам нужно учиться у других мейкеров, а не у ученых. «Хакерам нужно разбираться в теории вычислений не больше, чем художникам в химии красок». Грэм также ободряет всех, кто испытывает чувство неполноценности перед математиками — художник себе ничем таким голову не забивает. Штуки, которые согласно Грэму образца 2003, можно подсмотреть у художников: учиться на практике, вдохновляться шедеврами, создавать наброски, быть одержимым красотой, управлять спадами вдохновения, коллаборировать, развивать эмпатию.
Продолжаем контент-марафон, но уже, признаемся, — скребем по сусекам интернета, чтобы найти что-то небанальное. Ждем, что откроется второе дыхание, и нас понесет, как чувака, который строчит письма счастья для вкладышей в пастах Splat. А пока зачекали лонгрид The Atlantic про бывших заключенных, которые выучились кодингу на тюрьме и устроились в Slack тестировщиками. Мы и так не пропускаем ни одного очерка Евы Меркачевой — тюремного обозревателя MK.ru, а тут вдвойне порадовались. Герой статьи не то что нигде до тюрьмы не работал, он даже школу не закончил. А программированию выучился во время отсидки без компьютера и интернета. Первым проектом «в портфолио» стал сайт сети In-N-Out Burger — сверстанный рукописно по распечатке сайта из браузера. В Slack были поражены способностями вчерашних инмейтов решать нестандартные задачи, не прибегая к чьей-либо помощи. «Это неудивительно, ведь они учились в среде, где не было интернета». Занавес.
Благодаря крепкому настою rhodiola rosea внимательно прослушали интервью Стивена Строгатца подкасту The Knowledge Project. Кто забыл — это автор The Joy of X и вообще любознательный дядька, умеющий заразить интересом к математике через креативные примеры ее использования.

Такие подвижники — обнадеживающая находка для нас, привыкших активировать Tesla’s Bioweapon Defense Mode при виде самой безобидной математической формулы.

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

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

Пара ютуб-пиков из подкаста: 3Blue1Brown и Mathologer.

fs.blog/steven-strogatz
Прилетела новая рассылка от Дэна Абрамова, за которым мы ловим каждое слово, как свита студентов-медиков за профессором во время показательного обхода. В этот раз Дэн объясняет смысл значений (values) в JS на примере «Маленького принца» Экзюпери.

Код программы — вызовы функций, объявления переменных, ифы и вайлы, запятые и фигурные скобки — это планета. Значения — это небесные тела, окружающие планету. Примитивные значения (number, string, boolean и другие) далеки как звезды, ссылочные (object и function) вращаются на орбите. Оба вида значений видны в телескоп typeof, они используются в коде, но не являются его частью. Как бы вы отнеслись, если услышали такое от своего учителя информатики?

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

Наверное это и отличает рокстарз от «ловцов жемчуга», которыми Энтони Бурден называл мойщиков посуды.
Тут чувак в стиле репортажа Доренко о подлодке Курск технично разнес тренд на NO CODE. Это когда можно не мараться с кодом, а написать бизнес-логику или даже целое приложение через визуальный интерфейс типа Scratch. Брет Виктор, вся фигня.

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

Короткий лернинг керв достигается сокращением сценариев использования. Полагание на стороние плагины сильно запутывает всю логику, создает гемор с конфигурацией отдельных кусков и не дает безопасно тестировать новые версии. Визуализация не отменяет необходимости понимать внутреннюю логику и оперировать абстракциями в уме.

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

alexhudson.com/2020/01/13/the-no-code-delusion/
Сколь скучны сочинения инсайдеров долины, столь же эпичны аккаунты людей, оказавшихся в центре стартап-баббла по воле случая. Достаточно вспомнить Disrupted Дэна Лаенса, подробно передавшего ощущение царившего в Hubspot абсурда и хаоса на фоне самодурства возомнивших себя пророками маркетинга фаундеров.

Uncanny Valley Анны Винер тоже пестрит деталями и жаргоном, которые может подметить лишь человек, помещенный в инородную среду, как аймаки с виндой в приемную МФЦ. Уставшая от безденежья 25-летняя хипстерша-литагент из Бруклина решает конкретно шифтануть и отправляется покорять стартап-Диснейленд, учиться JavaScript и оптимизироваться биохакингом.

5-летний период, на протяжении которого она пыталась стать «своей», работая в Github и других компаниях на non-tech позициях бок о бок с одетыми в горновосходительскую экипировку tech-bros, и суммирован в «Зловещей долине» — термине из робототехники, обозначающем всплеск отвращения, как только робот приобретает максимально человеческие, но неправдоподобные черты.
Зачекали статью с блумберг про главный недостаток современного кодинг-обучения, состоящий в том, что университеты плодят и поощряют индивидуалистов, не умеющих в тимворк. При том, что на бизнесовых и гуманитарных факультетах коллаборировать — это норма, на IT-направлениях то же самое рассматривается как читерство и слабость.

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

Какой выход предлагает гражданин приглашенный автор? — Внедрять в учебный процесс парное программирование, с которым все равно придется познакомится на рабочем месте. Это когда за одним компьютером работает два человека, как в классе информатики в обычной российской школе. Один участник пишет код и комментирует действия, второй помогает и поправляет.
Стоило вчера упомянуть парное программирование, как тут же две немки с ямочками на подбородках опубликовали лонгрид про разновидности, преимущества и челленджи ПП. Если бы не вставки из комиксов, одолеть текст было бы сложнее, чем отчет правительственной комиссии о терактах 9/11.

(Кстати, мы реально знаем, о чем говорим — книгу с этим репортом в свое время зацепили за 99 центов в нью-йоркском секондхенде. Думали найти там логичное объяснение тому, как авиационное топливо могло расплавить стальные балки. Ну или как минимум причины обрушения 7-го корпуса WTC.)

Вкратце, участники ПП называются «драйвер» и «навигатор». Драйвер пишет код и озвучивает свои действия, навигатор следит за драйвером и обсуждает с ним принятые решения. Вживую или по скриншерингу. Через какое-то время они меняются ролями или даже партнерами. Уровень знаний и опыта участников не влияет на распределение по ролям.

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

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

Подсветка сильно облегчает все эти задачи, которые без нее потребовали бы подключения так называемой когнитивной Системы 2 (см. Thinking Fast and Slow Дэниэля Канемана).

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

Архитектор лучше всех видит общую картину и ловчит со стейкхолдерами в стиле «Карточного домика», но дальше всех от кода — в последний раз он что-то коммитил во времена популярности группы Justice.

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

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

Если хотите разобраться подробнее — чекайте на модном dev.to жирнючий тред со строительными аналогиями и инсайдами из Канады.
Два душнаря взяли перерыв от джавы и хабры и решили весело убить время в ожидании, пока всплывет сибирская коллекция.
Один тип берет на себя гейткипинг индустрии, делает огульные выводы о нашей профнепригодности и цензурирует язык.
Другой просто фо фан лепит настоящий донос, походя эксплуатируя тоталитарно-репрессивный дискурс путинской эпохи.
Узнали, что демо, прототип и MVP — разные вещи. Не настолько, как караоке, пачинко и маджонг — во всех случаях речь о ранней фазе продукта — но не взаимозаменяемые.

Демо создается для пичинга клиенту и обычно представляет собой поппури из впопыхах написанного кода, статичных моков или слайдов и симуляций в афтерэффектс. Задача демо — продать идею, презентовав интерфейс и сценарии использования продукта.

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

MVP — минимальный, но полностью функциональный продукт, к которому можно подпускать пользователей.

Если продолжать японские аналогии, то демо — это подогревающие аппетит пластиковые муляжи рамэна и удона в витрине ресторана, прототипы — это новые виды суши и сашими, которые сочиняют и тестируют повара и стаф у себя на кухне, а MVP — это дегустация готовых к внесению в постоянное меню блюд посетителями.
Чтобы представить, как сильно оказуалился термин technical debt, скажем лишь, что посоперничать с его популярностью могут только такие записные фавориты google trends, как «токсичность» и «выгорание». Если с последними двумя все ясно, то технический долг требует пояснения.

Вкратце — это неизбежный компромисс между скоростью и качеством. Когда нужно запилить код «по фасту и на лине», результат соответствующий. Дальше долг только накапливается и отнимает все больше времени на придумывание костылей.

Но наступает момент, когда проще переписать проблемный код, чем трахаться с его поддержкой. Рефакторинг, таким образом, «оплачивает долг». Но чтобы его пролоббировать, может понадобиться речь в стиле академика Легасова — ведь пока идет рефакторинг, канбан стоит.

Метафора долга прижилась и даже начала обрастать другими связанными с долгом понятиями — сложным процентом, платой за обслуживание, наездами коллекторов и банкротством. Не ровен час, и антиглобалистский талмуд «Долг» Грабера будет на столе у всех кодеров.
После вчерашнего поста получили много корреспонденции от нашей инстаграм-паствы. Среди прочего нам линканули на пост, сравнивающий технический долг с игрой в тетрис, в которой можно угробить катку, если создавать новые дыры, не успевая исправлять старые. Аналогия — супер! Вообще, проявляйте себя активнее, не будьте туристами — становитесь нейтивами.

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

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

JAMstack — методология создания сайтов, вернувшая на карту обычные статичные сайты, которые «просто работают» без бэкенда и базы данных. Раньше их было принято заливать файлами на хостинг — если олды здесь, то аббревиатура FTP должна вызывать флешбэки в начало двухтысячных.

Что же изменилось за 20 лет в подходах к созданию статичных сайтов?

Главная новелла состоит в использовании git. Контент, код и темплейты живут в одном репозитории, а ребилд сайта происходит после каждого обновления контента или кода. Откатить изменения проще, чем поддержать своего любимого участника в шоу «Голос» — это обыкновенные коммиты.

Гитизация всего — знак, что нужно асапно седлать эту тему, как Хирург харлей при входящем с неопределившегося.
Можно долго избегать близкого знакомства с git, ограничиваясь тремя записанными в айфон командами. Но это как минимум неуважение к такому гениальному изобретению уровня блокчейна и диспенсера для соевого соуса.

(С блокчейном у гита, кстати, много общего — оба про распределенность и цепочки блоков данных. Не зря Линус Торвалдс один из вероятных «настоящих Сатоси».)

Да и куда приятнее пушить код со спокойным лицом Ольги Карпуть из рекламы Moncler, чем каждый раз скрещивать пальцы на удачу из-за тех самых unknown unknowns.

Любые инвестиции в углубление знаний git оправданы — нужно стремиться к тому, что Ричард Сеннет в книге «Мастер» называет негуглящимся словом «прегензия» — ощущением инструмента как своего продолжения.

В этом деле помогут флэш-карточки с известными только андеграунду git-командами, чтобы расширить репертуар доступных без подглядываний в мануал операций. Отдельно привлечь внимание спецслужб можно, продолжив усиливаться самиздатом по теории графов и устройству git на уровне атомов и молекул.
Каскад — это не только удачное название для ТК или ЧОПа, но и С в CSS. Одни считают его даром, преподнесенным нам свыше. Другие — напротив, видят в нем корень всех фронтендерских зол. И тех и тех примерно поровну.

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

И еще до того, как придать значение порядку конфликтующих строчек в коде (ниже бьет то, что выше), браузер оценит специфичность. На специфичность влияет как вес отдельных селекторов (напр. id > класс), так и их количество в селекторе-комбинации.

Побеждает всегда правило с самым специфичным селектором.

Исключения касаются более приоритетных инлайновых стилей, подцепляемых через атрибут style непосредственно к HTML-элементу, и самых блатных правил с оговоркой !important, которые в мире веб-верстки представляют аналог депутатских мигалок и сопоставимы c ними по уровню вызываемой неприязни.
На каждого Беара Грилса, проходящего испытания в сопровождении бригады операторов, есть Лес Страуд, сам снимающий свои выпуски и по ночам отгоняющий львов горелкой от воздушного шара, пока Беар Грилс за кадром ест стейки и отсыпается в Холидей Инн.

Лес Страуд — икона фулстека. Его профайл на википедии, выглядящий как гэг из Урганта, описывает Страуда как создателя, сценариста, продюсера, режиссера, оператора и ведущего шоу «Наука выживать». Беар Грилс же удостоен лишь тайтла ведущего «Выжить любой ценой».

Фулстек не про быть экспертом фронтенда и бэкенда. Фулстек про знать достаточно того и другого, чтобы «в соляного» запускать рабочие продукты. Фулстек стремится научиться многим вещам и быть ценным в комбинации разных скилов.

Большим компаниям, хайрящим лайк крейзи, нужны Беары Грилсы. Компактным стартапам, которым хватает одной пачки Снегурочки, чтобы распечатать весь код, и двух пицц, чтобы накормить все рты — Лесы Страуды.

Новичкам тем более есть профит учиться фулстеку — специализироваться еще рано.