HN Theater @HNTheaterMonth

The best talks and videos of Hacker News.

Hacker News Comments on
Oculus Connect 2: Live Coding Session with John Carmack

Oculus · Youtube · 104 HN points · 13 HN comments
HN Theater has aggregated all Hacker News stories and comments that mention Oculus's video "Oculus Connect 2: Live Coding Session with John Carmack".
Youtube Summary
Oculus Connect 2 is our second annual developer conference where engineers, designers, and creatives from around the world come together to learn about the future of the Oculus platform and push virtual reality forward.

Session Description:

John Carmack will demonstrate the process of developing a simple VR application using a new development environment for rapid development and open deployment on Gear VR. You’ll also learn more about media processing, remote development, deployment, and multi-user setup.

Speaker:

John Carmack, CTO, Oculus

Learn more about Oculus Connect: http://ocul.us/OC2

Official Oculus Channels:
Oculus: ocul.us/Oculus
Facebook: ocul.us/Facebook
Twitter: ocul.us/Twitter
Instagram: ocul.us/Instagram
HN Theater Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this video.
Jul 23, 2021 · jambutters on Racket v8.2
the biggest adoption it would have gotten is that it was going to be used the main language of vrscripting https://youtu.be/ydyztGZnbNs but it seems like john couldnt push it everyone into it
> What was Carmack's development focus during Oculus?

I'm not sure exactly but there's a bunch of keynotes from Carmack around Oculus Connect on YouTube. Here's one from 2014: https://www.youtube.com/watch?v=gn8m5d74fk8, and another one from a year later where he's live coding in a VR environment https://www.youtube.com/watch?v=ydyztGZnbNs. You'll find a bunch more if you search too.

I remember skimming through them years ago not because I'm into VR development but I've been a life long fan of Carmack's work and like listening to him talk about things.

I suspect the majority of programmers who say this have internalized the core api features they depend on (function calls, syntax, common algorithms, etc.) that make them super productive. Whereas average programmers and below need all the help they can get from their editor to tame the wild goose chase of looking up common functions, scouring StackOverflow, and even looking for random snippets on long abandoned blogs, etc.

In other words his mastery greatly reduces his dependence on IDE/editor features so this makes perfect sense.

Watching Carmack live coding, he types with conviction and gets things done:

https://www.youtube.com/watch?v=ydyztGZnbNs

Sitting down with OpenBSD during a cabin retreat:

https://www.phoronix.com/scan.php?page=news_item&px=Carmack-...

cma
>have internalized the core api features they depend on

He says he still uses intellisense type features to aid discovery and memory. Just not the advanced stuff for editing.

This is exceptionally cool. Thanks for sharing and building!

When I'm using Sketch or Movie Maker or Logic or some other GUI-based >>x<< editing tool, the thing that keeps going through my head is: "Dammit I wish I had the abstraction tools that I have as a programmer. It would literally make this task 100x faster."

To me Ronin is some strong validation that all these editing tools would be much improved by a human-readable and programmable intermediate representation of what you're doing with the GUI. The GUI is just an editor for modifying this representation.

John Carmack did some work when he was at Oculus on something like this for VR: - https://www.youtube.com/watch?v=ydyztGZnbNs

These ideas are all in their infancy, but really excited to see people starting to make moves in this field.

Thanks again!

GuiA
They complement each other. There are certain things that I’d love to pull up a command line for (e.g. quickly aligning dozens of objects using a non trivial heuristic); but on the other hand there are plenty of things where the act of visually working through it, placing multiple options side by side on the canvas, rearranging things by hand etc., helps in solving the problem itself.

What would be really nice is if we had a solid set of standards for inter operation, such that I could work on the same video editing project in After Effects, through the command line, through some open source tools someone else wrote... etc.

I have a project right now where I have assets generated in Sketch, some other assets generated by Python scripts, all feeding into an AE project, the output of which gets fed back into some of the Python scripts... I can do great things, but it’s super kludgy/buggy to work with, and as a software engineer see so many trivial ways in which it could all be so much faster and more pleasant to work with (e.g. After Effects natively only supports very limited JS like scripting, so I have to have duplicated Python + AE code... and if the AE motion tracker could serialize tracking data for Python...).

I’m not holding my breath because this kind of computing, while more aligned in philosophy with the early composable UNIX roots, is IMO most entirely incompatible with the state of the (creative) software industry/economy (Adobe, like everyone else, would like to do as much as they can so that you do not give any of your time or money to creative software other than Adobe’s).

jierenchen
> They complement each other. There are certain things that I’d love to pull up a command line for (e.g. quickly aligning dozens of objects using a non trivial heuristic); but on the other hand there are plenty of things where the act of visually working through it, placing multiple options side by side on the canvas, rearranging things by hand etc., helps in solving the problem itself. > What would be really nice is if we had a solid set of standards for inter operation, such that I could work on the same video editing project in After Effects, through the command line, through some open source tools someone else wrote... etc.

The big challenge I see here is a two-way mapping between code/representation and GUI. Ronin here has code >> graphics, but question is how to have a clean mapping from graphics >> code?

> I’m not holding my breath because this kind of computing, while more aligned in philosophy with the early composable UNIX roots, is IMO most entirely incompatible with the state of the (creative) software industry/economy (Adobe, like everyone else, would like to do as much as they can so that you do not give any of your time or money to creative software other than Adobe’s).

I do wonder if this is going to be a space that gets disrupted. We're already seeing this with smaller players like Sketch and Figma going into the image space. Still GUI tools, but proves that the barrier to entry isn't quite as high.

Is the technical moat for audio and video THAT insurmountable? I get that people won't be making the next hot music video on open source software right now, but I personally could use something dead simple to compose together a bunch of screen recordings into a demo video.

> I have a project right now where I have assets generated in Sketch, some other assets generated by Python scripts, all feeding into an AE project, the output of which gets fed back into some of the Python scripts... I can do great things, but it’s super kludgy/buggy to work with, and as a software engineer see so many trivial ways in which it could all be so much faster and more pleasant to work with (e.g. After Effects natively only supports very limited JS like scripting, so I have to have duplicated Python + AE code... and if the AE motion tracker could serialize tracking data for Python...).

Whatcha making in AE?

disconcision
re: two-way mapping: see sketch-n-sketch (https://ravichugh.github.io/sketch-n-sketch/) for another effort in this vein
sitkack
FWIW, Autocad, being written in Lisp, had a repl that was fed via the UI, so that you could basically see what the UI was generating and write your own scripts based off that.

I haven't used Autocad in 25 years, so I don't know how much of this is still true.

galfarragem
Autocad still allows all of that, and, in my opinion, a lot of its success is derived from that. Even Autocad clones have a Lisp repl.
Sounds like you're remembering John Carmack developing VR using racket:

https://www.youtube.com/watch?v=ydyztGZnbNs

edit:

Also check Arcadia for Clojure:

https://www.youtube.com/watch?v=_p0co13WYPI&feature=emb_titl...

And developing flappy bird in clojurescript (canonical figwheel example):

https://www.youtube.com/watch?v=KZjFVdU8VLI

jolmg
No, the one I saw was different. They were walking around the world and shooting stone building walls. They also weren't part of a conference. The video was just their screen split with their code on one side and the game window on the other. I'm pretty positive it was Common Lisp too because I think I was looking for SLIME videos at the time.

Thank you for the links.

John wanted racket to be the main scripting language for vr apps that are lightweight and don't need a lot of horsepower. https://youtube.com/watch?v=ydyztGZnbNs
related:

live coding session from Oculus Connect 2 (in 2015): https://www.youtube.com/watch?v=ydyztGZnbNs

previous discussions on the live coding session:

https://news.ycombinator.com/item?id=11056973 (2016)

https://news.ycombinator.com/item?id=10279385 (2015)

He also did a live coding demo showing off this VR scripting concept. Having such a fast iteration cycle is very compelling. Hopefully at least some Javascript version of this will exist, even though this seems like a perfect application for a Lisp.

https://www.youtube.com/watch?v=ydyztGZnbNs

I wish he did live coding. Jonathan Blow's Twitch channel (naysayer88) is very compelling. Carmack's would be as well.

bitwize
It's 2019. No software technology officially exists until it's been ported to JavaScript. Don't worry.

If you can't do it in JavaScript, do it in Rust. If you can't do it in Rust, it isn't worth doing.

dang
Could you please not post unsubstantive comments to Hacker News?
nikki93
Been experimenting with similar stuff in Lua: https://www.youtube.com/watch?v=hQUq2INrdiU
> On a more general note, I am still waiting for the world to fall for lisp in general.

Gah, aren't we all? Watching John Carmack push Scheme for the Oculus Rift 2 [https://www.youtube.com/watch?v=ydyztGZnbNs] made me feel like something was right in the universe.

leavethebubble
Why not just leave the lisp-bubble and admit it's a terrible type of language which is behind of ML languages in terms of productivity, safety and performance?
socksy
Good thing that there isn't an ML bubble then ;)
marcosdumay
> Gah, aren't we all?

Since I found Haskell, no. Not anymore.

And I don't expect Haskell to take over the world either. I do expect a large crop of new languages that extend on the concept, and some of them to take over the world.

Actually I really like the format of your presentations: just yesterday I watched your live coding session with vrscript (https://www.youtube.com/watch?v=ydyztGZnbNs) and it was fantastic because, first, you were showing to your audience how to work with Racket (and some of the features in DrRacket), and second, you build from zero a demo in a very casual, easy going way. I honestly don't think that a standard slide-based presentation would have been better in any way...
Jul 24, 2016 · dmit on Racket v6.6
He showed it off during a live coding session last year:

https://youtu.be/ydyztGZnbNs

Checkout the VR script by John Carmack

https://www.youtube.com/watch?v=ydyztGZnbNs

It's on racket (scheme dialect). There are no language which can make you more efficient. But some languages open your mind. Just read SICP and find out what makes language EPIC. Many big projects are in Php. But surely no one would claim that it makes php "the EPIC" or even great.

Feb 08, 2016 · 96 points, 34 comments · submitted by agronaut
neals
Here is a man thoroughly enjoying his work. I envy him, he just keeps on coding while I feel myself floating away to management.
Ocerge
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.
rifung
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.

Ocerge
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 :)
whitegrape
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.

rifung
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...

GuiA
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.

pcote
"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.

pjmlp
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.

vessenes
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.
vessenes
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

zdam
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

None
None
None
None
AdmiralAsshat
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.

pjmlp
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.

enneff
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.
moogleii
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.

lmedinas
He also did several clients for Linux (doom3, quake etc...)
pekk
That was many years ago, and he has since had only scathing words for the platform, as far as I know.
douche
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.
sitkack
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.
pjmlp
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.

doctorpangloss
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-...

moogleii
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.
jra101
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.
doctorpangloss
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.

pekk
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.

None
None
CyberDildonics
Get over yourself.
Marcus316
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."

asgfoi
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.

None
None
None
None
ticklemyelmo
"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.

doctorpangloss
> 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.

throwaway_xgqtr
> 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"

lhl
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.

kacy
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.”

Jan 29, 2016 · 2 points, 0 comments · submitted by rfreytag
Nov 05, 2015 · 6 points, 0 comments · submitted by andrewchambers
HN Theater is an independent project and is not operated by Y Combinator or any of the video hosting platforms linked to on this site.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.