Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've been trying to listen to the whole thing (it's 5 hours!), and there are some really interesting moments. Albeit, a bit too much talk on old video games that aren't from my generation, but I'm sure this will be interesting to some people to.

What I found interesting:

* he has insane hours and has never burnt out. He says that if you want to achieve big things in your life, you need to work a lot. He also says that as long as he's working, and making progress (and he always makes progress when he keeps trying, reminds me of Linus), then he can withstand his hours and pressure.

* he learns a lot through reading computer science books

* he is really big on simplicity, seems to appreciate Golang and its design, and he's not into metaprogramming on C++. I really like that he's focused on building things that work, and can be maintained, and not that interested in theory and advanced concepts that don't seem to bring him much. He also says he spent some time on the functional side, and that probably made him a better programmer, but he's back doing C++.

* he talks about the sort of hacking community he felt part of, where you just wrote code and shared it and reused other people's code. It really feels like open source is something else, made me feel bad about all these patents, and weird licenses (even Apache 2 or MIT) and academic people whining about credits. Wish we could just share and use whatever and be happy with it :(

* Agree with him, VSCode is THE IDE. It's much better than emacs IMO (I've tried using vim many times but couldn't).

* 8-9 diet cokes a day. Holy fuck. That's a lot of caffein (and I'm guessing not good for the teeth)



I listened to the first two hours on a train yesterday. I'll likely finish it later.

The discussion about tools and languages was particularly interesting. You might expect John Carmack to be pretty old school and dogmatic on using e.g. C and instead it seems he has a very broad taste and experience with different languages and tools. Just a very pragmatic person that switches between doing C, python, Go and other languages. For someone that is into hyper efficient graphics code, admitting that for the vast majority of code, using a garbage collector is perfectly fine is IMHO a very pragmatic and mature attitude. He doesn't have to prove anything to anyone anymore on that front of course.

VS Code is indeed a very popular IDE. The Jetbrains ecosystem is also pretty interesting. I found his comments on debuggers to be pretty striking. GDB is so hard to use that programmers avoid using it. Having a proper debugging UI changes that. He was talking about how he just runs most things in the debugger by default to see if things work as he expects.

In the same way having static code analyzers tell you that, no, actually your code wasn't perfect and is full of little time-bombs that could go off at any moment is a great argument against just pretending you are Buddhist monk that only requires a pen and paper to produce perfect code. Exaggerating here of course but I know some people and that on purpose avoid using, or even learning about tools that would allow them to be more productive and better engineers.


There really is a learning curve to using these tools, and the investment might not be worth it. I use GDB so unfrequently that I have to re-learn it every time I want to do something. Coupled with the fact that it's not integrated with the language (I can't run `cargo debug` or `cargo gdb` or something) and not the default on Mac (why should I relearn lldb), I end up just printing stuff instead of using it.


I don't know; I'm only a few years younger than John Carmack. IDEs with decent debuggers were a thing from the mid nineteen eighties already. They were widely used and you can learn to work with them in a few afternoons. And decent IDEs are available for many languages. Including Rust, C, and C++, etc. Also on macs.

Not using tools that are there is a choice that a lot of people seem to insist they need to make. I've heard all the excuses on this front and it usually boils down to people believing in their super skills, discipline, and intelligence to the extent that they believe they don't need those tools. Some people actually feel threatened by a tool telling them they are doing stuff wrong. They get annoyed and frustrated by that. It's irrational.


Blame the tool, not the users


> You might expect John Carmack to be pretty old school and dogmatic on using e.g. C and instead it seems he has a very broad taste and experience with different languages and tools.

He has been using various programming languages for a long time. Basic, assembly, (turbo) pascal, etc. In my experience most old school dogmatic C programmers started with C and never even tried to use any other programming language halfway seriously.

He especially gives a lot of praise to Borland for making turbo pascal and how far ahead it was of its competition back in the day when it comes to developer tooling (IDE, debugger, etc)


About GDB: I really like using KDevelop on linux, and they have a pretty good GDB front-end built in. It's pretty similar to VS debugger, with a panel showing local variables and their values, etc. It's definitely not as full featured as VS, and IIRC there was some instability, but if you're on linux and using C or C++ I highly recommend trying it.


He's previously done one of the fairest analyses of the state of functional programming (specifically Haskell) and its pros/cons particularly with respect to building games I've seen as well. It's very refreshing.


I think Carmack was mostly talking about regular Visual Studio as his IDE of choice, though. Not VSCode.


Visual Studio is to VSCode what car is to carpet.


So, one is too heavy to lift and the other one flies?

(agreed though. VS has been a beacon of light inside MS even in its darkest periods.)


Not the worst comparison. VS has enough years of cruft and legacy options that it is one of the more complex software you will ever use as a dev and with the right extension, Code could fly ;)


Yeah, he meant VS. He even mentioned using an older version (6) as it is much faster on modern computers. Maybe he was referring to a friend of his, I don’t remember.

Most Windows programmers I know (not a lot) use VS for the ease of integration with all things .NET and Microsoft.


He doesn't use VS6 himself, he was most likely referring to Sean Barrett (aka "nothings") who worked on the original Thief as well as at RAD Game Tools and made the stb_ single header libraries. He has mentioned several times that he sticks with VC6 since he prefers the UX it has.


Yeah when he said this it I couldn't help but think of Sean Barrett/nothings.org coding videos. I was always shocked by people using VS6 post 2003 but it provides 50-75% of what people want from an ide these days. (A big proponent is inline debugging as mentioned) but I don't recall intellisense on this version, only keyword colouring and non trivial header exploration... Makes everything look bearable these days (even if run from a browser UI)


VS6 has intellisense but doesn't cope that well with macros.


VS 6 is great, honestly, if you're just hacking c89 or a narrow subset of c++98. Look out, though, the compiler isn't fully standards compliant.


VS6 was such a great product.


I tried out VS 2019 last year on a whim. The last time I used VS before that was in the early 2000s (probably 6.0).

It was a surprisingly bad experience - weirdly slow even on a high performance PC and so much clutter by default.

Tried out VS 2022 just now. First impressions are better.


2022 was the first VS in 64 bit, the increase in responsiveness was enough to make me switch back from rider


It's probably due to optimizations in high level code rather than the 32/64-bit aspect, but I'm just guessing. (To get that level of slowness you really have to fuck up at a higher level.)

VS seems to be a WPF app nowadays, so I assume the UI is written in C#.


Since Visual Studio 2010.


Obligatory Casey Muratori rant about modern Visual Studio, complete with Visual Studio 6 running in a VM: https://youtu.be/GC-0tCy4P1U


Since I just re-watched it: he ran it on a P4 from 2003.


Visual studio has been a great IDE from the early 90s when I used it. (Also game/graphics dev)


I’ve never had anything but a terrible experience with it when doing C++

Either the whole thing freezes and becomes unresponsive, or intellisense stops working, or (often) both.

Sublime Text + GDB + RR is my no-bullshit setup right now and I love it. A mouse interface to GDB would be nice, but I can live without it.


Yes and he is talking about coding in c++


On the subject of books, there's an advisory email Carmack wrote to a kid years ago, telling him that his methods may be outdated compared to the modern advances in learning, but when he studied books he would read multiple resources describing the same thing because sometimes one resource may not transmitting information in a way that clicks to him.

I remember how insane it sounded to me that someone as talented as Carmack would look up for a second or a third resource describing a concept just because he couldn't clearly understand it on first try because, contrast to how we react when a student fails to grasp pointers. Our kneejerk reaction to someone not understanding a concept on first try would be "You want to re-read that again? Guess you're not talented. And you keep making mistakes after an hour? Sigh you're a lost case".

And here you have literally Carmack himself not caring how many books he has to reference, because all that it matters is that it will eventually click, he will own it, he will make progress and that's all that matters.


I think that a lot of technical books are written from the perspective of already knowing the material or expecting a particular learning path. A lot of important details or framing get left out. The technique of reading multiple sources is very clever because it can fill in these defects - I think I might have subconsciously done this in the past and not fully realized why it worked.


The talent was realizing his challange and finding a way to deal with it.


>Agree with him, VSCode is THE IDE.

Lol, he said Visual Studio is THE IDE, not VSCode. Compared with VS, VSCode is a toy.


> Compared with VS, VSCode is a toy

Is it still true today? I don't really do C++ so I have no use for VS, but I have a hard time imagining not having access to everything to do C++ dev with VSCode


Yes. If you are doing something serious in C++, VSCode does not hold a candle to VS.


> he has insane hours and has never burnt out

I think there's two major things you need in order to do that. Work on what you love/want and have no/little need for socializing.


I think the point he made was rather the opposite. He works 10-12 hours a day, 60 hours a week, 6 days a week. He needs seven to eight hours of sleep, like a normal person. He specifically mentioned that he never was much into doing all-nighters and that he experimented with working different times of the day. So he'd start in the afternoon and then continue until deep in the night when he was younger whereas having kids and a family caused him to shift to having an early start instead and run a more normal schedule.

That sounds like an intense schedule for sure but not really that insane. He's not super human and just staying in shape, and well rested is what has allowed him to do this for decades on end. Work life balance and taking care of his family is just part of that deal as well.

I notice that the quality of my own work is simply much better when I'm well rested and that beyond a certain point, the most productive thing is for me to simply take some rest or do something non work related. The rare case that I need to work on something late, I pay the price the next few days. It all averages out in the end in terms of productivity.

Grinding away at a problem for hours is simply draining. Often those problems melt away the next morning after I sleep a bit. Your brain doesn't stop working when you do. The hard work is immersing yourself in the problem and absorbing all its facets and then calmly reflecting on all the assumptions you are making. Generally, if you are stuck you need to find out which of your assumptions it is that is wrong. I've woken up with fully formed solutions in my head for seemingly unsolvable issues or bugs that I fought with the previous day so often that I actually rely on this happening a lot these days. So, I generally stop working around 6-7 pm and I'll park harder issues until I'm well rested in the morning or after a weekend.

I don't work on the weekend. The weekend is for resetting my brain. Just as important as sleep is. The most productive use of that time is allowing that brain reset to happen. Getting frustrated and stressed is counter productive. It leads to poor sleeping patterns and stuff just piles up. Take a break, relax.


> That sounds like an intense schedule for sure but not really that insane

I'm not sure what disqualifies that as insane, but it pretty much precludes any social life. I'm on-and-off doing these kind of hours (sometimes work takes over life, sometimes life takes over work), but when I do these kind of hours even when I'm not working my brain is still thinking about work. I can't imagine doing this for decades at a time, this is truly a life dedicated to work. But I agree that you can't achieve great things without sacrificing your life.


> He works 10-12 hours a day, 60 hours a week, 6 days a week

> Work life balance and taking care of his family is just part of that deal as well.

I don't judge anyone for how they like to spend their time (and certainly admire Carmack), but what work/life balance? There isn't much except work there.


100 hours a week is no life.

If you can eliminate the average 90 minutes a day commuting Americans do, along with the average 20 hours a week spent cooking and cleaning et cetera by hiring people to do that for you, a rich person can have more life working 60 hours a week than a poor person has working 40.

Carmack is a high level martial artist. That would have required a significant time commitment.


> Carmack is a high level martial artist. That would have required a significant time commitment.

Interestingly, it might not be the that significant of a commitment in terms of raw hours although it certainly is in terms of consistency and persistence. Quick googling reveals that it might take around 2500 training hours to get to BJJ black belt (I guess if you're pretty talented). Over 10-year period, that's just under 5 hours/week. And BJJ black belt is a pretty big deal.


I think I got my jiu jitsu black belt with about 2,500 hours on the mat, say 5 hours a week on average for 52 weeks for 10 years.

With a more effective teaching model, I believe one could achieve the proficiency needed for a black belt in 2/3 of the time. However, this does not mean becoming a name on the world stage, for which much more talent and possibly more hours of practice are needed: talent saves many hours of practice that are instead needed by less talented practitioners, assuming that the latter can reach the level of talented people even in the limit of infinite time and youth.


Congratulations on your black belt! I'm a white, but won't be even advancing to blue with my training (in)consistency, haha.

Yeah, competitive scene is a whole different beast.


Work/life balance applies to people who would ordinarily not do their work if they did not have to.


That binary classification doesn't make much sense. What amount of work? I'm pretty sure many people would willingly work 10-15 hours/week (or 24/32/whatever) even if they didn't have to, but not necessarily 40.


I assure you, I will never stock shelves, deal with abuse at a register, drive a hilo, work in a factory, touch Windows, etc. if I don't get paid to.


Well he did have enough spare time to build a working rocket, or did that count as work also?


How is it possible that Alexander Grothendieck was able to work for 12 hours everyday for many years, same with Nikola Tesla studying for almost 20 hours while in the University and also Newton Comes to mind ..how did these men do it if I may ask?


I read Carmack post in Hackernews before. He mentioned that he didn't perform deep work for 12 hours. Within that 12 hours, he will perform maintenance work as well


Many if not most productive academics have such insane schedules. They’re not necessarily asocial. I think the important distinction is in what I’d call “bullshit socializing.” A lot of what regular people do in the name of socializing is probably not helping them in any way. Academics get trained to not need this to relax necessarily.

I did my PhD in a lab that demanded it: we were expected to put 6 days, 12 hours a day. It’s possible for maybe 30% of population maybe? Especially if you’re privileged and don’t have to worry about other things in life (like kids, parents, money, physical health, chronic issues, mental health, etc). So in some ways the ability to train and be able to adopt this more “productive” life is a bit exclusionary and even discriminatory. In the end I chose not to continue in academia primarily because of this demand, I just didn’t feel like it was worth it.

Now I’m in tech and I do get bored, but happy that I have the choice to set my hours.


> bullshit socializing

damn, I can only feel bad for people who use that term :( it seems like simple human interaction are being optimized out.


You say it but I argue otherwise. I am not saying don’t socialize, but think hard about what you get from many of those events. You’re drunk off your mind, you meet and hang out with people you really don’t care that much about, and often you are left with a hangover or worse, a sense of not having had a good time. Just those types of events.


I think everyone learns to outgrow these events


Carmack mentions not being the kind of person who can go on long work binges. I love sloppy socializing and I also love to zone in on work and get immersed for 20 hours at a time then crash. Everyone has different habits.


And a very good health. Doing this sedentary job for long hours and not getting issues is very difficult, unless you use most of your free time doing some sports or other intense physical activity or you have very good genetics.


It's not that much caffeine, his 3 liters of coke contains about the same as 1 liter of brewed coffee.

1 standard can of diet coke (375 ml) contains 48 mg caffeine -> 128 mg/liter. So 3 liters (8 cans) contains 384 mg caffeine. Brewed coffee contains ~400 mg/liter.


I feel like one litre of brewed coffee is a lot of caffeine!


It is! I drink one 300ml mug of strong coffee (or two of thin coffee) a day and that feels like enough for sure.


I think I would probably die if I drank 1 liter of coffee


400mg is the suggested daily limit. It is a lot of caffeine.


I should probably rethink my 8 to 14 espresso shots per day then.


> 8-9 diet cokes a day. Holy fuck. That's a lot of caffein (and I'm guessing not good for the teeth)

It's not that much caffeine and it won't do anything to your teeth.

> Agree with him, VSCode is THE IDE.

Nothing in that interview suggests he's ever used VSCode.


> It's not that much caffeine and it won't do anything to your teeth.

I'm sorry, but diet coke (and most sugar free drinks) causes dental erosion. It's not the sugar that causes it, but usually the citrus acid. Even some flavored sparkly waters have citrus acid in them.


Ah! That’s interesting. I guess my only knowledge in this area (other than the big thing - sugar and corn syrup are really the enemy, I would have thought) is that the magic ingredient that differentiates Diet Coke and Coke Zero is citric acid. I never thought about the tooth decay angle of that.


He does discuss VSCode towards the end of that clip.


Why wouldn't it be bad for his teeth?

It's my understanding that soda is typically acidic, and after you drink it the soda coats your enamel, in turn wearing it down.


I once read that soda is one the worst thing you can do for your teeth, hope I'm not helping propagate a falsehood


Not having sugar helps a lot, but drinking Diet Coke means literally drinking diluted acid. Not exactly the healthiest thing for your teeth.


The quantity of artificial sweeteners (aspartame, sucralose, etc.) in that many cokes, many of which were shown to be carcinogenic in experiments with rats, can’t be good for him…


Did he define 'work' during the podcast? Since he also mentions reading CS books, perhaps he isn't defining work as literally typing at the computer, but instead always improving. Think of what people could do if they took part of the 3 hours of TV watched per day and instead read a book.

He's also a high level grappler (nerd worlds collide if I ever had a chance to roll with Carmack :) ), which is not an easy feat.


He does talk about always being able to work on something interesting. Working on a different aspects of a project to keep motivated. And that definitely includes research.


Listening now. Great so far, but 5 hours will probably take me all week.


> It really feels like open source is something else

Open source was like that and was created to be like that. Parts of it still are, but much of it has degenerated into fiefdoms and lots of developers of larger open source projects have been soured by the prospect of just being free labor for surveillance capitalist mega-corps.

The good corners of the OSS world tend to be small communities doing interesting things. It's just like how the small topical subreddits are still okay while the big areas on Reddit are complete trash.


How is it possible that he has never burned out before?? Doesn't sound human to me


it is tough on the teeth, pepsi and coke are as far as I can tell the worse with phosphoric acid and around 2.5 pH and on the order of stomach acid. Obviously -volume- counts too. however at least he's avoiding sugar which also contributes to building up a lot of plaque which is a constant supply of acid rather than a diet coke which the saliva would neutralize pH up pretty quickly back to 7




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

Search: