yaplusplus

15 августа 2016, Moscow, Russia

# Понедельник 179 твитов

Hello world! На этой неделе с вами Егор Яковишен, @yaplusplus

7:32

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

7:33
@jsunderhood @cssunderhood @abroadunderhood Поделитесь пожалуйста новостью о запуске нового англ андеграунда. RT ⬇️ twitter.com/operatino/stat…

Тем временем просят передать, что появился новый локальный аккаунт (eng), объединяющий разработчиков из Нидерландов

@jsunderhood @cssunderhood @abroadunderhood Поделитесь пожалуйста новостью о запуске нового англ андеграунда. RT ⬇️ twitter.com/operatino/stat…

7:36

Я работаю в компании Setka (setka.io), также известной как Grid. Это технологический стартап, выросший в стенах Look At Media

7:37

(Look At Media — это медиа-компания, которую вы знаете по сайтам The Village, Look At Me, Hopes and Fears, Wonderzine, FurFur)

7:39

В Сетке я работаю фронтенд-тимлидом и занимаюсь разработкой одного из наших продуктов для медиа — визуального редактора для крутой верстки

7:39

Параллельно по выходным веду курс «JavaScript человеческим языком» в Moscow Coding School: moscoding.ru/humanjs/

7:41

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

7:41

До этого у меня был очень разный опыт, так или иначе связанный с IT. Первое рабочее место — HTML-верстальщик в маленькой студии в 2006 году

7:45

Затем в 2008-2012 годах я делал свою веб-студию, как и многие тогда. Были успехи, были провалы, но в целом время было интересное.

7:46

В 2012-2014 я переключился на тревел-стартап, где был кофаундером и отвечал за весь фронтенд и интерфейс.

7:48

Стартап был настоящий, с инвесторами, акселераторами и пивотами. Мы побывали во ФРИИ, выучили много новых слов, но...

7:48

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

7:49

В последние пару лет я занимался управлением проектами и развитием бизнеса в агентстве Stars Interactive (диджитал, бренды, ROI, ...)

7:51

Также делал первую версию сайта «Медиазоны» (zona.media) — первый опыт поднятия большого онлайн-СМИ

7:52

И в заключение отмечу проект «Цифровой словарь» (digitalvocabulary.ru) вместе с @alexdrozdovsky, за который мы получили Webby Honoree

7:53

В итоге в какой-то момент я понял, что занимаюсь очень многими вещами, и пора сфокусироваться на чем-то одном, что у меня получается лучше

7:54

Как можно догадаться, этим одним стала фронтенд-разработка

7:55

Таким образом, опыт у меня набрался весьма разносторонний. Буду рад поделиться им за эту неделю! А сейчас пора ехать на работу :)

7:55

Пишите вопросы, фолловьте @yaplusplus или френдите fb.com/yaplusplus. Продолжим совсем скоро.

7:56

Я добрался до офиса, хоть это и было чертовски мокро. Продолжаем.

9:27
@jsunderhood какое название было у "стартапа"?

Стартап назывался «Флайс» и был сервисом по поиску и онлайн-бронированию туров, проще говоря, агрегатором

@jsunderhood какое название было у "стартапа"?

9:32
@jsunderhood какие браузеры поддерживаете? pic.twitter.com/8d2a2HWEwK

По самому редактору мы изначально заняли позицию, что ориентируемся на современные браузеры. IE 11+ и прочие

@jsunderhood какие браузеры поддерживаете? pic.twitter.com/8d2a2HWEwK

9:34

Но помимо редактора есть еще верстка, которую он генерирует. Тут мы изначально ориентировались на свои издания. У нас мало IE и ~50% mobile

9:35

Поэтому мы имели возможность использовать современные технологии. Например, у нас модульная сетка сделана при помощи flexbox

9:37
@jsunderhood редактор вживую когда-нибудь покажете?

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

@jsunderhood редактор вживую когда-нибудь покажете?

9:38
@jsunderhood условия распространения?

SaaS. Про стоимость и другие подробности пока не могу говорить, скоро все будет опубликовано. Stay tuned.

@jsunderhood условия распространения?

9:40

Перед тем, как перейти к большим темам, интересно мнение комьюнити по простому вопросу, который недавно поднимался в Фейсбуке:

9:42

«Кто еще остался в русском Твиттере?» По моим наблюдениям: айтишники, журналисты, некоторые политики и просто тролли.

9:43
@jsunderhood ещё рядовые шутники и любители игр.
9:45

Я помню кипящий Твиттер 2010-2011 годов. Сейчас все как-то приуныло, многие интересные люди с концами ушли в FB и/или Telegram

9:48
@jsunderhood ура, не одному мне так кажется. Около года назад почти перестал юзать твиттер, сейчас стараюсь фолловить англоязычное комьюнити

Поддерживаю. Я планирую в один из дней поговорит про источники информации для программиста — это один из них

@jsunderhood ура, не одному мне так кажется. Около года назад почти перестал юзать твиттер, сейчас стараюсь фолловить англоязычное комьюнити

9:51
@jsunderhood раньше кипело, теперь пригорает.
Все работают работу, хороший признак. Хотя бы фреймворков новых будет меньше...
9:51
@jsunderhood зачем человеку в 2016 г. С нуля учить яваскрипт например? Если сейчас конструкторы сайтов/лендов в ходу.

Если он хочет стать веб-разработчиком?

@jsunderhood зачем человеку в 2016 г. С нуля учить яваскрипт например? Если сейчас конструкторы сайтов/лендов в ходу.

9:53
@jsunderhood для чего может яваскрипт сейчас бытьполезен

К счастью/сожалению, практически для всего. У меня каждый курс в MCS начинается со слайда «JavaScript теперь везде»

@jsunderhood для чего может яваскрипт сейчас бытьполезен

9:54
@jsunderhood Как будто что-то с твитером что-то случилось или вдруг появилась хотя бы одна альтернатива.

Смотря чему альтернатива. Общению на профессиональные темы? Перепискам с друзьями? Шуткам в стиле «Усов Пескова»?

@jsunderhood Как будто что-то с твитером что-то случилось или вдруг появилась хотя бы одна альтернатива.

9:57
@jsunderhood а подскажите как пользоваться ФБ? Кого читать, как подписываться?

Если про фронтенд, то в FB как минимум есть группа MoscowJS: facebook.com/groups/moscowj….

@jsunderhood а подскажите как пользоваться ФБ? Кого читать, как подписываться?

9:59
@jsunderhood Твиттер 5 лет назад? Он тогда уже был? 👻

Да, конечно. У себя в профиле вижу: Joined January 2008

@jsunderhood Твиттер 5 лет назад? Он тогда уже был? 👻

10:30
@jsunderhood @sapegin альтернатива кратким сообщениям которые можно почитать в транспорте ли - короче, - почитать на бегу?

Телеграм-каналы. Например, мне очень ноавится канал Сергея Сурганова, арт-директора Медузы telegram.me/surganov_public

@jsunderhood @sapegin альтернатива кратким сообщениям которые можно почитать в транспорте ли - короче, - почитать на бегу?

10:32

Тем временем у нас тут прошел традиционный митинг по понедельникам. Обсуждали статус по проектам и планы на неделю. pic.twitter.com/pPtxcSFB8S

10:36

Сегодня буду потихоньку рассказывать о том, чем мы занимаемся в Сетке, какой у нас фронтенд с бэкендом, и почему у нас интересно

10:38

(да, мы ищем фронтенд-разработчиков, в том числе в мою команду редактора, поэтому я время от времени буду ненавязчиво приглашать к нам)

10:39
Вот объясните мне, что за Телеграм-каналы, и для чего это нужно? twitter.com/jsunderhood/st…

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

Вот объясните мне, что за Телеграм-каналы, и для чего это нужно? twitter.com/jsunderhood/st…

10:40

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

10:42

Сначала это кажется непривычным, но со временем начинаешь воспринимать именно как канал. Автор общается с аудиторией.

10:43

(не путать с Телеграм-чатами, там флуд и раздрай почище твиттера)

10:43
@jsunderhood Любопытно. А какая-то вообще есть обратная связь? Как понять, что читателям интересно? Может они и не заглядывают в канал.

Как правильно подсказывают, отображается кол-во просмотров каждого сообщения + часто автор предлагает писать в личку

@jsunderhood Любопытно. А какая-то вообще есть обратная связь? Как понять, что читателям интересно? Может они и не заглядывают в канал.

11:11
@jsunderhood но каждого автора нельзя читать в одной ленте и получается какой-то степбэк в технологиях

Помню, лет 5 назад я спросил одного умного человека, почему он ушел из Тви. Он ответил: «Разорванное общение»

@jsunderhood но каждого автора нельзя читать в одной ленте и получается какой-то степбэк в технологиях

11:12
@jsunderhood а где найти инфу по Телеграм-каналам? Какие они есть и тематически какие.

Например: tlgrm.ru/channels

@jsunderhood а где найти инфу по Телеграм-каналам? Какие они есть и тематически какие.

11:15

Кстати, кто любит текстовые квесты, рекомендую попробовать storebot.me/bot/questgameb…. Это чат-игра в Телеграме.

11:16

Сейчас расскажу кое-что про Setka, затем возьму небольшую паузу на кодинг, надо закрыть одну тасочку

11:17

В основе всех наших сайтов лежит собственная платформа (CMS) под названием Grid (да, с сетками у нас перебор, знаю)

11:17

Платформа написана на Ruby on Rails. Насколько я помню, ребята-бэкендеры в начале года как раз окончательно переехали на 4-е рельсы

11:19

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

11:20

На один только Вилладж ходит 3+ млн уникальных пользователей в месяц. Хостимся, в основном, на Амазоне, тут всё довольно стандартно.

11:22

У платформы есть админка, которая умеет проводить А/Б-тесты, следить за комментариями, управлять пользователями, постами... словом, CMS

11:23

На платформе работают все наши сайты + еще несколько сторонних проектов, которые захотели её использовать (в том числе два зарубежных СМИ)

11:24

Следующий большой продукт — это Workflow, сервис для управления редакционным процессом. Про него мы писали здесь: medium.com/look-at-media/…

11:27

С тех пор Workflow поменял интерфейс, получил кучу новых функций, обзавелся рядом сторонних клиентов и тоже скоро будет открыт для всех

11:28

Под капотом у Workflow все тот же RoR, а на фронте смесь Backbone + React (и идет планомерный переход с первого на второй)

11:29

Workflow помогает десяткам редакторов, корректоров, дизайнеров и менеджеров работать слаженно и выпускать посты в срок

11:31

Следующий продукт называется Waterfall, и многие из вас его видели воочию. Это сервис онлайн-трансляций, которым пользуется Meduza, VC, TJ

11:32

Вот, например, трансляция июньского Apple-эвента на VC через Waterfall: vc.ru/p/wwdc-2016-li…

11:33

Доступ к Waterfall раздается пока что по инвайтам здесь: wtrfall.com

11:34

И вишенка на торте — WYSIWYG-редактор, в котором выпускающие дизайнеры могут быстро верстать красивые посты. Это, собственно, мое детище

11:36

Предыдущая версия редактора, в которой наши редакторы работали последние 4 года, была сильно кастомизированным TinyMCE

11:38
@jsunderhood походу, все, кто работал в сми, когда-нибудь делали такую штуку

Практически так и есть :) Но далеко не у всех получалось сделать хорошо. У нас вроде получается.

@jsunderhood походу, все, кто работал в сми, когда-нибудь делали такую штуку

11:39

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

11:39

На этом моменте я возьму паузу немного покодить, а затем вернусь и расскажу, зачем мы решили делать еще один WYSIWYG-редактор

11:40

Тем не менее постараюсь далеко не пропадать и отвечать на ваши вопросы, а также ретвитить полезные сообщения и новости

11:40
@jsunderhood какие языки программирования сейчас есть смысл начинать учить?

Если есть цель найти нормальную среднюю (не rocket science) работу, то JavaScript отлично подойдет

@jsunderhood какие языки программирования сейчас есть смысл начинать учить?

11:42
@jsunderhood а какие з/п реальные на вакансиях JavaScript?с начальными знаниями.

Если Москва и Junior Frontend Developer, то от 50000 руб., на мой взгляд (но в студиях бывает меньше)

@jsunderhood а какие з/п реальные на вакансиях JavaScript?с начальными знаниями.

11:46
@jsunderhood Расскажите тогда вкратце о технологиях - фронтенд, редактор, в чём и как храните документы

Ок, сегодня чуть позже с этого и начну

@jsunderhood Расскажите тогда вкратце о технологиях - фронтенд, редактор, в чём и как храните документы

11:47
@jsunderhood а он разве WYSIWYG? какие концепции у вас учитывались при разработке редактора?

Да, это и есть основная концепция. Вы получаете на выходе в точности такую же картинку, как в редакторе.

@jsunderhood а он разве WYSIWYG? какие концепции у вас учитывались при разработке редактора?

11:49
@jsunderhood можно ли это гарантировать в современном адаптивном медиа?

Можно. В редакторе обычно верстается десктопная версия, которая затем сама адаптируется под mobile и tablet

@jsunderhood можно ли это гарантировать в современном адаптивном медиа?

11:54

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

11:55

Например, есть настройка «Порядок колонок на мобильных» для сеток. Можно их располагать друг за другом, в обратном порядке или матрицей.

11:56

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

14:29

Так что я сегодня выложу некоторые примеры и может быть небольшие видео. А пока отвечу на накопившиеся вопросы

14:31
@jsunderhood т.е. вы ограничены до 1000px или что там у вас на десктопе, а остальные версии по компромисам?

У нас существует понятие «лэйаут». Он может быть фиксированным или резиновым и настраивается для каждого сайта

@jsunderhood т.е. вы ограничены до 1000px или что там у вас на десктопе, а остальные версии по компромисам?

14:38

В редакторе ты работаешь с контент-областью поста, у нее определенная ширина. Например у Вилладжа: 620px (4 cols), 940px (6 cols)

14:40

Пост выстраивается в десктопной версии, а дальше по брейкпоинтам трансформируется под девайсы. Брейкпоинты тоже настраиваются под сайт.

14:42
@jsunderhood а с резиновыми макетами как дела обстоят?

У нас есть как фиксированные сетки, так и резиновые. Помогают flexbox и calc.

@jsunderhood а с резиновыми макетами как дела обстоят?

14:43
@jsunderhood Мне как раз нужно заменить на проекте редактор, какой посоветуешь? Думаю Summernote or TinyMCE, подскажи толковое что то?

Многое зависит от того, какая у тебя задача. Кто будет пользоваться редактором? Вообще TinyMCE неплохой вариант.

@jsunderhood Мне как раз нужно заменить на проекте редактор, какой посоветуешь? Думаю Summernote or TinyMCE, подскажи толковое что то?

14:43
@jsunderhood можешь больше рассказать про миграцию? Особенно о местах, где нужно реакту общаться с бекбоном и обратно.

К сожалению, Workflow — не мой проект, я лишь со стороны наблюдаю за процессом, поэтому подробности не расскажу

@jsunderhood можешь больше рассказать про миграцию? Особенно о местах, где нужно реакту общаться с бекбоном и обратно.

14:44

Про переезд с Backbone на React кратко скажу, что обычно нужно выстроить реакцию рендеринга компонентов на уже имеющийся application state

14:45
@jsunderhood т.е. вы не используете ничего стороннего? (имею ввиду связанное с редактированием/отображением текста, конечно)

Кое-что используем, сейчас напишу об этом

@jsunderhood т.е. вы не используете ничего стороннего? (имею ввиду связанное с редактированием/отображением текста, конечно)

14:47
@jsunderhood пользоваться будут юзеры которые знают что такое висивуг и как он работает.

А верстка насколько сложная? Пример есть?

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

14:48

В конце 2015 года мы пришли к решению, что больше не имеет смысла развивать предыдущую версию редактора, основанную на TinyMCE

14:48

За время своего существования она обросла массой костылей и решений, которые работали только потому, что все знают, как они работают

14:49

Была поставлена цель спроектировать новую версию редактора, которая бы решала основную задачу: создавать контент быстрее и дешевле

14:50

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

14:51

При этом не забываем, что редактором пользуются разные люди: автор, корректор, фоторедактор, выпускающий дизайнер, арт-директор

14:52

У всех свои задачи. Самые разнообразные — у дизайнера. Ему нужно быстро и красиво превратить текст в красивый пост...

14:53

...не будучи при этом знатоком HTML и CSS (хотя у нас многие выпускающие дизайнеры знают CSS и умеют его применять)

14:53

Также помимо интервью была собрана статистика по использованию инструментов редактора при помощи Google Analytics.

14:54

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

14:55

Далее нашим продакт-дизайнером (честь и хвала ему) был создан прототип нового редактора на jQuery.

14:56

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

14:57

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

14:57

(с точки зрения кода прототип был ужасен — inline CSS и JS, названия функций вроде click1 и click2, но свою задачу решал великолепно)

14:58

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

15:00

Я просмотрел на GitHub примерно 30 визивигов и отсортировал по критериям: активность контрибьюторов, зависимости, документация, лицензия

15:02

Также обращал внимание на диалект JS (ES5, ES6, CoffeeScript и т.д.) и технологию редактирования (iframe, contenteditable)

15:03

В итоге в финал вышло три проекта: Quill от SalesForce, ProseMirror от Marijn Haverbeke и ContentTools родом из UK

15:05

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

15:06

...а новую версию автор пилит уже давно и не знает, когда допилит (он так и написал в ответном письме).

15:07

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

15:08

Следующий вариант — ProseMirror (prosemirror.net). Разработчик Marijn Haverbeke — автор книги Eloquent JavaScript

15:09

  • он же автор ряда тулов вроде Acorn, а также редактора кода codemirror.net
  • 15:10

    Этот проект выглядел более стабильно, неплохое API и дока, но смутило следующее: автор собирал деньги на разработку краудфандингом...

    15:11

    Собрал 50000 евро (indiegogo.com/projects/prose…) и сделал редактор. Но было ощущение, что в любой момент он может его бросить и заняться другим.

    15:12

    (и он же являлся его ключевым контрибьютором: github.com/ProseMirror/pr…)

    15:13

    В итоге мой выбор пал на проект ContentTools: getcontenttools.com

    15:13

    Он был маленький, с четким разбиением на модули и подбиблиотеки (ContentEdit, ContentSelect), хорошей докой

    15:14

    Разрабатывается и поддерживается небольшой британской компанией GetMe. По их словам, на нем работает более 50 клиентских сайтов.

    15:15

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

    15:16

    Забегая вперед — выбор оказался правильный, новую версию редактора удалось написать примерно за 4 месяца и передать в тестирование редакции

    15:17

    На текущий момент от ContentTools осталось уже процентов 30. Все остальное было либо выкинуто, либо переписано под себя.

    15:18
    @jsunderhood ИМХО, если чётко понимать что это throwaway prototype — качество кода не важно, всё равно переписывать с нуля.

    Абсолютно согласен

    @jsunderhood ИМХО, если чётко понимать что это throwaway prototype — качество кода не важно, всё равно переписывать с нуля.

    15:20

    Про технологии. Большая часть кода редактора пока еще написана на CoffeeScript — это наследие ContentTools, но последние пару месяцев...

    15:22

    ...весь новый код пишется на ES6 (когда уже четко стало понятно, что мы оставляем, а что пишем сами).

    15:22

    Редактор не живет внутри <iframe>, как многие другие. Он получает на вход <div> с контентом и превращает его в contenteditable

    15:23

    Здесь есть статья автора редактора Quill, который объясняет свой отказ от iframe: jasonchen.me/editors-and-if…

    15:24

    К слову, еще одним интересным проектом по пути был Trix — визуальный редактор от создателей Basecamp github.com/basecamp/trix

    15:25

    ...но полное отсутствие документации, комментариев к коду и выбор Web Components в качестве основы остановили от использования

    15:26
    @jsunderhood интересно, а что в этом не так? у него хороший track record при этом

    См. следующий твит. На тот момент не очень ясна была дальнейшая судьба проекта с одним основным контрибьютором.

    @jsunderhood интересно, а что в этом не так? у него хороший track record при этом

    15:27
    @jsunderhood про ваш крутой редактор разговоры давно идут. а где-нибудь можно его посмотреть пощупать без трудоустройства редактором? :)

    Да, публичный релиз планируется через месяц-полтора

    @jsunderhood про ваш крутой редактор разговоры давно идут. а где-нибудь можно его посмотреть пощупать без трудоустройства редактором? :)

    15:29

    Почему в качестве основы не были выбраны CKEditor или TinyMCE? Одна из причин — лицензия GPL, которая нам не подходила.

    15:30

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

    15:32

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

    15:32
    @jsunderhood просто не понятно обоснование — человек собирает деньги на проект -> что может быть плохого?

    Это не плохо. Я очень рад, что он собрал деньги и сделал продукт. Опасно то, что он в любой момент может «соскочить»

    @jsunderhood просто не понятно обоснование — человек собирает деньги на проект -> что может быть плохого?

    15:34

    Т.е. бросить поддержку проекта и заняться новым краудфандингом. А нам останется имеющийся проект как есть.

    15:34
    @jsunderhood вчера наткнулся на этот проект
    github.com/ianstormtaylor…
    что скажете?

    Посмотрю чуть позже и отвечу. Вообще сходу напоминает фейсбуковский Draft.js, он там даже упоминается.

    @jsunderhood вчера наткнулся на этот проект
    github.com/ianstormtaylor…
    что скажете?

    15:36

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

    15:47

    Здесь можно увидеть работу с сетками, стили текста, эмбеды и всякое другое pic.twitter.com/TsiOdAobQ5

    15:49
    Здесь можно увидеть работу с сетками, стили текста, эмбеды и всякое другое pic.twitter.com/TsiOdAobQ5

    Думаю, так оно и произойдет рано или поздно. Надо запланировать на какой-нибудь спринт :)

    Здесь можно увидеть работу с сетками, стили текста, эмбеды и всякое другое pic.twitter.com/TsiOdAobQ5

    16:05

    Stack Overflow переполнен призывами авторов CKEditor и TinyMCE не пытаться писать свой собственный редактор: stackoverflow.com/a/11290082

    16:07

    Анатолий Буров ищет фронтендера-универсала для Главреда: facebook.com/anatoly.rr/pos…

    18:27
    @jsunderhood у меня алгоритмическая лента и это невозможно читать, але это твиттер че ты тут за истории строчиш

    Наверное, это и есть ответ на вопрос, для чего нужны Телеграм-каналы

    @jsunderhood у меня алгоритмическая лента и это невозможно читать, але это твиттер че ты тут за истории строчиш

    18:46
    @jsunderhood а ты пишешь тредами?

    Нет :-( Ок, я постараюсь укладывать мысли в меньшее количество твитов, а длинные объединять в треды.

    @jsunderhood а ты пишешь тредами?

    18:49
    @jsunderhood неужели так много людей такого уровня, чтобы столько требований и "код под микроскопом"? Неужели выбор настолько большой?

    Таких людей достаточно, все перечисленные технологии по факту уже стандарт, кроме Mercurial.

    @jsunderhood неужели так много людей такого уровня, чтобы столько требований и "код под микроскопом"? Неужели выбор настолько большой?

    18:53

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

    18:54
    @Seleckis @jsunderhood Это как бы обычно даже не обсуждается. Нормальный код предполагает логичное именование.

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

    @Seleckis @jsunderhood Это как бы обычно даже не обсуждается. Нормальный код предполагает логичное именование.

    18:56

    «There are only two hard things in Computer Science: cache invalidation and naming things» — это ведь уже классика.

    18:57
    @yustovskiy @jsunderhood мне кажется, важны алгоритмы и правильное применение возможностей языка, а правильно называть можно быстро научить

    У меня когда-то давно был разработчик, который все классы и функции начинал со слова Daniil (его так звали).

    @yustovskiy @jsunderhood мне кажется, важны алгоритмы и правильное применение возможностей языка, а правильно называть можно быстро научить

    18:58
    @jsunderhood вот это самое интересное чем руководствовался продакт дизайнер, какие принципы лежали в основе продукта

    Соглашусь, но это уже тема отдельной большой истории, и она совсем не про JS :-)

    @jsunderhood вот это самое интересное чем руководствовался продакт дизайнер, какие принципы лежали в основе продукта

    19:00

    В завершение сегодняшнего дня расскажу о том, какие фронтенд-задачи пришлось решать при разработке редактора

    19:04

    Кроссбраузерный и единообразный HTML-код. Как известно, contenteditable в разных браузерах может производить разный HTML.

    19:09

    Более того, часто это зависит не только от браузера, а от положения курсора внутри блока. Есть статья на эту тему: medium.engineering/why-contentedi…

    19:10

    Авторы trix-editor.org тоже пишут об этом же самом. Наше решение: Virtual DOM + генерация из него корректного единообразного HTML

    19:13
    @jsunderhood Веб-версия — ад, а в Твитботе всё по порядку, как и было. @i_told_ya

    Всем спасибо, что указали на это, учту на будущее. Хотя у меня в веб-версии все ок. Видимо, обычный порядок ленты.

    @jsunderhood Веб-версия — ад, а в Твитботе всё по порядку, как и было. @i_told_ya

    19:14
    @jsunderhood there are only two hard things in CS: cache invalidation, naming things and off-by-one-error жэ
    19:14
    @jsunderhood Меня смущает соседство реакта и джейквери вот.

    Как правило, это следствие того, что более старая часть проекта на jQuery, а более новая — на React. Обычное дело.

    @jsunderhood Меня смущает соседство реакта и джейквери вот.

    19:15

    Т.е. каждый HTML-элемент парсится и попадает в специальную обертку, а она уже умеет генерить тот HTML, который нужен нам.

    19:16

    А только у меня не открывается jsunderhood.ru ? /cc @iamstarkov

    19:18

    Таким образом, мы всегда имеем в наличии полное дерево элементов поста, из которого можно сгенерировать как HTML, так и что угодно другое

    19:21
    @jsunderhood починю на этой неделе
    19:24

    В принципе, виртуальным DOM'ом сейчас уже никого не удивишь. Отмечу лишь, что он и здесь нашел себе применение.

    19:27

    Следующая большая тема — очистка (санитайзинг) HTML и copy&paste.

    19:27

    В наших изданиях посты часто пишутся в Google Docs или в Word, а затем вставляются в редактор. Иногда куски текста берутся с веб-страниц.

    19:29

    Разумеется, всё это нужно чистить перед тем, как оно попадает в editable-область. Пока что мы используем для этого npmjs.com/package/saniti…

    19:32

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

    19:33

    Copy&paste — отдельная история. Т.к. мы стараемся дать пользователям максимум удобства, наш редактор позволяет копировать целые блоки.

    19:34

    Т.е. можно зажать Cmd/Ctrl, выделить несколько блоков (сеток, картинок), и затем их скопировать при помощи Cmd + C

    19:35

    Чтобы реализовать это, пришлось воспользоваться способом, который описал разработчик Trello: stackoverflow.com/a/17528590

    19:37

    Вкратце: при нажатии на Cmd они открывают невидимую textarea, заполняют ее контентом и ставят туда курсор...

    19:38

    И когда пользователь нажимает C, то у него копируется содержимое этой textarea. Так Trello копирует карточки целиком.

    19:39

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

    19:40

    Кроссбраузерная работа с буфером обмена пока что еще остается нетривиальной задачей.

    19:41

    Помимо хоткеев у нас еще свое контекстное меню по правой кнопке. Тут же не обойтись без document.execCommand pic.twitter.com/NLCvvTKAJA

    19:46

    Записал короткое видео о том, как в нашем редакторе работают модульные сетки: dropbox.com/s/xt28fdbzpruw…

    19:59

    Вообще сетки у нас — это один из самых больших кусков кода в проекте

    20:00
    @jsunderhood я тогда не очень понимаю, какие могут быть гарантии “не-соскока”. У меня была такая же ситуация, и тоже с WYSIWYG.

    Нанять разработчика в штат или привязать к батарее :-) А если серьезно, то 100% гарантий нет, интуиция + опыт

    @jsunderhood я тогда не очень понимаю, какие могут быть гарантии “не-соскока”. У меня была такая же ситуация, и тоже с WYSIWYG.

    20:07

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

    20:12
    @jsunderhood и меня тимлид тоже спрашивал, мол где гарантии что мейнтейнер не сольётся?
    20:13
    @jsunderhood слился product owner, кстати, а не мейнтейнер моего компонента

    Это жизнь

    @jsunderhood слился product owner, кстати, а не мейнтейнер моего компонента

    20:14

    Пишут, что Google ведет разработку новой ОС Fuchsia, основным языком разработки под которую будет Dart nplus1.ru/news/2016/08/1…

    20:28

    # Вторник 144 твита

    @iamale_ru @jsunderhood у нас бэкбон с бутстрапом рядом с реактом и редаксом. не каждую неделю же фронтенд переписывать.

    Истина!

    @iamale_ru @jsunderhood у нас бэкбон с бутстрапом рядом с реактом и редаксом. не каждую неделю же фронтенд переписывать.

    6:19
    @jsunderhood а что с Web Components не так?

    Всё так, просто ИМХО нативная поддержка браузеров пока недостаточна для того, чтобы делать на них ставку.

    @jsunderhood а что с Web Components не так?

    6:21

    Например, меня очень привлекает Shadow DOM, но поддержка пока слабовата caniuse.com/#feat=shadowdom

    6:23

    Всем привет! А Москве доброе солнечное утро. Сегодня поговорим об образовании в ИТ и про изучение JS в частности.

    6:25

    Так случилось, что у меня высшего образования нет. Я проучился 3 курса в МАИ, после чего бросил институт ради своего дела.

    6:27

    Все знания, которые у меня есть, приобрел самостоятельно: самообучение и много практики. Те самые 10 000 часов, о которых часто говорят.

    6:30

    Чему реально научиться в институте? Матану, алгоритмам, терверу. Это знания, которые дают возможность выйти на следующий уровень.

    6:35

    Кроссбраузерной верстке и Реакту в институте вряд ли научат. У института другая задача — давать фундаментальные знания.

    6:36

    Возможно, у вас другой опыт? Если есть люди из крутых ВУЗов вроде МГУ, МФТИ или других не-московских — расскажите.

    6:37

    У меня в институте большинство занятий проходило примерно так: youtube.com/watch?v=g7MDEq…

    6:38
    @jsunderhood а как понять когда стоит все бросать и реально заниматься своим делом? Или это придет само ?

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

    @jsunderhood а как понять когда стоит все бросать и реально заниматься своим делом? Или это придет само ?

    6:39

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

    6:40
    With my previous team, we've been trying to build an articles hub with people ranking on materials per topic - devshelf.us.

    Чтение полезных статей — часть сегодняшней темы

    With my previous team, we've been trying to build an articles hub with people ranking on materials per topic - devshelf.us.

    6:57
    @jsunderhood учусь в РЭУ на прикладной информатике. Знаний профильных мало дают, 1с всякий. JS'у надо учиться самому
    7:42
    @jsunderhood Polymer shady dom поддерживается очень хорошо, можно юзать 😉

    Спасибо, посмотрю!

    @jsunderhood Polymer shady dom поддерживается очень хорошо, можно юзать 😉

    7:49

    Уже многим очевидно, что классический подход к образованию в IT работает не слишком хорошо.

    7:50

    В институтах обычно учат либо фундаментальным вещам, либо устаревшим. А новой информации вокруг так много, что трудно сориентироваться.

    7:51

    Как уже упоминал вчера, я веду курс «JavaScript человеческим языком» в Moscow Coding School. Расскажу про свой опыт.

    7:51

    Курс длится 6 дней, проходит по выходным, с 15:00 до 20:00. Группы обычно состоят из 8-10 человек. Люди приходят разные:

    7:52

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

    7:52

    1. Дизайнеры, которые рисуют статичные макеты в Photoshop или Sketch, и хотят научиться делать их интерактивными, живыми.

    7:54

    Особенно часто спрашивают про Framer и другие средства прототипирования, в которых можно использовать JS или CoffeeScript

    7:54

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

    7:55

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

    7:56

    4. Люди, которые хотят сменить профессию.

    7:56

    Все в один голос рассказывают, что они слышали про JS: популярный язык, он сейчас повсюду, хочу научиться. Много вопросов по Angular и React

    7:57

    Вот промо-ролик курса с отзывами студентов и моими скромными комментариями: vimeo.com/165477490

    7:59

    Один из выпускников последнего набора — @rockbee, дизайн-директор Альфа-Банка. Вроде остался доволен, да, Иван? :)

    8:00

    Программа курса следующая. День 1: переменные, массивы, математические операторы, if - while - for.

    8:04

    День 2: функции, объекты, свойства и методы стандартных объектов JS: Array, String, Math, Date.

    8:04

    День 3: знакомство с DOM, селекторы, обработчики событий. Я собрал учебный прототип главной страницы Яндекса, мы на занятии пишем к ней JS.

    8:05

    День 4: работа с формами, клиент-сервер при помощи AJAX. Тренируемся на учебных страницах Google Sign Up и Google Sign In.

    8:06

    День 5: jQuery. $, когда и зачем можно использовать, анимация, easing, $.get и $.post.

    8:07

    День 6: либо практическая самостоятельная работа, либо мой длинный рассказ о том, что может JS: canvas, contenteditable, Web Sockets и т.д.

    8:08

    Для самостоятельного чтения всегда всех отправляю на learn.javascript.ru. Пока что на русском языке аналогов нет.

    8:09
    @jsunderhood ну а если с полифилами?

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

    @jsunderhood ну а если с полифилами?

    8:10
    @jsunderhood JS за шесть дней?

    Самый частый вопрос от разработчиков :) Не весь JS, разумеется. Это интенсив. Толчок в правильном направлении.

    @jsunderhood JS за шесть дней?

    8:16
    @jsunderhood и как это помогает руководителям понять работу фронтэндеров?

    Они начинают мыслить, как разработчики. И пробуют общаться с ними на одном языке: абстракции, алгоритмы и т.д.

    @jsunderhood и как это помогает руководителям понять работу фронтэндеров?

    8:19
    @jsunderhood за шесть-то дней? мне кажется, это наоборот, мешает и наполняет их ложной уверенностью в том, что они "разбираются".

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

    @jsunderhood за шесть-то дней? мне кажется, это наоборот, мешает и наполняет их ложной уверенностью в том, что они "разбираются".

    8:22
    @jsunderhood любые знания - это стратегическая инвестиция времени. Выстрелит в будущем, если грамотно инвестировать

    Так и есть. Правда, в школе и институте это не всегда понимаешь.

    @jsunderhood любые знания - это стратегическая инвестиция времени. Выстрелит в будущем, если грамотно инвестировать

    9:23
    @jsunderhood курсы - тема редко полезная. Надо до всего доходить самому. Довольствоваться тем, что там дают - пустая трата времени и денег

    Насчет доходить самому — согласен, но иногда начинающим просто трудно понять, с чего начать.

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

    9:24
    @jsunderhood меня физфак научил инженерному подходу, критическому мышлению и синтезу.
    Скиллов в ВУЗах нет, конечно.
    9:24
    @jsunderhood

    [Перевод] Я заглянул в папку node_modules, и вы не поверите, что произошло - ift.tt/2buPZXD

    9:32
    Markdown comes to Facebook! pic.twitter.com/UiQzHdAv2S

    Теперь можно будет писать в FB не просто plain text?

    Markdown comes to Facebook! pic.twitter.com/UiQzHdAv2S

    10:21
    @jsunderhood для этого нужен ментор. Причем, ментором может быть каждый. Мы просто об этом не знаем :\

    Да, ментор — правильное слово.

    @jsunderhood для этого нужен ментор. Причем, ментором может быть каждый. Мы просто об этом не знаем :\

    10:22
    @jsunderhood разработчик, нужна перемога! Хочу пойти падаваном к фронтенд-разработчику в Питере. Могу в верстку и a little bit в js.

    Падаван ищет джедая на севере галактики

    @jsunderhood разработчик, нужна перемога! Хочу пойти падаваном к фронтенд-разработчику в Питере. Могу в верстку и a little bit в js.

    12:21
    @jsunderhood Я тоже разрабатываю свой редактор vimeo.com/115951444

    Интересно, посмотрел. А можно отредактировать код эмбеда после вставки? Или только удалить и вставить снова?

    @jsunderhood Я тоже разрабатываю свой редактор vimeo.com/115951444

    12:26
    @tonymadbrain @jsunderhood да перестаньте вы вестись на эту дешёвую жёлтую прессу. не было там никогда этого мужика github.com/babel/babel/co…
    12:26

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

    12:28

    Есть ли четкое отличие между Junior, Middle и Senior Front-end Developer? Особенно Senior — мне кажется, это очень широкое понятие.

    12:28
    @jsunderhood посоветуйте что-нибудь для построения графиков и что бы не очень сложное было, так как я джуниор...

    d3js.org
    Комьюнити, что еще удобное и мощное?

    @jsunderhood посоветуйте что-нибудь для построения графиков и что бы не очень сложное было, так как я джуниор...

    12:30

    А вот фоточки с WordCamp, где мы представили Wordpress-плагин для нашего редактора. Релиз в сентябре. facebook.com/setka.io/posts…

    12:34
    @jsunderhood отличие как и везде без приставки frontend, junior - требует помощи в решении, senior - сам его умеет найти
    15:45
    @way2bariton @jsunderhood джуниору счастье : javascripting.com (выбирай раздел data)
    15:48
    @2j2e @jsunderhood а middle тогда получается сомневающийся. Еще не до конца осознавший, что может найти и сам решение:)
    17:36
    After months of testing and tuning, npmcdn.com really is ready for prime time. Please help spread the word! And enjoy using it!
    17:37
    Скоро вернусь и поговорим про то, как продолжать учиться, если ты уже опытный разработчик. А пока вопрос по терминологии:

    Так вот. В современной веб-разработке достаточно уйти в сторону на 2-3 года, и половина слов уже станет незнакомой.

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

    18:42
    Так вот. В современной веб-разработке достаточно уйти в сторону на 2-3 года, и половина слов уже станет незнакомой. twitter.com/jsunderhood/st…

    Очевидные примеры — React и Redux, за пару лет ставшие фактически стандартными инструментами фронтендеров

    Так вот. В современной веб-разработке достаточно уйти в сторону на 2-3 года, и половина слов уже станет незнакомой. twitter.com/jsunderhood/st…

    18:44

    В следующем году этот пример станет неактуальным, но я его люблю: еще не прошло 10 лет с появления первого айфона. Мы видели революцию.

    18:45

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

    18:46

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

    18:47

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

    18:49

    Возникают вопросы: как успевать следить за новой инфой? как не утонуть в ней? как отделить знаковые вещи от проходных?

    18:51

    Сколько у вас непрочитанных статей в Pocket? Я в какой-то момент перевалил за 1000. Сейчас, наверное, около 2000. И продолжаю добавлять.

    18:53
    @jsunderhood я один такой киллер пишу прямо сейчас
    18:53

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

    18:54
    @jsunderhood как читатель покета из топ 10% за какой-то там год скажу тебе - это все тлен. Покет не нужен.

    Принято. А как решаешь вопрос «вижу интересную статью, надо будет почитать»?

    @jsunderhood как читатель покета из топ 10% за какой-то там год скажу тебе - это все тлен. Покет не нужен.

    18:55

    Как онлайн-источников, так и оффлайн. Цифровых и аналоговых. Короче, всех, с которыми сталкиваюсь. Поехали:

    18:57
    @jsunderhood откровенно говоря я думал опытные разработчики не страдают манией «пытаться уследить за всем и сразу»

    Совершенно верно. Тут скорее вопрос в том, как выставить приоритеты в употреблении внешней информации.

    @jsunderhood откровенно говоря я думал опытные разработчики не страдают манией «пытаться уследить за всем и сразу»

    18:58

    Есть такое понятие FOMO (аббревиатура fear of missing out) — страх упустить события, происходящие в жизни знакомых или незнакомых людей.

    18:59

    Примером проявления FOMO может быть знакомая всем привычка без конца проверять обновления в Twitter, Инстаграм и Facebook.

    18:59

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

    19:01
    @jsunderhood открываю в новой табе. Уже нет места под фавиконоки, но зато больше мотивация прочитать. Такая же ситуация и в телефоне :D

    Ага, я тоже последнее время этим пользуюсь. Пока работает :)

    @jsunderhood открываю в новой табе. Уже нет места под фавиконоки, но зато больше мотивация прочитать. Такая же ситуация и в телефоне :D

    19:01
    @jsunderhood во front-end JS ничего интересного с появлением React не случалось, и почему реакт переломный момент - идеология
    19:02

    Так вот, источники. 1 — RSS. Когда зачитывался, но после смерти Google Reader лично для меня отошел на второй план. Как у вас? Feedly?

    19:03

    2 — Твиттер. Здесь много крутых разработчиков, особенно зарубежных. Главное не подписываться на троллей и спамеров.

    19:05

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

    19:05

    Лично меня в твиттере смущает: а) масса нерелевантной инфы б) формат твитов не всегда дает развернуться. Но зато всё очень быстро.

    19:06
    @jsunderhood 2/2 «если технологии меньше 5 лет, не стоит инвестировать в нее свое время»

    Тогда надо подождать еще 2-3 года, прежде чем писать на том же Реакте? A Redux вообще году к 2020 открывать?

    @jsunderhood 2/2 «если технологии меньше 5 лет, не стоит инвестировать в нее свое время»

    19:07

    3 — Medium. Один из самых умных каналов на текущий момент. Крутые читабельные лонгриды, толковые авторы. Только кириллица страшная.

    19:09

    4 — Рассылки вроде DailyJS, JavaScriptKicks, NodeWeeky и т.д. Формат хорош тем, что туда попадают подобранные материалы, и это раз в неделю.

    19:10

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

    19:12

    5 — агрегаторы статей по предпочтениям. Недавно открыл для себя приложение MyBridge. Оно в раз неделю присылает топ-10 статей по фронтенду.

    19:13

    Разработчики пишут, что у них собственный AI-алгоритм, который выбирает только лучшее под твои предпочтения. itunes.apple.com/ru/app/mybridg…

    19:14

    По похожему пути идет Pocket со своими Recommended Articles, но лично мне от них постоянно приходят тексты про экологию и выборы в США.

    19:14

    6 — чатики в Telegram, в частности, те, которые продвигает @DenisIzmaylov. Там много крутых людей, но лично мне формат не подходит :(

    19:15

    Примерно по той же причине, что не нравится в Твиттере: очень много оффтопа. Постоянно нужно разгребать кучу флуда, чтобы увидеть полезное.

    19:16

    Тем не менее приведу пару ссылок: telegram.me/react_js, telegram.me/nodejs_ru

    19:18

    7 — GitHub. Один из самых полезных источников, но требующих мозговых усилий. Возможность почитать код, написанный в Google/Facebook — кайф.

    19:21

    8 — Slack, Gitter и другие «технические» чатики. Опять же, на мой взгляд, КПД таких тусовок слишком мал, чтобы постоянно там находиться.

    19:23
    @jsunderhood нужна помощь сообщества. Как обойти TypeError при оборачивании DOM ноды в Proxy объект. Не выходит каменный цветок(

    Призываю опыт комьюнити

    @jsunderhood нужна помощь сообщества. Как обойти TypeError при оборачивании DOM ноды в Proxy объект. Не выходит каменный цветок(

    19:23

    9 — Google Plus. Неоднократно слышал, что там сидят гики. Сам не пробовал :) У кого-нибудь есть положительный/отрицательный опыт?

    19:25

    10 — Quora, StackOverflow и другие QA-проекты. И тот, и другой — отличные сайты, но кроме как из Гугла туда редко попадаешь.

    19:26

    Мне очень нравится Quora, но недавно читал, что они до сих пор не нашли путь монетизации. Так что будущее неясно.

    19:27
    @jsunderhood А можно посмотреть код самого гитхаба, если постараться и распотрошить enterprise.github.com
    19:27

    11 — сайты/блоги вроде SitePoint, Smashing Magazine, PonyFoo и др. Материалы обычно начально-среднего уровня, зато очень хорошо поданные.

    19:28

  • у всех есть рассылки, которые могут так же тихо сыпаться в папку JS для отложенного просмотра
  • 19:28

    12 — видео-курсы. Udemy, Egghead, да и весь YouTube. На мой взгляд, очень эффективное средство, если нужно быстро в чем-то разобраться.

    19:30

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

    19:30

    Правда, на видео редко записывают решение каких-то нестандартных задач. Зато есть отличные туториалы от А до Я.

    19:31

    13 — подкасты. Из русскоязычных: RadioJS, Веб-стандарты. Удобный формат, чтобы слушать по пути куда-то, когда не получается читать.

    19:33

    14 — книги. Хорошая книга стоит десяти блогов. Пользу Флэнагана и Кроуфорда переоценить сложно.

    19:36

    Мне нравится то, что появляется на leanpub.com

    19:36

    15 — спецификации W3 и WHATWG. Это не для всех :) Требуют недюжинной усидчивости и времени, хотя написаны проще, чем многие думают.

    19:37

    Зато прочитав разок спеку какого-нибудь DOM Node можно открыть для себя много фундаментальных деталей

    19:37

    16 — конференции и митапы. Я лично призываю выбираться на мероприятия. Это полезно как с точки зрения «людей посмотреть», так и знакомствами

    19:39

    Кто знает, может сегодняшний докладчик станет вашим завтрашним работодателем? Комьюнити — важная вещь, и отдельное спасибо @jsunderhood

    19:40

    Митапы мне еще нравятся тем, что можно посмотреть на разные офисы :) Кстати, через 10 дней лечу в Вильнюс на @frontend_union

    19:42

    17 — отдельным пунктом Хабр, т.к. у сообщества к нему полярное отношение. Встречаются неплохие туториалы для начинающих, но...

    19:45

    ...но в целом не вижу особого смысла его читать сейчас. Переводы иностранных статей и блоги компаний — что там еще осталось?

    19:46

    18 — малопопулярные в России сообщества вроде LinkedIn Groups, Reddit, HackerNews. Какое-то время следил за JS-группой в LinkedIn, отписался

    19:47

    19 и последнее — Facebook. Удобен тем, кто там проводит много времени. Много лишнего и неочевидного, но зато это сеть живых людей.

    19:48

    Итог. Я последнее время крайне проникся идеями фокусировки и less is more. Затачивайте пилу в чем-то одном, но не забывайте смотреть вокруг.

    19:50

    Не стоит фолловить 1000 человек, подписываться на 20 рассылок и 50 RSS. Ничего, кроме фрустрации и шума, не получите.

    19:50

    Кстати, если кто не знает — есть отличная рассылка Umar Hansa про использование Chrome Developer Tools

    19:57

    Там всякие хоткеи и трики. Показываются гифками прямо в письме.

    19:57

    Если чувствуете, что взяли на себя больше информации, чем можете переваривать, смело убирайте все лишнее. Unsubscribe, unfollow — это просто

    19:59
    @jsunderhood @_sashashakun GTD и прочее управление временем и проектами вам в помощь

    Ага. GTD пользуюсь последние года полтора. В качестве софта использую Omnifocus. Он дорогой, но функциональный.

    @jsunderhood @_sashashakun GTD и прочее управление временем и проектами вам в помощь

    20:00
    @jsunderhood Единственный стоящий источник информации - это спеки
    20:04
    @jsunderhood вопрос не по теме - а как настроить попадание рассылки в конкретную папку?

    Правилами в настройках почтового интерфейса Gmail или какая у тебя почта. У меня iCloud, например.

    @jsunderhood вопрос не по теме - а как настроить попадание рассылки в конкретную папку?

    20:06
    @jsunderhood да, я всегда с видео-курсов начинаю все новое. udemy нравится )
    20:06
    @jsunderhood тут надо дежурно пошутить про отписку от всех групповых твиттеров
    20:11
    @jsunderhood Вилейдж в твиттере часто репостит древние посты. Это тоже какая-то автоматика и самописная тулза, или редакторы ручками?

    Хороший вопрос. Завтра спрошу у ребят. Вообще у нас соцсетями занимаются комьюнити-менеджеры.

    @jsunderhood Вилейдж в твиттере часто репостит древние посты. Это тоже какая-то автоматика и самописная тулза, или редакторы ручками?

    20:14
    Кстати, если кто не знает — есть отличная рассылка Umar Hansa про использование Chrome Developer Tools

    Вот он в тви: @umaar

    Кстати, если кто не знает — есть отличная рассылка Umar Hansa про использование Chrome Developer Tools

    20:19
    @jsunderhood про кпд - скажу обратное.

    Интересно. Давай подробнее!

    @jsunderhood про кпд - скажу обратное.

    20:23
    @gearmobile @jsunderhood у гмейла есть килер-фича: знак + в адресе.
    Pupkin+js@gmail.com будет получить письма на pupkin@gmail.com в тег js

    Класс!

    @gearmobile @jsunderhood у гмейла есть килер-фича: знак + в адресе.
    Pupkin+js@gmail.com будет получить письма на pupkin@gmail.com в тег js

    20:27
    @mr_mig_by @gearmobile @jsunderhood у меня QA так на 1 ящик тьму учёток регают,типа user+test1@company.com и т.п.

    Про тьму учеток через плюс давно знаю, а вот про автоматическое попадание писем в тег — не знал.

    @mr_mig_by @gearmobile @jsunderhood у меня QA так на 1 ящик тьму учёток регают,типа user+test1@company.com и т.п.

    20:47
    @mr_mig_by @gearmobile @jsunderhood НО! некоторые почтовики не соответствуют RFC.И некот.системы не валидируют + в мылах и логинах - уроды!
    20:49
    @jsunderhood можно почитать код реакта и - не кайф становится. Видна большая система с кучей технического долга.

    Технический долг — это хорошо! :) Часто это неотъемлемая составляющая успешного продукта.

    @jsunderhood можно почитать код реакта и - не кайф становится. Видна большая система с кучей технического долга.

    21:05

    Я недавно общался с ребятами из российского Uber. В плане IT много неразберихи, куча сайтов, систем... зато самый дорогой стартап в мире.

    21:06

    Это мы потихоньку подходим к теме завтрашней беседы — свой бизнес и стартапы.

    21:07
    @jsunderhood Если кто-то получает мало рассылок: blog.sapegin.me/all/frontend-m…

    С языка снял: someone is working hard so you have to choose one or two best articles out of just 20 instead of 100.

    @jsunderhood Если кто-то получает мало рассылок: blog.sapegin.me/all/frontend-m…

    21:21
    @jsunderhood Фидли + Риидер.

    Reeder хорош, но в какой-то момент пожалел денег на него.

    @jsunderhood Фидли + Риидер.

    21:22
    @jsunderhood У меня в RSS человек 200—300, в день редко больше 30 записей бывает.

    Это всё айтишники или не только?

    @jsunderhood У меня в RSS человек 200—300, в день редко больше 30 записей бывает.

    21:23
    @jsunderhood в gitter очень классное сообщество dev-ua. Очень прокачивает активное участие в беседах. Уверен, что многие читатели подтвердят

    Читатели, подтверждайте!

    @jsunderhood в gitter очень классное сообщество dev-ua. Очень прокачивает активное участие в беседах. Уверен, что многие читатели подтвердят

    21:31
    @jsunderhood есть два хороших доклада на эту тему: youtube.com/watch?v=xPFRUM… и youtube.com/watch?v=p5g4gi…. Коротко говоря - надо расслабиться.
    21:53
    @jsunderhood gtd для статей. Очень помогает читать планомерно и постоянно. Моя норма - 5 статей за завтраком.
    21:58
    @jsunderhood взять тот же React: я держу руку на пульсе, понимаю в чём смысл, но кода на нём не писал.
    21:59
    Introducing a React animations library by @asktwi — rotation, slideDown, elastic container
    amp.gs/8Ufa pic.twitter.com/TDowWeewYU
    22:02

    # Среда 199 твитов

    @jsunderhood стоит отдавать приоритет фундаментальным вещам, а не сиюминутным библиотекам. И разбавлять смежными дисциплинами для кругозора.
    6:28

    Вдогонку к вчерашней теме приведу уже классические выступления на тему анти-хайпа и гонки за новыми технологиями

    6:33

    Андрей Листочкин, «Анти-хайп. Как не гнаться за технологиями и начать жить» youtube.com/watch?v=xPFRUM…

    6:34

    Алексей Симоненко из HTML Academy, «Как я перестал верить технологиям» youtube.com/watch?v=p5g4gi…

    6:35

    За ссылки спасибо @alexey_m_ukolov

    6:35

    Привет всем! Среда — это маленькая пятница. Сегодня поговорим про свой бизнес и IT-стартапы.

    6:36

    (кстати, многие читатели подтвердили, что dev-ua в gitter — хороший, годный канал)

    6:38

    Мой предпринимательский опыт состоит из трех частей: веб-студия, digital-агентство и travel-стартап.

    6:38

    Веб-студия была в далеких 2008-2011 гг. Это был классический микробизнес: мы сидели в маленьком офисе и делали маленькие сайты.

    6:40
    @jsunderhood по очереди или паралельно стартовали?

    По очереди. Каждый планомерно перетекал в следующий.

    @jsunderhood по очереди или паралельно стартовали?

    6:40

    Параллельно я пытался учиться в МАИ, но в какой-то момент нужно было принимать решение, и я выбрал свое дело (и ушел из института)

    6:41
    @jsunderhood в dev-ua много каналов на самом деле
    6:41

    Сайты делались сначала на MODx, потом на Битриксе. Бюджет проектов варьировался в пределах 10-100 тысяч рублей.

    6:42

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

    6:44

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

    6:45

    Бюджеты проекта определялись с потолка, просто на интуиции. Называешь сумму, смотришь на реакцию заказчика. Если он просит скидку — даешь её

    6:46

    Хорошо помню парня, который несколько часов мне рассказывал про свой миллиардный бизнес, а в конце попросил быстро сделать сайт за 7000 р.

    6:47

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

    6:49

    ...а также раздел «Для партнеров» на сайте Битрикса, куда сыпались клиентские заявки, и их нужно было успеть ухватить.

    6:49

    Надо отметить, что время от времени удавалось случайно продать большие проекты: 700 тыс. и даже 1 млн руб.

    6:51

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

    6:52
    @jsunderhood а в тендерах участвовали?

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

    @jsunderhood а в тендерах участвовали?

    6:53

    Еще одна большая ошибка — сотрудники. Во-первых, мы постоянно пытались нанять кого-то в штат. Это несло за собой доп. затраты: офис, налоги

    6:54

    С фрилансерами тоже не получалось по-нормальному работать: они срывали сроки работы, мы срывали сроки оплаты. Классика!

    6:55

    Денег на квалифицированных программистов у нас не было, поэтому мы брали дешевых, которые мало что умели.

    6:56

    В итоге мы (два фаундера компании) постоянно были заняты текучкой и в том числе кодом вместо стратегических вопросов.

    6:56

    В какой-то момент наш главный клиент предложил стать нашим партнером, войти в долю и отдать нам все свои проекты. Мы радостно согласились,

    6:57

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

    6:58

    Но очень скоро выяснилось, что новый партнер хочет всё делать очень дешево и при этом участвовать во всех процессах.

    6:59

    В итоге через полгода мы окончательно потеряли с ним взаимопонимание, и решили расстаться. Вместе с партнером пришлось покинуть и офис.

    7:00

    По прошествии времени основные ошибки того времени я для себя записал так:

    7:01

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

    7:01

    2. Лишние постоянные затраты (большой офис, юрист в штате, дорогой интернет для юр. лиц)

    7:02

    3. Оформление людей в штат, лишние налоги, превратившиеся в задолженность. Сложность вывода денег со счета ООО.

    7:02

    4. Нехватка квалифицированных сотрудников, попытка делать всё самостоятельно.

    7:02

    5. Нечеткая формулировка задач в ТЗ

    7:03

    6. Как следствие, отрицательный cash flow и постоянный стресс.

    7:03
    Нужна платная консультация по react native по скайпу, к кому можно обратиться? @jsunderhood

    Кто готов поговорить про React Native?

    Нужна платная консультация по react native по скайпу, к кому можно обратиться? @jsunderhood

    7:04

    Тем не менее, было приобретено очень много полезного опыта, как отрицательного, так и положительного, который пригодился позже.

    7:05

    На тему рынка веб-разработки недавно вышло хорошее исследование CMS Magazine с красноречивым названием: research.cmsmagazine.ru/web-developmen…

    7:07

    Если вкратце, то сегодня это сверхконкурентный рынок с крайне низким порогом входа (выучил HTML, сделал сайт, назвался студией)

    7:08

    Стартовать компанию, которая будет заниматься «веб-разработкой вообще» сегодня нет никакого смысла. Особенно если вы разработчик.

    7:09

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

    7:10

    Во-вторых, вы не предлагаете ничего уникального. Сайты сейчас делают все подряд. А с появлением конструкторов вроде WIX — тем более.

    7:12

    Рынок проектов до 100 тыс. руб. стремительно уходит в автоматику (конструкторы, агрегаторы), т.к. там почти всё можно поставить на поток.

    7:14

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

    7:15
    @jsunderhood буквально 2 мес назад эпически слился на этом) понял, что разрабом больше заработаю +перспективы.Повезло,что вовремя подсказали
    7:16
    @jsunderhood кстати, подсказали участники рынка. Надо не бояться спрашивать крутых чуваков, в общем)
    7:16

    Путь, который может работать — четкая фокусировка, серьезная компетенция и высокие цены. Примеры: @datalaboratory @evilmartians

    7:17

    Выбираете что-то одно, что вы делаете круто. Повышаете цены, ищете «своих» клиентов. Делаете это реально круто и всем об этом рассказываете.

    7:18

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

    7:19

    Т.е. если вы получаете 100 000, а малый бизнес В ТЕОРИИ может приносить 150 — не надо. Просто найдите время на фриланс или смените работу.

    7:20

    А вот если есть четкая уверенность, что свое дело принесет кратно больше денег, например, 500к/месяц — можно подумать.

    7:21
    @jsunderhood недавно @op писала про ФОТ medium.com/@op/it-%D0%BA%…
    7:32

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

    7:37
    @jsunderhood лучше планировать на три года, в первый год многие работают в ноль или даже в убыток. Ждать космические прибыли в первый же

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

    @jsunderhood лучше планировать на три года, в первый год многие работают в ноль или даже в убыток. Ждать космические прибыли в первый же

    7:38

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

    7:39

    Другой путь: найти партнера, который будет делать это за вас. Но тогда всегда есть риск, что вы останетесь за бортом. Деньгам нужен контроль

    7:40
    @jsunderhood интервал - не очень предусмотрительно. Фирму не знают, она не заняла свое место, с нуля делать кратные прибыли - фантастика.

    Большинство компаний умирают в первые 2 года жизни. Если фирма за год не вырастет в несколько раз, ее ждет смерть.

    @jsunderhood интервал - не очень предусмотрительно. Фирму не знают, она не заняла свое место, с нуля делать кратные прибыли - фантастика.

    7:42

    К слову, моей первой попыткой предпринимательства в 16 лет была продуктовая палатка в колледже МГКИТ (кажется, там учился @iamsapegin)

    7:43

    Она просуществовала 10 дней :—) Вот здесь я писал ностальгический пост с фотками про это: facebook.com/yaplusplus/pos…

    7:44
    @jsunderhood если изначально план - говно, то можно даже не начинать.

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

    @jsunderhood если изначально план - говно, то можно даже не начинать.

    7:46

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

    7:49

    ...маленьких компаний или фрилансеров, которые предлагают свои услуги по верстке и программированию на подряде. Это путь в никуда.

    7:50

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

    7:51

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

    7:52
    @jsunderhood вот я не соглашусь. Это апгрейд скиллов для маленьких компаний и их разработчиков, плюс хорошая база для старта

    Как правило, это скиллы по сдаче проектов в кратчайшие сроки :) База — не факт, т.к. NDA не развивает портфолио

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

    7:56

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

    7:57

    А вечером поговорим про стартапы, инвестиции, акселераторы и технологии.

    7:58
    @SheVasya Зачем вообще идти в бизнес без перспективы найти клиентов? Это не бизнес, а прокрастинация. @jsunderhood
    8:07
    @jsunderhood кстати, как себя можно было бы зарекомендовать, если почти все под nda или на подряде(сделал, а на какой домен залили - неизв)?

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

    @jsunderhood кстати, как себя можно было бы зарекомендовать, если почти все под nda или на подряде(сделал, а на какой домен залили - неизв)?

    8:08

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

    8:09
    @SheVasya Я не уверен что автор говорил про не-IT бизнес. Идти новым бизнесом в место с заполненым рынком - глупо. @jsunderhood

    Скажем так: делать yet another business на заполненном конкурентном рынке — глупо.

    @SheVasya Я не уверен что автор говорил про не-IT бизнес. Идти новым бизнесом в место с заполненым рынком - глупо. @jsunderhood

    8:10

    Про стартапы есть интересный телеграм-канал Аркадия Морейниса: telegram.me/temno (да и много других источников, об этом позже)

    8:11
    @jsunderhood а почему нет, если именно твой подход на голову выше и выгоднее, чем у других? Потом если что можно поглотить конкурентов.

    «Поглотить если что» — это классно :)) А вот про подход на голову выше — это правильно. Но это уже не yet another

    @jsunderhood а почему нет, если именно твой подход на голову выше и выгоднее, чем у других? Потом если что можно поглотить конкурентов.

    8:15

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

    8:16

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

    8:17

    Пока у вас маленькая команда, вам придется участвовать во всех этих процессах. Это дает массу нового и интересного опыта, но это расфокус

    8:17

    В какой-то момент вы начнете ловить себя на том, что забываете названия CSS-свойств и методов стандартной библиотеки

    8:18

    Ситуация простая: вы перестаете быть программистом и становитесь предпринимателем. А предприниматель — это в первую очередь деньги.

    8:18

    Есть путь управленца и есть путь эксперта. Перед тем, как открывать компанию, задумайтесь: какой ваш путь?

    8:19

    И последнее на этот час: лично я ни разу за свой предпринимательский опыт (~7 лет) не сталкивался с давлением госорганов.

    8:22

    Более того, в начале пути ГБУ МБМ даже выдал нам субсидию на развитие бизнеса (300 000 рублей, кажется).

    8:23

    Минутка хантинга: мы все еще ищем фронтендеров в Setka и Look At Media, а также Ruby-бэкендеров. Пишите на yakovishen@setka.io

    8:25
    @listochkin @boriscoder @jsunderhood я бы даже вот этот линк приложил gist.github.com/listochkin/c81…
    10:01
    @jsunderhood Я вообще сейчас делаю отдельный "движок" для редактора github.com/easywyg/mekong - это слой "Модель"

    Ага, вот автор QuillJS тем же самым занимается: github.com/quilljs/parchm…

    @jsunderhood Я вообще сейчас делаю отдельный "движок" для редактора github.com/easywyg/mekong - это слой "Модель"

    10:26

    Недели три назад пересел на работе на iMac 27''. Наслаждаюсь режимом Split View: pic.twitter.com/vngBHXNzLo

    10:33
    @jsunderhood Split View курильщика: pic.twitter.com/B2SvQ06PZv
    11:50

    Комьюнити, кто-нибудь сталкивался с проблемами производительности CSS-calc() на мобильных устройствах? Они есть?

    11:51
    @jsunderhood а я использую i3 под *unix на двух мониторах и наслаждаюсь жизней больше вашего)
    11:51
    @jsunderhood а я купил в DNS noname-монитор на 27" за 15k и уже 3 года наслаждаюсь этим режимом :)
    11:51

    25 августа на MoscowJS 33 в Рамблере расскажу про наш опыт создания WYSIWYG-редактора: moscowjs.timepad.ru/event/363568/

    12:28
    @mr_mig_by @stewardtz у меня обратная система - ноут без внешних экранов, шрифт 24 пункта. На экране 22 строки кода и все. @jsunderhood

    Антихайп!

    @mr_mig_by @stewardtz у меня обратная система - ноут без внешних экранов, шрифт 24 пункта. На экране 22 строки кода и все. @jsunderhood

    13:21
    @dshster А я не понимаю, зачем вообще нужно 27". Был на прошлой работе — 24" удобнее. @jsunderhood

    Удобно держать редактор и браузер side by side. До этого сидел на 21'', там так не получалось.

    @dshster А я не понимаю, зачем вообще нужно 27". Был на прошлой работе — 24" удобнее. @jsunderhood

    13:33

    Пока есть пару минут, расскажу про наш стек разработки — беспроигрышная тема в любом dev-сообществе.

    14:57

    Как я уже говорил, бэкенд на всех проектах написан на Ruby on Rails. На фронте есть исторические Backbone и jQuery, на новых проектах React

    14:58

    Код держим во внутреннем репозитории в GitLab, проекты ведем в Asana (а отдел спецпроектов — в Basecamp)

    14:59

    Но сейчас серьезно подумываем о переезде на YouTrack. Код пишем в Sublime и Atom.

    15:00

    Работают все на Маках, наверное, кроме бухгалтерии. Недавно дизайнеру купили iMac 27'' retina, любовались на него часа два

    15:01
    @jsunderhood А что такое спец-проекты? Чем они отличаются от обычных?

    Спецпроекты — это посты, которые спонсируют рекламодатели. Ими занимается отдельная команда, независимая от редакции

    @jsunderhood А что такое спец-проекты? Чем они отличаются от обычных?

    15:02

    Все такие посты помечены. Вот, например: the-village.ru/village/city/s…

    15:03
    @jsunderhood YouTrack какой-то деревяный в плане UI/UX :(

    Да, он не очень sexy, зато мощный в плане выборок и фильтров. И вроде подешевле, чем Jira.

    @jsunderhood YouTrack какой-то деревяный в плане UI/UX :(

    15:04

    Почему программирование — это долго и сложно quora.com/How-do-I-expla…

    15:54
    @jsunderhood и у него все через шорткаты на клавиатуре. И крутая интеграция со всеми продуктами JetBrains. Мне лично нравится.
    15:54
    That's a nice one. List of companies using @polymer twitter.com/ebidel/status/…

    Google много где использует Polymer

    That's a nice one. List of companies using @polymer twitter.com/ebidel/status/…

    17:24
    Here are the release notes for today’s Safari Technology Preview release 11. webkit.org/blog/6883/rele… pic.twitter.com/cKoIq2GmK6

    Fixed performance issues with <marquee> with truespeed attribute. Включай бегущую строку, она больше не тормозит!

    Here are the release notes for today’s Safari Technology Preview release 11. webkit.org/blog/6883/rele… pic.twitter.com/cKoIq2GmK6

    17:29

    Итак, про стартапы. В 2012 году мы с коллегой решили оставить заказную разработку и сделать свой стартап.

    19:25

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

    19:28

    Во ФРИИ говорят, что у стартапов бывает две проблемы: когда нет денег и когда они есть. Мы попали во вторую категорию.

    19:28

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

    19:29

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

    19:30

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

    19:31

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

    19:33

    В итоге после 5-10 встреч-переговоров мы пришли к следующему решению: будем делать систему планирования путешествий.

    19:34

    Агрегатор, который собирал бы воедино авиаперелеты, отели, бронирование авто, страховки и т.д, и помогал бы все выбрать и оплатить разом.

    19:34

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

    19:36

    Доли в проекте были поделены между нами и инвесторами пополам.

    19:36

    Непосредственной движущей силой проекта были я и мой коллега. На его стороне был бэкенд и общий vision, на моей — фронтенд и интерфейс.

    19:37

    Через 3 месяца погружения в тревел-индустрию стало ясно, что мы выбрали себе весьма амбициозную задачу.

    19:38

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

    19:39

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

    19:40

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

    19:41

    Мы посмотрели на всё это и решили начать с одной простой и популярной ниши — бронирование туров. Комиссия от операторов составляла 10-15%.

    19:41

    При средней стоимости тура от 50 000 руб. и выше. По первым прикидкам даже с конверсией 1% можно было заработать много денег.

    19:42

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

    19:43

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

    19:43

    И, разумеется, это должно было быть Single Page Application. Правда, тогда мы не знали такого слова и говорили просто «как во ВКонтакте»

    19:44

    Мы заключили партнерский договор с компанией «САМО-софт», которая уже агрегировала туры у многих операторов.

    19:45

    Она открыла нам шлюз для поисковых запросов на туры, а также для отправки броней прямо в систему туроператоров.

    19:46

    Мой коллега сел писать бэкенд на Yii framework. На его долю выпало решать сложные задачи по кэшированию, обработке отказов, парсингу

    19:47

    Я же довольно быстро уперся в потолок jQuery и решил выбрать подходящий инструмент для SPA. В итоге выбор пал на YUI3, библиотеку от Yahoo

    19:48

    YUI3 во многом очень напоминала Backbone, только была гораздо больше и включала очень много чего (что меня и привлекло)

    19:49

    У неё были свои методы для работы с DOM, AJAX, роутинг, MVC, анимации, утилиты... можно было практически не брать ничего другого.

    19:50

    Я специально поднял несколько макетов интерфейса. Поиск туров: pic.twitter.com/lgZxvooy0j

    19:56

    Страница отеля: pic.twitter.com/sbfZFFVGav

    19:57

    Бронирование: pic.twitter.com/YHMOKcYvqw

    19:57

    Проблем по ходу возникало много. Шлюз для поиска и бронирования постоянно давал сбои. Постоянно не хватало фоток и описаний отелей.

    19:58

    Приходилось отлаживать IE8 и старую Оперу. Но мы не сдавались и продолжали пилить, будучи уверены в том, что наш интерфейс всех покорит.

    19:59

    Я тогда сполна пережил все прелести разработки SPA: обработка роутов, куча отдельных View и десятки перекрестных событий, общий app state

    20:00

    В самом начале проекта мы планировали за 3 месяца запустить прототип, еще за 3 месяца доработать его, и через полгода уже начать продажи

    20:01

    Как вы думаете, сколько времени на самом деле заняла разработка?

    20:02

    Два года.

    20:05

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

    20:05

    Бюджет проекта продолжал расти. Когда он достиг 5 млн рублей, инвесторы сказали «Стоп». Жаль, что это не произошло годом раньше.

    20:06

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

    20:08

    При этом ни одной продажи сделано не было. Инвесторы устали и потеряли интерес к проекту.

    20:09

    На собрании учредителей было принято решение: финансирование проекта приостановлено, чтобы понять, нужен ли он кому-нибудь на рынке.

    20:09

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

    20:10

    Словом, отличное время для туристического бизнеса :)

    20:10

    К этому моменту мы уже начали подозревать, что делаем что-то неправильно :) И решили походить с нашим детищем по рынку и послушать реакцию.

    20:12

    Сначала дело шло вяло. Мы отправили заявку в пару стартап-акселераторов, нам прислали кучу вопросов про нишу и конкурентное преимущество

    20:14

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

    20:14

    Зато в 2015 году дела пошли на подъём. Мы пропитчили наш проект на конференции TravelUP, которую устраивала QIWI, и попали в пятерку лидеров

    20:16

    ...с которыми QIWI была готова делать совместный пилотный проект в тревел-области. Это нас воодушевило — проект был кому-то интересен!

    20:16
    @webholt @jsunderhood т.к. твой твит раньше, то ты «накаркал», и поэтому несёшь всю ответственность за задержку проекта.
    20:17

    Вот пост на VC про это мероприятие: vc.ru/n/qiwi-travel-…

    20:18

    Далее случилось совсем невероятное. Мы попали в Альфакэмп, совместный стартап-акселератор Альфа-Банка и ФРИИ.

    20:19

    В акселератор было подано около 800 заявок, из них около 1000 выступили на демо-дне, и только 30 прошли в акселератор. И мы в том числе!

    20:20

    Это придало сил и энергии. Мы были готовы предложить Альфа-Банку свою платформу в обмен на их трафик.

    20:21

    В какой-то момент мы даже стали думать, что можно вообще забыть о привлечении клиентов своими силами, достаточно иметь крутого партнера

    20:21

    Акселератор стартовал в июне 2015 года и длился два месяца. Это, наверное, были самые полезные два месяца для нашего проекта.

    20:22

    За эти два месяца мы успели познакомиться с массой умных людей, экспертов ФРИИ и Альфы, а также посмотреть на другие проекты.

    20:24

    Очень коротко перескажу основные идеи, которые пытаются донести до начинающих стартаперов.

    20:24

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

    20:25
    @webholt @jsunderhood 5 лямов / 24 мес = 208 333 руб/мес. И это без налогов! Вы там за Доширак работали что ли?

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

    @webholt @jsunderhood 5 лямов / 24 мес = 208 333 руб/мес. И это без налогов! Вы там за Доширак работали что ли?

    20:26

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

    20:27

    Если стартап не начинает зарабатывать в первые месяцы своего существования, он почти наверняка умрет. В лучшем случае через год.

    20:28

    3. Стартап должен решать реальную проблему реальных людей. Только тогда они будут готовы отдать вам свои деньги.

    20:28

    4. Далеко не каждый бизнес является венчурным. Магазин «Продукты» неинтересен инвестору, т.к. не вырастет в 10 и более раз.

    20:29

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

    20:30

    6. У стартапа должен быть рынок. Для ФРИИ объем рынка должен быть от 300 млн рублей в год и более.

    20:31

    7. Стартап, застрявший на обороте в 1 млн рублей, скорее всего банкрот. Конкуренция задавит. Нужен постоянный рост.

    20:32

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

    20:32

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

    20:33

    10. В первую очередь надо продавать новаторам, тем самым early adopters, но основные деньги — у большинства.

    20:34

    Акселератор — крайне полезная среда, ставящая мозги на место и приучающая мыслить как product owner.

    20:34

    В заключение скажу, что мы сделали мощный пивот, сфокусировались, и ФРИИ пригласили нас очный акселератор, ...

    20:36

    ...предложив 2,1 млн рублей за 7% компании. Но мы к тому моменту уже порядком устали и решили сделать паузу.

    20:36

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

    20:38
    @webholt @jsunderhood я с тремя недопэхапэшниками делал поиск отелей. Сделали за 5 месяцев и даже были продажи...
    20:38
    @webholt @jsunderhood потом директор фирмы спиздила все деньги и съебалась из страны

    Classics!

    @webholt @jsunderhood потом директор фирмы спиздила все деньги и съебалась из страны

    20:38

    У Setka в этом плане есть серьезное конкурентное преимущество: рядом с нами сидит 3 редакции реальных больших проектов.

    20:41

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

    20:42
    @webholt @jsunderhood делали 11 месяцев, все сто раз было готово но директор и инвесторы хотели больше, а в конце у них кончились деньги
    20:43

    А библиотека YUI, кстати, была похоронена самим Yahoo в конце 2014 года.

    20:46

    Что бы я изменил сейчас, окажись в начале этой истории? 1) Не лез бы в туризм 2) Нашел бы нишу и сфокусировался 3) Выявил реальные проблемы

    20:47

    4) Сразу бы начинал продажи, а продукт адаптировал под изменяющуюся реальность

    20:48

    Как сказал один из экспертов ФРИИ, есть два типа стартаперов: одни быстро релизят говно и начинают продавать, вторые вечно пилят продукт

    20:48

    Говно = максимальная простая версия продукта, решающая реальные проблемы пользователей. Minimal Viable Product.

    20:49

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

    20:51

    В таком бизнесе, как онлайн-тревел (да и вообще e-commerce) это ключевой показатель. На нашем рынке CAC составлял 4000-8000 руб.

    20:52

    (CAC = customer acquisition cost)

    20:52

    Т.е. сначала нужно было потратить 4-8 тыс. руб. на рекламу, затем продать юзеру тур за 50-80 тыс. руб., получить свои 10% комиссии, ...

    20:53

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

    20:54

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

    20:54

    Нашел дешевый источник качественного трафика — ты король. И при этом абсолютно неважно, на Реакте твой сайт или на YUI :)

    20:55
    @jsunderhood екоммерс живет исключительно на повторных продажах, и 2я + покупка—это очень хорошо. учитывая сегмент, имо вы тут тоже ошиблись
    20:59

    Про важность Developer Experience: medium.com/@girlie_mac/de…

    21:33

    # Четверг 110 твитов

    @jsunderhood а на что жили во время работы над проектом? Инвесторские деньги = зарплата, или как-то сложнее?

  • были еще второстепенные источники доходов из digital-сферы
  • 5:24
    @jsunderhood золотая пословица software индустрии
    5:24
    @jsunderhood Даже если на php? 😳

    Даже если на HTML

    @jsunderhood Даже если на php? 😳

    5:25
    If you use npm and want a cdn, check out npmcdn: a cdn so easy to use, you're already using it.

    Served 500M+ reqs from npmcdn.com over the past month, over 97% from the cache. So crazy! 😆 pic.twitter.com/82FGuwiwlM

    5:48

    Сегодня поговорим о работе программистом. Вакансии, зарплаты, умения, продуктивность, инструменты, языки, вот это всё.

    5:52

    Я почти ни дня не работал в области, не связанной с IT. В 17 лет полдня проработал курьером, а на след. день устроился HTML-верстальщиком

    5:53

    До сих пор даже существует сайт маленькой студии, где я верстал шаблонные сайты на таблицах и самописной CMS: webmedia.ru

    5:54
    @jsunderhood тему высшего образования затронем?

    Уже затрагивали во вторник утром. Но можно еще потрогать :) Что думаете на этот счет?

    @jsunderhood тему высшего образования затронем?

    6:31
    Languages you should be learning: Erlang/Elixir, Elm, OCaml, Haskell, Racket/Lisp, Go, Rust

    Кто что изучает? Или уже использует в продакшне? Go так наверняка.

    Languages you should be learning: Erlang/Elixir, Elm, OCaml, Haskell, Racket/Lisp, Go, Rust

    6:43
    @jsunderhood @octowed сложно трудоустроиться. У нас все сеньоры -- ПТУшники, а джуниоры и начальник -- с вышкой. ПТУ -- знак качества!

    Раз зашла речь про трудоустройство, скажу свое мнение. По моим наблюдением, у фронтендеров сейчас золотой век.

    @jsunderhood @octowed сложно трудоустроиться. У нас все сеньоры -- ПТУшники, а джуниоры и начальник -- с вышкой. ПТУ -- знак качества!

    6:44

    Людей мало, толковых еще меньше, но при этом они нужны всем, т.к. все современные web apps напичканы фронтендом по самое-самое

    6:45

    В конце прошлого года я решил устроиться на работу. В резюме последние 7 лет: своя студия, агентство, стартап. В/о нет, в Яндексе не работал

    6:47

    Примерно за 2-3 недели я обошел 10 собеседований (Москва), получил 5 офферов. Мог продолжать, но пора было определяться.

    6:48

    В итоге выбирал между ТуТу.ру, Parallels, Mail.ru, Setka и еще парой компаний. Выбрал Сетку из-за интересных задач и драйвового духа

    6:50
    @jsunderhood остравок Go разрабов набирал недавно
    6:50

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

    6:51
    @jsunderhood я не думаю, я страдаю от его отсутствия. Если нет вышки, твой потолок студии и фриланс? Раз затрагивали, найду и ознакомлюсь.

    Совсем не факт. Я почти год проработал в гос. учреждении, не имея вышки. Мне кажется, скиллы все же на первом месте.

    @jsunderhood я не думаю, я страдаю от его отсутствия. Если нет вышки, твой потолок студии и фриланс? Раз затрагивали, найду и ознакомлюсь.

    6:52

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

    6:53
    @jsunderhood @octowed это не только фронта касается, но и ИТ в целом.

    Соглашусь. Разработчиков заманивают, как принцесс — печеньками, соцпакетом, спортзалом и курсами английского :)

    @jsunderhood @octowed это не только фронта касается, но и ИТ в целом.

    6:55
    @jsunderhood Elixir в проде, как дополнительная API надстройка над Elasticsearch. Посматриваю в сторону Elm/Haskell.
    6:58
    @jsunderhood меня интересует всего лишь должность javascript-разработчика ;) Но хочется ведь быть хорошим разработчиком.

    Как правило, понимание того, что такое хороший разработчик, приходит уже после получения диплома :)

    @jsunderhood меня интересует всего лишь должность javascript-разработчика ;) Но хочется ведь быть хорошим разработчиком.

    7:01
    Тебе предлагают "ненадолго" перейти на frontend pic.twitter.com/8bMLJ5wz9V
    7:05
    @jsunderhood наличие диплома ещё никого не сделало хорошим разработчиком (ах если бы всё так просто было)

    Мне на одном собеседовании задали вопрос: что такое «плохой разработчик»? Вы как думаете?

    @jsunderhood наличие диплома ещё никого не сделало хорошим разработчиком (ах если бы всё так просто было)

    7:10
    @jsunderhood абсолютно то же самое, куча предложений при опыте в год. Забавно, что тоже выбрал сетку, но в последний момент они дали заднюю.

    Эх :(

    @jsunderhood абсолютно то же самое, куча предложений при опыте в год. Забавно, что тоже выбрал сетку, но в последний момент они дали заднюю.

    7:11
    @Sigiller @jsunderhood обучение в ВУЗ'е может дать хорошую базу: алгоритмы, математика. И плюс в карму при трудоустройстве.

    Про алгоритмы и математику согласен. Самому это труднее освоить (и заставить себя освоить).

    @Sigiller @jsunderhood обучение в ВУЗ'е может дать хорошую базу: алгоритмы, математика. И плюс в карму при трудоустройстве.

    7:23
    @jsunderhood defile "плохой"
    7:23
    Помни, программист! Ты не средний класс, ты — киберпролетарий.
    7:23
    @jsunderhood чем больше ответственности у спеца, тем больший вес имеет доверие. На регалии, статус и резюме там уже пофиг. Отзывы важнее

    Поэтому находите время на публичную активность и пишите в опенсорс

    @jsunderhood чем больше ответственности у спеца, тем больший вес имеет доверие. На регалии, статус и резюме там уже пофиг. Отзывы важнее

    7:25
    @jsunderhood в Польшу, где я сейчас, это вообще первый вопрос был. И говорят все зарубежом его просят. Только если ты бог делают исключение.

    Ага

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

    7:31
    @jsunderhood это все не нужно. Комфортное помещение, пара мониторов, возможность работы из дома - вот что нужно.

    Не соглашусь. Когда долго сидишь дома тихо сам с собой, начинаешь терять ощущение реальности. Команда — это круто.

    @jsunderhood это все не нужно. Комфортное помещение, пара мониторов, возможность работы из дома - вот что нужно.

    7:37
    @jsunderhood коллега переехал в штаты без профильной вышки
    7:37
    @jsunderhood @RIP212 в Германию вроде можно попасть и без диплома. Были уже разговоры на эту тему. В NL тоже иногда просят, иногда нет
    7:37
    @jsunderhood не понял, разве мои слова противоречат наличию команды?

    Я про физическое нахождение в команде. К слову, лучший офис IT-компании, в котором я бывал в Москве — Avito.

    @jsunderhood не понял, разве мои слова противоречат наличию команды?

    7:40
    @jsunderhood ну, «возможность работать из дома» !== «всегда работать из дома»🙂

    А, это да. У нас в Сетке нормально относятся к тому, если кто-то временами работает из дома.

    @jsunderhood ну, «возможность работать из дома» !== «всегда работать из дома»🙂

    7:43

    Несколько прошлогодних фотографий из офиса Авито. Очень уютно =^..^= pic.twitter.com/82s5EiZP8H

    7:45

    А вот команда Сетки полугодичной давности. Сейчас уже в два раза больше людей. (я в качестве background-image) pic.twitter.com/FPDWhARRLp

    7:47

    Она же, откластеризованная по признаку наличия бороды pic.twitter.com/RZcqGVX4Fg

    7:48
    @jsunderhood опенспейс? Шумно же?

    Это самый тихий офис, в котором я был. Там даже разговаривают вполголоса.

    @jsunderhood опенспейс? Шумно же?

    7:49

    И вот еще несколько фоток из нашего офиса. Делаем вид, что сосредоточены на работе (позируем фотографу): pic.twitter.com/Zxy1uNoNDc

    7:53

    Верстальщик от бога Саня рубится на PS4 в игру про кусочек мяса: pic.twitter.com/VmW8IN4e9a

    7:54

    Всеобщий любимец, тайский ориентал Старки, терпит дозу любви и нежности: pic.twitter.com/Twrptyja3H

    7:55

    А наш проджект-менеджер Лена выращивает перчики, и недавно мы делали из них перцовку: pic.twitter.com/aBAcnqDCQA

    7:56

    Тут шутка про бэкенд-разработчика на заднем плане pic.twitter.com/NFFJ8Pnwup

    7:57

    На самом деле это продакт-директор Сетки — Роман Худоногов. А пустующий компьютер недавно перешел ко мне.

    7:58

    Кстати, стену на заднем плане мы месяц назад передвинули метров на 5 вглубь, т.к. перестали помещаться. Редакции пришлось потесниться :)

    8:00

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

    8:03

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

    8:04

    Это новые знакомства, и (часто) интересный локейшн, мероприятия, новые заказы. Я прошлое лето провел в DI Telegraph, и это окупилось стократ

    8:04

    Я познакомился с ребятами из Moscow Coding School и стал преподавателем. Пообщался с разработчиками Bookmate и Zvooq.

    8:06

    Выступил с большим докладом про фронтенд на Moscow Tech Meetup: youtube.com/watch?v=H3CtzN…

    8:07

    Записался в группу занятий английским с крутым 68-летним нейтив-спикером. Ну и еще много чего. Главное — встать и выйти из дома.

    8:08
    @jsunderhood как думаешь, вам может сразу надо было взять маркетолога? или может сконцентрироваться на очень минимальной версии продукта?

    Маркетолога — нет. Найти человека, который знает инсайты индустрии — да. Ну и не факт, что нужно было лезть в тревел

    @jsunderhood как думаешь, вам может сразу надо было взять маркетолога? или может сконцентрироваться на очень минимальной версии продукта?

    8:13
    @darkilfa @jsunderhood для бесед и жарких дискуссий есть переговорки. В опенспейсе увлеченно работают, стараясь не мешать другим
    8:23
    @octowed @jsunderhood об ужасах зарплаты в маленьких городах)

    Давай! Мне, к сожалению, тут нечего сказать, всю жизнь живу в Москве.

    @octowed @jsunderhood об ужасах зарплаты в маленьких городах)

    8:26
    @jsunderhood куда пойти работать если кайф хайпить в 2к16?

    Хороший вопрос. У кого какие мысли?

    @jsunderhood куда пойти работать если кайф хайпить в 2к16?

    8:28

    Я общался с одним стартапом год назад, они говорили так: React — это мода, она скоро уйдет, мы сразу все делаем на Polymer

    8:29
    @jsunderhood я ни цента до текущего места не заработал кодингом, зато активно писал в блог + делал oss на тему react + rails = isomorphic 💖
    8:29
    @jsunderhood хм, на моей первой работе без опыта, лишь после месяца курсов платили 20к, а за декабрь получил в январе. Москва

    А что за работа была?

    @jsunderhood хм, на моей первой работе без опыта, лишь после месяца курсов платили 20к, а за декабрь получил в январе. Москва

    8:29

    Недавно в Телеграм-чатике про JS-вакансии @chicoxyzzy, кажется, звал писать внутренний апп на ES6 без babel

    8:31

    (ES6 без babel звучит как секс без презерватива...)

    8:32
    @biercoff_enn можно, но очень тяжело. Обычно отказывают @jsunderhood @RIP212
    8:33
    @jsunderhood у меня было 30к до вычета налогов, тоже после курсов
    8:37
    @_sashashakun @jsunderhood год назад 25к получал, но не в москве и на эти деньги можно было даже нормально жить
    8:39
    @jsunderhood лол, пока полимерибо учатся делать компоненты, деревня реактобаджо уже решает проблемы фетча данных
    8:56
    Гайз, посоветуйте какие-нибудь толковые и интересные программерские твиттеры. Ток чтоб не смехуечки и "орнул в голосину", а норм контент.
    8:58
    @goodhoopoe из тех, что я читаю (а ты нет): @nikitonsky, @afiskon, @zenwalker, @xufocoder, @SBozhko, @dshevchenko_biz. Но нужна новая кровь!
    8:58

    Удобно, когда сайт можно скачать с гитхаба и запустить локально. Это я про jsunderhood.ru, который у меня не открывается из-за происков РКН

    9:00
    @biercoff_enn @jsunderhood @RIP212 в Германию без диплома очень сложно, а вот в Финку - вообще без проблем.
    9:01
    @jsunderhood для разработки в современных браузерах норм, перед релизом билдить с babeljs

    Кстати, а кто-нибудь уже задумывается о том, чтобы совсем исключить транспиляцию ES6 из pipeline сборки?

    @jsunderhood для разработки в современных браузерах норм, перед релизом билдить с babeljs

    9:03

    (я сейчас не про закрытые проекты, где все сидят на последнем Chrome, а публичные)

    9:03
    @smashercosmo и в Швецию без проблем ;) @biercoff_enn @jsunderhood @RIP212
    9:06
    @jsunderhood у #nodejs разрабов тоже золотой век, мало толковых, а спрос со стороны компаний растёт)
    А у фуллстэков вообще век платиновый)
    9:11

    В тему транспайлинга: кто-то нибудь использует альтернативы babel, например, traceur? Если да, то почему?

    9:19
    @jsunderhood а разве traceur c es5to6 не объединялись в babel еще год назад?

    Признаться, не слежу внимательно за traceur. Насчет es6to5 — да, помню, было дело.

    @jsunderhood а разве traceur c es5to6 не объединялись в babel еще год назад?

    10:02
    @jsunderhood есть ещё buble и closure compiler
    10:02
    @jsunderhood неа, а про rollup уже обсуждали?

    Давайте обсудим

    @jsunderhood неа, а про rollup уже обсуждали?

    10:02

    Сорри за оффтоп, но пришел эпический спам только что. Вдруг кому нужны контакты Джона? :) pic.twitter.com/EFFR7PczRr

    10:04
    @koluch_ru @jsunderhood никто не отказывается от современного синтаксиса, он работает в браузерах, поэтому можно отказаться от транспайлинга
    10:11
    @jsunderhood еще есть вот такой странный проект github.com/yoshuawuyts/es…
    10:12
    @jsunderhood Traceur я пробовал, когда Бабеля ещё не было, и он был говном. А сейчас в нём ещё меньше смысла.
    10:16
    @Sigiller @jsunderhood подробностей не знаю. Но месяц назад в этой же Твиттер-ленте парень из Финляндии говорил об этом. Он думает о вышке.
    10:33
    @jsunderhood разработчики Bookmate ищут фронта, нет желающих?
    10:34
    Dev Tips: #DevTools: Automatically open DevTools in each new tab: umaar.com/dev-tips/111-a… (Works in Chrome stable) pic.twitter.com/lrgnDIronR
    10:35
    @jsunderhood то есть 50% собеседований было вами провалено? twitter.com/jsunderhood/st…

    Одно я действительно завалил. Еще в одном дали тестовое, которое не стал делать, т.к. устроился в Сетку. И т.д.

    @jsunderhood то есть 50% собеседований было вами провалено? twitter.com/jsunderhood/st…

    10:37
    @jsunderhood устраивался в большую компанию (300+чел), позвонили, пришел. Оказалось, сетевые маркетологи перехватили мой телефон и врали...

    !!!

    @jsunderhood устраивался в большую компанию (300+чел), позвонили, пришел. Оказалось, сетевые маркетологи перехватили мой телефон и врали...

    10:46
    @marinintim @jsunderhood rollup - bundler, buble - transpiller. Оба Рич Харрис из Гардиан сделал.
    10:46

    А вот описание наших фронтенд-вакансий. Разработчик в Сетку: specials.lookatme.ru/workwithus/job…

    10:48

    И в спецпроекты (там больше верстки, анимаций и т.д.): specials.lookatme.ru/workwithus/job…

    10:48
    @jsunderhood А какая у сетки вилка? :P

    Сетка-вилка :) Это к HR: asya.solntseva@lookatme.ru

    @jsunderhood А какая у сетки вилка? :P

    10:49
    @jsunderhood То есть все так плохо, что не озвучишь? :)

    Нет, наоборот, всё очень неплохо. Правда. Просто это не моя зона ответственности.

    @jsunderhood То есть все так плохо, что не озвучишь? :)

    10:51
    @jsunderhood Так почему не опубликовать туда или сюда?)

    Формулировка стандартная: зарплаты рыночные по итогам собеседования. Повышение за упорство довольно быстро.

    @jsunderhood Так почему не опубликовать туда или сюда?)

    10:57
    HolyJS в Москве 11 декабря: первые доклады и приём заявок — habr.ru/p/307972/ pic.twitter.com/1CV3ynHsiS
    11:01
    @_sashashakun @jsunderhood недавно знакомый iOS-программист завалил 70% (не дали оффер Uber и Facebook) , дал оффер только Google. 👻
    14:09
    @freiksenet_ru @jsunderhood нет вилки — нет вакансии? Или настолько всё, что даже примерно назвать стыдно?

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

    @freiksenet_ru @jsunderhood нет вилки — нет вакансии? Или настолько всё, что даже примерно назвать стыдно?

    14:14

    Кто заинтересован в работе, а не в троллинге — знает что делать.

    14:15
    @jsunderhood Как быть, если Москва не влечет, а в своем городе караул в плане работы и зарплат?

    Удаленная фултайм работа?

    @jsunderhood Как быть, если Москва не влечет, а в своем городе караул в плане работы и зарплат?

    14:15
    @jsunderhood Почему не выключить компьютер по окончании рабочего времени и не пойти на стадион?

    У пространств для работы и для отдыха разная конфигурация. Объединить их сложно и обычно незачем.

    @jsunderhood Почему не выключить компьютер по окончании рабочего времени и не пойти на стадион?

    14:16

    Фронтендеры, у кого-нибудь есть опыт переезда с Mac OS на Linux? Яблочные устройства в России стали стоить непомерных денег.

    14:18
    @jsunderhood Давно пользуюсь и тем, и тем. Отлично себя чувствую. Какие вопросы?

    Пишешь JS или верстаешь тоже? Есть проблемы с рендерингом страниц, шрифтов и т.д.?

    @jsunderhood Давно пользуюсь и тем, и тем. Отлично себя чувствую. Какие вопросы?

    14:22
    @jsunderhood Вы же говорите, что работа дома долгое время - это плохо. А какие тогда варианты? Удаленная фултайм - это же тоже дома.

    Я считаю, что плохо, да. Но вариантов-то в целом немного: офис, удаленка, переезд, свое дело.

    @jsunderhood Вы же говорите, что работа дома долгое время - это плохо. А какие тогда варианты? Удаленная фултайм - это же тоже дома.

    14:23
    @jsunderhood паралельно сижу на обоих. проблема - фотошоп

    Последнее время очень редко запускаю, но вообще да, что Фотошоп, что Скетч — под Linux это проблема.

    @jsunderhood паралельно сижу на обоих. проблема - фотошоп

    14:30
    @jsunderhood для верстки каким-то выходом из ситуации может послужить avocode \ zeplin ?

    Я ими немного интересовался. Насколько понимаю, интерфейс должен быть в них сделан. Или они читают PSD/Sketch?

    @jsunderhood для верстки каким-то выходом из ситуации может послужить avocode \ zeplin ?

    14:34

    Ага, вижу, в них можно экспортнуть файлы. А ничего не теряется при экспорте?

    14:35

    Другое дело, что ноутбук, на который можно поставить Linux и нормально работать, стоит как MacBook 15'' года 2012-2013 (~70-80к)

    14:44
    @jsunderhood но ретина же! Без нее уже страшно на монитор смотреть.

    Согласен. После ретины переходить на безретинье туго. Но есть нормальные мониторы и не эппловские. Правда, дорогие

    @jsunderhood но ретина же! Без нее уже страшно на монитор смотреть.

    14:55
    @jsunderhood а зачем их постоянно обновлять?

    У меня MacBook Pro 13'' mid-2009. Так что я бы не назвал это «постоянно» :)

    @jsunderhood а зачем их постоянно обновлять?

    19:46

    Только что закончился первый скайп-прогон моего доклада про WYSIWYG для MoscowJS 33. Получил много полезных комментариев. Увидимся 25.08.16

    20:06
    @jsunderhood Хакинтош. 3 года, никаких проблем.

    Это не наш метод

    @jsunderhood Хакинтош. 3 года, никаких проблем.

    20:07
    @jsunderhood смотри чтобы глаза не кровоточили от линукса :)

    Вот я и опасаюсь. После 7 лет на Маке... к хорошему привыкаешь.

    @jsunderhood смотри чтобы глаза не кровоточили от линукса :)

    20:07

    # Пятница 76 твитов

    @jsunderhood есть опыт переезда с Linux на Mac, потому что там Adobe не было. Остальной набор инструментов, в принципе, есть.
    7:37
    @virocracy @jsunderhood у меня хромбук на целероне. И с ssd там вполне себе жизнь. Кор, канешн, Староватый, но тянет.
    7:37
    @jsunderhood все-таки лучше разориться на 90т.р и купить MacBook Pro 13. Также лет 5-7 отработает, оно того стоит
    7:37
    @jsunderhood 6 лет на линуксе, с каждым годом все лучшее и лучшее. уже даже фотошоп не проблема (если не дизайнер)
    7:38
    @jsunderhood Неистово нравится этот ноут на Убунте - system76.com/laptops/gazelle Подкупает, что контора именно на этом специализируется.

    Честно говоря, после Макбука ощущение как от куска пластика с кучей портов :-( IMHO.

    @jsunderhood Неистово нравится этот ноут на Убунте - system76.com/laptops/gazelle Подкупает, что контора именно на этом специализируется.

    7:39

    И дисководом!

    7:40

    Всем привет. Сегодня пятница — день искрометного юмора и тонкой иронии.

    7:41

    Хочу с вами поделиться своим фаворитом — сайтом, которые я наблюдаю года с 2008, хотя существует он раньше: web-league.ru

    7:42

    По всей видимости, в этом году они сделали редизайн, но все ключевые моменты остались: цитата из Евангелия, цены от 3000 руб. и пАртфолио

    7:43
    @jsunderhood мне кажется яблоководам да и всем остальным стоит посмотреть на Xiaomi Mi Notebook Air

    Да!

    @jsunderhood мне кажется яблоководам да и всем остальным стоит посмотреть на Xiaomi Mi Notebook Air

    7:44

    Буквально несколько месяцев назад сайт выглядел вот так: web.archive.org/web/2016030617… Люблю их!

    7:44

    Есть странная история про мой никнейм: @yaplusplus. Я придумал лет 15 назад по первой букве фамилии и первому языку программирования.

    7:47

    И долгое время хотел зарегистрировать домен yaplusplus.ru, но почему-то этого не делал (студенческие годы...)

    7:48

    А потом ВНЕЗАПНО его зарегистрировал думаете кто? YANDEX, LLC: nic.ru/whois/?domain=…

    7:48

    И держит за собой до сих пор. Кто знает, может быть, мы когда-нибудь будем писать на языке Я++? Или даже Йа++ :)

    7:49
    @jsunderhood как ни крути а они застряли где-то в 90-х :)

    Судя по всему, они уверенно в них существуют!

    @jsunderhood как ни крути а они застряли где-то в 90-х :)

    7:50
    @jsunderhood и у меня такой сайт есть bel-design.ru с 2006 посматриваю.

    Флэш! Музыка! Анимированный «мокрый пол»! Птицы, рыбы! Да это же услада для взора.

    @jsunderhood и у меня такой сайт есть bel-design.ru с 2006 посматриваю.

    7:51
    @jsunderhood art73.ru местное творчество
    8:47
    @jsunderhood тогда надо вспомнить ставший уже классическим durgasoft.com
    8:51
    @jsunderhood lingscars.com ребята скинули сейчас

    Сразу настроение поднимается!

    @jsunderhood lingscars.com ребята скинули сейчас

    9:27
    @jsunderhood @yaplusplus есть хорошая книга на эту тему store.artlebedev.ru/book/urban-pla…

    О, класс, не знал. Спасибо!

    @jsunderhood @yaplusplus есть хорошая книга на эту тему store.artlebedev.ru/book/urban-pla…

    9:28

    А вы как придумали свой никнейм? Один на всю жизнь или менялся со временем? Или вообще используете несколько?

    9:30

    Кстати, про редакторы. Ребята из W-O-S недавно зарелизили свой почти что фотошоп в браузере: verstka.io

    9:31

    Похоже на то, что делают Tilda и Readymag

    9:32
    @jsunderhood В паспорте прочитал. В конце 1990-х у меня был ник Виртуальный вампир, но потом отпустило.

    Ага, я когда-то в компьютерных клубах тоже был orka (потому что любил Warcraft)

    @jsunderhood В паспорте прочитал. В конце 1990-х у меня был ник Виртуальный вампир, но потом отпустило.

    9:34

    Как у многих, мое погружение в IT началось с компьютерных игр. Мы с другом прогуливали школу и копались в консоли Counter-Strike.

    9:38

    Нашли много чего интересного, в том числе способ подвесить любой сервер одной командой из консоли клиента (CS 1.4-1.5)

    9:38

    Закончилось это тем, что мы сделали свой первый сайт в Microsoft FrontPage на narod.ru, на который выложили все свои познания.

    9:41

    И он даже неплохо неплохо сохранился в веб-архиве: web.archive.org/web/2003090521…

    9:42
    @jsunderhood на самом деле мне не хватает фантазии на что-то одиозно выдающееся, типа vaginaQueen или DarkPenetrator666, поэтому свое имя :С
    9:42
    @jsunderhood У меня в каком-то смысле тоже: у меня был Спектрум, и игры с кассет загружались так долго, что я стал изучать Бейсик ;-)
    9:42
    @jsunderhood Я ещё писал его вот так вот: ViRTUAL VAMPiRE — полный конец обеда :-/
    museum.sapegin.ru/tsott/index1.h…

    «Феньки на JavaScript»! Да, долгое время JS воспринимался исключительно как «скрипты для сайта»

    @jsunderhood Я ещё писал его вот так вот: ViRTUAL VAMPiRE — полный конец обеда :-/
    museum.sapegin.ru/tsott/index1.h…

    9:43
    .@jsunderhood провел сложное исследование с привлечением филологов разных стран.
    10:36
    @jsunderhood Используемых четыре. Один отошёл в прошлое, один основной, но его не везде пропускают (4 символа нельзя, суки).
    10:36
    @jsunderhood у меня был Бультерьер, которого звали Баритон, он уже давно в раю, а никнейм это как бы дорога к нему туда.

    Оригинально

    @jsunderhood у меня был Бультерьер, которого звали Баритон, он уже давно в раю, а никнейм это как бы дорога к нему туда.

    10:36
    @jsunderhood Толкина перечитал.
    10:37
    @jsunderhood Лет в 13 нужен был никнейм для "первой русской ММОРПГ" Сфера. Взял персонажа из Сапковского.

    Сфера, БК... были времена.

    @jsunderhood Лет в 13 нужен был никнейм для "первой русской ММОРПГ" Сфера. Взял персонажа из Сапковского.

    10:39
    @jsunderhood у меня был другой ник, который я придумал на волне любви к Космическим Рейнджерам. Сейчас решил строить личный брэнд - поменял.
    11:33
    @jsunderhood щас проверим какие были времена - кто такая Крошка Зёма? :) и кто такие PPP from PNG?

    Кто знает? :)

    @jsunderhood щас проверим какие были времена - кто такая Крошка Зёма? :) и кто такие PPP from PNG?

    11:33
    @ostelaymetaule @jsunderhood папа в детстве называл Матисом. Потом начал играть в WoW, Матисов было куча, добавил Great. Один на всю жизнь.
    11:42
    Загрузчик модулей, работает. Какие подводные камни? Что не учел? Может не безопасно? Подскажите.
    gist.github.com/ymatuhin/28bb5…
    @jsunderhood

    Комьюнити, нужно code review

    Загрузчик модулей, работает. Какие подводные камни? Что не учел? Может не безопасно? Подскажите.
    gist.github.com/ymatuhin/28bb5…
    @jsunderhood

    13:44
    @jsunderhood следующему поколению будет очень сложно с никами, предсказываю многословные, как у индейцев Америки.
    13:46

    Мы недавно придумывали кодовые названия для этапов работы по редактору. Сначала был этап 1 и этап 2. Потом все стали путаться.

    13:47
    @dshster @jsunderhood Они будут по наследству передаваться.

    Вписываться в завещание вместе с паролем к твиттеру?

    @dshster @jsunderhood Они будут по наследству передаваться.

    13:47

    Завязалась дискуссия в Slack, продолжавшаяся около часа. В итоге у нас теперь фаза «Геннадий» и фаза «Педро». По Геннадию уже скоро дедлайн.

    13:48

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

    13:49

    А у вас в компании какие есть свои локальные словечки, мемы?

    13:49

    Пруф скриншот: pic.twitter.com/8lei6FdjOg

    13:52
    @jsunderhood Называю очень честно и многословно. Делаю из этого аббревиатуру. Перевожу на латиницу. Отлично выходит.
    13:52

    А еще с недавних пор в редакционном чатике локальный мем:
    «Автопрефиксер перестал дописывать вендорные префиксы для старых вебкитов»

    14:03

    (ответ отдела разработки на вопрос, почему верстка поехала)

    14:04

    (для редакции звучит примерно как заклинание)

    14:04

    При входе в офис у нас сидит самый настоящий Упоротый Лис pic.twitter.com/RxVdxeTgG5

    14:07
    @jsunderhood один единственный. По молодости написал неправильно, а вышло фичей.
    14:47
    @jsunderhood аутентичный или реплика?

    Скорее реплика, но выглядит весьма реалистично.

    @jsunderhood аутентичный или реплика?

    14:49

    В первый рабочий день каждому сотруднику дают прочитать «курс молодого бойца». Там есть фраза: «Если работа сделана, можно и угореть».

    14:55

    А теперь минутка холивара, т.е. я хотел сказать, плюрализма мнений. Для JS: TDD или BDD?

    14:57
    @jsunderhood Странный холивар, второе подразумевает как минимум первое и невозможно без него. Проще говоря BDD развитие TDD.
    15:00

    У нас, как вы понимаете, Gennady Driven Development

    15:01
    @twenty @jsunderhood ¯\_(ツ)_/¯ Driven Development
    15:07

    Поговорим немного об еще одной прекрасной пятничной теме — рабочих эпик фейлах. Расскажите о своём опыте :—)

    15:15

    У меня в 2009 году была история, когда я вечером перед сдачей проекта клиенту убил сервер с релизной версией проекта.

    15:16

    Сервер был большой и железный, и лежал передо мной. А клиент был в городе Сыктывкар, и туда нужно было лететь утром вместе с сервером.

    15:16

    В итоге пришлось слетать два раза :-) Проект в конце концов успешно сдали, так что история со счастливым концом.

    15:17

    Но до сих пор помню, как включаем сервер перед приемочной комиссией, а там kernel panic и всё такое

    15:18
    @jsunderhood меняли систему скидок в розн. продажах на проде. За 20 минут - минус около 1,5к баксов. Директор попросил больше так не делать
    15:30
    @jsunderhood случайно сделала chmod 777 /
    15:30
    @webholt @webholt-junior @jsunderhood

    От senior'а к junior'у!

    @webholt @webholt-junior @jsunderhood

    15:46
    Пятница! Давайте конкурс? Разыгрываем бесплатный билет на #FrontTalks (events.yandex.ru/events/yagosti…) нужно просто ретвитнуть этот твит ;)
    16:06
    У нас в гостях была самая красивая Планета галактики, а теперь, дорогие, перейдем к дискуссии. Как спасти наши задницы от гнева Матери?

    Тем временем в дружественном коллективном твиттере происходит нечто прекрасное

    У нас в гостях была самая красивая Планета галактики, а теперь, дорогие, перейдем к дискуссии. Как спасти наши задницы от гнева Матери?

    16:08

    Знакомый из Питера рассказывал мне, что состояться в Питере === открыть свой бар. Такая система ценностей. @spbunderhood

    16:08
    @jsunderhood лучше бы вопрос аля: tdd(bdd, atdd) или "о да боже мой, у нас qa есть"
    16:27
    @jsunderhood сказали очистить таблицу (TRUNCATE) ну я и очистил (DROP)
    19:08
    @AlehKashnikau @jsunderhood кстати, да. Интересно, а насколько распространены QA-отделы, и показывает ли это престижность компании?)
    19:08

    Офисный кот Старки погребен под шевронами Сетки pic.twitter.com/Rws7EjgdWZ

    19:18

    # Суббота 1 твит

    @tishkova @abroadunderhood @jsunderhood @backendsecret а много уже таких коллективных лент есть?

    Вот, например: github.com/iamstarkov/awe…

    @tishkova @abroadunderhood @jsunderhood @backendsecret а много уже таких коллективных лент есть?

    7:06

    # Воскресенье 7 твитов

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

    19:11

    Зато я с удивлением обнаружил, что установил рекорд по количество самостоятельно написанных твитов: jsunderhood.ru/stats/

    19:12

    Надеюсь, вам было интересно их читать. Делайте стартапы, занимайтесь бизнесом, любите JS

    19:13

    Увидимся 25 августа в Рамблере на MoscowJS 33. И если кто-то едет в Вильнюс на Frontend Union — напишите, увидимся

    19:14

    Спасибо @iamstarkov и @shuvalov_anton за любезное разрешение занять этот эфир на неделю

    19:17

    Не забывайте про наши фронтенд-вакансии в Setka. Фолловьте @yaplusplus, френдите fb.com/yaplusplus. П А К А ! pic.twitter.com/QY5jp32o8z

    19:17

    github.com

    other