Not yet streaming: A goldfish writing perl
February 20, 2015 12:36 AM   Subscribe

Watch People Code is a site where you can watch livestreams, as well as browse an archive, of people programming in real time.

Why? From a Vice interview:
"We're kind of puzzled that it took off this fast, but it's not boring. Streamers provide commentary about what they're doing, and there's always a lot of stuff going on in the chat," Alexander Putilin, the Russian programmer working on a search engine told me. "And, as a streamer, I've actually learned from some of the viewers who asked me a question about what I was doing or who offered helpful advice."
Previously and previously on offbeat livestreams.
posted by frimble (26 comments total) 31 users marked this as a favorite
 
*looks at the title of the post*

*looks at her fish*

OH SHI--
posted by Katemonkey at 12:45 AM on February 20, 2015 [1 favorite]


This is fascinating, it could be a great learning tool. I would be a little uncomfortable joining due to the confidentiality implications with the code I'm currently working on - it's not open source - but would otherwise love to help novice programmers expand their debugging skills and profanity vocabulary.

Also post title wins one Internet.
posted by Dr Dracator at 1:02 AM on February 20, 2015


Hey! As a goldfish, but more so a perl developer, i take offense at this post title... Well, not really. Great idea though.

perl -E'$code="say\"...ooO-Blup: \$code\";sleep(int(rand(5)))";for(;;){eval $code}'
posted by lawrencium at 1:23 AM on February 20, 2015 [2 favorites]


Watch People Code inspired me to do a little test, broadcasting on YouTube while I pretended to make some changes to my natural language drone interface: https://www.youtube.com/watch?v=kJSefPtwhu0

I hadn't realized there's a whole ecosystem of tools for producing these things! On the free side you've got Open Broadcaster Software, or you can spend $1000 on Wirecast Pro with 3D virtual sets and all sorts of other extras.
posted by jjwiseman at 2:11 AM on February 20, 2015 [4 favorites]


For those interested in something like this with an explicit gaming bent, I really recommend Handmade Hero. A guy that's worked in the game industry for 20-something years is programming a game from scratch an hour at a time (plus a bit Q&A) five days a week. Preordering the game gets you access to nightly uploads of the codebase, but even without that, watching him go through everything and explain his thought process is fun.

He's a few months in at this point, but the youtube archive is free for anyone who wants to watch, and for people who don't know much about C/C++ there's a few "crash course" videos that at least do a little bit to prepare you for what Casey starts doing in the series proper.
posted by sparkletone at 4:31 AM on February 20, 2015 [5 favorites]


Paint drying has met its match!
posted by Thorzdad at 4:44 AM on February 20, 2015 [14 favorites]


Of course there are no fish there. Dolphins are mammals.
posted by mccarty.tim at 4:46 AM on February 20, 2015


This is the best thing since watching bread get sliced.
posted by oulipian at 5:03 AM on February 20, 2015 [7 favorites]


I have done too much pair programming to ever want to watch something like this.
I have done too much pair programming.
posted by Foosnark at 6:13 AM on February 20, 2015 [1 favorite]


But why would people want to watch me in the bathtub? Or out for a walk? I mean programming doesn't really happen at a glowing rectangle for me that is just where I type...
posted by mrgroweler at 6:16 AM on February 20, 2015 [3 favorites]


Would be 10000x more entertaining if it was "Watch People Maintain Legacy Code".

"Why is there a switch on a boolean, and why are there FOUR CASES FOR IT. WHO DOES THAT?"

"Oh, this works on sql server but not oracle what a goddamn surprise."

"The catch block contains only the comment //1-13-02 TODO: exception handling. I am going to hunt down the developer who wrote this class and launch him into the sun."
posted by specialagentwebb at 6:50 AM on February 20, 2015 [30 favorites]


"Why is there a switch on a boolean, and why are there FOUR CASES FOR IT. WHO DOES THAT?"

It's taking into account the four possible values for a boolean: true, false, false-y, and null.

Why yes I am a PHP developer; why do you ask?
posted by surazal at 6:54 AM on February 20, 2015 [3 favorites]


I'm actually surprised that perl has no goldfish operator. Spaceship, inchworm, eskimo-kiss, sure...
posted by pseudocode at 7:05 AM on February 20, 2015


One of my colleagues at Mozilla has recently started live-streaming Firefox coding, though not on watchpeoplecode.com. And Mozilla's art director has streamed several illustration sessions.

Goldfish writing Perl? I thought they were all blub programmers.
posted by mbrubeck at 8:14 AM on February 20, 2015


As someone going through making his *ahem* first release(d/able) game (as opposed to the too largely scoped 1st game and the boring, non-mind catching 2nd game prototype), I've learned a lot over the past few years, but moreso, I think watching this might be interesting, if they have decent commentary.

I do enjoy tutorial videos done well, but those are more prepared and scripted, whereas this seems like, if it's more agile, off the cuff and flexible in seeing what happens in the real world in terms of problems that arise.

It also means I can work towards making myself feel like crap when I see awesome coders doing awesome things while I have to look up shit for every tiny thing. (Or perhaps the inverse and these are lies I tell myself, and all programmers suck and it's a hard, thankless task. I keep reminding myself that this is the real case, but it's hard, sometimes to not feel like I'm the idiot slogging through uncharted terrain with every single line of code (or function or whatever), no matter how simple it may seem on the surface).

I don't draw code, I scribble it. I guess that's sorta what agile is, but I feel like pros are better at that process. They don't scribble, they sketch.

Old school Mainframe programmers drew and painted complete works.

Actually I think it would be fun as hell to see someone programming on punch cards, for really old systems, simulating the process of batch program processing and then receiving the results the next day and debugging, etc... And by fun, I mean, in a schadenfreude sort of way :P
posted by symbioid at 9:31 AM on February 20, 2015 [1 favorite]


I think one of the most valuable aspects of this sort of thing is being able to see exactly how people use their tools, with no possibility of editing. How they recompile/reload, re-run tests, refactor, make specific types of edits, debug, all that sort of stuff. Just talking about the editor alone, I've been coding in emacs for over 20 years but despite that, and occasionally because of that, I'm sure I'll learn new tricks that make me more powerful and more efficient with it.

There's a difference between reading about some particular workflow or technique package (and maybe even trying it and not really getting it) and seeing someone use it as part of a practiced part of their work. And I think there's specific value in seeing it in this kind of context, vs. in a tutorial video or a "livecoded" performance, which have different goals and constraints.
posted by jjwiseman at 10:27 AM on February 20, 2015 [3 favorites]


Would be 10000x more entertaining if it was "Watch People Maintain Legacy Code".

A drinking game for more than just the people watching...
posted by sparkletone at 10:51 AM on February 20, 2015 [1 favorite]


"A goldfish writing perl" explains a lot of the shit I see on GitHub.
posted by clarknova at 10:56 AM on February 20, 2015


Watch Me Test, sessions 1 through 100: I bet they didn't check the back button... CRASH!... Yep.
posted by underflow at 11:23 AM on February 20, 2015 [1 favorite]


God damnit I want to learn to code so badly but no matter how many CodeAcademy or Khan Academy or W3 schools things I check out I just can not make myself interested or stick with it. I am able to build a html website that looks like it's from 1999 and that's about it. It would be a text doc and be entirely Times New Roman on white background and it would have a bunch of those dancing 7 up dudes from 20 years ago. I wouldn't even know how to get it live.
posted by windbox at 11:59 AM on February 20, 2015 [1 favorite]


Am tying to take a nap. This will help! Thank you!
posted by harrietthespy at 12:29 PM on February 20, 2015


Watch me lean back in my chair thinking, and occasionally checking Metafilter!
posted by fnerg at 12:47 PM on February 20, 2015 [3 favorites]


Seconding Handmade Hero. Not only do you see someone code, but he describes his thought process in detail. Even for someone who knows what they are doing programming-wise, you can learn a lot of new perspectives just hearing his thought process.
posted by smidgen at 2:20 PM on February 20, 2015 [1 favorite]


I think, windbox, if you want to code, and want to do it so badly, one of the key elements is first, to figure out WHAT you want to program. And find something small and simple, not some huge massive project (see my post above about my 1st project attempt that was scoped way too large).

But I don't even mean, necessarily "I wanna make a game that does X, Y, Z" or "I want to design a spreadsheet based music generator" or something that extreme.

I mean, what FORMAT do you want to program in? I think to start out it's best to do something that's small and script-y.

HTML works, but... Frankly, I fucking HATE HTML. I hate the DOM. CSS I can kinda sorta live with, even though it's janky as all hell. But trying to program HTML (if that is what you've been trying to do) is nowhere near the same thing as doing something like a python script or even C or C# (or Java)

So yeah you can make an HTML site that looks fairly plain, because HTML is hard to do and do right and well. That's just me.

If you're going to start, you need to start with the foundation more than anything. You need to at least get some basic concepts. One of the first things is learning what your chosen system is doing to make the product. I don't mean learning how a compiler works, more like...

1) What is the difference between a compiler and an interpreter.
2) How that difference affects HOW you make a program (or rather, what you do to get a program to run).
3) (There are a lot of extra details such as bytecode and weird shit that shouldn't concern you too much when starting out...)

So if you have a compiler, you can make a natively running program, that's "compiled' down to the system you are targeting. But it can only run on that system (picture, Windows vs Mac vs Linux)...

An interpreter, however, is something that can be run anywhere you have the base interpreter system, without a need to target a specific system, and without a need to compile down to machine code. You can click on the text of the script itself, and the interpreter that is installed on the system will interpret/run it in real time. This is slower than compiled, but it also is easier to make something that works across platforms.

Note: I'm not even going to go into Bytecode and Java and C# and such things.

I think for learning, an interpreter is a bit easier than a compiled language (the only real concern is location of files in folders for setting up (mostly), whereas with a compiler there's a whole other level of difficulty).

So - if you really want to go with a language to learn, start small, interpreted and do something with a console - nothing fancy or flashy.

You have to learn to walk before you can run. So simple and small is better. It's not as exciting, and sure there are ways to do flashy things more easily these days, but in the end, the goal is to learn the concepts and have something built that you can accomplish and grow from there.

Gah this was probably too long and I should've probably PM'd you this, but maybe it can help others who want to code, but are confused.
posted by symbioid at 2:26 PM on February 20, 2015 [1 favorite]


Is it wrong that the first thing I thought of when seeing this was to go full screen with this on my more public-facing monitor to better hide the fact that I'm coasting my way to a Friday evening?
posted by Fezboy! at 3:03 PM on February 20, 2015 [3 favorites]


It would seem that goldfish assistive technology would be yours with a bite from the video stream with open CV. Previously. I could have sworn there was a fish who played Mario or Guitar Hero or something; obviously a CV library for such things would be primo:
Tank = OpenFishCV.new(
  environment => bowl.flat,
  fishNum => 3,
  controller => emulate.coding.perl
);
STILL NEED FIFTEEN TIPS TO REFACTOR NEW(), EIGHTY TIPS TO PUT SHIRT BACK ON.
posted by Ogre Lawless at 6:49 PM on February 22, 2015 [2 favorites]


« Older My therapist told me to Look Inward and I thought...   |   "Trading the Megaphone for the Gavel" Newer »


This thread has been archived and is closed to new comments