29 февраля 2016, Moscow

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

hello all, and greetings from brooklyn, ny. my name is jed and i'll be your host for the week. looking forward to chatting with you all!


i know that you're probably used to seeing russian here, but don't worry; my tweets are probably easier to understand than my speech.


i'll be traveling in japan this week, so my internet access may be a bit spotty. but i'll try my best to keep up with you folks.


anyway, i'm a former japanese translator now working as a JavaScript developer for a retail clothing company called UNIQLO.


recently, i built a fun JavaScript meetup in Brooklyn called @brooklyn_js, with talks / music / good craft beer.


so i'm definitely up for talking about community-building. i wrote a post about it here:…


i started late in life as a programmer; my first paid tech gig was at age 35. studied economics on college, probably should've studied CS.


.@Rukomoynikov agreed! being a programmer is not that different than being a translator, it's just that your audience is less empathetic!

@jsunderhood Is this the only meetup in Brooklyn?

brooklyn has a ton of meetups (it's 2.5 million people), but i think @brooklyn_js is the only one dedicated to JS.…

@jsunderhood Uniqlo is the best clothing store I've ever been to! What's it like to work for a Japanese company as an American?

i'm not a fan of JP corporate culture. i used to be an employee, but am happier now that i'm a separate vendor.…


i heard that everyone at UNIQLO japan (including the tech team) has to be in the office at 7am. i would not survive long, heh.


anyway, i'm going to get on the first leg of my flight to tokyo now, so see you folks during my LAX layover!


i learned about @jsunderhood from @subzey, my code golf hero. he taught me a lot, which i shared at @jsconfeu 2011:…

@jsunderhood Can you please tell more about @brooklyn_js, is it hard to organize?

sure! first up, most of my thoughts about running it are summed up here:……


otherwise, @brooklyn_js developed a fair amount of momentum over the past few years, so the hard work now is creative. this is a good thing.


for those not familiar, @brooklyn_js is a JS meetup i started in '13 that tries to apply the production value of @jsconf to a monthly event.


the event showcases 5 10-minute talks, interspersed w/ musical interludes & comedy. it's a really fun vibe, not the usual beer/pizza meetup.

@jsunderhood Does things always go well with BrooklynJS, or sometimes bad things happen? What was the worst?

we've dodged most of the pitfalls of tech events by having a clear code of conduct, and attracting a chill crowd.…


setting the tone of the event[1] has helped us avoid bad actors, and attract a diverse group of attendees.



so really, the worst we've had to deal with are speakers bailing with no notice or sponsors not paying on time. which is a good place to be.

@jsunderhood Oh… I've meant rather technical failures, like power's down in the middle of the talk or speaker's notebook refusing to connect

ha, always! one of the reasons we do musical guests between talks is to keep audience distracted during tech setup.…


also, keeping the event small and lo-fi has helped reduce complexity. we don't need mics or have to worry about getting recordings right.


like many tech folk, my first insticnt was to fix tech issues with more tech. but we found more success through human/social workarounds.


# Вторник 6 твитов

@jsunderhood what are most common topics on @brooklyn_js? Is it full of reactjs hype, like Russian meetups are?

you can see them all here, only a small perecnt (4/247) have been react talks:……


to keep audience appeal broad, we try to avoid talks that are too specific. framework talks usually fall in this trap.


keeping talks diverse is probably easier in new york, where there's a ton of devs with cool side projects outside the usual front-endery.


our brother meetup, @manhattan_js, keeps it fresh with 1 passion talk for every 2 tech talks, on topics from cooking to fiction to icemaking


in shinbashi for some ramen hunting.


my first public backend dev project was called @ramendan: a Twitter game during Ramadan for ramen enthusiasts:


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

i'm kind of amazed how fast so-called best practices change on the front-end. a year ago inline styles were heresy, now everyone's doing it.


i gave a talk at a conference a year ago about leaving CSS behind and got a lot of pushback:…


when i wrote v1 of the UNIQLO mobile site in 2014, i used inline styles because CSS was too awkward. turns out it's a great way to do react.


my lesson from all of this is don't listen to people who tell you you're doing it wrong because "this is how we do it." it'll always change.

adding sets/maps/Infinity/NaN to the list of things lave will stringify, but JSON won't:

recently i've been geeking out on JavaScript ASTs. i feel like the next wave of JS creativity will happen there.…


this is another area where i think the conventional wisdom of always separating data from logic will be debunked for some cases.


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

my development mantra is "tool little, tool late": i write vanilla JS first & bring in a framework when i need it.


what do you all do? is there a go-to framework or boilerplate with which you start new projects?

pushing osx-browser-vm. it's like require('vm'), but for the browsers on your OS X machine:…

one underrated part of OS X is that you can execute JavaScript to do browser automation.…


i wonder if this could be a good alternative to requiring node for front-end devs, by running JavaScript in a local browser instead.


on the 🚄 to nagoya when hey, where's my bag? oh right, still on the platform. doubled back and there it was waiting.

@jsunderhood what is your favorite brooklynjs talk? or maybe you have many..

wow, there are so many to choose from. let me give you a few of my favorites.…

WHAT IS CODE? We're finding out from Brooklyn's own @ftrain, the man behind this rad article:…

one of the most memorable was @ftrain's talk about What Is Code? i'd been a fan of his writing for a long time:…

We're closing with @tinysubversions, in from the frozen tundra of Boston to give us a spirited defense of "bad code".

likewise, @tinysubversions gave a great talk about the "bad code" attitude he brings to his side projects:…


my favorite hardware demo is probably one from @benjamn, who had the whole audience on the edge of their seat:

From last night, THIS IS IT RUNNING ITSELF, care of @aemkei. (demo:

and @aemkei came over from hamburg to give a mind-blowing demo of his matrix quine:…

Google is Microsoft. Microsoft is Mozilla. Apple is Apple. @BrendanEich dishing hella dirt at @brooklyn_js' 2nd bday

and who could forget about the hottest take of 2015 from JavaScript's dad, @BrendanEich:…


and some of my favorite talks are those that get their start at @brooklyn_js and then get picked up by larger conferences like @jsconf.


also great to see repeat speakers: i loved @jeresig's talks on streams / graph databases, and @Rich_Harris's talks on UI / builds / modules.


# Пятница 2 твита

for a lot of recent admin UI work, i decided to use Google Spreadsheets as a front end and skip building an app:


it has its limitations for sure, but it's nice to just point someone at a spreadsheet and decouple the admin UI from the backend.


# Суббота 11 твитов

i struggle to give advice to first-time javascripters. the landscape is so different than when i started.


on one hand, cross-browser code is so much easier now than it was then, and the language has become more expressive.


on the other hand, there are so many libraries to choose from, and so many flavors of javascript to author. there's a paradox of choice.

securing a decent office for the week.

having spent ½ of my career converting japanese to english and the other ½ converting english requirements into javascript, i have a theory.


being bilingual in natural languages makes learning programming languages easier.


the farther apart the languages that you learn, the more you learn about language itself, since there's so much more to reconcile.


learning programming languages is really just the same thing, except that the speakers you communicate with are REALLY, REALLY unforgiving.


so the skills of a good programmer are the same as those of a good translator:


1) the ability to model the audience's internal state, and

2) the ability to create the most concise language needed to mutate it.

Our lineup for 3/17 includes talks from @eric_b_wood, @lynnaloo, @arturi, @Regular_Doc, @dphiffer, & @eirons! Tickets go on sale tomorrow!

happy to see my favorite russian import speak at @brooklyn_js this month. go @arturi!…


# Воскресенье 4 твита

using a template string tag for command line progress bars:…

my favorite feature of ES6 is definitely template strings tags... there's so much you can do with them!…


one fun front-end detour i had recently was learning arcane SVG path syntax to golf down my client's logo:…


it's been a fun week here, but my time is up! thanks for being a friendly bunch, and i hope to meet some of you at a conference soon!


i'll be over at @jedschmidt if you'd like to keep in touch. до свидания и спасибо!