Статьи

Технические стеки, рамки, быть творческими и быть реальными, с Тимом Холменом

Тим Холман на выставке версий

В этом эпизоде ​​Showing Version Show к Дэвиду и Тиму присоединяется Тим Холман, веб-экспериментатор и член команды CodePen. Они обсуждают одержимость технологическими стеками, находят время для творчества и экспериментов, имеют дело с коротким периодом концентрации внимания, давлением, чтобы продолжать делать вещи там, поддерживают и поощряют новичков, быть честными с собой, заканчивать то, что вы начинаете, копаться в рамках и как они работают, Добрый Тим и Злой Тим, и лягушат консоль.

Показать заметки

Основные моменты разговора

Поэтому я начал делать небольшие проекты. Я начал в основном деконструировать то, что они создали, смотреть на код и делать ремиксы. Через некоторое время я просто начал заниматься этим и делал все больше и больше вещей.


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


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


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


У меня было очень большое количество ответов на многие вещи, которые я сделал. У меня были люди, которые в основном удаляли весь код и отправляли запрос на получение ответа типа «Этого даже не должно быть»… что немного жестоко.


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


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


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


Когда вы в начале пути и видите: «О, я понимаю HTML, я понимаю CSS, я понимаю JavaScript, но почему я не могу сделать свой веб-сайт великолепным, как эти другие веб-сайты?» Разрыв требует много преодоления. Я попал туда в конце. И это то, что я стараюсь сделать больше всего.


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

Тим Холман на выставке версий

расшифровка

Тим Эвко:

Эй, как дела у всех? Это Тим Эвко …

Дэвид:

… а это М. Дэвид Грин …

Тим Эвко:

… и вы слушаете эпизод № 24 подкаста версий.

Дэвид:

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

Тим Эвко:

Сегодня мы разговариваем с Тимом Холманом, который делает много интересных и интересных вещей. Он такой же подкастер. Он работает в команде CodePen и делает много — я не знаю, как это выразить — нелепых веб-проектов. Мы собираемся поговорить с ним обо всех этих разных вещах. Итак, давайте продолжим и начнем эту версию.


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

С Squarespace вы можете запустить гораздо больше, чем сайт портфолио. Вы можете запустить свой интернет-магазин в Squarespace с подробной аналитикой, регистрацией домена, интеграцией с G Suite и инструментами, которые помогут вам масштабировать свой бизнес.

У Squarespace есть специальное предложение для слушателей Showing Show. Попробуйте их сервис бесплатно. Затем, когда вы решите подписаться, используйте код предложения SitePoint, чтобы получить скидку 10% на ваш первый сайт или покупку доменов.

Перейдите на SitePoint.com/squarespace, чтобы начать.


Тим Эвко:

Тим, спасибо, что присоединились к нам. Как у тебя сегодня дела?

Тим Холман:

Хорошо. Вот это да! Это было очень профессиональное вступление.

Дэвид:

Профессионал — это то, что мы делаем здесь.

Тим Холман:

Конечно. Да, у меня все отлично.

Дэвид:

Фантастический!

Тим Холман:

Просто бродить готовый к чату.

Дэвид:

Ну отлично. В таком случае, давайте начнем чат. У меня есть к вам вопрос. Мы хотели бы начать наше шоу версий с философского вопроса о версиях. Наш философский вопрос для вас: в какой карьере вы сейчас находитесь и почему?

Тим Холман:

Вау, это большой вопрос сразу. Я не знаю, хочу ли я поставить номер на нем. Я чувствую, что такое большое развитие — это несколько шагов вперед и несколько шагов назад. Технология меняется. Некоторые вещи устаревают. Это не похоже на ваше здание — по крайней мере, так я себя чувствую — я на самом деле не строю башню, на которой я стою и становлюсь все выше и выше. Я чувствую, что земля постоянно движется под вами. Итак, один или ноль, я думаю. Я никогда не видел, чтобы кто-то говорил о создании своего компьютера, когда ему был один год или что-то в этом роде, и думал: «О, этот человек станет великим разработчиком». Меня интересует, что происходит в то время. Я не знаю. Я буду придерживаться ноля. Это другое.

Дэвид:

Версия ноль. Там очень много места, чтобы расти оттуда.

Тим Холман:

Да, я так думаю. Лучше, чем отрицательный.

Дэвид:

Мой другой Тим сказал мне, и упоминал ранее в сериале, что вы делаете много действительно странных вещей в Интернете. Вы делитесь этим. Мне любопытно, с чего ты начал этот путь?

Тим Холман:

Это интересный вопрос. Когда я начал заниматься разработкой, там было несколько людей, которые были очень большими и вдохновляющими для меня. Хаким один (его сайт hakim.se ). И Джастин, который некоторое время был моим соседом по дому (его сайт — soulwire.co.uk ). И есть куча других. На их сайтах у них были эти небольшие веб-эксперименты. Более интересным было то, что они вернулись очень долго. Я мог видеть, где они начали свое путешествие и что они делали, когда начали свое путешествие. И я в основном хотел подражать этому.

Поэтому я начал делать небольшие проекты. Я начал в основном деконструировать то, что они создали, смотреть на код и делать ремиксы. Через некоторое время я просто начал заниматься этим и делал все больше и больше вещей. Я поделюсь ими и получу немного внимания. Некоторые вещи, которые я делаю, не получают абсолютно никакого внимания. Теперь я получаю этот странный приступ беспокойства, если я что-то не выпустил или что-то сделал через некоторое время. Как будто я говорил с этой нулевой версией, что ты постоянно падаешь и одновременно поднимаешь себя с новыми вещами.

Давид [4:20] :

Есть ли у вас график выпуска этих вещей, которые вы выпускаете?

Тим Холман:

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

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

Я действительно обнаружил, что у меня очень короткая продолжительность концентрации внимания. Встраивание работы, которую я выполняю, в это внимание было действительно полезным. Если я скажу: «О, мы собираемся сделать этот подкаст через 30 минут», и у меня есть 30 минут, чтобы сделать что-то прямо сейчас, тогда я сделаю именно такую ​​вещь. И, конечно, за 30 минут вы не сможете по-настоящему проделать большую работу, но вы можете сделать довольно странные мелочи.

Тим Эвко:

Это подводит меня к следующему вопросу. Мне любопытно. Мы с Дэвидом в предыдущих эпизодах говорили о том, чтобы внести свой вклад и просто выпустить что-то с открытым исходным кодом, написать, вести блог и так далее. Как вы находите время, чтобы получить все эти вещи там?

Тим Холман:

Вот и все. Это как подкаст, который я делаю, использует приложение под названием Bumpers , и они длятся всего три или четыре минуты. Это случайные темы или случайные интересные вещи — о которых я нашел в статье в Википедии — и я пытаюсь обобщить это в небольшом кусочке размером с кусочек. Помимо исследования, которое может занять около 30 минут, просто чтобы проверить все источники, а что нет, запись займет пять минут. Много раз я говорил: «О, я собираюсь выйти сегодня вечером, но у меня есть пять минут. Позвольте мне быстро сделать это и обернуть.

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

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

Тим Эвко:

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

Тим Холман:

Да. Я на самом деле начал покупать домены как способ заставить себя сделать что-то. Что за поговорка? Первые 80% проекта занимают столько же времени, сколько вторые 80% или что-то в этом роде. [Хихикает] Как только я доберусь до первых 80%, где вы как бы решили больше сложных частей проблемы… Как разработчики и решатели проблем, я чувствую, что у всех есть такая ситуация, когда они ставят и делают то, что им нужно сделать, и это обычно, когда я куплю домен и буду, как, ну, теперь я только что вложил — это даже не много — 10, 20 долларов в это, я должен закончить его, потому что у меня есть половина готовой версии чего-либо. Эта вещь представляет меня в некотором смысле.

Тим Эвко [8:27] :

У вас есть любимый законченный или незаконченный проект, который вы выпустили или работали в последнее время?

Тим Холман:

Это хороший вопрос. Я наслаждаюсь этими маленькими подкастами, хотя у них почти нет аудитории. У меня есть вещи, которыми я особенно горжусь: aquatilis.tv — прекрасный сайт, который я создал со своим другом Тобиасом. Некоторые вещи, которые я сделал, переделали из тех Fork me на углах GitHub — просто SVG Octocat, и это своего рода волны, когда вы наводите курсор мыши. Это очень маленький, легкий проект, но я часто вижу его в Интернете. Это, конечно, делает меня особенно гордым. Но я не знаю … Я всегда больше привязан к тому, над чем я работаю в то время. Как только он закончится, я думаю, что я его уже не люблю.

Дэвид:

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

Тим Холман:

Да … я думаю, что большая часть этого была честна со мной. Я думаю, что вы на самом деле не найдете этого везде — где кто-то признается, что он немного наполовину задран и немного ленив, когда они пытаются что-то сделать, в то время как я очень открыт и признаю это сам. Когда я разбиваю вещи на списки или что-то в этом роде, у меня появляется приложение — Todoist, я думаю, оно называется… просто обычное приложение со списком задач, которое, конечно же, все стараются и много суетятся.

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

Я также экспериментирую с множеством разных способов делать подобные вещи. Я недавно написал библиотеку. Это называется console.frog . Вместо того, чтобы регистрировать обычный журнал в вашей консоли JavaScript или в консоли разработчика, он регистрирует лягушку со словами. И в этом случае я сначала написал документацию. Это похоже на то, как тебя учат в университете, и я впервые это сделал на практике. Я не знаю. Мне это не очень понравилось, но было приятно поиграть и попробовать разные способы ведения дел.

Дэвид:

Это интересно. Ты действительно тренировался в университете? Ты учишься тому, над чем работаешь?

Тим Холман:

Нет, совсем нет. Как и многие, я ходил в университет и изучал разработку видеоигр. Я на самом деле пользуюсь любой возможностью оскорбить мой университет. У меня не так много гордости по этому поводу. У них как будто много школьников: «Я хочу делать видеоигры. Это будет здорово. Это будет весело ». На самом деле это была только что перенесенная степень по информатике. На самом деле, что мне очень повезло, произошел финансовый крах в Штатах, и все компании, производящие видеоигры в городе, в котором я жил (Брисбен), в основном испарились за месяц. У меня был здравый смысл знать, что я не смогу работать в этой отрасли, и я стал ориентироваться на веб. Тогда я, конечно, глубоко влюбился в него и в сообщество. Итак, это хорошо. Мне повезло

Тим Эвко:

Говоря о сообществе, мы встречались на встречах CodePen и подобных вещах. Что вы хотели бы сделать в сообществе в плане открытого исходного кода, конференций или тому подобного?

Тим Холман [11:52] :

Это интересно. Когда я хожу на конференции — и я чувствую, что могу сесть здесь под автобус — и ходить на встречи и тому подобное, я действительно стараюсь посмотреть, как я в них вписываюсь. И я всегда прекрасно провожу время, и у нас прекрасные разговоры. Мне кажется, что я многому учусь каждый раз, но что-то во мне заключается в том, что у меня нет действительно, действительно больших мнений о многих технологиях. На самом деле это как мой собеседник, когда кто-то скажет: «Какая технология вас сейчас волнует?» И, конечно, вы можете быть взволнованы технологией. Просто я не испытываю такого волнения. Меня больше интересует, что мы делаем и куда мы идем с этим.

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

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

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

Дэвид:

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

Тим Холман:

Смешно говорить. У меня было очень большое количество ответов на многие вещи, которые я сделал. У меня были люди, которые в основном удаляли весь код и отправляли запрос на получение ответа типа «Этого даже не должно быть»… что немного жестоко. Я сделал (это было очень популярно) библиотеку Elevator.js , чтобы вы нажимали кнопку, и она прокручивала вас до верхней части страницы с приятной медленной прокруткой, но она также играла музыку лифта. Безумно думать, что такая маленькая библиотека будет настолько популярна. Это как бы попало в Hacker News, что, вероятно, не место для него. Даже в этом, есть много людей, которые очень критически относятся к тому, как он прокручивается или играет шум и тому подобное. Это похоже на шум. Конечно, это была шутка. У этого есть целый проект шутки. Я думаю, что это закончилось на веб-сайте Google I / O, который был забавным удовольствием.

Дэвид:

Если честно, вы знали, что это расстроит многих людей.

Тим Холман:

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

Есть так много мелочей, о которых ты не думаешь. Даже с таким проектом, когда вы заканчиваете его и получаете его, вы понимаете: «О, я написал 200 строк, чтобы прокрутить кого-то наверх страницы, сыграть музыку и охватить все эти основы». Ты всегда учишься всему, что получаешь, мне это нравится. Это то, что я стараюсь много проповедовать. Это похоже на конференции. Я иду на конференцию, и я буду говорить. Конечно, многие люди говорят: «Вот новые технологии. Это хороший способ его использования ». Мне очень нравятся эти разговоры, но когда я поднимаюсь туда, я просто пытаюсь показать, каково это поиграть и исследовать с помощью кода — что-то вроде открытия вещей по ходу дела. Проект, которым вы заканчиваете, никогда не будет тем проектом, который вы намеревались создать, если вы не очень, очень неуклюжий или у вас нет хорошего менеджера проекта.

Давид [16:48] :

Вот почему мы не пишем документацию в первую очередь; так никто не знает.

Тим Холман:

[Хихикает] Конечно. Я провожу несколько бесед в некоторых лагерях по программированию и тому подобное, что мне очень нравится. Я никогда не отказываюсь от этого, потому что я очень рад пойти туда и поговорить с людьми, которые только начинают учиться кодировать. Они еще даже не научились учиться, что является важной важной частью развития. Когда я приезжаю туда, вы вроде … я не знаю, хорошо ли вы помните, когда начали изучать развитие, но вы находите много людей, которые действительно поражены этими вещами. Конечно, это своего рода часть обучения — что вы что-то делаете, и вы не до конца уверены, как вы это сделали, но через неделю вы оглядываетесь назад и будете говорить: «О, я точно знаю, как Я это сделал.»

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

Тим Эвко:

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

Тим Холман:

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

Когда вы в начале пути и видите: «О, я понимаю HTML, я понимаю CSS, я понимаю JavaScript, но почему я не могу сделать свой веб-сайт великолепным, как эти другие веб-сайты?» Разрыв требует много преодоления. Я попал туда в конце. И это то, что я стараюсь сделать больше всего. На конференциях это очень похоже. Когда я показываю людям, что я нахожусь на их точном уровне, а затем показываю им все отдельные этапы — даже те долгие — три или четыре года, это просто дает вам такую ​​красивую красивую картину.

Тим Эвко:

Ранее вы упомянули Hacker News и тот факт, что люди могут быть слишком критичны в этой отрасли. Есть ли другие вещи, которые вам не нравятся в отрасли? Если бы у вас была одна вещь, которую вы могли бы сказать: «Эй, сеть в 2017 году, давайте улучшим это», что бы это было?

Тим Холман [20:02] :

Это опасный вопрос, потому что он напрямую связан с моим желанием быть агностиком в отношении большинства вещей. Я часто не блещу онлайн, и я стараюсь держать вещи при себе или у пары друзей, когда хочу что-то расстроиться. В прошлом году вышла большая сатирическая статья, рассказывающая о том, каково это — учить JavaScript . Конечно, он рассматривал все различные Webpack и все эти модули для объединения. Это проходило через эту жестокую цепь событий, которые … я понимаю, что это было сатирическим. Я понимаю, что, я думаю, гипотетический наставник в этой ситуации был наихудшим из возможных наставников, который просто сказал: «Нет, вы делаете это неправильно. Вот более сложный способ. Нет, вы делаете это неправильно, вот лучший способ, «все время.

Многие люди действительно вникли в это, и я чувствую, что было много того, чтобы делиться этим действительно сатирическим, разрушительным способом. И когда я написал об этом в твиттере, типа: «Я ненавижу эти вещи. Почему мы все делимся этим? Почему столько людей, которых я уважаю, действительно прыгает на этой популярной гонке? »Затем, увидев множество людей, с которыми я работаю на предыдущих должностях, которые были опытными инженерами, или другой вид специализации, фактически полностью сказали:« Это на что это похоже ». Мне было очень больно видеть этот разрушительный рост. Я на самом деле чувствую, что многие люди уже поняли это и сказали: «О, давайте не будем оскорблять CSS каждый раз, когда мы его поднимаем. Давайте не будем портить чужие языки ». Это еще долгий путь.

Дэвид:

Абсолютно. Мне любопытно, однако, повернуть это в другую сторону. Что вы видите в Интернете в эти дни, что вызывает у вас оптимизм в сообществе и к чему мы стремимся?

Тим Холман:

Это гораздо более приятный вопрос. Спасибо, Тим !

[Смех]

Тим Эвко:

Просто делаю свою работу.

Дэвид:

Мы здесь не на соревнованиях.

[Смех]

Тим Холман:

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

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

Тогда я вижу, как они становятся сторонниками определенных технологий и… Я чувствую, что многие из моих друзей стали евангелистами в компаниях. Подобный шаг поколений — это то, что я полностью наслаждаюсь и обожаю. Всем становится намного лучше помогать другим. Конечно, это все, что стоит на плечах гигантов. Мы можем иметь все эти сайты и деконструировать код каждого и посмотреть, куда мы идем с ним. Я думаю, что люди снова становятся немного более сосредоточенными.

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

Тим Эвко [24:00] :

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

Тим Холман:

Да. Мой сайт tholman.com . Это в основном все, что я сделал, навсегда, включая мой Twitter, который является twholman . Это главное. Конечно CodePen . Я там постоянно. Если вы что-то делаете, или если вы новичок, пришлите мне твит. Я хотел бы увидеть, что вы получили. Спасибо.

Дэвид:

Фантастический! Большое спасибо за присоединение к нам.

Тим Холман:

Ура человек!

[Музыкальная интерлюдия]

Дэвид:

С каким классным парнем можно общаться.

Тим Эвко:

Да, серьезно, я чувствую, что каждый раз, когда я общаюсь с Тимом, я ухожу, чтобы выучить один и тот же урок для меня: я очень сомневаюсь в технологиях, а другой Тим — нет. Я чувствую, что это хорошо, и это урок, который я постоянно пытаюсь усвоить, — что я должен быть менее догматичным в отношении технологий, которые я использую. Это сложность для меня. Мы можем стать реальными здесь. Это то, что мне трудно сделать, потому что мы подробно говорили об этом раньше, Дэвид. Я смотрю на основы, практики и инструменты, и у меня есть все эти мнения. Например: «О, мы делаем слишком много из этого. Это слишком сложно. Вот почему каждый чувствует себя ошеломленным: «Но в конце дня вы выбираете, что работает для вас, и жизнь продолжается.

Дэвид:

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

Тим Эвко:

Я не часто становлюсь Злым Тимом, поэтому я должен наслаждаться этим, когда могу.

Дэвид:

Хотя я слышу, что вы говорите, и я думаю, что это часто встречается в разговорах с несколькими людьми. Смысл, вы изучаете основы или изучаете язык? Одна из вещей, которые мне понравились в том, как он говорил о проектах, — это идея, что вы идете в проект, потому что вы в восторге от того, что компания пытается сделать или для чего существует проект. Даже над самыми нелепыми проектами, над которыми он работал, он с энтузиазмом относится к самому проекту. Затем звучит так, будто он идет и находит любую технологию, которую ему необходимо изучить, чтобы это произошло, и он делает это, даже если ему приходится тратить 200 строк на написание кода, чтобы эффективно прокрутить кого-то наверх страницы.

Тим Эвко:

Да. Сегодня я действительно думал об этом раньше, потому что одна из вещей, которые мне больше всего нравятся в том, чтобы быть разработчиком, — это то, что я действительно могу внести свой вклад в конечный продукт. Это не просто кто-то дает мне дизайн и говорит: «Сделайте это в коде сейчас». Я начинаю говорить: «Хорошо, как мы должны здесь это сказать? Что будет чувствовать пользователь, если мы дадим ему эту опцию по сравнению с этой? »Мне больше всего нравится моя работа, когда я делюсь идеей, а не когда я смотрю на стратегию реализации.

Дэвид:

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

Во мне также возникает определенная страсть, когда дело доходит до изучения технологий. Мне нравится выяснять, как новая структура объединяет вещи, и приходить в голову разработчику, который его собирает, и видеть, почему этот человек сделал такой выбор? Почему меня рекомендуют делать так, а не так? Иногда это само по себе может быть забавным, но это не продуктивно в традиционном смысле, в том смысле, что я не создаю вещи и не помещаю вещи там. Я просто наслаждаюсь собой.

Тим Эвко:

Это правда.Определенно есть что сказать о том, как работают инструменты, которые вы используете. Я думаю, что вы учитесь больше всего, когда начинаете делать такие вещи. Например, в моей компании сейчас мы используем React, Webpack и Redux для создания приложения, что, я уверен, подходит всем остальным разработчикам.

Дэвид:

Посмотрим. Это январь 2017 года, так что это, вероятно, правда.

Тим Эвко [27:52] :

Правильно.У меня еще не было возможности изучить и проанализировать внутренности и выяснить, как все работает. Я понимаю концепции, методы и общую идею, но, вероятно, я узнаю больше всего об этой конкретной структуре, как только я действительно увижу, как она составлена. Здесь вы изучаете шаблоны проектирования, различные приемы оптимизации и методы, и почему у этого названия есть это имя, а не имя. Вы смотрите на усилия сотен людей, чтобы сделать отличную основу. Как вы можете не узнать целую кучу от этого?

Дэвид:

Абсолютно.Я думаю, что первый раз, когда я действительно сделал это всерьез, был, когда я попытался покопаться в коде jQuery, и Джон Резиг просто полностью поразил меня некоторыми вещами, которые он делал там. Потом, спустя годы, я помню, как пытался восстановить Underscore, а затем рассказывал, как они строили все свои разные методы.

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

Вы думаете: «Этот человек делает то, чего я не понимаю. Я не понимаю, почему они создают эту вещь таким образом. Я потерял счет того, что код пытается здесь выполнить ». Затем вы получаете этот момент лампочки, когда понимаете:« О, есть причина, по которой эта функция помещается сюда и почему она возвращает то, что возвращает ». практическая вещь, чтобы применить так, как я работаю.

Тим Эвко:

Так что, как боковая панель, мне немного любопытно, как вы начали разбивать большую библиотеку или фреймворк, чтобы посмотреть, как она работает, потому что это может быть пугающей вещью. Реагируйте, например, на 90 папок, по которым нужно щелкнуть, чтобы найти код. Есть ли у вас какие-либо предложения для людей, которые заинтересованы в этом, но на самом деле не знают, как это сделать?

Дэвид:

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

Тим Эвко:

Вы имеете в виду документацию с точки зрения комментариев внутри кода или вне документации кода?

Дэвид:

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

Тим Эвко:

Да, WordPress действительно делает это очень хорошо.

Дэвид:

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

Тим Эвко:

Ну, я, конечно, кое-что узнал. Я собираюсь взять эти советы и погрузиться в React с ними. Это то, о чем я должен написать, но сейчас у меня просто нет времени. Говоря о времени, мне действительно нравится, как Тим говорит о том, чтобы разбить вещи на такие маленькие кусочки. Когда я смотрю на проекты, над которыми я работал, это не маленькие кусочки. Обычно мой метод позволяет мне сделать демонстрацию того, что работает на CodePen. Как только у меня возникнет идея, я куплю домен и напишу код, а затем просто пробежусь, чтобы сделать это. Я создаю глупую игру с боевым кораблем, просто с не профессиональными инструкциями, и это весело. Я атаковал это как одну гигантскую гору, чтобы перелезть вместо нескольких маленьких камешков, чтобы поднять.

Дэвид:

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

Если вы подходите к своим проектам таким же образом и думаете: «Хорошо, какие компоненты здесь? Как вы разбиваете вещи на отдельные компоненты? Это не просто React говорить. Это подход к развитию в целом. Если вы думаете о своем коде таким образом, он может сделать его доступным, и он также может сделать его достаточно модульным, чтобы вы могли работать над его небольшим фрагментом, выполнить этот небольшой фрагмент, а затем отложить его в сторону, чтобы, когда вы вернетесь к это, вы готовы перейти к следующему шагу.

Тим Эвко [32:22] :

Изучение шаблонов дизайна определенно помогает в этом. На самом деле, когда я впервые узнал что-то о шаблонах проектирования, я читал в блоге Криса Койера о CSS-хитростях, где он рассказывал о шаблоне модуля и о том, как вы не можете иметь одну вещь для спагетти main.js только со всем кодом, который вам нужно внутри него, но вы можете разбить вещи на объекты, которые имеют свои собственные методы в качестве функций. Это просто перевернуло мой мир, потому что я внезапно смог написать код таким образом, что я мог написать небольшие независимые многократно используемые функции, которые идут туда, куда им нужно, и они взаимозаменяемы — и я мог бы добавить, что их гораздо проще тестировать.

Дэвид:

Я должен признать, у меня есть триггерная точка в вопросе шаблонов проектирования, потому что я изучил их, когда я занимался Java, и я никогда больше не буду заниматься Java. Не подходи ко мне с проектами Java. Прекратите писать мне о проектах Java. Я не хочу делать Java снова. Я узнал о шаблонах дизайна … Я думаю, что это была книга Кэти Сьерра, Head First Design Patterns , которая была удивительным введением в работу шаблонов дизайна. Если я смогу перестать связывать их с этим конкретным языком, я, безусловно, могу поддержать то, что вы говорите об этом.

Тим Эвко:

Помимо JavaScript, один из шаблонов дизайна, которым я действительно недавно пользовался, — и я сожалею, что продолжаю говорить это, Дэвид; Я чувствую, что вижу, как ты потеешь [смех] — это ITCSS от Гарри Робертса , что означает «Перевернутый треугольник CSS». Это в основном способ организации вашей файловой структуры Sass, чтобы у вас было наименьшее количество специфичности. В верхней части перевернутого треугольника есть функции, которые ничего не делают. Они не выводят никакой специфичности. Затем вы переходите к таким вещам, как переменные цвета. Оттуда вы переходите к перезагрузке, а затем к необработанным элементам, а затем к классам. В самом конце у вас есть переопределения, где вы добавляете важные вещи. Я использовал это, и я начал замечать, что у меня больше нет конфликтов CSS. Это’действительно чудесно.

Дэвид:

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

Тим Эвко:

Я почти чувствую — и это, вероятно, будет очень враждебно, и, возможно, это ужасная идея, поэтому скажите мне, пожалуйста, — но я почти чувствую, что мы должны поговорить с кем-то, кто действительно не любит CSS, потому что мне это нравится. Мне это нравится, потому что я впервые начал изучать HTML. Затем я изучил CSS. И тогда я научился программировать. Я научился писать JavaScript и немного PHP и основам этого. Я чувствую, потому что я вошел в ландшафт таким образом, CSS имеет смысл для меня. Но если вы пришли из области разработки программного обеспечения, а затем выбрали что-то вроде CSS, я имею в виду, что это всего лишь язык. Это декларативная вещь, но она каскадная, и я могу понять, как переход с точки зрения разработчика программного обеспечения на что-то вроде CSS может быть действительно странным и неловким.

Давид [35:56] :

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

Тим Эвко:

Мы могли бы даже пойти до того, чтобы поговорить с кем-то, кто выступает за написание CSS на JavaScript и обработку стилей таким образом, вместо того, чтобы писать — я ненавижу это говорить — вместо того, чтобы придерживаться традиционного подхода, который заключается в том, чтобы фактически использовать стиль лист, потому что это то, что до сих пор кажется мне странным, и я не уверен, почему кто-то будет это делать. Я этого не делал, поэтому все, что я знаю, это то, что помимо цепочки инструментов — я не хочу говорить о проблемах — кроме барьера цепочки инструментов, потому что вам нужно много специфических и сложных цепочек инструментов или инструментов, чтобы CSS и JavaScript. Кроме того, я не очень понимаю, почему кто-то это сделал, и по этой причине я хочу изучить мышление человека, который выступает за такой способ создания сайтов.

Дэвид:

Я думаю, что есть чему поучиться. Переход от веб-компонентов, которые полностью автономны с их CSS, к компонентным элементам внутри React. Необходимость содержать их встроенный CSS для эффективного функционирования; какие части остаются в линии, какие части должны быть универсальными … это сложная наука в наши дни. Это не так просто, как сказать: 100% должно быть унаследовано или 100% должно быть встроено.

Но да, нам обязательно нужно привлечь больше экспертов, чтобы поговорить об этих вещах. Давайте привлекать аудиторию, а также. Есть ли люди, от которых вы хотите услышать, которые действительно работают над этим и действительно защищают вашу позицию, которая может отличаться от того, что думает мейнстрим? Дайте нам твит. Дайте нам знать.Мы @VersioningShow .

Тим Эвко:

Да, у нас очень активный аккаунт в Твиттере. Так что, да, пожалуйста, дайте нам знать. На этой ноте, я думаю, еще есть большая часть индустрии, которая действительно презирает возможность видеть что-то вроде синтаксиса JSX, который в основном является частью React, которая является препроцессором. Это позволяет писать HTML внутри файла JavaScript. Из того, что я видел, время от времени появляется статья или твит, который всплывает на поверхность кого-то, кто просто в ярости — и я имею в виду, как сжимать кулак левой руки и печатать одной рукой, злой из-за этого принципа. Я был одним из тех людей (я не собираюсь лгать). Но я начал понимать, что если вы пишете веб-приложение на основе JavaScript, в котором вы отображаете динамический контент, между HTML и JavaScript нет разделения на проблемы.Эти две вещи внезапно становятся одной вещью, когда вы делаете это.

Дэвид:

И точно так же, если вы создаете веб-компоненты, этот CSS также становится частью этого.

Тим Эвко:

О чувак! Я не готов к такого рода …

Дэвид:

[Смеется] Ну, мы вернулись к Доброму Тиму, Злому Тиму. Наш Добрый Тим рассказывает нам о том, как сосредоточиться на том, чего мы пытаемся достичь, и что наш злой Тим привязан к нашим технологиям.

Тим Эвко:

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

Дэвид:

Ну, кумбая. Мы доберемся туда.

Тим Эвко:

Да, если мы продолжим.

[Музыкальная интерлюдия]

Тим Эвко:

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

Дэвид:

Мы также хотели бы поблагодарить SitePoint.com и наших продюсеров, Адама Робертса и Офели Лехат, за помощь в производстве от Ральфа Мейсона.Пожалуйста, не стесняйтесь, присылайте нам свои комментарии на Twitter — @VersioningShow — и дайте нам оценку на iTunes и дайте нам знать, как мы делаем.

Тим Эвко:

Увидимся в следующий раз и надеемся, что вам понравилась эта версия.