Hacker News new | past | comments | ask | show | jobs | submit login
The Strange Appeal of Watching Coders Code (medium.com/backchannel)
161 points by steven on Aug 19, 2015 | hide | past | favorite | 83 comments



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.


I really enjoyed watching Notch code (not all coders are so entertaining!) I wrote a blog post about it a few years ago: http://www.mrspeaker.net/2011/09/15/code-like-youre-notch/ It inspired me to get into game dev, which I'm still doing (for fun) now!


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://game.notch.net/christmaschopping/


a complete WebGL and Typescript engine and the final game

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


By the way, that contest will be held again this weekend: http://ludumdare.com/compo/


For anyone interested twitch.tv (live streaming website) has a section for programming[1]. Twitch archives all past videos so be sure to check those out as well.

The game development section often has good programming related content as well.

[1]http://www.twitch.tv/directory/game/Programming


I love having streams of coding open while working. It makes me type faster (I think). Sound is off though.

https://www.youtube.com/watch?v=y71lli8MS8s


"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-...

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.


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.


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) 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.)


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 and 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.


While this is a great service...how is it making money? And could I make money by live casting my coding?


> Also, the article states there are "legions of coders" flocking to the site but I can't find much evidence of that

Possibly an instance of http://www.paulgraham.com/submarine.html


I'm able to watch livestreams on livecodingtv without registering


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.


> 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


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.


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).


If only this link still worked: https://news.ycombinator.com/item?id=557191


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.


Apparently that person made 5 million dollars last year: http://fusion.net/story/38924/the-highest-youtube-earner-of-...


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?


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.


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.


>The highest YouTube earner of 2014 made nearly $5 million

>Related: A Swedish YouTube star made $7.4 million last year by playing video games

Now I'm not a mathematician, but something seems off here...


Presumably it just means that not all of that $7.4m came from Youtube itself, while all $5m of the previous number did.


It could also be that the $7.4m came from another year.


I'm guessing that has more to do with the novelty factor. Small children fall prey to those types of psychological tricks quite easily... I'd really think twice before letting a toddler on the internet.


I agree, but the thing is, I'm not sure adults are all that different.


I think that's true, certainly to a degree: Perhaps the subject matter is a bit more detailed (or unusual) but at a higher level it's not much different.

I can't tell you how many hours I've wasted in the evenings watching things on Youtube that are probably a waste of time but I find fascinating nevertheless. PilotsTubeHD is a fun channel for watching pilots doing their thing. I also can't stop watching bosnianbill's endless lock picking videos. Maybe there's something wrong with me. :)


That sounds like a 3yr old version of csgo crate opening, which is the expensive digital equivalent, yet often takes over the csgo stream section of twitch.


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


God damn it, at least giev some stream url for my phone to take a crack at... Flash should be fallback, not an requirement.


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.


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


Tried to load the site on my phone, saw the flash error, thought "oh yah, this is definitely a platform for developers... not"


Agreed, I'd really want to check this out, but the flash requirement prevents me..


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


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.


That is a pretty naive point of view. That amount of know-how, and I'm assuming he knows much more that has presented, is normal for someone who has been programming for 15+ years straight.

If you find yourself still seriously programming after a few years, try evaluating this position then.


ha I actually had typed out a sentencing saying, "this may be just my naivety since I'm inexperienced.." but deleted it but yeah I'm curious if that point will ever come for me.

Still I think in my position I am qualified to say that Casey is exceptionally good at explaining programming.


Yeah, it's been really amazing to watch. Plus you can really see how passionate he is about it, which is also a wonderful thing.


He is very familiar with the compilers too.


Can you name the those compilers?


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... )


"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!"


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

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.


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


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

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).


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


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)


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


Here you go https://www.youtube.com/watch?v=zOPA0NaeTBk

He starts designing around 6:30.


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.


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.


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".



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


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.


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.


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

There is a longer video demo here:

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)


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


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?


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.


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?


I never understood the appeal until I started watching Handmade Hero(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.


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


I find that it's a interesting viewpoint when trying to learn to code through self-taught courses/guides.

It's difficult to get a feel for what you're supposed to be doing from reading a book/blogs/whatever. So it's interesting to see how programmers actually work while coding. Do they stop and jump around? Do they consult documentation a lot? How do they comment? Those sorts of intangibles/questions that guides don't really seem to touch on.


Part of the appeal is to see how the mind at work.

Another is a dose of inspiration to get myself moving.


I think everyone is somewhere on the 'spectrum'. And each one of us has a unique way we learn best. Some people can listen to lectures in a university, go home and ace the assignment. Others can sit through 100 lectures and learn nothing, but then read an algorithm textbook chapter, ace the assignment. Some people can listen to thousands of lectures, podcasts, read hundreds of algorithm textbooks, but if they never actually program an implementation it just won't stick in their brain.

I think the appeal of watching people code is for people who learn best by example, with visual/audio/story-line cues as reference for learning. Humans love story telling and if a code-caster can weave their coding with their dialogue about how they are going about their tasks, the result can be some pretty powerful learning juice for the brain. YMMV!


> ...watching somebody type it in?

Since when is the act of programming merely typing something in? The reason it's interesting is precisely because programming is a puzzle and watching another person solve a puzzle can be very edutaining.


This is why I love bisqwit's videos on YouTube. He takes a middle ground between "typing it in" and pondered narration. The typing effect is sped up and faked and done at just the right speed to 'follow along' with his thought process. Example: https://www.youtube.com/watch?v=HQYsFshbkYw


I've watched the occasional bits and pieces of Ludum Dare streams (48h game design/programming competition). Games are something I don't have much experience with, so it was interesting to see how they approach it, how the tools and frameworks look like. I dislike video tutorials, but seeing someone work with it made more sense to me. But I didn't watch long segments, but kept the stream open and checked every now and then what they were doing and if it was interesting watched for a while.


To see and learn how people work, possibly learning how to do stuff better yourself.


Just a guess: maybe it's like going to a co-working space. You aren't necessarily watching them work, they're just there in a window keeping you company while you do your work.


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.


I just did a five hour session the other day. When I do stream, I stream at 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.


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.


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


Liveaccounting.tv When?


Weirdly reminiscent of http://www.paulgraham.com/hp.html


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


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




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: