10 ms·
Notch live coding 0x10c
- makmanalp 15y agoWow, maybe it's because he's done it a million times before, but it looks like he's super efficient, mainly because he's using the IDE's features to the max. He's also rapidly iterating at about 3-4 builds per minute.
- xuki 15y agoI think the code compiles as he types so he does not waste a single second waiting for it to compile. Pretty impressive.
- danieldk 15y agoEclipse has a built-in incremental compiler (ecj), that is used to continuously give feedback.
- fleitz 15y agoI use livereload for this when coding webapps, it's a massive productivity boost.
- edwinnathaniel 15y agoPlay Framework in the past embed Eclipse build-in Java compiler to avoid compilation step.
- frou_dh 15y agoLast time I watched his stream, he had a cool setup where he could edit the Java methods on the fly without restarting the game.
- JeanPierre 15y agoYeah, that's hotswap in practical use. When using debug mode in Eclipse, you're able hotswap - which basically means that you can change the content of a method while the program is running. When the method is called again, the new content will be executed.
- yellowbkpk 15y agoJust a point of information: he can't do that here because the Java/OpenGL interface is all static Java methods (which only get loaded when the class loads the first time).
- julian37 15y agoI might be missing something, but how is that relevant? Surely there's no need to hot-swap any OpenGL API methods, right? EDIT: Also, I googled a bit and I can find no indication that HotSwap doesn't work for static methods. Are you sure you're not spreading misinformation here? See for instance http://stackoverflow.com/a/9466778 http://stackoverflow.com/a/9466778
- TazeTSchnitzel 15y agoHe was doing it here though.
- bobobjorn 15y agoyou can also do it with jrebel, which can reload alot more then debug mode.
- yellowbkpk 15y agoHe's not even putting Eclipse's keyboard shortcuts to full use. If you have a passing knowledge of a few important key combinations you can move quite a bit faster than he is.
- jcrites 15y agoWhat are some examples of shortcuts you recommend?
- edwinnathaniel 15y agoFind your own workflow and memorize the shortcut keys. Some of the keys I memorized: F3 and F4 are must. Ctrl + . = Go to (next) Error Ctrl + 1 = Quick Fix (usually follow the above) Ctrl + Shift + T = Open (T)ype (Java class/interface) Ctrl + Shift + R = Open (R)esource (all files) Ctrl + E = Show list of opened files in the IDE (if you type the file name it'll highlight/select it for you once this pop-up is active) Format on Save - hook up your style with the Save action (right indentation, spaces, tabs, or whatnot). Bind others that requires multiple steps (generate getters and setters). If you're like me and use JUnit as a substitute for REPL: Alt + Shift + X + T => run unit test. Alt + Shift + D + T => run unit test in debug mode. There are tons more if you know how to use Eclipse... For Mac: swap the Ctrl key with Cmd.
- cageface 15y agoI was doing some Java coding recently for the first time in a long time and I was really shocked at how good the synergy between Java and a good IDE can be. Java as a language is uninspiring but it's only half the story.
- edwinnathaniel 15y agoAlso check out Maven. Java, IDE (eclipse/intelliJ), and maven will give your productivity a turbo boost.
- dm3 15y ago
- andrewingram 15y agoInteresting to see him work, he's pretty fast. Less interesting to see the quality of chatroom discussion, glad I could hide it.
- andrewingram 15y agoI'm actually enjoying trying to work out what he's doing at any given time. I'm not used to seeing code happen from this perspective.
- xymostech 15y agoI agree. It's like a challenge when I can tell what he's physically doing and working on, but I have no idea what he's actually trying to accomplish.
- Mizza 15y agoOh, man, I love watching Notch code! I wrote about it when he was live coding Ludum Dare: http://gun.io/blog/what-i-learned-from-watching-notch-code/ http://gun.io/blog/what-i-learned-from-watching-notch-code/
- deleted 15y ago[deleted]
- phillmv 15y agoOne, >When building the engine, Notch wrote a function which would continuously pan the camera around and clip through the walls and keep the view on top, so he could make changes to the code and see the effects they made in real time. I’m used to testing by writing a function, building it, installing it on the device I’m testing on, and then seeing the result, which can take up to a minute at a time, so it’s easy to see how HotSwapping could save a lot of development time. and two, https://vimeo.com/36579366 https://vimeo.com/36579366
- drtse4 15y agoJust one note related to hotswapping, he's likely using JRebel.
- terhechte 15y agoDarn, exactly today I'm on a mega slow Internet connection. Is this going to be saved somewhere?
- citricsquid 15y agoTwitch (Justin) TV automatically records the live stream, the video will be available after the stream ends. http://www.twitch.tv/notch/videos http://www.twitch.tv/notch/videos
- terhechte 15y agoThanks!
- lbj 15y agoHe looks slow and prone to repetitive patterns. Overall, I wouldn't hire. tl;dr: He's not using Emacs
- jemeshsu 15y agoHire him? You do realize he owns a multi-million dollars gaming company right?
- deleted 15y ago[deleted]
- xal 15y agoyou are joking - or at least I'm reading your comment like you are based on your second line. However, it's worth noting that if you'd have a job that Notch is willing to take and you are not hiring him into that role then it's practically a factual statement that your hiring process is broken. Admittedly that's a contrived scenario as he made tens of millions from Minecraft and founded a gaming company who's chief reason to exist is to finish the games that Notch starts.
- Ralith 15y ago> if you'd have a job that Notch is willing to take and you are not hiring him into that role then it's practically a factual statement that your hiring process is broken Why do you say that? Do you think Notch's success is a result of him being an exceptionally competent programmer?
- bochi 15y agoWhat about unit testing? He constantly tests the changes manually, but I don't see any automated tests.
- ehsanu1 15y agoThat works less well for games than other applications. Unit testing isn't always appropriate.
- TillE 15y agoUnit testing for game logic: good. Unit testing for graphics code: far more trouble than it's worth.
- petercooper 15y agoI'm an advocate of testing, and even TDD, but realistically, automated testing takes place in so, so few places compared to the entire world of software development and especially gamedev. People writing automated tests are, sadly, in a tiny minority. As an advocate for it, though, it makes me happy there are plenty of people left to convince and tools left to develop! :)
- DanielRibeiro 15y agoHe is testing: testing that people want this. In the beginning your biggest risk is making something poeple don't want, not code that breaks.
- sbarre 15y agoI switched to 720p and did the popout window to watch, and now 3 times I've caught myself trying to move his 3D window out of the way to look at the code in Eclipse.. And I'm on a Mac. :-(
- junkbit 15y agoWhenever I look at screenshots I always try and click the close button in the picture. Every time.
- leon_ 15y agohmm ... I don't think he's a gifted programmer: if (smthg.contains(x)) return true else return false
- Cushman 15y agoThis is what a rock-star developer looks like. Just a dude programming, nothing special... while thousands of people watch. No judgement, it's pretty neat for him-- but it's definitely weirding me out.
- jiggy2011 15y agoIt's a shame there is no random commentary like there was on his LD.
- kayoone 15y agoin a world where you only seem to get respected by using osx, vim, nodejs, python, ruby etc. its refreshing to see someone with so much influence working with Java and Eclipse on Windows!
- TazeTSchnitzel 15y agoAnd using deprecated OpenGL APIs, no less o_0
- MiguelHudnandez 15y agoHe codes with what he knows to get a prototype. I bet he'll get a team of smart guys involved once it's time to get the game running on other platforms. Of course, it'd be better in the long run to stay up to date and eliminate that extra work, but sometimes it helps to build it first to see if it'll even get to the refinement phase.
- Ralith 15y agoI don't think Minecraft ever got updated to using the correct APIs; I doubt this will either.
- ralphsaunders 15y agoMinecraft is still in active development. It may yet (if it isn't already).
- Sharlin 15y agoI'm quite sure that such a major change in architecture will be completely infeasible by now. The whole renderer would have to be rewritten from scratch, and given how the Minecraft codebase appears to be a complete mess architecture-wise, the changes would probably reverberate everywhere.
- 15y ago
- aurelianito 15y agoWhat is the music in the stream?
- pirateking 15y agoFrom watching his older live coding sessions, I am guessing it is one of the stations on DI radio (http://www.di.fm/ http://www.di.fm/). Ambient Space Music, Chillout Dreams, and PsyChill happen to be personal favorite stations of mine to code to.
- rauljara 15y agoI'm actually being really productive having the stream on in the background. I'm not looking at him code, but hearing his techno going is reminding me that someone somewhere is getting a ton of shit done, and it's shaming me into working hard. And I don't even like techno.
- MiguelHudnandez 15y agoThe music reminds me of a small group of coders I was inspired by at my first startup. Back then I was only doing tech support and light front-end work, but every day it was three programmers and I getting stuff done to music like this. Ever since then, this kind of music is a great booster for me, even though I get embarrassed if someone comes into my office while it's playing... The only thing I try for nowadays is to find an energetic, repetitive mix with no vocals.
- kami8845 15y agoi know the feeling, but .. don't be embarrassed, whatever music you want to listen to, you should listen to,
- evincarofautumn 15y agoRight. If it helps you be productive, the shame would be not in listening to it but in failing to. And what are headphones for?
- degenerate 15y agoIf you want non-stop energetic, yet "smooth" techno with some soothing vocals, I recommend you check into trance. Specifically, "A State of Trance". There was a 6-city, 6 week tour that just ended last weekend. All of the music is playable here: http://soundcloud.com/edmtunestv http://soundcloud.com/edmtunestv And downloadable here: http://www.teamliquid.net/forum/viewmessage.php?topic_id=316887 http://www.teamliquid.net/forum/viewmessage.php?topic_id=316... (I code to this music EVERY day)
- 15y ago
- Omnipresent 15y agoWhats the techno he is listening to?
- getsat 15y agoDigitally Imported, Electro House station. http://www.di.fm/ http://www.di.fm/
- justjimmy 15y agoFor those wondering about the music, it's at -> di dot fm -> Listen Now -> Electro House
- richardk 15y agoTechno's nice, but I prefer this kind of thing for when I'm making something. http://www.youtube.com/watch?v=kDTovW5Pb2w http://www.youtube.com/watch?v=kDTovW5Pb2w
- losvedir 15y agoHa, really? I skipped through that video 30 seconds at a time, and it was just noise and someone hitting some random (sounding) keys on a piano to me. Totally distracting. Funny how different people's tastes are. I wonder where they come from. For comparison, here's[1] a song I love to listen to while coding, mostly after about 1:45 but especially at the 3:20 mark. [1]http://www.youtube.com/watch?v=rx8u0u3f8f8 http://www.youtube.com/watch?v=rx8u0u3f8f8
- jongraehl 15y ago(Also my first listen). The piano repeats exactly the same 4 clusters over and over. I wouldn't call that random. It's soothing to me after giving it 60 sec in the background. Skipping ahead 30 sec at a time is definitely a sign you don't like something. What are you hoping to find at the end? :) Anyway, you're right. Artistic taste is personal. Sometimes I think the majority of our judgment is more about avoiding turn-offs than really feeling something new. Your link sounds nice to me at those times, too.
- keypusher 15y agoTo each their own, ambient is the last thing I want when coding.
- ForrestN 15y agoBeautiful. It's interesting that some (like me, and it seems like, you) want music to invoke calm while working, while others want to be energized, or even made to be a bit tense. I wouldn't be surprised if there were a reasonably simple neurochemical explanation. Pounding, building music makes uses one change, calming music makes another, and who needs what depends on your existing chemistry.
- adir1 15y agoAnyone noted which software stack he is using? Is it plain Java 3D API or any libraries on top of it? Also, I'd expect things would be more dynamic in whatever new game he's making, but that seems to be pretty static room he's playing with. Of course he could just be testing out various engine features, before setting out on the "content" part of the game.
- cdawzrd 15y agoLWJGL, and I think he's working on a level editor rather than actual gameplay.
- edwinnathaniel 15y agoIt's interesting to see that he uses Sonar (or at least have it installed but maybe disabled for now) http://docs.codehaus.org/display/SONAR/Sonar+Eclipse http://docs.codehaus.org/display/SONAR/Sonar+Eclipse
- chromejs10 15y agoIf you follow him on Twitter, he was looking for a code quality analyzer months ago. After trying some he found there were a lot of things he should change in the way he writes code. He settled on Sonar for some reason, don't remember why.
- aforty 15y agoWhy do people care about this? I mean, the guy is coding, cool... but what's the big deal? I don't even think anything he has done is particularly great.
- jiggy2011 15y agoI think for the same reason people like watching "making of" documentaries or seeing the work processes of famous artists / musicians etc. Either that or we are just voyeuristic. Plus this is live, I can't think of anywhere else you can watch somebody actually work on a serious commercial game in realtime.
- zerostar07 15y agoI don't think it's the same. This is the (tedious) process of composing something. Ever watched a video of a composer composing Or a painter paint? Must be distracting for him too. Either that or the attention actually forces him to be more disciplined.
- mikeash 15y agoA lot of other people think he has done great things. Opinions can and do differ.
- Alexandervn 15y agoDoes anyone have a clue of what he is building right now? What are the pyramids?
- cdawzrd 15y agoI assume he's building a level editor. The "pyramids" are building-blocks to create stuff with.
- cookingrobot 15y agoMinecraft didn't have levels and the entire game was essentially a level editor - so this might be the actual game. Moving and reshaping objects instead of smashing and placing blocks.
- Maven911 15y agoIdea: start a new business model where people agree to being video-taped and then somebody else trims the content to make it more enjoyable to view (remove the non-programming related web searches, work breaks, etc.) - and add some extra voice commentary on what is going on, play by play...
- _frog 15y agoPeepCode[1] has been doing just this lately, they've done a really great job too, I've learnt a lot watching them. [1]: https://peepcode.com/ https://peepcode.com/
- newobj 15y agoAlways shocked how Notch doesn't seem to know a single keystroke shortcut in Eclipse. Watching him hit "Debug" with his mouse, or pick quick fixes, etc, is nuts. What's even stranger is how fast he is without knowing any of these shortcuts. :)