I want to try streaming competitive programming. The goal is to make it educational so I will be talking a lot, also answering (at least some) questions.
I'm planning three completely different streams to see what format to use:
- Solving random easy-medium problems.
- Solving old problems from Polish olympiad.
- Post-contest stream, assuming I'm a setter or tester of a contest. Similar to what scott_wu, ecnerwala and stevenkplus did.
Any thoughts, ideas?
The first stream will most likely be on Sunday, starting around 7-8pm CEST. I will use Twitch and talk in English only. These first streams should show me and you whether it's cool and useful, and whether I like doing it.
Also, I will try to make the video accessible later.
--- UPDATE ---
The first stream will start on Saturday at 10am CEST (check your timezone) here: https://www.twitch.tv/errichto. I will solve some div1 A-C problems, not necessarily from Codeforces.
--- UPDATE 2 ---
The second stream on Sunday evening, with problems from POI 22, round 1. You can try to solve them yourself first — link. I will do problems from POI in a few days.
I will start today at 19:35 CEST (check your timezone) and I will talk about hard problems from this year TCO qualification rounds. If I do well in SRM today, I can start with problems from the round first. So, the main topic is hard DP problems, I guess. I prefer to stream on Youtube today, but I have some difficulties. I will announce here where the stream will happen. If someone has experience with Youtube live, please write to me.
I will stream on Youtube: https://www.youtube.com/channel/UCBr_Fu6q9iHYQCh13jmpbrg.
--- UPDATE 3 ---
SRM was moved by one hour, so my stream will start at 20:35 CEST.
Totally go for it. Especially old POI problems. I heard they are really good. Red guys like you should explain the way you think while solving a problem or some interesting tricks that we (experts-masters) could benefit from. Good luck and have fun!
Can't wait! It'll be great if you upload later on youtube.
first increase rating , you retard!
That was rude, man. You shouldn't talk like that.
Thanks man for showing your true 'color'.
You are the one who is a retard. You've been here for like three years and all you've got is cyan. I'm a management student, started codeforces only this year, but I bet you, before January 2019, I'll be at your color. Retard
Guys, chill.
Please include Computational Geometry as a part of these streams. Also, is there any particular reason why you will be using Twitch?
Streaming medium-hard, DP problems would be great. Timus would be best for that. At the same time, problems on advanced data structures, like HDL, Centroid Decmposition, Sqrt Decomp,etc.
Please upload it on youtube also. Twitch in blocked in some regions.
:p
Allow CoolStoryBob emote and count me in :D
Old Polish contests seems good option, since a lot of them are interesting and they don't have English editorials.
Go for it.
One suggestion from my side. If you can upload question links a day before stream? So we can try them before the stream.
I agree with the questions before stream
Well, this is very important and hard decision. I see three options.
Just solving problems is the most comfortable option for me, where also you can suggest something. Sometimes I can simply ask whether people want a DP or Geometry problem now.
I can say in advance that e.g. we will be doing problems from POI 2015, and I would not read the problems before a stream. Then I shouldn't skip problems because someone waits for a solution. What if a problem is boring or very hard? Or it's a topic I don't really know well? I'm good in CP but I can't solve everything.
Finally, I can say the source in advance, and also read those problems, trying to solve them. This eliminates a big part of the stream — seeing what I think while I approach the problem. It also requires much more time from me. On the other hand, it allows me showing harder problems.
I think that I will choose option 1 for random-problems-stream and option 2 for POI. I don't like option 3 — it makes it more like a standard editorial.
Also will be cool if you will make a tutorials for advanced algorithms and solving some problems on this topics(algorithms) . Good luck !
what do you particularly mean by "easy-medium problems"... will it be Div.1 B-C or D-E? and will those problems be on CF only?
Suggestions:
1) Posting source codes after streams.
2) Proving non-standard stuff. For easy/medium problems I don't think it will take up too much of the time to prove stuff along the way, and not just at the end or not at all. A lot of editorials do the "proof = readers practice" thing, which makes me think of this
3) As for which one I think post-contest streaming is the coolest.
I laughed so hard at the "proof = readers practice" comment. Even more irritating ones include "it is clear that ..." and "it can be proven that ...", without following up with any proof.
I think it will be most useful to explain exactly what goes through your head while solving a problem. When you read it, what does it remind you of (previous problems/algorithms)? Do you get immediately what algorithm/trick to use? What features about the problem made you think that? What approach will you try first? If it didn't work, why not? What alternate approach(es) will you try and why?
After seeing Petr and Endagorion's streams on YouTube, I think watching a 2+ hr video to gain knowledge for a few problems, without any timestamps for easy navigation, is too much effort for little benefit (as compared to reading editorials). The denser you make the videos with tips and info about your thought process, the livelier it will be (not doing a live contest at the time should also help take the pressure off).
One possible approach could also be to do the contest first without any explanations, and do a post-contest analysis (maybe even with another person).
Also please go for it.
I prefer blog over streams because it saves lots of time.
That's a perfectly valid point. I will still try streaming, hoping that it will be cool.
I prefer traditional contests. They are also attractive, aren't they?
It'd be nice if during the stream you can talk about your observation and how can you come up with those observation to solve the problem.
Please include dp problem. And why not youtube ?
Thank you for all the comments and the discussion. The feedback means a lot :)
1) "why Twitch instead of Youtube?"
Twitch is meant for streaming, Youtube for uploading videos. The latter has an option to stream, but it's so bad that I can't even find live programming streams right now. Searching "live programming" or "programming stream" gives some 24/7 music and videos from old streams. They have "live" category, but it's impossible to search inside there. I don't know how someone would find me without typing "Errichto" in the search bar. And searching "programming" on Twitch leads to the programming category, where streams are sorted by views, and I can be quite high there. I think it's better for me to stream on Twitch and later upload on Youtube.
That's being said, I have zero experience in creating content for any platform. Are there more factors I should consider here? Is Twitch blocked in some countries where Youtube is fine?
2) "Posting source codes after streams."
ok
3) "timestamps for easy navigation"
Let's see after the stream. It makes sense if I solve a few hard problems, but otherwise it would be less useful and harder to do.
I still prefer youtube because not everyone can't watch live, or twitch has such feature that allows the user to playback the stream?
Yes, on twitch you can watch past streams.
Could you provide the link of your youtube channel ? I really want to watch today's stream's replay .
4) "you should explain the way you think while solving a problem or some interesting tricks", "I think it will be most useful to explain exactly what goes through your head while solving a problem. When you read it, what does it remind you of (previous problems/algorithms)? Do you get immediately what algorithm/trick to use? What features about the problem made you think that? What approach will you try first? If it didn't work, why not? What alternate approach(es) will you try and why?"
Sure, this is what I mean it to be.
5) "Please include Computational Geometry", "DP problems", "advanced data structures"
I think that indeed it makes sense to sometimes choose a particular topic for a stream, so maybe I will try it one day. But first I prefer having more choice and just solving various problems. It's then easier to take them from one place, e.g. from POI.
6) "Old Polish contests seems good option, since a lot of them are interesting and they don't have English editorials."
I agree that it's more useful to solve problems without English editorials. The disadvantage is that many problems from Polish contests don't have a statement in Polish, so it's harder to present. Translating them in advance means a lot of work, while me reading it during a stream (and translating out loud) means that anybody missing that one minute of translation will not understand the problem. Any thoughts on that?
Almost 85% tasks from POI are translated. Just saying...
Also "many problems from Polish contests don't have a statement in Polish". XD
Something I'd like to see would be streaming problemsetting. Of course there's the big problem that problems set this way cannot really be used in contests, but I think it would be very interesting to watch, and it would be easier to have audience interaction when setting problems vs solving them (figuring out what kind of a story to write, how the problem could be made harder, etc.)
That would be really interesting, also how to generate test cases and make sure that wrong solutions will fail.
If you go through most of the problems set by you, and tell us the story behind the problems and how did you get its idea.
I know that problem setting is much harder than just solving problems, but it'll be cool to watch how problem setters create such interesting problems.
I've updated the post with info about two streams for this weekend. The first one in the morning tomorrow (at least for Europe).
Great, luckily no contest at that time :D
Btw great initiative. Thanks Errichto:)
Just like to thank you for this :-)
TRUE LOVE
Thank you for you time i suggest dp problem with data structure and geometry and maybe something like solve 3 start gym
Thanks a lot
Although it's workday in china before our national holidays, I will try to follow your stream:)
Errichto the stream was amazing! I really enjoyed it.The best part for me was the debugging part as to how you debug your code ,the thought process,etc.
What I liked :
1.)The platform was codeforces.
2.)You really talked through the whole process on what you were thinking (during C sol).
3.)You answered all the questions and did not skip any of them.
4.)You too have skipped lectures for Programming (:P)
What I learned ,not getting frustated when you can't solve a problem eventually you will find your mistake.
Thanks for the stream.Love to watch more of them.
at some times the lectures for programming is important part. Because you must know theory for solve a problem .
Can you please record a video and post it, because many who are willing might not be able to attend all streams like these due to timings or other duties.
I missed it :( Can you please post the video on youtube or somewhere
Thank you everybody for watching and qwerty787788 for finding a tricky bug.
First few minutes (problem A): https://youtu.be/YsxRBA694E0, and then the whole stream in a bit lower quality: https://www.youtube.com/watch?v=8dnGUsITmtU. I will write some more thoughts later.
I only solved problems A-C from round 283: http://codeforces.net/contest/497.
720p is just fine.
I missed the stream today. Can you please tell us the time when the stream is tomorrow ?
Your second stream might clash with topcoder SRM 738
I will start exactly when the SRM ends.
EDIT: I updated the blog with info. I don't have much time today so I prefer to move POI problems for another day. I will do div1-hard topcoder problems instead.
So what have you decided if on Youtube please drop link or name of that channel or on Twitch ?
Youtube at 19:35 CEST (just after SRM ends) — https://www.youtube.com/channel/UCBr_Fu6q9iHYQCh13jmpbrg.
EDIT: SRM was moved by one hour, so my stream will start at 20:35 CEST.
.
Errichto Since you have reached 100+ subscribers mark. You can probably obtain a custom URL for your channel. Maybe https://www.youtube.com/channel/Errichto ?
I'm not sure about when your channel was created. But you can once check your eligibility.
How does one access already streamed content in Twitch?
Does anyone know when the next stream on youtube is live?