Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Oculus Connect 2: Live Coding Session with John Carmack [video] (youtube.com)
96 points by agronaut on Feb 8, 2016 | hide | past | favorite | 34 comments


I <3 John Carmack.

“you know my 11 year old son is programming in racket. my creative director is programming in racket. it doesn’t seem that ridiculously complicated for me.”


Here is a man thoroughly enjoying his work. I envy him, he just keeps on coding while I feel myself floating away to management.


A good manager enables happy programmers. We always need more good managers in the world; there is nothing shameful about choosing to head into management.

Source: am a programmer, not a manager, but am lucky to currently be experiencing an amazing programmer-turned-manager after years of awful managers.


"Choosing" is the keyword tricky phrase here.

At my last job interview, the "what do you plan on doing 5 years from now?" question came up. After talking up things that interested me that could fill 5 years of time, he asked me about management aspirations. I confessed that I had no personal interest.

He followed with something about how he wished it was "realistic" for himself to stay in non-managerial roles. Apparently, there are a lot of programmers out there that feel some kind of pressure to move into management at some point if they want to stay in the I.T. game.


Yes, even socially.

Maybe some fellow countryman would speak otherwise, but in Portugal if after 40 you are not a manager of some sort, it is like you failed at it.

It is also hard to avoid such situations when quite a few companies use senior developer, technical lead or technical architect as synonyms for team manager. So you only discovered what you really applied to, after being inside.

After a certain age if you want to stay in development it is like dodging bullets.


I feel exactly the same way. I used to enjoy programming in college, but now it's slowly turning in to an endless grind of new projects. Finish one, in comes another. I don't know if it's just me or my company, but I am definitely burned out and wouldn't mind some people managing for once. But then again, Carmack is an incredible man and engineer; I wouldn't be shocked if he's never burned out in his life.


To be fair I don't think it's fair to compare yourself to him in terms of being burned out. I'm sure he's wealthy and famous enough to get to work on whatever he wants to, whereas most people have to work for a living. I imagine if you got to program anything you wanted and only when you wanted, you wouldn't feel as burned out either.

Carmack is definitely awesome, but I really don't think his awesomeness is what stops him from getting burned out, and more importantly I seriously doubt your getting burned out implies your lack of awesomeness.


You don't need wealth and fame to work on what you want. John Carmack started out with neither but he's always had one thing to go along with his above average smarts and focus/productivity: an unwillingness to compromise on what matters. There were plenty of times in his early career where he challenged management and won (because management realized how valuable he was) but he was fully prepared to take the loss. Better to work as a pizza cook while furiously coding interesting graphics problems and games at night than bow to management's demands to patent something like side-scrolling technology on a PC.

If you don't think it's some dimension of his awesomeness that keeps him from getting burned out, what do you think it is? The environment of getting to work on what he wants? Lots of people have that but still burn out, that can't be the only thing.

Edit: I do agree with your underlying idea though that you don't need to be as awesome as Carmack to get the same benefits in terms of being highly productive without burning out. Your output will be scaled down accordingly to how much less awesome you are than he is, but it should be possible, even if very difficult, to transform oneself into a focused, disciplined, productive, and happy worker, even if it's very mysterious and individual-specific how to actually do that.


I don't disagree with you; you certainly don't need wealth and fame to work on what you want, but it sure does enable you to do so.

From what I know about him, he was fortunate to land in a position where he could thrive. That's not to say he was fortunate in that it was all luck as he was very intelligent, but fortunate in the sense that the opportunity was there for him to take it.

> After I took the job at Softdisk, I was happy. I was programming, or reading about programming, or talking about programming, almost every waking hour. It turned out that a $27k salary was enough that I could buy all the books and pizza that I wanted, and I had nice enough computers at work that I didn't feel the need to own more myself (4mb 386-20!).

> I learned a huge amount in a short period of time, and that was probably a turning point for my personality. I could still clearly remember my state of mind when I viewed other people as being ignorant about various things, but after basically doubling my programming skills in the space of six months, I realized how relative it all was. That has been reinforced several additional times over the seven years since then.

taken from http://games.slashdot.org/story/99/10/15/1012230/john-carmac...

I will agree with you that one's mentality definitely has a very strong effect on one's own happiness. On the other hand, I really think that people can do so much more when they are put in an environment which supports their growth and personal goals than when they are doing something because it's what's required of them.

As for "The environment of getting to work on what he wants? Lots of people have that but still burn out, that can't be the only thing.", there's been previous research into causes of burnout already which you can read here: https://www.psychologytoday.com/blog/pressure-proof/201308/s...


Fair enough. Now that you mention it, if I got to work on whatever I wanted, I absolutely would be happy. Just gotta make time after work to reacquaint myself with projects that I find interesting :)


My daughter (age 10) has been programming in racket, and recently finished her first game. I was super, super psyched to show her this, and super bummed to read that it's been put off for some time now, with no news about launch; looks like Carmack has had other things on his plate recently. I hope that this gets launched; tying a scheme-type learner's language to VR output is "epic" (her words) for junior developers.


Update; he just told me he's been working on positional tracking for GearVR; probably more important right now for Oculus. But, I'm still bummed! I would love to mess around with this, and almost pulled the trigger on a GearVR headset after watching the demo.

https://twitter.com/ID_AA_Carmack/status/696842361976926208


Here are some rkt files if you are interested.

Key files are vr.rkt and remote.rkt

What is needed is the netHMD apk but I've not been able to find it.

https://github.com/jb55/vrscript-samples


John Carmack, the man arguably responsible for Windows' popularity as the "gaming" OS, uses a Mac?

I guess I shouldn't be surprised given that id used to write their software on NeXT computers, but still...

EDIT: Since the downvotes seem to assume I am leveling a criticism at him, this is genuine surprise, not flame-baiting.


Actually, he is responsible for graphics cards having to ship OpenGL drivers. Without Quake, MS would have probably been successful in killing OpenGL on the desktop.


MiniGL actually.

In the age of APIs like Glide.

Even if Microsoft cared about OpenGL, the API never had any love from console and graphic card vendors in terms of tooling and support for game developers.


Carmack was never responsible for Windows popularity as games OS.

PCs were already popular for gaming with MS-DOS.

Carmack only started to like DirectX around DX 9, by then dozen of Windows games were shipped using WinG and DirectX.

What made Windows popular for games was Microsoft as platform owner payed attention to the wishes and needs of game developers.


Yeah, the GP post couldn't be further from the truth. Carmack was a OpenGL proponent until long after they had lost the war to DirectX. He wrote Quake3 in OpenGL so that it could be released on Windows, Linux, and MacOS simultaneously.


When you're engineering at that level, you probably aren't a fanboy, and more likely to be a rational engineer. He's been on record a number of times extolling the iPhone's architecture for gaming.

Lots of peeps at Google use Apple hardware. It's just hardware.


He also did several clients for Linux (doom3, quake etc...)


That was many years ago, and he has since had only scathing words for the platform, as far as I know.


Probably with good reason, far as graphics go... Drivers are a complete clusterfuck over there, and OpenGL is such a confusing mess compared to relatively clean DX9-11 APIs.


It's a little disappointing he had to go out and criticize how "media people" used "Unity" to do these "simple things that game engines are total overkill for." He was talking about the last VR conference, where artists, non-programmers, etc. were showing their relatively straightforward panoramic stills and videos with an Oculus powered by a Unity app.

That mentality sort of bodes poorly for Oculus. Of all things to say, why does he have to open with, essentially, 'The people who are actually getting things done and most excited about my platform are doing things wrong. I'm going to tell them they're doing things wrong, and then I, who haven't released a game people wanted to play in years, will show them how they should be doing things.' It's the opposite of inspirational.

I know he's a phenomenal programmer and all. But he's such a blowhard. There are lots of blowhards behind all sorts of platforms, but usually those platforms have so much momentum that the platforms grow in spite of the blowhards, not because of them. Nobody is using Oculus. Facebook really nervous to specify the number that were sold. [0] And this guy right here isn't helping.

And before you downvote me into oblivion, I'm mostly commenting on his condescension. VRScript will be useful to someone, like many tools out there, and I'm glad he's working on it. But his language like "media people" isn't so easily ignored as an advocate for the platform and a representative of the very best of engineering.

If you're at Facebook in charge of this stuff, you should take a close look at this sort of rhetoric.

[0] https://www.dropbox.com/s/s1fo7069mbokcc0/Screenshot%202016-...


"why does he have to open with, essentially, 'The people who are actually getting things done and most excited about my platform are doing things wrong. I'm going to tell them they're doing things wrong"

He's acknowledging that these people had to do things wrong, at least in the sense that they had climb a steep learning curve and deploy a heavyweight system, because they basically had no other choice. He's describing the gap that he saw that motivated what he demonstrated. Those artists aren't going to be offended that he attacked their deep love of Unity, they're going to be happy that they have an alternative that suits their needs.


> had to do things wrong

We differ in what we think is "wrong." I would say that your definition of wrong is the least interesting to the people who are currently using Oculus with e.g., Unity. They don't really care about the same things you do.

> had climb a steep learning curve

It's not that steep. I mean, they're not hardcore engineering types, and they figured it out right?

> and deploy a heavyweight system

Is it that heavyweight? Does anyone really care that it's a 16 MB executable? Did that get in the way of anything other than the App Store's arbitrary 50 MB limit? Does performance really matter when you're drawing a panorama?

Define heavyweight. For many people, opening a command line is heavyweight. You're not appreciating how nice Unity is.

> they're going to be happy that they have an alternative that suits their needs.

Time will tell. The history of art tooling is complicated. Maya nee PowerAnimator has been around since 1990. Pixar, which thought it had a better way of doing things with an alternative universe of tools, uses it now too. Photoshop, MediaComposer, Flash, Unity... Everything has its own history and its own outcomes.

I don't know if any of us are equipped to predict what is the right way to develop for the platform. That's not what I'm saying. I'm just saying he's being kind of a jerk and has a condescending attitude towards people who are actually delivering things with Oculus.


Unity is a terrible solution for things like photo spheres and media tours:

* you can't load it without a long unity splash screen without paying $3K for a pro license

* it renders photospheres poorly - no dynamic eye buffer resolution or separate overlay compositor support

* based on your overall attitude/taking offense, I'm going to assume you haven't actually used Unity at all. Try to HTTP stream/lazy load web assets, go ahead. Also go ahead and try to build links in Unity, or to load JSON. (Hint, none of those are available out of the box). Now try to make changes/iterate, or distributing your changes to clients. Unity is a huge pita.

Honestly, I can't understand why you are arguing online about what's "wrong" or not about something you obviously haven't tried and know nothing about. Now, that's offensive.


> We differ in what we think is "wrong."

What is meant by "wrong" here is "this is more work than it should be to accomplish the desired result...so let's create some infrastructure to make these types of things simpler"


Wow, er, either you're cherry picking from what he said, you skipped ahead, or you misunderstood him. He spends nearly all of his introduction prior to the spot that offends you talking about how the old paradigm of doing things was inefficient and excessively difficult, how the Oculus platform couldn't do certain things (cylindrical panoramas, partial panoramas) without resorting to writing a custom viewer or using Unity. The very sentence before the "offending" quote is about how he wants to enable people with their shiny new camera to easily demo virtual reality without resorting to a native project or Unity. He is literally giving the raison d'etre for the creation of vrscript.


I think he was just saying that Unity is overkill for simple projects and that was part of the impetus for creating VR Script so people wouldn't need an entire game engine to display some panoramic content.


I'm pretty sure he used the term "media people" as something opposite and below engineers. He didn't quite say "Hollywood people," or go the full O'Church "frat boys," but "media people" is just his particular condescension.

If he meant what you said, he would have just said that.


OK, I've listened to this section you mention about 4 times trying to catch the meaning you are imprinting on his words, and it just doesn't seem that way to me. It does not sound condescending at all, to my ears. He is acknowledging a group of people who should not NEED to apply Unity to their work to interface with an Oculus.

Perhaps my ears are biased here, as I (as a programmer) have a great respect for "media people" due to their skills in content creation which I myself lack. "Content people" is the other term he uses here. What good is an engine without content? Different skills, not one greater than the other. I seriously doubt that John Carmack was attempting any sort of comparison here, subconsciously or not.

My take, as paraphrase: "It seems like using Unity is a lot of overhead for a panoramic VR slideshow. Here's another tool that you can try out and see if it meets your needs."


I agreed with your point about Carmack's tone.

But obviously someone who has the technical knowledge to program video games (slight as that actually is...) IS in a completely different ballgame from someone who, say, is trying to get rich by streaming on Twitch or making a content farm on Youtube. I find that to be a valid usage of the phrase "media people."

As VR takes off, there will be a valid distinction between people who are using it more or less exclusively for purposes like content farming and marketing and people who are using it to build games or worlds of more depth than "look around this 3d photograph" or possibly "click the monkey." It's a valid distinction.


Get over yourself.


Watching the video is tech:

John Carmack(from the video): This is in now way replacement for highly sophisticated apps... ...you should clearly be using Unity or Unreal, you should be using a real game engine. If you have to do a lot of interaction with Java or native code, you should be writing a native application.




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

Search: