Владимир Агафонкин

Владимир Агафонкин

Темы
Неделя
Mar 14, 2016 → Mar 20, 2016

Архив недели @mourner

Понедельник


Всем привет! На этой неделе с вами @mourner. Я разработчик в @Mapbox, автор @LeafletJS и множества других open-source-библиотек.

В основном занимаюсь картами, визуализациями и алгоритмами. Большая часть моей работы — open source github.com/mourner/projec…

Leaflet — библиотека для карт, которую используют GitHub, Foursquare, Flickr, 500px, Facebook, NYTimes, Госдеп, Еврокомиссия и тысячи других

@jsunderhood Привет! Это круто! На этой неделе тема open-source будет раскрыта =)
Да, хочется поделиться горестями и радостями мейнтейнеров популярных библиотек :) twitter.com/corsoul/status…

@jsunderhood @mourner @Mapbox @LeafletJS Привет! Какое расписание будет, или по старинке)
Как-то не думал над расписанием, но предлагайте темы для обсуждения и я что-нибудь придумаю :) twitter.com/nemcik7/status…

@jsunderhood привет, расскажи, можно на лифлете делать изометричные карты? что бы объекты могли ложиться под стены и т.п.?
Leaflet заточена под тайловые карты 2D. Но тайлы можно рисовать в канвасе, так что изометрию можно сделать в теории twitter.com/sevaisnotcow/s…

Следующие 45 минут в дороге — еду в коворкинг. Работаю удаленно, но дома маленькие дочки-близняшки — сконцентрироваться невозможно :)

@jsunderhood В каком коворкинге ты работаешь?
data-hub.com.ua в Киеве. Просторно, тихо, быстрый интернет, настольный теннис и печеньки — всё, что нужно :) twitter.com/silentimp/stat…

@jsunderhood я своих девочек "построил". Или они меня... В-общем, иногда и в наушниках под The Crystal Method неплохо. Дома можно дольше.
Им меньше двух лет, особо не построишь. :) Ну и это индивидуально — лично мне дома не работается, не та обстановка twitter.com/avesus8/status…

@jsunderhood @mourner @Mapbox @LeafletJS Ты родом из Киева или переехал?
Родился и всю жизнь живу в Киеве. Побывал во многих западных странах, есть возможность переехать, но мне тут хорошо. twitter.com/nemcik7/status…

@mourner привет Вова! Кажется, @LeafletJS вырос из коммерческого проекта. Как ты убедил клиента выложить наработки в open source?
У Leaflet вообще интересная история, я об этом делал 13-минутный видеодоклад — посмотрите youtube.com/watch?v=NLbyHf… twitter.com/gmile/status/7…

@jsunderhood @mourner @Mapbox @LeafletJS Где работал и чем занимался до сегодняшней "работы"?) Какие хобби есть.
Я музыкант и лидер рок-группы Обійми Дощу. Пишу песни, пою, играю на гитаре rain.in.ua/ru.html twitter.com/nemcik7/status…

Кроме этого увлекаюсь спортом (карате, стрит воркаут, сноуборд), фотографией, игрой Го, в добавок к обязанностям отца семейства :)

Раньше работал в разного рода аутсорсинговых компаниях (6 лет — в @Cogniance). Но 2.5 года назад нашел работу своей мечты — @Mapbox :)

@jsunderhood как ты все успеваешь? :)
Грустная правда в том, что не успеваю. :) Иначе, например, мы бы давно выпустили второй альбом (первый вышел в 2009) twitter.com/mistadikay/sta…

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

@jsunderhood а библиотеку для visual regression testing ты доделал? чем она лучше всех остальных?
Доделал! github.com/mapbox/pixelma… — самая быстрая и легковесная библиотека такого рода, с крутыми алгоритмами. twitter.com/toivonens/stat…

Я большой фанат CRPG (Fallout, TES, etc.). И осознал, что можно упорным трудом "раскачать" персонажа и в жизни :) twitter.com/krasivieglaza/…

Перечитал груды книжек, статей и форумов на тему силовых тренировок и начал тренироваться с весом своего тела. Фото: imgur.com/a/bNmbI

Пару лет назад подробнее делился своим опытом на Реддите reddit.com/r/bodyweightfi…

Dear twitter: What's the correct, polite way to reply to this e-mail? #lazyweb pic.twitter.com/gaQQmwzWPt
Вот пример письма, подобные которому я как автор популярной библиотеки получаю каждый день. Нужно много терпения :) twitter.com/RealIvanSanche…

Удивительно, сколько человек считает, что open-source-разработчики — это магические рыцари, которые всегда готовы делать работу за других

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

Мораль: берегите и жалейте open-source-разработчиков, им бывает тяжело! Пишите хорошие багрепорты и помогайте фиксить баги. :)

🔥Тред (@mourner)
Я сейчас хорошо высыпаюсь, просто многие любимые увлечения пришлось задвинуть на второй план — до поры до времени. twitter.com/DmBabenko/stat…

Согласно git.io/top, в прошлом году я был на 139-м месте по активности на GitHub. И в Top 30 есть пара моих коллег из @Mapbox

Выяснить, какая система координат в SVG-файле, и написать скрипт который сконвертирует линии в формат GeoJSON twitter.com/lilumi/status/…

@jsunderhood видео отличное, но там не сказано о том, как убедить клиента выложить код в открытый доступ
Вкратце, я написал длинное письмо на весь менеджмент с десятком пунктов, почему нам стоит это сделать. Согласились. twitter.com/gmile/status/7…

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

Со своей узкой специализацией я немного отстал от модных веяний, но у нас в компании любят React, Redux, Babel/ES6, Browserify, Tape, ESLint

Один из моих главных проектов сейчас — библиотека для векторных карт на WebGL github.com/mapbox/mapbox-…. Очень сложная и интересная штука.

А вот вам пример из моего инбокса.
notion image

@jsunderhood а как ты видишь карты, в т.ч. webgl-ные, и virtual dom?
Думаю, что за векторными WebGL-картами будущее. Но разрабатывать их очень, очень, очень сложно. Просто мозг ломается twitter.com/8gene/status/7…

@jsunderhood а как ты видишь карты, в т.ч. webgl-ные, и virtual dom?
Если вопрос был про Virtual Dom в WebGL-картах: не поможет — WebGL это другая планета в одном DOM-элементе twitter.com/8gene/status/7…

Кстати говоря, несмотря на расовые предубеждения в IT, подобные письма пишут из любых стран. twitter.com/yustovskiy/sta…

@jsunderhood какие основные отличия? О чём таком приходится думать о чём с обычными не задумывался?
Мой прошлогодний доклад на эту тему youtube.com/watch?v=u2ppZY… twitter.com/ALF_er/status/…

@jsunderhood какие основные отличия? О чём таком приходится думать о чём с обычными не задумывался?
Вкратце — WebGL толком умеет рисовать только текстуры и треугольники. Для остального нужно вручную писать алгоритмы twitter.com/ALF_er/status/…

@jsunderhood под мобайл тоже делаешь? Про особенности мобильного webgl можешь что-нибудь рассказать?
В современных мобильных браузерах (Safari/Chrome) всё как правило сразу работает, просто медленнее и меньше памяти twitter.com/tensai_cirno/s…

Но вообще мы параллельно пишем быстрый нативный движок на C++. На JS быстрый движок для мобильных карт пока не получится сделать.

Пример сложной алгоритмической задачи, для которой мне пришлось написать свою библиотеку: триангуляция полигонов github.com/mapbox/earcut

Ирония судьбы: весь универ (КПИ примат) забивал на пары, пил пиво и шпилил в игры. Через десять лет по работе всё пришлось учить заново :)

@jsunderhood вопрос скорее в поисках боттлнеков. Ибо делал как-то rotozoom обычной картинки, плюс блюрил пиксельным шейдером, тормозило :V
Тут нет универсальных рецептов кроме "всего делать поменьше", приходится научным тыком искать пути оптимизации :) twitter.com/tensai_cirno/s…

@jsunderhood а ты знаешь что-нибудь о проекте @ViziCities? @robhawkes для его оптимизации сделал много клевых штук, вроде как
Мы с Робом дружим, пили пиво вместе не раз, и некоторые оптимизации он делал по моим советам :) twitter.com/roman01la/stat…

@jsunderhood а не приходилось сталкиваться с рассчетом колизий у сложных объектов (не описываемых формулами)?
Индексируем по bbox: в 2D пользуемся моим github.com/mourner/rbush, для 3D посмотрел бы на github.com/mikolalysenko/… twitter.com/raxpost/status…

Моё рабочее место сейчас
notion image

@jsunderhood, будете через Вебассембли крутить потом?
Пока неизвестно — надо подождать реализации, чтобы пощупать. twitter.com/ilnurkhalilov/…

@jsunderhood правильно понял tape - это тестовый фраемворк?
Простой, легкий и хороший тестовый фреймвок. Вот статья, почему его стоит использовать: medium.com/javascript-sce… twitter.com/hellbeast92/st…

@jsunderhood а что-то что умеет умно разбирать объект на боксы есть?
Нет, надо уже смотреть по случаю. Например иногда достаточно не разбивать, и сравнивать потом целые объекты. twitter.com/raxpost/status…

@jsunderhood так вот если без bbox, есть что-то что ищет колиции с хорошим перформансом у сложных объектов?
Универсальных библиотек для этого нет, насколько мне известно. Всё зависит от того, какие объекты, сколько и т.д. twitter.com/raxpost/status…

@jsunderhood сори что не унимаюсь, потому что все это приходилось самому писать руками и может появились либы с хорошим перформансом
Мне всегда приходится писать с нуля, чтобы было с хорошим перфомансом :) Вычислительная геометрия — сложная штука. twitter.com/raxpost/status…

Macbook Retina 15 середины 2012-го, с максимальным конфигом. Верно служит 3.5 года, и где я его только не таскал. :) twitter.com/avevlad/status…

@jsunderhood у нас была задача сделать колизии 2 объектов > 1000 точек в браузере, при этом визуальные провалы непозволительны
Следующий шаг — индексировать по bbox-ам сегменты, потом делать тесты segment vs segment и point in polygon twitter.com/raxpost/status…

Нет, мне всегда нравился JS (тем более ES6). Из других языков очень нравятся Go и Swift за простоту и читабельность. twitter.com/vassilevsky/st…

@jsunderhood А смотрел ли ты Elm? Есть у него будущее ?
Каюсь, не смотрел. Но хочется — несколько коллег его сейчас изучают и говорят, что очень многообещающе. twitter.com/Rukomoynikov/s…

@jsunderhood именно так и делали + физика там была. Но тормозило все страшно
Бывает, что боттлнек не в подходе, а в реализации (например, плохая библиотека для R-tree). Нужно профилировать twitter.com/raxpost/status…

@jsunderhood а на asm.js смотрели? caniuse.com/#search=asm.js частично поддерживается в 58% браузерах, плюс потом всегда можно перейти на wasm
Кросс-компиляция из С++ в JS может подойти для одиночных игр и приложений, но если нужно библиотеку — много проблем twitter.com/Trufid/status/…

@igor_shubovych @jsunderhood псс, парень. Хочешь расскажу немного про React? А про webpack и css модули?
Unidirectional data flow есть? А если не найду? twitter.com/blia/status/70…

По поводу asm.js уже отлично написал @mraleph mrale.ph/blog/2013/03/2…

@jsunderhood а есть резон использовать воркеры для особо сложных расчетов или межтредовая комуникация все сведет на нет?
Обязательно нужно использовать! Большие массивы данных можно пересылать быстро с помощью transferable objects twitter.com/raxpost/status…

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

@jsunderhood а все ли сложные расчёты делаете на клиенте, или некоторые заранее на сервере получается сделать?
На сервере тоже много работы — обновление и обработка векторных данных, нарезка на тайлы и т.д. twitter.com/Trufid/status/…

@jsunderhood да мы так же его используем, но у меня вопрос, какой test runner вы используете? Я остановился на testem
Часто обходимся без раннера, но если нужно, то saucelabs.com, karma-runner.github.io. twitter.com/hellbeast92/st…

Pro tip: когда возникает желание почитать ленту Facebook, открывайте вместо этого medium.com. Много качественных статей.

Очень хорошая новая тема для Sublime Text 3, с множествм опций github.com/oivva/otto (правда, похожа на дефолтный Атом)

Много лет использовал Sublime Text 3, пару месяцев назад перешел на Atom, а сейчас вернулся обратно (заскучал по скорости и безбажности).

Он начал опять активно обновляться, плюс к основной команде недавно присоединился автор Package Control, не затворник как автор Sublime :)

@jsunderhood jsник должен юзать атом иначе предательство же :)
Я пытался! Но мне постоянно нужно открывать большие файлы и переключаться между кучей проектов, и здесь ST рулит twitter.com/rubyunderhood/…

@jsunderhood @mourner What's your take on the state of the art of JS package managers? (bower, npm, jspm)
Думаю, Bower пора уйти на покой и уступить NPM + WebPack/Browserify/JSPM. Он сыграл свою роль, но теперь вредит. twitter.com/RealIvanSanche…

Вы не представляете, сколько у open source maintainer'ов гемора из-за Bower. Я лично перестал его поддерживать в своих проектах.

@jsunderhood WebStorm?
WebStorm хорош, но лично я люблю минимализм и простоту. Работаю продуктивнее с редактором, чем с IDE. twitter.com/NikitaDyumin/s…

@jsunderhood с реально большими файлами всё не очень хорошо, да. переключаться между проектами – atom.io/packages/proje…
Я его и использовал, но открытие проекта всегда очень долгое. В ST — моментально всегда. twitter.com/deepsweet/stat…

@jsunderhood А можно поподробнее про этот гемор? А то все о нем говорят и ни разу не видел (не сомневаюсь что он есть, впрочем).
Главный гемор в необходимости коммитить билд в проект, что является очень плохой практикой. medium.com/@kentcdodds/wh… twitter.com/SilentImp/stat…

@jsunderhood билд можно комитить в отдельную ветку. И на ней создавать тэг. Естественно это можно сделать автоматически.
Так и приходится делать в Leaflet. Но это до жути неудобно. twitter.com/Krivlenia/stat…

Вторник


А кто-нибудь здесь смотрит матч Ли Седола с АльфаГо? Сейчас идет последняя, пятая игра. Одно из самых интересных игровых событий в истории.

@jsunderhood нет. Только итоги. Думаю и на этот раз программа "поддастся" человеку - чтобы его … не обидеть. 👻 ибо победа уже за программой!
Победа рано или поздно за AI, но насчет "поддается" — неправда. Просто Седол за 3 игры нашел в AlphaGo уязвимости. twitter.com/taujavarob/sta…

@jsunderhood Дико бесит, когда в гите нет dist файлов
Ну вот :) А теперь представьте, сколько таких людей яростно пишут в GitHub о том, что их дико бесит, не разобравшись twitter.com/dmitryshimkin/…

RBush — одна из библиотек, которыми я особенно горжусь. github.com/mourner/rbush Незаменима в алгоритмах и визуализациях больших 2D данных

Еще это один из немногих случаев, когда мне удалось сильно улучшить вычислительную сложность существующего алгоритма (OMT bulk loading)

@jsunderhood можеш пошарити свої пакеджі для ST3?
SublimeLinter, SideBarEnhancements, PrettyJSON, Markdown Preview, AutoFileName, ColorPicker, GitGutter + синтаксисы twitter.com/Sa1en/status/7…

Как-то давно я создал страничку для отслеживания положения солнца — suncalc.net. Не обновлял её 5 лет, но до сих пор полезно :)

Это было до того, как я создал Leaflet. Давно хочется ее переписать, но всё не доходят руки. :)

Код, который делает все солнечные расчеты, я превратил в JS-библиотеку — github.com/mourner/suncalc. Теперь она и луну считать умеет.

Вторник — день тяжелый! Что-то тихо сегодня. :) Задавайте вопросы по JS-перфомансу, алгоритмам, картам и open source!

Я много лет не читал книг на тех. темы. Вместо этого рекомендую взяться за pet project с незнакомыми технологиями twitter.com/_sashashakun/s…

Намного эффективнее учиться в процессе работы над чем-то увлекательным! И читать статьи и отрывки книг по мере возникновения проблем.

@jsunderhood как получить первую сотенку * ? ;)
Нужно оформить репо хорошим readme, доками, демкой, скриншотом, тестами, трависом и т.д., и только потом делиться twitter.com/dcromster/stat…

@jsunderhood насколько осмысленно использовать DOM API вместо jQ, Prototype.js и т.д. с точки зрения производительности?
С точки зрения производительности, как по мне, нет смысла. Эти либы уже отживают своё, и больше для старых браузеров twitter.com/SilentImp/stat…

@jsunderhood Как работаешь с перфомансом? Заблаговременно заботишься или постфактум, когда проблемы очевидны?
Я привык сразу писать простой и эффективный код, но без фанатизма. После обязательно профилирую и пишу бенчмарки. twitter.com/webholt/status…

@jsunderhood Спасибо! но это не гарантирует даже первой звезды :) Если это УГ никому не надо - то и не будет ***.
Само собой. :) Поэтому в описании репо и первом предложении readme критично сразу четко объяснить, зачем это нужно. twitter.com/dcromster/stat…

@jsunderhood а по какому алгоритму фазы луны рассчитывает?
В комментариях к функциям есть ссылки на исходные статьи. twitter.com/ErrorSoul/stat…

@jsunderhood а зачем использовать DOM API тогда? И нужно ли его использовать с твоей точки зрения?
Упс, я имел в виду, не имеет смысла использовать jQuery и т.д. вместо DOM API, если только не заботят старые IE :) twitter.com/SilentImp/stat…

@jsunderhood Играет ли роль ES3 vs ES2016 с точки зрения производительности. Используешь ли ты его и если да, то зачем?
Играет роль, но зависит от фичи/браузера/транспайлера и т.д. В боттлнеках сверяйся с kpdecker.github.io/six-speed/ twitter.com/SilentImp/stat…

@jsunderhood А я люблю читать книги. Хорошо всё, что для тебя работает.
Тоже правда! Но по моим наблюдениям, короткие, простые электронные тех. книги быстро вытесняют длинные печатные. twitter.com/sapegin/status…

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

Недавний пример идеальной технической книги по простоте/объему/формату — Swift Book. Просто великолепно сделано!

@jsunderhood Как увеличить кол-во полезных PR в свой oper source проект?
Главное — максимально упростить задачу контрибьюторам как можно более простым кодом, хорошими тестами, CI и т.д. twitter.com/toivonens/stat…

Очень помогают строгие тесты, включая линтеры вроде ESLint — например я использую довольно строгий конфиг github.com/mourner/eslint…

Чтобы контрибьюторы писали больше тестов, очень помогает привязать сервис code coverage, например istanbul + coveralls.io

Ну и совсем недавно в GitHub появилась отличная фича — issue/PR templates. Помогают убрать шум и повысить качество репортов и PR.

🔥Тред (@mourner)
@SilentImp @jsunderhood @mourner Compound let, const, генераторы, get / set - и функция не оптимизируется в v8. И это только начало :)
Но ES6 без транспайлеров сейчас никто и не использует в продакшне. :) Когда начнут, может V8 подтянется twitter.com/xanf_ua/status…

@jsunderhood Это на клиенте. А вот на сервере вполне можно.
Можно, но от проблем перфоманса это не спасает, т.к. тот же V8. Хотя важно это только в боттлнеках. twitter.com/webholt/status…

@jsunderhood на мат.расчеты/алгоритмы хорошо накладывается какой-то функциональный язык, почему ты пишешь на plain js?
На мат. расчёты — может быть, но насчет алгоритмов спорно. Я пишу на JS, потому что я в нем хорош. twitter.com/2j2e/status/70…

Experimental support for WebAssembly has landed in Chrome, Firefox & a build of Edge v8project.blogspot.co.uk/2016/03/experi… pic.twitter.com/iqm15zPkwE
Вот это очень круто :) twitter.com/addyosmani/sta…

@jsunderhood @mourner расскажи, как правильно подойти к pet project, как его не испугаться, и все-таки начать делать и определить цели.
Нужно выбрать относительно простую, достижимую, но интересную задачу. Если с ней справился — можно придумать сложнее twitter.com/errorent/statu…

Для этого стоило бы завести @pornunderhood twitter.com/backendsecret/…

Среда


Chrome-расширение для дебага WebGL-приложений: github.com/3Dparallax/ins…

Надо выяснить, на какую именно проекцию наносились линии, но скорее всего это en.wikipedia.org/wiki/Web_Merca… twitter.com/lilumi/status/…

@jsunderhood Привет, вопрос может не совсем по адресу. Можно ли обработать данные перед их отрисовкой в @cartoDB на клиенте?
Они рисуют на сервере, и на клиент приходит уже тайловыми картинками. twitter.com/dampilonrobert…

У них там вечно методологии, рамки, правила, стандарты. Им не хватает хаоса (или мне не хватает порядка) @cssunderhood @jsunderhood
Как правильно заметил @Charlag_Khan, степень допустимого хаоса зависит от масштаба проекта. twitter.com/webholt/status…

@twenty @jsunderhood @dan_abramov бесит когда с житхаба отправляют на SO и закрывают ишью. но чем почта лучше SO, потому что вы не одни тут
Отправляют, потому что GitHub issues — место для учета багрепортов, а не для бесплатных консультаций twitter.com/nanonymoused/s…

И вот еще вопрос: на каком уровне frontend-разработчик должен знать backend? Наверное это к @jsunderhood
Сейчас грань между frontend и backend всё больше размывается. Думаю, через несколько лет большинство будет fullstack twitter.com/dshster/status…

Четверг


@jsunderhood где играешь в Го? Какой дан или кю?:)
9k на online-go.com (самый лучший сервер — HTML5, mobile-friendly, дружелюбное комьюнити) twitter.com/drzhbe/status/…

@jsunderhood А можете что-нибудь посоветовать для обучения го? Играют ли на этом сервере новички?
Конечно! Лично я свою первую игру сыграл там же :) online-go.com/learn-to-play-… twitter.com/muttnikus/stat…

Еще есть отличный интерактивный туториал тут: playgo.to/iwtg/russian/

Одна из моих лучших JS-библиотек — Earcut, для быстрой триангуляции полигонов. Незаменима во многих WebGL apps github.com/mapbox/earcut

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

После успешного применения в Web мы портировали ее на C++11 для своего нативного WebGL-рендерера github.com/mapbox/earcut.…

Для получения векторных данных в очень компактном бинарном виде мы используем формат Protocol Buffers.

Для него мы написали очень быстрый енкодер/декодер — github.com/mapbox/pbf. Существенно быстрее чем JSON.stringify/parse

Кроме быстроты и компактности, одно из преимуществ — можно моментально пересылать данные между главным тредом и воркерами как ArrayBuffer

Еще одно преимущество pbf — возможность lazy decoding (когда можно пропускать или откладывать декодирование части данных)

🔥Тред (@mourner)
Нет никакого оверхеда, свой формат был бы почти такого же размера twitter.com/rreverser/stat…

Ты в любом случае добавлял бы описательные байты в бинарном формате с нефиксированными вложенными данными twitter.com/RReverser/stat…

И большая часть размера — в геометрии, которая в данном случае запакована очень компактно (packed varint)

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

An awesome long-read from @holman about smth important we should have a talk about: Firing People zachholman.com/talk/firing-pe…
Просто жесть, а не история... Что-то в последнее время очень много историй от известных людей о проблемах в GitHub twitter.com/RReverser/stat…

Node 5.9.0 released nodejs.org/en/blog/releas…

Пятница


На фоне громадного количества багов и проблем производительности в NPM 3, очень многообещающе выглядит github.com/alexanderGugel…

Работает в десятки (!) раз быстрее, просто поразительно. И избегает большинства проблем NPM засчет архитектуры.

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

@jsunderhood ок. Ну вот сотенку * на github получили. Как получить 1000? :D
Если все мои предыдущие советы выполнили и проект презентабелен, пора писать в тематические бложики и JS-рассылки :) twitter.com/dcromster/stat…

Ну, это дело времени. :) twitter.com/kolybasov/stat…

@jsunderhood Спасибо! Второй вопрос: как найти/привлечь других людей, которые могут помочь с проектом?
Если проект полезен, люди сами придут помогать. Когда кто-то репортит баг, ненавязчиво предлагайте сделать PR :) twitter.com/dcromster/stat…

Часто люди втягиваются, делая незначительные фиксы, а потом увлекаются и начинают контрибьютить активнее :)

Когда вы теряетесь, пытаясь понять, о чем идет речь на enterprise-сайте, используйте мою библиотеку github.com/mourner/bullsh…

@jsunderhood В некоторых проектах это на удивление хорошо работает. В некоторых не работает вообще никак. @dcromster
Когда вообще не работает, пора задуматься, не лежит ли корень проблемы в том, как написан и организован код twitter.com/sapegin/status…

@jsunderhood Давно заметил, что проекты для разработчиков получают больше пулреквестов, а проекты для пользователей больше тупых вопросов.
Вот это правда. В Mapbox мы как правило стараемся опенсорсить модули/библиотеки, а продукты оставляем приватными. twitter.com/sapegin/status…

Для продуктовых репозиториев часто имеет смысл отключать issues

Делать много качественных контрибьюшнов. Когда есть что показать, рассылать резюме в open-source-компании :) twitter.com/avevlad/status…

Последние 6 месяцев команда NPM работает над тем, чтобы заставить тесты работать под Windows :) Ждать придется долго twitter.com/kolybasov/stat…

@jsunderhood Я навязчиво пишу github.com/istarkov/babel… что я приму PR ;-) чем как бы намекаю что сам делать не буду, помогает
Я тоже так часто делаю, когда чувствую что другие справятся без меня :) twitter.com/icelabaratory/…

У нас в Mapbox политика "open source by default". Написал что-то полезное — можно не спрашивать, а сразу оформлять модуль на GitHub.

На GitHub у нас уже 532 публичных репозитория. :) github.com/mapbox/

@jsunderhood будешь ли в ближайшее время выступать на конференциях?
Собираюсь в Бонн на 2016.foss4g.org. Еще хочется на @fronttrends — надеюсь, примут доклад :) twitter.com/Trufid/status/…

@jsunderhood Как вы в этом ориентируетесь? Есть какая-то база знаний про эти ваши репозитории?
Репозитории хорошо между собой перелинкованы, иногда есть мета-репозитории, как этот github.com/mapbox/mapbox-… twitter.com/mista_k/status…

I’m sorry for dropping the ball in my email and DM game. I’m much less responsive than a month ago. I use that time to work on React!
Популярные open-source-разработчики часто чувствуют вину за то, что не могут всем помочь и ответить. Желающих много. twitter.com/dan_abramov/st…

Приходится учиться архивировать многие письма и сообщения без ответа, но это единственная возможность успевать работать. @dan_abramov

Есть у опенсорса беда — авторы не ведут чейнджлог. @jsunderhood pic.twitter.com/Tg2ifyns98
Кстати, очень удобно вести Changelog в GitHub releases. Tags -> Edit release notes, или "Draft a new release" twitter.com/sapegin/status…

На правах пятницы, музыкальная пауза! Живое выступление, я тут по центру с акустикой youtube.com/watch?v=eAgGlP… (для любителей пост-рока)

@jsunderhood может ли излечиться разработчик от stackoverflow-driven development, если попадает в правильную среду? (и может ли он попасть))
Может, но только в том случае, если хочет. twitter.com/beshur/status/…

Воскресенье


Всем хорошего завершения выходных! Есть еще ко мне вопросы перед тем, как закончится неделя?

Спасибо всем, было приятно пообщаться! С вами был @mourner. До встречи!
notion image

Ссылки