Thousands of people are watching this guy code a search engine
motherboard.vice.com
motherboard.vice.com
For example, realising that other people find listening to trance music also helps them code. Or finding out that other people use MS Paint as a level building tool. Or perhaps discovering that it's even possible to use MS Paint as a level building tool!
I'm starting to find that listening to repetitive music helps with coding as opposed to lyric based music such as hip-hop.
It would be really interesting to see how many others feel this way and what else helps them focus.
Post metal (again no lyrics ) on bad days (more than a year since last.)
Maybe someone with higher level account can make a poll?
Godspeed You! Black Emperor: https://www.youtube.com/watch?v=PZwQeZh6rP0
God is an Astronaut https://www.youtube.com/watch?v=HKFDYdaSyng
Two more recommendations:
- Explosions in the sky
- Mono ("For My Parents" is my favorite post rock album)
Great selection of ambient/non-invasive electronica.
If that doesn't cut it, Burial and Vangelis always does the trick. And for sessions where it's only some brute force grokking, some uplifting jazz from accujazz.com
Once I tried listening to classical music, I found it very difficult to program to. I decided that the music was too complex and actually used the complex-task part of my brain (which I needed for programming). I also had a similar experience when I tried to play a language learning tape in the background while programming.
It's a fun experiment to run on yourself either way.
YMMV
Otherwise di.fm long mixes usually hit the spot.
----
Something else that also works well for me (but not everytime) is long playlists of conference talks, fullscreen on the second screen (usually the ~25 minutes ones work best because it's in-depth enough to be interesting, but not long enough it gets boring, plus if my curiosity gets tickled to look deeper into a topic, I can pause the video to dig deeper before continuing).
I tend to mix both [and it lets me re-use the in-ear headphones that only have one side working anymore]: left ear on talks, right ear on music :)
https://archive.org/details/gd73-07-27.aud.weiner.gdadt26.26...
If you have questions, I'll be glad to answer them!
Also, what is your interest? Are you more interested in coding the search engine, or is the project irrelevant and you just wanted to stream yourself coding? In other words has the streaming of yourself coding become the project itself? If you are going to stream another project after the search engine, are you looking for ideas or do you have other pet projects you want to work on?
My suggestion, if you are trying to build an audience, crowd source your next project idea. Maybe give your audience a few ideas, allow them to nominate other ideas, and then have them vote. This way you build in the largest audience prior to beginning...and not unsurprisingly I have a project idea if you are interested.
It is a search engine for one subreddit(/r/learnprogramming).
> so, what is your interest?
I know about search engines, and I wanted to share my knowledge with people(personally, I think there isn't much info on the web, compared to e.g. operating systems). I also wanted to start live streaming, so I started this.
> are you looking for ideas or do you have other pet projects you want to work on?
Suggestions are always welcome! I have a couple of ideas for side projects(and I sometimes stream building them).
> My suggestion, if you are trying to build an audience, crowd source your next project idea.
We tried something like this in /r/WatchPeopleCode, and it doesn't worked very well(for some reason). Although the subreddit was 10x less popular then(and maybe implementation wasn't that good).
I am curious about your project idea though!
I searched in their site and saw nobody was doing it, then noticed that their conditions doesn't allow it.
EDIT: Just found http://coderstv.com :)
You're probably talking about Handmade Hero, by Casey Muratori. Unless there's more than one person doing this.
It might teach you about what tools he uses, and what keyboard shortcuts he likes, but not about the more important tasks of understanding problems, and organising solutions. That's what makes writing software hard, not the "coding" part.
For example, I watched the linked video. Using it as an example for Python programming would be terrible - it does not follow PEP8 (extremely long lines, no spaces around operators, excessive descriptive names ("Java style")), has many unnecessary assignments and copies, very few comments, no sphinx docstrings, etc...
Also, as the article suggests, the developers appear to describe what they're doing, so it could be a window into the thought process of a talented developer. I think I would have valued this quite a bit as a novice when the technology to enable this wasn't as developed.
It can also help if the solo programmer is "rubber ducky" programming[1], but people typically assume more shared knowledge than actually exists. It takes another human to counteract this by asking for clarification.
Edit: I don't get how HN footnotes work... So I'll just pretend this is close enough.
Where do you go to learn the proper way to do that? Couldn't you teach that through streaming as well?
Even if the viewer isn't learning much, the streamer certainly might be because he's getting people to review and help him. Maybe the real value is in what the streamer can learn, and not really the viewers.
The hard part of coding is the design. A lot of programmers think as they code. They try something, get stuck, try something else, understand the problem better and so on. It's a kind of intellectual laziness which is not optimal.
I've been doing competitive algorithms for a while, and I learned that the best programmers don't start programming until they know exactly what their algorithm will be. And an other thing is that they rarely have bugs. Also testing/debugging is extremely time consuming: they think carefully that everything is right before testing. Which is unlike the lazy approach which is to have something working asap and go into debugging mode.
It takes a lot of discipline to be able to work like that, esp. under pressure.
Do others agree that thinking it through completely before hand is optimal?
Are there any studies out there which compare amazing programmers to just average ones on brand new material (where the more experienced programmer doesn't necessarily have the advantage of just more knowledge but has better principles/strategies of breaking down the problem)?
I’ll generally take a pad and pen and write down my requirements and assumptions. This helps flesh out any further information I’ll need before I begin.
Once I’m satisfied that I understand the problem I’ll sketch out a planned architecture (dependency graphs, data structures, etc). If this uncovers more missing information then I’ll get that information and revisit the requirements and assumptions. Sometimes the missing information is that I don’t actually know how to do something in the particular environment I’m coding in. In that case I’ll prototype the minimum code I need to figure out how to do what I need to (I never use the prototype in production code).
Once I have a planned architecture that I’m happy with, writing the tests and code is relatively mechanical and straight-forward.
I’ll do this for pretty much any change to a codebase that is more complicated than changing a single function.
What comes to mind is chess; this is like watching players play from the beginning and learning their intuitions at each stage rather than just learning from their endgames.
I'm excited to see what comes of this.
Yup. I've often been disappointed by the reddit search engine. I know they are a big site and everything, but surely it's not as difficult as indexing the internet.
If you're interested in this, also check out Handmade Hero: https://handmadehero.org/
I'll watch the views. If people are interested, I'll post some more.
What I can't decide on is whether or not to do it live or recorded. This first part I'm going to record -- much more control that way. I would imagine doing this live would involve a lot of looking at me stare blankly at the screen <g>
I guess that process feels very personal to me. Much in the same way I would probably feel uncomfortable streaming video of my writing an academic paper.
Great idea anyway. I don't think Twitch is the perfect medium for this though since a full-featured "Twitch for programming" could include stuff like live-pasting snippets to your audience etc.
Or, as the classic has put it, "given enough eyeballs, all bugs are shallow".