
The Strange Appeal of Watching Coders Code - steven
https://medium.com/backchannel/the-strange-appeal-of-watching-coders-code-5c677b2c34ec
======
MiguelHudnandez
A year or two ago, I watched notch stream coding for a weekend game
competition, and it was fascinating. It was on the front page of HN for a
while. I ended up watching it for a couple of hours while I did some low-
cognition tasks. I think the appealing aspects for me were:

    
    
      * Seeing someone else's desktop and windowing habits
      * Watching for new keyboard shortcuts
      * Seeing workflows similar to mine in different IDEs and languages
      * Seeing workflows in domains I'm unfamiliar with, like collision detection
      * Finding someone's taste in music
    

Much of what I learned about programming was absorbing habits and handed-down
knowledge from coworkers. Live streaming lets you get that without the
necessity of making friends or getting hired somewhere. Sitting at someone's
desk and working with them is an experience I have to describe as intimate.

~~~
deepnet
Here is a twitchtv of Notch coding Ludum Dare 28, a complete WebGL and
Typescript engine and the final game - he made it seem easy - Notch is a great
teacher.

[http://www.twitch.tv/notch/b/487318324](http://www.twitch.tv/notch/b/487318324)

[http://game.notch.net/christmaschopping/](http://game.notch.net/christmaschopping/)

~~~
AlexeyBrin
_a complete WebGL and Typescript engine and the final game_

This is Dart, not TypeScript, thanks for the link.

------
dmarble
"There's a good half-century of research around high expertise development but
some of the most powerful and interesting has been greatly underestimated. The
short version: modeling, modeling, modeling. _If you want to develop high
expertise, spend time, lots of time, observing those with high expertise. If
you want to help others develop high, deep expertise, put them in a context
where they have as much exposure as possible to expert examples._ This could
be either examples of the work experts have done or, depending on the domain,
observing the experts as they do their work. The problem is, we let beginners
(and intermediates) spend way too much time being around mostly other people
who are also beginners. In the ideal, perfect, not practical world... everyone
would be surrounded only by those who are not just a little better, but with
very high expertise.

"The only catch — but this is a tough one for most of us — is that _this works
far better if the expert does not try to explain what they 're doing as
they're doing it. In most contexts, the learning is much more robust and
accurate and deep if the learner just... watches._ Without trying to
consciously analyze or ask for justification for every little decision.
There’s a time for analyzing the work of those with more expertise, but the
counter-intuitive research shows quite strongly that this is more likely to
reduce performance, of both the learner and—in many cases—the expert trying to
explain how they do what they do!"

Source: [http://www.cioinsight.com/it-management/expert-
voices/kathy-...](http://www.cioinsight.com/it-management/expert-voices/kathy-
sierra-serves-up-some-badass-advice.html#sthash.G4STVwmp.dpuf)

It'd be supremely awesome if companies like LiveCoding could convince experts
to live code from time to time. Would certainly pull in lots of visitors.
Might even be able to charge for that. Or get experts to record themselves in
the flow of work without a live audience, and make a library of such
recordings available. Might be a great addition to some EdTech company's
offerings.

~~~
BurningFrog
One of the major advantages of pair programming that I don't hear mentioned
much is that you get to learn how others solve programming problems.

I've never learned so much about programming as my first year on a pair
programming team. I taught those guys a few of my special tricks too.

------
minimaxir
It should be noted that Livecoding.tv is (YC S15).

Also, the article states there are "legions of coders" flocking to the site
but I can't find much evidence of that, if the Twitter account
([http://twitter.com/livecodingtv](http://twitter.com/livecodingtv)) which
tweets all live streams, is anything to go by.

At the least, if I wanted to livestream code, I would do it on YouTube where I
can stream 1080p60fps. (I'm also sore about Livecoding.tv's "you must log in
to watch videos" shennanigans when they first launched.)

~~~
mumphster
It really hasnt taken off and I dont really see it taking off either, its too
niche. Right now twitch has more programming streams on it between
[http://www.twitch.tv/directory/game/Game%20Development](http://www.twitch.tv/directory/game/Game%20Development)
and
[http://www.twitch.tv/directory/game/Programming](http://www.twitch.tv/directory/game/Programming)
.

I think my biggest issue though is that for a site that is focused on
programming having things like C/C++ (I think it was C/C++/C# at one time too)
be grouped together as categories and other weird minor things just makes the
whole site feel like its not really ran by people who are like.. actually
developers.

------
rcthompson
There's an author I know who does "live writes", which are essentially the
same as this but for drafts of prose (she does them via shared Google Docs).
There's definitely an attraction to watching the story take shape word by word
that goes above and beyond just reading the finished product. I can't quite
articulate it fully, but as an example, watching her write in real time lets
you see which parts are easy and which parts give her trouble, based on how
fast she writes and how much she deletes and rewrites things. I could easily
imagine the same holds for code. I'm sure I could learn more about both coding
and about the coder from watching them write a piece of code than by just
reading the finished code.

~~~
wtbob
> There's an author I know who does "live writes", which are essentially the
> same as this but for drafts of prose (she does them via shared Google Docs).

Who knew that Monty Python would so accurately predict the future? Their Novel
Writing skit is exactly this:
[https://www.youtube.com/watch?v=ogPZ5CY9KoM](https://www.youtube.com/watch?v=ogPZ5CY9KoM)

~~~
firebones
Harlan Ellison ofter wrote short stories in a storefront using ideas tossed
out by on-lookers. I'd love to see the programming equivalent, particular in
the game space. It'd go a long way towards settling the art versus science
debate--and I doubt there are but a handful (including Notch) who could
perform the kind of improv that someone like Ellison did in his medium.

~~~
kmill
Recently I attended a gathering where about ten people tossed out ideas for an
interactive fiction game as it was being live-coded in Inform 7. It was
surprisingly fun (and if we had a better grasp of the language it would have
been even more).

------
pavlov
To many people, there is a strange appeal in watching almost any monotonous
activity being performed by others. I don't know why.

My 3-year-old daughter likes to watch endless YouTube videos of surprise eggs
being opened. Live coding is not too different in spirit.

~~~
awongh
Apparently that person made 5 million dollars last year:
[http://fusion.net/story/38924/the-highest-youtube-earner-
of-...](http://fusion.net/story/38924/the-highest-youtube-earner-
of-2014-made-4-9-million-just-by-opening-disney-toy-packages/)

~~~
shostack
That was fascinating--thanks for sharing. Really depressing as well when I
consider I will never make that amount doing my day job :)

What I'm racking my brain on is three things:

1\. How are these videos getting around and who is the primary audience
watching them? Is it really children? Or is it the ASMR crowd who are just
sitting there entranced and racking up the video ad view count?

2\. What sort of video ads are generating the majority of revenue on these?
Hitting a child demographic might produce some juicy CPMs.

3\. How did they get started and get their first viewers? What sort of active
promotion do they do?

~~~
exodust
I know why you're asking those questions. We all want to earn millions from
doing little work.

Without a doubt I think luck is involved for these to go viral initially.
There's no magic formula. For every lucky multi-million viewer channel with
this sort of content, there's a thousand others who aren't so lucky no matter
how hard they try.

The perfect storm of internal and external mentions and sharing strikes the
right balance, propelling a few lucky channels above the foam to the very top.
Once there, all that's needed is to keep making those videos.

~~~
shostack
I actually have no plans to take a stab at the world of Youtube stardom--I'm
just not a performer in that regard.

I'm a senior digital media guy so I'm more curious about it from an
advertising/audience/CPM standpoint TBH.

I understand luck is a large factor, but the barrier to entry for this seems
to be pretty nails, a soothing voice, and the ability to film yourself opening
a box of kids toys and putting them back in. The more interesting part of it
is the marketing side frankly, which entails how they built their viewership,
what they do to actively promote it, etc.

------
finnn
Went to check it out, all content is in flash. This is 2015, flash is no
longer acceptable, especially on sites where the target audience is tech
people. Hey at least they have TLS

~~~
gtremper
There's no real alternative to flash at the moment for live video. Youtube
only recently switched from flash for live video for chromo/safari and still
uses flash on Firefox.

~~~
jononor
Stream with 10-30 seconds delay, use <video> element?

------
jeffreyrogers
If this sort of thing interests you (or even if you think it is totally
ridiculous) you should definitely check out Handmade Hero[1], which is a
livestream of a game's development. My own programming skills have improved
from watching Handmade Hero as I've picked up some new techniques (and shed
some bad habits as well).

[1]:
[https://www.youtube.com/user/handmadeheroarchive](https://www.youtube.com/user/handmadeheroarchive)

~~~
DarkTree
I can never imagine having as much knowledge of any programming language as
Casey does. After only programming for a year now, it blows my mind that
anyone can know _and explain_ programming as well he does.

~~~
swah
He is very familiar with the compilers too.

~~~
w0000t
Can you name the those compilers?

~~~
swah
He works on VS2013 on Windows, and LLVM+GDB+QtCreator on Linux, IIRC. He has
also commented on the "involution" of Visual Studio in the last years, making
it difficult to the user to ship a standalone executable.

(He has praised Turbo C several times - probably his favorite environment in
the 90's, never matched these days in some ways... )

------
mactitan
"Back in the day" as a hobbyist, after staring at the crt someone exclaimed
"well do something!" I was quite amused. I recall a story where the idle bill
gates had to tell (mom?) " i'm thinking". The best is Feynman recount of
debugging a radio circuit where the awed owner tells someone "he fixes radios
by thinking about them!"

------
Pyxl101
Is this a paid advertisement or an organic article? Is there any way to tell
with such things, in general?

I am wary of reading a "submarine" and not knowing it:
[http://www.paulgraham.com/submarine.html](http://www.paulgraham.com/submarine.html)

There's nothing wrong with paid content, if that's what it is, but there ought
to be a way to distinguish paid from organic content. One thing I do like
about traditional journalism is the attempt to separate "journalism" and
"opinion", and the attempt to maintain high integrity in the former.

With everything moving online and into arbitrary structures, it's difficult to
know what I'm reading. I don't want to suspect that everything I read is
secretly a paid advertisement or involves some kind of kickback, but an
article that's biased so strongly in favor of its subject and presents no
alternative views, not even for the _appearance_ of some degree of
impartiality, reads like an article that was written around a predetermined
conclusion. Which again is OK, but I want to know what type of content the
page I'm reading alleges itself to be.

------
hellbanner
Wish they supported HTML5, I've heard bad things about Flash

------
namero999
Shameless plug, but definitely on topic... I recently got hooked into "watch
me code" kind of thing. It triggered the same braincells that are activated
when I am coding. Thinking what's next, shortcuts, etc... A sort of powerful
"loud thinking". I decided to give it a try to sit on the other side of the
desk, and this is my weekend project
[http://willcodefor.pizza](http://willcodefor.pizza)

The pricetag has multiple reasons, gauging real interest and seeing if maybe,
eventually... it would make sense economically to move to tutoring full time
(thing that I would enjoy).

~~~
saiprashanth93
this looks very interesting. please share the results of this experiment after
you finish teaching a batch of students. Good luck!

------
Jun8
I think this is missing the point: Watching people do a niche activity will
only find a niche audience. However, the appeal may be exponentially increased
by bringing in the human factor and antagonism. Good lessons could be learned
from poker coverage on ESPN, once thought to be a ridiculous idea (who really
knows that much poker, who really cares about people sitting around, etc.),
now it's a huge hit
([https://en.wikipedia.org/wiki/Poker_on_television](https://en.wikipedia.org/wiki/Poker_on_television))

------
melling
How about watching designers? I'd like watch some great mobile or web
designers working through their process.

~~~
blhack
Here you go
[https://www.youtube.com/watch?v=zOPA0NaeTBk](https://www.youtube.com/watch?v=zOPA0NaeTBk)

He starts designing around 6:30.

~~~
melling
Thanks. The the design starts well before that. He gets on the computer at
6:30. I'd like to see more of the sketching and talking through it too.

~~~
blhack
I'm sorry, you're right. He starts designing on his notepad, which is really
important.

What I meant was that he started using the computer at 6:30, which is very
interesting to watch, because he's very quick with illustrator.

------
meatysnapper
I can just see it... Twitch, but for coding. Bring on a tech celebrity for
some color, and have a regular commentator and just mock the programmer for
their "poor java style".

~~~
jules
Presumably twitch works just fine for it. The software doesn't really care
whether it's streaming IDE pixels or game pixels.

~~~
ssalazar
Theres more to it then that, like community, how to find/organize streams, and
promotion. If it were just about pushing video there wouldn't be twitch.tv, it
would be ustream or twitch's predecessor justin.tv.

------
leni536
I think the point is that if you just browse a code base to learn you lose
much of the timing information. Even if you examine the commits you can't
really predict how much time it took to make a certain change and most though
process is probably lost. Also it's common to squash smaller commits before
push so it makes one, but consistent commit.

I don't argue if there is any value in this, but there is certainly plus
information following the thought process of a programmer. The parts that
takes longer to write emphasize harder and more thought out modifications for
example.

>Unlike Twitch, Livecoding automatically archives every stream, which means
that it’s quickly accumulating an extensive video library — although, right
now, it’s not terribly well organized.

Organize live sessions by commit somehow. I guess only open source developers
stream anyway (I couldn't try the site, I don't have Flash) and if they could
easily or even somewhat automatized could tag live sessions or parts of live
sessions by commit hash it would be really nice. Imagine browsing a codebase
in git, looking at some seemingly odd code and thinking "what was the thought
process of the guy who wrote this?". Then you make a git blame, then enter the
commit hash to search on livecoding, maybe the guy has the session up there
and you can get more info.

------
markm208
I think the 'live' part of streaming might introduce a high noise factor.

What if the programmer could finish a programming session and then go back and
see exactly what they have done and reflect on it? What if they could
highlight just the interesting parts and leave the uninteresting parts on the
cutting room floor? What if they could supply a reflective narrative
describing how and why the code evolved? I think these types of experiences
would provide more valuable learning experiences than the typical live code
stream.

This is what I am trying to accomplish with my project called Storyteller:

[http://www.storytellersoftware.com](http://www.storytellersoftware.com)

There is a longer video demo here:

[https://vimeo.com/97711978](https://vimeo.com/97711978)

(Earlier in the life of the project I also emphasized the tool as a version
control tool/replacement but I am backing away from that for the time being)

------
andrewchambers
I think people like watching game programmers. I'm writing a compiler at the
moment and wonder if I could get any audience.

~~~
klibertp
I can't bring myself to watch those videos precisely because they are about
coding games. I would totally watch coding a compiler though. I wonder how
strange am I?

------
heydonovan
I love watching other people code! As a viewer, you get to see the mistakes
people make, their frustrations, and spur-of-the-moment thoughts. They are way
more entertaining than video tutorials. The same people that don't like to
watch Twitch streams, probably don't like watching others code.

------
jlarocco
I'm not trying to be snarky, because apparently people are watching, but I'm
curious who the audience is?

As a coder I have almost zero interest in watching other people code. I'll
read through the end result, but watching somebody type it in? What's the
point?

~~~
coley
I never understood the appeal until I started watching Handmade
Hero([https://handmadehero.org/](https://handmadehero.org/)). I had always
wanted to learn about C, but if you don't have an idea of your own, it can be
difficult to put what you learn into practice. Casey Muratori did a great job
of explaining why he was doing things certain ways and went even deeper to
explain the underlying concepts.

I don't see very many live broadcasts on livecoding.tv at the moment, at least
none that interest me, but I think I'll be checking back somewhat frequently
to see if I find something worthwhile to me.

~~~
verystealthy
Great tip, thanks! I'm really enjoying watching these. Any other resources
like this that you would recommend?

------
eonw
honestly, it has no appeal to me and it blows my mind why anyone would find it
fascinating... but what do i know, when twitter came out i thought no one
would use it either.

------
RobotCaleb
I just did a five hour session the other day. When I do stream, I stream at
[http://watchpeoplecode.com](http://watchpeoplecode.com). I really like the
low latency on it. I am able to interact with the audience via text and/or
voice chat in nearly realtime with the code I'm writing.

I record my streams and upload them to youtube after. I find it helps me to be
productive, meet other people, and share my joy in creating.

------
plg
Live coding is spectacularly good when teaching. I teach a graduate course in
scientific computing and one of the most effective ways that my students learn
how to attack a problem, how to debug a program, how to get started when there
is a blank screen facing you, is to watch a skilled coder live-code.

------
patrickk
[https://www.reddit.com/r/watchpeoplecode](https://www.reddit.com/r/watchpeoplecode)
is a good resource too, and it's got over 10,000 subscribers.

------
karmapolice
Liveaccounting.tv When?

------
agumonkey
Weirdly reminiscent of
[http://www.paulgraham.com/hp.html](http://www.paulgraham.com/hp.html)

------
sengork
The real educational benefit to this is seeing other people's workflows and
how their components could complement your own workflows.

------
serve_yay
Wow, I could not agree any less in terms of appeal.

