Hacker News new | past | comments | ask | show | jobs | submit login

Do a lot of programmers feel like they could be effective on a livestream? I might be in a minority, but my preferred coding style is very non-linear and sporadic, and wouldn't make for an enjoyable viewing experience.



I am way to self conscious for that... I dive deep into a problem for 10 hours and I try a bunch of stupid stuff along the way or make a bunch of mistakes and now I am broadcasting those to the world; and meanwhile either I am paying attention to the people and not working (I always want to get lost in a complete zone of concentration) or entirely ignoring them (which seems weird)... I will go for long stretches--like an hour--just staring at and reading the same data reports over and over again trying to cross reference all of the information, which would be ridiculously boring... I don't understand how people do these things other than as performance art, workshop instruction, or stunts: that people seem to do it and be productive on their own tasks indicates their brains work very different from mine ;P.


One thing you might enjoy is recording your screen for yourself, and then replaying it at 10x speed.

I’ve done this before and it allows you to get some of the feeling of “being watched” with none of the privacy or security problems.

Also sometimes it’s neat to see the crazy process of building something, particularly if there is ui or visual design tools involved.

Also, I do think there is a whole additional level of understanding needed to practice or “work out” in front of an audience. There is some flourish to it, even if you are mostly doing your thing, you may have more round corners than you might otherwise.

It is definitely a different experience.


I run a piece of software called TimeSnapper on my machine that takes a snapshot every 10 seconds of the entire desktop area. I have recordings going all the way back to the very beginning of 2006. It is incredibly interesting to watch some of those old recordings to see what I was working on that month.


This sounds amazing, essentially a video diary without the omissions of a real diary.

I'd love to see watch my work sped up like this. At 30fps you could see your entire day in 90 seconds.


https://otakunozoku.com/video/working.flv

A month's worth of work in a couple of minutes. Captured way back in early-ish 2013. Sorry about the .flv, that's what web video kinda was back then if you wanted it to work on multiple browsers.


That looks cool. Too bad there's not a Linux version. I suspect you could code a screenshot every 10 seconds in bash pretty easily anyway.


Drop this into a crontab with your desired frequency:

  DISPLAY=:0 import -window root "$HOME/Pictures/screenshot-$(date '+%Y%m%d%H%M').png"
Requirements

ImageMagick installed

Improvements

You can change the date +FORMAT for a more readable filename. See the date(1) manpage.

Caveats

You may need to change your DISPLAY to match your actual X11 server. You may need to add XAUTHORITY=$HOME/.Xauthority depending on your X11 ACLs. Probably doesn't work with Wayland, but nothing works with Wayland so YMMV.


CJ from Coding Garden does a phenomenal job with his streams. I've watched a few of his past streams on youtube and its refreshing. Its cool to see how he progresses through problems and is so endlessly positive. https://coding.garden/

Daniel Shiffman from Coding Train does something similar, but more focused on P5.js and general interactive toys. https://shiffman.net/


I’d watch this, FWIW. The exploration is where the fun/hate/elation/ and excitement occur. ️


You're not alone! I found your description really relatable. I find that I can only truly understand something when I know all the details, and why things are the way they are. That means in the beginning, when learning something new, I'm overwhelmed and not really confident in my knowledge.


Give it a try Saurik! I thoroughly enjoyed watching https://m.twitch.tv/samg_is_a_ninja/ attempt to make a weird Jailbreak tweak for fun.

He did all the things you mention and it was entertaining as well as informative. I saw 50-150 live viewers.

I think quite a few people would like to see you work on something like a new tweak. Start or post an account with a specified stream time then post it here/reddit and see how many people subscribe.


I literally watch the live coding streams just for the mistakes! Not to make fun of them, but to learn from them and realize that everyone goes through this process!


I think it comes down to your "persona". For example George Hotz does multi-hour long coding streams that are all over the place, but they have some entertainment value because he's a bit of a kooky character.


It made me almost feel bad watching it, though. The dude is clearly so quick -- not even in coding, but just using a computer in general -- that given how much of my life I spend in front of this thing, I think I really missed a trick in not being extra attentive to trying to make sure I could maneuver my way around it as fast as he does.


It's just a case of taking the time to learn your tools. Take the time if you think it's worth it.

A few hours of dedicated learning will put you miles ahead of casual users. It's not at all unattainable.


Thats like saying anyone can become a good concert pianist if they practice enough, not true.


Would you say geohot is a concert level pianist at...typing? Maybe you could say he's at the level for actually coding.

I'd say what I'm talking about is more akin to learning scales, which most people could do with a few hours of effort.


Well, that’s in part true. You need to learn and practice your fundamentals if you want to improve your skills in a domain. In software development, learning your main tools is one of those.


You can always find people better than you. But if you focus on continuous improvement that number will shrink while the number that you are better than will grow.


It also helps that he doesn't actually accomplish anything and mostly just dicks around. Also "kooky character" is a pretty charitable way to describe him.


Who are some other intersection coders one can follow?


I do live coding with my clients when is kind of a "brainstorming" meeting. We throw ideas around, and I code fast and ugly to have something running on screen, usually maximum 2 minutes per idea, otherwise the client gets bored. After like 10 ideas, both of us agree on one main idea that gets implemented into production.

During this time I screen-share my entire screen, so we can draw fast on Paint, switch to code see how it behaves when implemented, mainly GUI elements only.

I usually use OBS during this kind of meetings to record everything, in order to have later review material in case I forget something. Also a nice side effect is that later on, if client is not happy with something I have hard proof that he did said/agreed on something.


I think a key to streaming is balance of audio and visual "stimulation." If you're not "doing" (as captured by OBS) something stimulating then you need to be saying something engaging. Some in theory if you're coding in python you might need say something to engage your; teaching, explaining your methodology or talking about current events around technology. If you're confident your audio stimulation will not be as strong you need to visualize something engaging. Sometime I did once via youtube was streaming myself writing a research paper creating maps in arcgis.


I did it for an university course this semester and it works surpringly well.

Especially if you have one specific topic and if viewers ask questions.

But yeah, it's a bit hard if streamers don't follow a red line and if they talk in a language that they don't command well.

YouTube is full of awesome content from Chinese and Indian people who talk very bad English, so they probably would have been done better with text.


I've never done it, but I've toyed with the idea for one primary reason: accountability. I might just ignore the viewers, or maybe I'd interact and gain some insight about the problem at hand. Either way, just knowing that someone is watching and expecting me to do something (preferably on a schedule) would be a good motivator to actually do it.


Though you have to think about not leaking passwords by accident :)


I don't believe I would be productive on a livestream. That said, I think it would be like exercising a muscle I neglect - similar to the physical exercise I don't do :) I'd probably grow as a programmer if I were more comfortable searching for solutions in front of others.


I thought the same till I tried it, ended up being more fun than I realized. If you watch other streamers, you'll see that most aren't racing through - they're just casually coding...socially.


I think a lot of us turn to computers because at a young age The Social (tm) was hard. Some are very lucky to have a group of friends or coworkers they feel comfortable programming with.


I've seen a few streams of people who are like this, and they seem to do ok. One of the pidgin devs migrated their mercurial repos from bitbucket to their own self-hosted environment, live, on stream.

I think the personality of the person has a lot more to do about whether they keep the attention of their viewers. The ones who seem to get things done seem to speak out their internal dialog.


Watching someone "explore" is still entertaining, I think. You don't need to be a comedian, although that's fun, too. But what I like about livestreaming is that it's a pure, real form of seeing someone's brain in real-time.


But my brain works in silence, is a stream still entertaining without the audience interaction?


One way is to show something you already know how to do. The other is "Twitch plays programming" where you involve the audience.


It's really really fun. I do it a lot, am not very popular doing it, but get good engagement. Especially when the topic is something visually interesting.

I'm now at a point where it feels weird coding without saying my thoughts out loud or writing them down on paper. Like I don't know how to think unless there's some output.

And when watchers highlight a bug or tell me techniques to try that I haven't thought of, amazing.

I need to make better use of scenes and staging screens like OP is doing. My streams are significantly under produced right now.

link if you're curious: https://www.twitch.tv/swizec


I do stream live coding on twitch from time to time -- albeit I started out as a speedrun streamer. You have a point: if I were to write code in the same style I'm used to, it would probably be not that good. But, probably due to the very fact that I know I'm being watched, I noticed I employ a different style than usual: very neat, organized, logical, working on exactly one feature at a time and not allowing myself to wander too much. It definitely feels good and productive.


Can you tell us your name on Twitch?


What's important for most streams is how you audibly communicate with your audience, much less so what you are actually doing on screen.

Not that I think I would be an effective livestreamer.


I think it’s what makes it fun. Your channel will likely never grow to be large, but then you get to interact with a healthier community at a slower pace. Jayne (Overwatch Coach) has been streaming on FB Gaming and has been enjoying the luxury of a smaller view count.

I would imagine most big streamers (let’s say 10K+) would enjoy a smaller community more than a larger one - if they could make the same amount of $$$.


It really depends on what I'm doing. If it's something I fundamentally don't know how to do and it requires all my concentration, I don't really do it on stream. But there's plenty that I know how to do but others don't. For example writing a parser/lexer can be interesting, but I generally only have to solve fairly local problems and not large structural ones.

Really hard things I _could_ do on stream...but I start to feel like it's too much of me staring really hard silently. I have to wonder how much of that is true and how much of that is personal anxiety. I do enjoy streaming though and should do it more.


It can help you be effective if you take the time to watch back the recordings and see what you are doing.

You may have developed some unproductive tics, mannerisms or habits that you’re not aware of.

Be warned. It’s a tough watch sometimes.


I feel like I could fairly easily as long as I planned ahead exactly the work I need to do. As long as I get to the point where I'm translating a concrete plan of action into code I don't need to pay that much attention.

This would be an odd change to do on longer time scales. I do this kind of now, but I'll think for a few minutes and have maybe five to ten minutes of action planned out. Not precisely code just needing translating, more of a rough sketch to flesh out.


Depends how you define success. Streamers get viewers through consistent stream schedules and heavy viewer interaction + engaging "high-level" content where what you're doing is actually impressive (i.e. high level competitive gameplay in a video game).

By that definition no code streamer has been consistently successful on Twitch, Youtube Gaming, or any other platform. The closest to it would probably be Hikaru who is a GM chess player.


I used to do some livecoding myself. The answer is that it depends on the specific things you are working on. Some thing lend themselves very poorly for livecoding, but others work out pretty well.

For example, if you are doing interview practice, for Google style interviews, livecoding your interview practice is actually a pretty good experience.

Coding in front of an audience isn't much different than coding in front of an interviewer, if you think about it.


Non-linear coding can be enjoyable as long as the streamer is vocalising their thought processes.

I'm preparing to code on a livestream and honestly, I've thrown out any notion of being 'effective' out the window; chat engagement means distractions, and while I'm used to that I rather reserve some non-streaming quiet time for deep, focused work.


The last time I went to pyOhio I had multiple people come up to me asking basic coding questions.

Since you are interactive (you would respond to chat) and will initially do it for free I think it would be better than nothing.

Or when you livestream yourself coding people might help you either improve your technique.


I enjoy watching Jonathan Blow's livestreams once in a while to get insight into game dev and Jai: https://www.twitch.tv/naysayer88


Enjoyable is relative. You won't get on the top charts by streaming this, but you will we watched by those interested in development. Even a handful of viewers can be pretty fun if they are chatting.


During quarantine, me and a couple of colleagues have been doing pair-programming sessions with three or more people. We were joking on doing a twitch stream. I think it could work.


It's an easy way to do pair programming without needing to arrange for anyone. Explaining your thinking and process is quite helpful.

But yes, I've certainly found it slower.


having watched a lot of coding streams on twitch and have done a few myself, it is really varied, some are sometimes very focused on doing something specific and is just full steam ahead in knocking it out, some are very stop start with lots of reflection and changes of direction. But it is also interactive, people chime in and you end up in meta discussions or sidetracks, or people offer help, etc. So there is no real set style.


imo sporadic and non-linear makes for good content. Also, I've tried live-streaming coding before and I found I got a lot more done than if it had just been normal coding time, because you can't just idly check HN.


this is why most streams you find are front end development based.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: