
Show HN: Watch People Code - eatitraw
http://www.watchpeoplecode.com/?src=hn
======
zw123456
This brought back a memory from the way back machine. Back in the early days
of computers, many of them like the C64 or TRS80 (circa 1985-ish) had an
option to use a TV as a monitor to save money. I recall that I had a Trash 80
and it was hooked up to the TV with a cable splitter in a spare bedroom. There
were a number of relatives and friends visiting and myself someone that shared
my love of computing were in the there programming away, and really
programming, we are talking assembler here. And after a couple of hours we
came down to the living room and everyone had the TV on channel 3 and everyone
was watching us (I did not realize the splitter was broadcasting throughout
the cable in our house). I guess there was nothing better on back them before
cable had 100's of channels. It was interesting to hear the non-programmers
questions and comments about what we were doing and really how much they had
actually picked up on.

------
npongratz
Along these lines, I recently started watching (and enjoying!) Casey
Muratori's _Handmade Hero_ , "an ongoing project to create a complete,
professional-quality game accompanied by videos that explain every single line
of its source code."

[https://handmadehero.org/](https://handmadehero.org/)

~~~
krapp
I have too.

I've only made it to week 10 but i've already learned a huge amount in a short
amount of time (and only had to completely abandon my own code and start from
scratch from the archived version once so far.) It's fun (and insightful) to
watch half the comments disagree vehemently with something Casey said that day
(const is useless? what?)

------
sinatra
This may be a good place to ask this question -- I think I saw a website which
had videos of how well-respected experts write projects from start to finish.
So, if I were interested in learning how experts in golang write a web-service
end-to-end (design, DB, write, test, deploy, debug), I could watch those
videos and learn the right(ish) way to write a web-service in golang. I'm sure
I'll learn a few other things too (like how they replaced a block of code in
vim in 4 keystrokes where it would have taken me 12). Does anything like that
exist? If not, then that sounds like a fantastic opportunity to me.

~~~
isbadawi
PeepCode did this with its Play by Play series. They were acquired by
PluralSight, and the series is still going on there [0].

[0]:
[http://www.pluralsight.com/search/?searchTerm=play%20by%20pl...](http://www.pluralsight.com/search/?searchTerm=play%20by%20play)

~~~
sinatra
This is it! Thank you!

------
iamwil
Recently, I was amazed at how fast one of our devs were. When trying to see
what made him so fast, it was a combination of being very good at reading code
and understanding the underlying structure of the code, and also he was very
fast with his editor. I could barely follow what he was doing as he was
tracing his way through the code.

Watching him work as we were discussing an architecture made me more inspired
to type faster, learn my tools better, and get better at reading code.

~~~
japhyr
You might enjoy watching a few episodes of _Emacs Rocks!_ The guy who does
them is pretty cool to watch as far as knowing your tools well. Even if you're
a vim user, you'll probably appreciate how well he uses emacs.

[http://emacsrocks.com/](http://emacsrocks.com/)

~~~
nazgob
Emacs Rocks is great, almost got me converted ;) For a vim guys I can
recommend watching 'Destroy All Software' by Gary. He's a master of his tools
and pleasure to watch.

~~~
olalonde
[http://vimcasts.org](http://vimcasts.org) is also a great resource for vim.

------
eatitraw
After ~60 minutes of random debugging in production. If anyone noticed any
weirdness(like a lot of repeated streams / streams disappearing) -- we're
sorry. Looks like everything should work now.

Just a bit of technical details for curious: twitch streams are painful to
deal with. Twitch channel != youtube channel. Twitch channel is akin youtube
video(or stream) but with offline/online status. Mapping "online/offline"
statuses into proper upcoming/live/completed statuses isn't straightforward.
Differentiating between different "streams" is also difficult(i.e. user
streams twice on two different days, but the link stays the same).

Also, twitch api often returns 5XX errors.

Bug reports are welcome here: avp-13@yandex.ru

Also, if you want to be notified about upcoming streams, then you can
subscribe to
subreddit([http://www.reddit.com/r/WatchPeopleCode](http://www.reddit.com/r/WatchPeopleCode)),
subscribe on the website, or follow
[https://twitter.com/WatchPeopleCode](https://twitter.com/WatchPeopleCode).

------
contingencies
I offer these quotations from well known figures as a mental antidote to the
'churn things out fast' / 'learn all the editor shortcuts' mentality being
promoted throughout some of the comments.

 _The real hero of programming is the one who writes negative code._ \- Doug
McIlroy

 _You 're not to come up with a simple design through any kind of coding
techniques or any kind of programming language concepts. Simplicity has to be
achieved above the code level before you get to the point which you worry
about how you actually implement this thing in code._ \- Leslie Lamport

 _Use tools in preference to unskilled help to lighten a programming task,
even if you have to detour to build the tools and expect to throw some of them
out after you 've finished using them._ \- Doug McIlroy

... from my _fortune_ clone @
[https://github.com/globalcitizen/taoup](https://github.com/globalcitizen/taoup)

------
k-mcgrady
OT slightly: Why do some YouTube embeds (including the one on this site) not
contain a full screen button? It drives me nuts. Especially here as to
actually see what's happening full screen is essential. The only way to get
full screen is to click the YouTube button to actually go to YouTube and full
screen it from there.

~~~
eatitraw
What stream were/are you watching? Also, what is your OS/browser? I checked
"Instruction Set Development - Part 5" and there is full screen button(Mac OS
X, chrome/firefox).

~~~
k-mcgrady
Just clicked: "Building a Search Engine -- Season 2 episode 1" and no full
screen option. I'm on Safari on OS X 10.10.3

~~~
eatitraw
Thank you! I'm going to investigate this. I have OS X(although 10.10.1), but
I'll I can update my Mac OS X'.

I hope there is a way to force youtube to have full screen option.

------
rottyguy
Side question: I'd like to stream some audio content to a few 1000 people
(24/7) and wondered if anyone knew (back of the envelope) what the cost model
for this would look like? Assuming it's just bandwidth unless I go p2p... Just
trying to understand the current lay of the land as I remember the youtube
guys were paying $$$/mo for bandwidth when they first started. Thanks.

~~~
nitrogen
If you don't stream video, you can use something designed for audio streaming
like Icecast[0]. Then your bandwidth per month is approximately
users×bitrate×60×60×24×30/8/1000000000\. For 1000 people at 128kbit/s, that
would be 41.472GB/mo, which you could pay for with $5.

[0] [http://www.icecast.org/](http://www.icecast.org/)

~~~
voltagex_
I wonder if Opus is being used in production anywhere yet. For some content
you could get away with 48kbit or less, which would cut the costs
dramatically.

~~~
nitrogen
It's used by Mumble[0]. It definitely sounds great at lower bitrates.

[0]
[http://wiki.mumble.info/wiki/Main_Page](http://wiki.mumble.info/wiki/Main_Page)
and
[http://wiki.mumble.info/wiki/FAQ#What_makes_Mumble_better.3F](http://wiki.mumble.info/wiki/FAQ#What_makes_Mumble_better.3F)

~~~
rottyguy
Looks like Icecast supports Opus too

"Icecast is a streaming media server which currently supports Ogg (Vorbis and
Theora), Opus, WebM and MP3 audio streams."

Thanks everyone. Absolutely what I love about HN.

------
rglover
This is interesting!

While I think it'd be difficult to _fully_ learn how to implement something
from this (read: tedious), I do see it as a cool way to learn how other people
think about and solve problems. If it means anything, I watched a good five
minutes of the guy working on the Arduino code without thinking about turning
it off.

~~~
petercooper
I watched notch develop Prelude of the Chambered over a livestream a couple of
years ago. It took a couple of days, but I picked up so much (I went on to
port it to Ruby, bizarrely).

------
Udo
I like this idea! Having the option to watch people code their games live is
also a feature I enjoy on the Ludum Dare site. I often tune in to Twitch
channels to watch people write code, only for a few minutes mostly, but it
does make me feel connected and sometimes there are interesting things to
discover.

I'm less sure about your choice of data source, though. /r/WatchPeopleCode is
fine if you're already active on Reddit, but given the fact that people need
to actively register there means you're missing out on a lot of programming
streams.

In my opinion it would be a better idea to automatically pull a list of
programming streams from Twitch, Youtube, and Hitbox just using the
appropriate key words.

------
endergen
I'm more concerned that twitch.tv is already good and has it's own culture
developed for this. Unless some extra meta data type stuff is added like which
language, which subjectd, which editors, which techniques etc are added in a
very useful way.

~~~
eatitraw
> I'm more concerned that twitch.tv is already good and has it's own culture
> developed for this.

Twitch is ok, but it is against ToS to stream non-gamedev programming. These
rules aren't enforced strictly though.

VOD support for twitch sucks. Personally, I prefer my videos not getting
deleted after 14 days. So that's why I stream on youtube.

As for the other stuff, we have a few ideas(most of them vague). One of them:
auto speeding up "boring" parts of videos(e.g. silent thinking) in recorded
videos.

------
fallenhitokiri
I wonder if there is an viable alternative to YouTube. I find the idea
intersting and could see people gaining something from watching others code,
but sadly live streams are yet another thing I cannot use without a proxy.

There seem to be legal problems with them in Germany or is it some European
law and other countries are also blocked? Does anyone know what exactly the
problem is? Just potential copyright infringements from audio in the
background e.x.?

~~~
eatitraw
> There seem to be legal problems with them in Germany or is it some European
> law and other countries are also blocked?

It is a stupid law in Germany. :(

[https://productforums.google.com/forum/#!topic/youtube/qLbjw...](https://productforums.google.com/forum/#!topic/youtube/qLbjwfP9_IU)

"Because of the German law (RStV), you must have a broadcast licence from the
media authorities when you make a live stream that can reach more than 500
people at the same time. Not getting one would result in a fine of up to 500
000€. However, even if you would have one, Google might need one as well
(because they somewhat are the "television channel") and they don't have one
(if you do stuff that is against German law in your live stream, Google would
lose its licence because of you)."

~~~
zaroth
The question in that thread is a good one, and unfortunately not actually
answered. What defines 'live stream'? Obviously basic sharing of non-
commercial recordings cannot require a license.

~~~
nitrogen
_Obviously basic sharing of non-commercial recordings cannot require a
license._

I seem to recall reading that the German audio royalties law forced streams to
pay royalties to the industry association (RIAA equivalent) _even for creative
commons music_. I could be misremembering or misinterpreting, so if someone
could provide an up-to-date reference it would be appreciated.

------
alexisnorman
The feedback on these streams makes this a really incredible idea. I just
watched one where users were constantly noticing syntax errors, etc. and
alerting the dev in real time of them. A few people on these streams are
learning languages (like Lua) for the first time and powering through these
projects with aid from viewers/commenters. Love it.

------
neovi
Would it be better performance wise to get the Twitch.tv/YouTube/etc. summary
of what they're showing and present that first, and if you're interested to
click on the summary then you can load the video? Loading all of those videos
at once is pretty heavy, at least for my mbp.

~~~
s9w
Yeah this is quite a problem - I'm puzzled how there aren't more comments on
this. This page brought my PC almost to a complete halt for 20 seconds or so.
On newest FF and Chrome!

~~~
eatitraw
Sorry about that, we were probably having some issues with twitch streams:
[https://news.ycombinator.com/item?id=9018638](https://news.ycombinator.com/item?id=9018638)

------
nsgi
Apparently it's possible to embed a HTML5 Twitch player instead of Flash.
Would it be possible to use this?

[http://discuss.dev.twitch.tv/t/html5-embedded-
player/150/3](http://discuss.dev.twitch.tv/t/html5-embedded-player/150/3)

~~~
eatitraw
Thanks! This is interesting, although it looks like there is/was an issue with
autoplay attribute. I'm going to test this tomorrow.

------
nacs
Another great place to find dev streams (game developers):

[http://www.twitch.tv/directory/game/Game%20Development](http://www.twitch.tv/directory/game/Game%20Development)

------
nirkalimi
I like this idea. It isn't the most common thing to shadow someone while they
code, you can learn a lot from how people "flow".

The site can be a lot better. I think it has potential if curated properly.
I'd watch.

+1

------
properpenguin
I don't understand how this adds more value than the other places on the web.
A blog, tutorial video, stackoverflow post, book, etc will provide more
knowledge in less time than watching someone real-time code and step through
the software writing process. I understand the game channels on twitch provide
entertainment, but don't see how this will catch on widely. Would love to hear
others thoughts.

~~~
hcarvalhoalves
It might be interesting to see the thought process, mistakes and debugging.

~~~
endergen
What you said.

------
Sir_Cmpwn
I put up a stream for a few hours. It went well! I didn't think anyone would
enjoy it but it looks like I'm expected to do it more now :)

------
devbootcamp
I think people would pay good money to learn from great programmers over
something like Webex where you could follow along and also ask questions.

~~~
nitrogen
Air Pair ([https://www.airpair.com/](https://www.airpair.com/)) is one example
of such a service that was mentioned at last year's Railsconf.

------
michaelsbradley
You can also watch folks code with Floobits:

[https://floobits.com/active](https://floobits.com/active)

------
raju
This looks nice! Nice job.

I am using my iOS device so maybe I missed it - but is there a way to search
for a particular language?

~~~
iff
Not yet. It'd be a nice feature, so we'll probably add it soon.

------
facepalm
Live streaming not available in Germany due to rights issues. Background
music, or what is the issue?

~~~
eatitraw
Stupid law in Germany(regarding broadcasting):
[https://productforums.google.com/forum/#!topic/youtube/qLbjw...](https://productforums.google.com/forum/#!topic/youtube/qLbjwfP9_IU)

~~~
facepalm
Bummer, didn't know about that. Really silly law.

------
thykka
Well, this was kind of fun! I just finished streaming 6 hours of UX
development. Didn't expect much of an audience, but in the end there were over
a hundred viewers (I bet most came via HN). I'll definitely be doing this
again soon :)

------
NietTim
OH! I very much like this!

------
castell
It's like from the _Antitrust_ (2001) movie.

------
redstripe
Love it. I hope this gets popular.

And sort of sad because people seem to be able to do more then 10 minutes at a
time without alt-tabbing to HN or lolcats for pointless distraction.

