
My Twitch Live Coding Setup - ingve
https://medium.com/@suzhinton/my-twitch-live-coding-setup-b2516672fb21
======
nstart
Lots of people discussing the pros and cons of livecoding. I'd like to share
some alternate thoughts if possible. I believe that there is a niche
interested in watching and/or participating in livecoding and for them they do
it because they can be productive and have a good time.

So I took livecoding pretty seriously for a while. I recognise that Noopkat is
a pro at this and is one of the most consistent live coders I've seen in a
while. I need to pop into one of her streams one day to see how it's evolved.

From my past experiences of her stream, my own streaming and others' streaming
it feels like there's one big unsolved challenge in livecoding.

Coding hasn't lent itself well to "liveness".

At least in its current form, sitting down in the middle of a session of
someone coding and trying to figure out what they are doing is HARD. It's not
like a game where there's a dashboard that carries the score and you can
gather all the context you need in under a minute. When joining a stream of
live coding, the questions to be answered:

\- what project is the person working on? \- what "feature" are they working
on? \- what are they trying to achieve at this very moment?

These questions are similar to a game

\- what's the game the person is playing/or what character is the person
playing/what teams am I looking at? \- what's happened so far? \- what's about
to happen?

Summarise these as

\- bigger picture context \- current historical context \- immediate and
future intentions

And all of this should be gathered in about a minute with no interruption to
the stream(er).

So far, no live coding experience has been able to satisfy this. I do believe
that this is one of those cases where technology needs to solve the challenge.
Either in the form of a new livecoding specific platform or better
integrations in twitch/other live streaming platforms.

~~~
stale2002
> Coding hasn't lent itself well to "liveness".

> what project is the person working on? - what "feature" are they working on?
> - what are they trying to achieve at this very moment?

I used to do a bunch of livecoding myself, actually.

I agree with you that most programming does not lend itself too well to
livecoding. But there is one niche that I believe lends itself extremely well
to live coding.

This niche being whiteboard programming questions/interview practice.

In this niche, the whole point of the exercise is to work on self contained
problems that can be solved within 30 minutes, and to talk out loud to your
audience the entire time.

Was pretty fun when I was doing it. I was doing it mostly for practice, and
now I work at twitch because of it.

And if I ever create my own startup, it will probably be something like
"running a recruitment firm on twitch, by getting people to do interviews
live".

Edit: Videos of my old stream are here: www.twitch.tv/stale2000/videos

~~~
0_gravitas
Dad! I was hoping you would show up on this thread and was actually about to
comment about you, whiteboard problems really are perfect for twitch I think,
but you're the only one that I've seen do them

~~~
stale2002
Haha, thanks!

------
keyle
I did live coding on twitch back a year or so ago, for about 2-3 months. It
was nice to get a bit of company working from home on my own sabatical (aka.
financial dive) year.

Overall though I don't think it's worth it. You get the usual lurkers that
come say hi, and then a bunch of drop-ins that have language questions,
stackoverflow type questions, or start rambling about technological choices
which eventually distract you from your burning floor todo list staring back
in your eyes as deep as the abyss.

Fun though, but counter-productive.

~~~
wheelerwj
< (aka. financial dive) year.

what do you mean?

~~~
ascar
That he probably didn't have a paid sabbatical. Getting paid for a sabbatical
is very rare and not the norm.

------
petercooper
I think a lot of people, including myself, could get a lot out of streaming
what we do even if another person never watches at all. Because we have to
talk about our decisions, focus on a task, and just keep going _as if_ we have
an audience.

~~~
beyti
Rubber duck:
[https://en.wikipedia.org/wiki/Rubber_duck_debugging](https://en.wikipedia.org/wiki/Rubber_duck_debugging)

~~~
ghostbrainalpha
I've heard conversations that this same idea would probably help in every
profession.

And a couple Mormon developers I know, think that the concept of a personal
Holy Ghost, which is a belief of the Ladder Day Saints church is the same kind
of assistant for moral decision making. We all perform differently when we
know someone is paying attention.

~~~
zdragnar
I think you meant Latter Day Saints. If there are any Ladder Day saints
(supposedly there is a Ladder Day[1]) I'm guessing that Mormons wouldn't hold
as much reverence for them, what with the alcohol involved.

[1]
[https://www.urbandictionary.com/define.php?term=Ladder%20Day](https://www.urbandictionary.com/define.php?term=Ladder%20Day)

~~~
ghostbrainalpha
Oh man... I won't be editing the typo so that I can be properly shamed.

------
rovyko
The original article is really interesting.
[https://medium.freecodecamp.org/lessons-from-my-first-
year-o...](https://medium.freecodecamp.org/lessons-from-my-first-year-of-live-
coding-on-twitch-41a32e2f41c1)

I didn't even know livestreaming code was a thing aside from pre-scripted
tutorials. I'll have to watch one of the streams, because the hands-on nature
is probably good for learning the quirks of various techniques that you don't
get from programming books.

It's too bad I spend 80% of my development time reading documentation and
chasing down bugs.

~~~
lessclue
80% is thinking and figuring things out, 20% is writing code; always.

~~~
LandR
THis.

Solve your problem then write code. Problems solved by writing code almost
always ends up with crappy / messy code / difficult to maintain code.

The coding should be the easy bit, it's just implementing your solution in a
language you know. It's basically just typying.

------
dcw303
I commend the author on the level of detail documented in the article. It's
clear that they have spent much time and effort on making an appealing stream.

And yet I still don't get live coding. I have about as much interest in
streaming my programming as I have in having a coworker watching me work over
my shoulder: zero.

I'd love to know what people get out of this. For me the sacrifice to flow is
far too great for what benefits I perceive I could get through collaboration.

I do see the potential in social network / community building though.

~~~
Void_
Question: Is it necessary to use "they" now that it's clear that she's a girl?

I thought you use "they" when gender is not clear as to avoid assuming it's a
guy.

~~~
sjburt
I sometimes use "they" when I feel like using a gendered pronoun would
distract from the topic at hand. It's incorrect but sometimes it makes sense.

------
minimaxir
The real problem with typical Live Coding setups is that the text size is
often _way_ too small. You have to massively increase the size of the font or
zoom the UI so that it's readable for the users, especially those who are
viewing the stream on mobile/a small subwindow (one unintended perk of the
Electron-based IDEs is that changing font/UI sizes uniformly is easy to do).

I strongly disagree with streaming at 720p30: the low resolution combined with
what's said above makes it very hard for the viewers . As long as your upload
bandwidth is sufficient (>6 Mbps) and your computer processing power is
sufficient (quad-core CPU), I do recommend 1080p60 for future-proofing. Your
viewers can lower the quality if necessary, and the exports to YouTube
maintain 1080p60 as well. (EDIT: Maybe not: transcoding is apparently not
always available for smaller channels, so bandwidth for users can be a
concern)

It's worth noting the Streamlabs Alerts are just HTML, and as a result
supports as many CSS hacks as you want (e.g. fonts/sizes/colors)

~~~
xpaulbettsx
There's zero reason to run 60FPS for a text editor, turn it down to 15FPS and
take that extra bandwidth and put it into quality - if you're worried about
the YouTube quality after-the-fact, you can run two encoding jobs though it's
a bit rough on your CPU

~~~
minimaxir
Double-checked: Twitch does say transcoding is "as available" for non-
partners:
[https://help.twitch.tv/customer/portal/articles/2785927-join...](https://help.twitch.tv/customer/portal/articles/2785927-joining-
the-affiliate-program)

Hmm, I could have sworn that I had the options available when watching smaller
channels, but they may have been Partners.

> There's zero reason to run 60FPS for a text editor

It does make things surprisingly more fluid, especially for window
navigation/scrolling (although you get into the 30fps vs. 60fps debate). If
you're using a webcam that also does 60fps, it makes it consistent too.

~~~
mxscho
> Double-checked: Twitch does say transcoding is "as available" for non-
> partners

It's mainly done for non-partnered channels with high view count (at latest
after requesting it manually).

~~~
tastroder
If they had it on smaller streams, there also seems to be some mechanism that
kicks in when a stream restarts multiple times (my guess would be some
heuristic thinks there might be problems and tries to be helpful).

~~~
mxscho
Also, like you said, enabling transcoding needs a stream restart right now.
Guess this could be improved.

Maybe the system's heuristic just doesn't really remember sessions after some
hours have passed so it needs to see a high view count again before turning on
transcoding (after the restart).

------
iancmceachern
I'm a product designer, consultant, mostly medical devices and otheris soon
critical products. I've been toying with the idea of live streaming myself
designing example products (no client work of course). I use mainly
solidworks, fusion360, creative cloud etc. to do it. Do the hn folks think
there would be interest in such a stream?

------
OptionX
I've never understood the idea of using a 60% tenkeyless when your job
requires you to type a lot. Even if you go full-size it dosen't take that much
more space and you save you fingers the extra work for number and function
keys.

~~~
system2
This setup is not for the real world, it is for fame and stream. I can't even
imagine not using my 2nd monitor. I have 4 monitors by the way.

With all the distraction and talking, with smiley and responses, I don't think
anyone can really deliver anything properly on time. Some people play games,
some use different tools for streaming. This is one of those.

~~~
guitarbill
Ah, the old "No true Scotsman" fallacy.

Some people love multiple monitors, like many of my colleagues whom I respect
despite using multiple monitors /s. But I have yet to understand how multiple
monitors are inherently more efficient than e.g. multiple desktops, or
switching between windows, especially when I'm wearing glasses. (This is not
an invite to try and "convince" me, I've tried.)

Similarly, some people simply prefer not having to move their hands as much
with the smaller keyboards, including - what a surprise! - people with smaller
hands.

What I really don't get is why you'd need to put down other people's choices
to validate your own.

~~~
system2
Because this is a comment section and I want to share my thoughts and
experience as well as my criticism?!

Didn't you just do the same to my comment?

~~~
guitarbill
While I have a preference, as do most people, I didn't say it was better than
alternative solutions (my argument is pretty much that their equivalent), and
didn't imply that one choice somehow made the user more professional or
serious ("not for the real world, it is for fame and stream").

~~~
system2
Maybe, I've been in the tech industry over 15 years professionally (excluding
geeky childhood of course), and the second monitor for coding or any type of
tech business was a blessing once it became affordable for most people. I just
cannot imagine not having a 3rd right now.

Keepass (or another offline pass manager), Skype, multiple shells open, ftp
manager, notepad (or whatever you call it for coding), browser, some Spotify
(okay I get this one is not a must), and sometimes calculator.

I can't even imagine not having a numpad like she doesn't have. In our work
environments, everyone has a 2nd, 3rd, or 4th. I've seen even 6th monitor. Her
system is for streaming, and I don't think while streaming anyone can get
anything done properly. Let alone the privacy of the company you are hired to
do the job.

~~~
com2kid
> I can't even imagine not having a numpad like she doesn't have.

My wrist pain got better when I ditched my number pad.

Lots of people have reported the same.

I also use 1 monitor, I use to use a lot, now my main monitor at home is an
ultra wide. It provides less real estate than 2 monitors, it is about 1.5
monitors in width, but unlike dual monitor setups there isn't a line in the
center of my vision and my main work window is straight in front, with
emulators and terminals off to either side.

But I also have a setup with just 1 1900x1200 monitor. Honestly it doesn't
make much difference. I am not using keepass at the same time I am coding,
while I am coding I am writing code. Heck zen mode in various editors, full
screen no menu bars, exists for a reason.

The OSs we all use today were written in text mode editors. Much of the work
is still done in text mode editors (I know quite a few devs at Microsoft who
use Vim!)

Don't judge others for doing what works for them.

FWIW, Visual Studio Code does most of what you have, all in one UI. It
supports shells, scratchpads, and expression evaluation in pick your favorite
language. I use deployment scripts instead of FTP, running from a console, so
again one less thing.

IMHO multiple monitors are great for those times when I am manually taking
data from one place to another, or for when I am live viewing changes.

I have never had a productivity boost from seeing email appear in the corner
of my eye. How in the world is that good for coding? Likewise for a blinking
tab in Slack or Skype. I'll check Slack once an hour or so, but I honestly
don't _want_ to see the notifications while I am focusing!

Let people do what works for them.

~~~
system2
I am letting what works for them already. I didn't enter her apartment and add
another monitor and a numpad to her desk.

------
1wd
I wonder if live coding could / should / will support similar "interactive
fundraising" techniques as is common in game streaming. Some channels offer
e.g. for $10 to manipulate some in-game item: Add an additional enemy, give
the player a specific powerup, ...

I imagine for coding the equivalent could be "rename variable x to y" or "add
comment //x on line y". There's a lot of potential for annoying / fun
mischief, but that's what makes it entertaining and worth the $$$ for the
viewers. Some might just want to actually help out!

------
HelloFellowDevs
I've actually been very interested in possibly live coding some random
noodling I do while programming or learning something new in programming. Kind
of like having an office environment in a sense.

------
LemonAndroid
In [https://hackalong.devpost.com/](https://hackalong.devpost.com/) hackathon
last year I implemented a basic tool, to make the 5 last recently edited files
(updated via live-polling) available on a website from vs code: VS Code
Extension Tab -> StreamCode.

------
0_gravitas
I find it sort of funny that this is basically a direct modernization of what
used to be a common thing centuries ago: mathematicians would be paid to
compete against other mathematicians and see who could solve certain problems
faster. And while there isn't exactly a competitive aspect here, it still
seems to be almost a spectator sport, but now with a new layer of spectator
interaction.

------
dajohnson89
I've been mulling this over for quite a while now. Maybe this is the place to
ask -- are there any good twitch streams for java coding?

------
guytv
Wow. Looking at the photo on the heading of the blog post - My desk was never
ever been this tidy. never.

------
artiscode
Great article, really enjoyed it! Having had a curious mind ever since I can
remember myself, I've always wondered how things work behind the scenes,
television included. This was such an amazing read, getting to know about all
the bits and pieces behind the scenes.

------
bluedino
I was kind of hoping for some info on the performance of her 13" MacBook, and
if she's tried the 15" model at all.

When the current model first came out I read compliaints from livestreamers,
and wasn't sure if the software was improved or Apple updated something...

------
codetrotter
One thing I didn’t see mentioned is, since she is using one monitor only how
does she switch between scenes in OBS? Keyboard shortcuts? Also, does she not
have a monitor view to let herself see what the stream looks like live?

~~~
bigzyg33k
She did mention this - she said that obs is only recording part of her screen,
and she has an area of her screen not recorded for "admin" stuff. She also
mentioned she uses keyboard shortcuts for her "secret" scene

------
jen20
I found this to be a particularly detailed and well-written article which
addressed questions I didn’t even realise I had even as I’ve been
investigating live-coding setups. Thanks!

------
dom96
I wonder how well her MacBook performs. Whenever I try to stream on mine it
quickly spins up its fan which is really distracting, does anyone have any
tips to avoid that?

------
mkagenius
Which study desk is it? (Its not mentioned in the article)

~~~
blcArmadillo
At the top of the article it says

> I upgraded from my $30 IKEA table to an Uplift motorised standing desk

------
_shrimp_
I love seeing other devs' workspaces.

Are there any (other) sites collecting posts like this similar to
r/battlestations or edc sites for software developers?

------
jaequery
I don’t know why streaming can’t be a simple one click process. If anyone ever
tried to configure OBS, you know what I mean.

~~~
denimnerd42
it can be but usually people want more power which OBS gives..

~~~
ghuntley
OBS is a child's toy in comparison to Vmix.

Xsplit > OBS > Vmix

~~~
sammcgrail
Your arrows contradict you

~~~
quickthrower2
I think the arrows are in terms of how good they are at being simple.

------
VectorLock
Do they have a second screen for Googling or do they show that to their
audience too?

------
codinger
I'm jealous of the aesthetic. It's really nice looking.

------
pecotest
great

------
happppy
I prefer working alone and quietly.

