
John Carmack is reading and contributing to OpenBSD source code - hellschreiber
https://marc.info/?l=openbsd-tech&m=158965652915344&w=2
======
yuribro
This is such a positive and wholesome example - both the mail itself (getting
to know the preferences of the project), the proposed fixes (naming functions
in a better way, adding explanatory comments), and on the higher level - the
humility in which it was done, and the time being invested by him for a
project he isn't part of.

~~~
pwdisswordfish2
The parent comment seems to suggest its author is not a frequent reader of
NetBSD/OpenBSD mailing lists. This message is not at all atypical of what one
would routinely see on these lists from regular contributors. Perhaps John
Carmack spent some time reading the OpenBSD mailing lists before posting. It
just shows that in more popular projects, or whatever the projects the
comment's author is accustomed to, the expectations placed on contributors can
be lower.

~~~
yuribro
I am actually subscribed to -tech, and an OpenBSD user for around 15 years.

Usually when mailing list messages or PR comments are posted to HN, they are
about something very negative, either the attitude of the author (random
examples - mails by Linus, mails by Poettering, and sometimes also mails by
Theo) or the content of the request it replies to. And in the openbsd
community does has some negative reputation about harsh communications.

Just wanted emphasize it, since seeing good examples is much more educating
IMHO than seeing only negative ones.

~~~
pwdisswordfish2
Very true. Apologies for the (incorrect) assumption.

------
jquast
My favorite developer contributing to my favorite operating system! This is
like Christmas. I’ve been contributing $ to OpenBSD since 3.x release days,
and reading John carmack’s “.plan” file since Doom 2, when they ran digital
Unix!

Did you know: you have John Carmack to thank for first porting X11 to OSX?
Thank you John!!

~~~
yjftsjthsd-h
> Did you know: you have John Carmack to thank for first porting X11 to OSX?
> Thank you John!!

Is there anything written about the background to this? Wikipedia doesn't talk
about him ever working for Apple (although maybe that's just not mentioned).

~~~
larrydag
OSX roots are in BSD [https://www.wired.com/2013/08/jordan-
hubbard/](https://www.wired.com/2013/08/jordan-hubbard/)

~~~
jaquers
Also id ran software on NeXTSTEP, itself a precursor of OSX
[https://en.wikipedia.org/wiki/NeXTSTEP#Legacy](https://en.wikipedia.org/wiki/NeXTSTEP#Legacy)

~~~
deckard1
yep, was going to say that this is probably the real source behind the
mystery. Early OS X is basically NeXT when Jobs came back to Apple. Doom was
developed on NeXT, so id Software and Carmack already had a history of using
BSD. They also released Quake for Linux around 1996, which may have used X11
(I cannot recall, maybe it just depended on 3dfx/nvidia without X11 at the
time... it's been so long)

~~~
asveikau
There are writings floating around from Carmack that he was playing around
with the OS X prototypes back when it was called Rhapsody in the late 90s.

I also thought I read somewhere that Carmack persuaded Apple to bet big on
OpenGL for OS X. (Ironic now that it's deprecated.)

~~~
traviscj
Doesn't seem like a _bad_ bet considering it lasted 20 years and like 14
versions, though...

~~~
asveikau
If it were up to me they wouldn't deprecate it, so I wouldn't call it a bad
bet either.

------
mikorym
Is there any more context to OP's post? I guess someone just noticed in the
mailing list, but it's not clear whether maybe John Carmark does this with
_all_ code everywhere in the universe. And then probably still has some
interesting coffee break conversations...

On a different note. I am something of a Ubuntu fan and try to be more
involved there. But then again the xBSDs where x = {Free, Open, Net, ...} are
one of those things that always prods the back of your mind. It's a bit like
topics in mathematics that always catch my attention, only to be forsaken for
more mundane tasks. Then again, mathematics is a bit like the art of making
everything mundane.

~~~
mcepl
For me *BSD is like Plan9 or ZX Spectrum emulator … guilty pleasure with
absolutely no practical use whatsoever.

~~~
mouldysammich
Seems a little dismissive of BSD systems given how widely deployed the are in
comparison to plan9 or zx spectrums. As far as I understand Netflix uses
freebsd fairly extensively, and there are powerful tools like pfSense built on
BSDs too, which are also used fairly extensively as far as i know.

I would describe that as having practical use.

~~~
wolrah
I think there's a difference between using _BSD to build an appliance and
running_ BSD as a day-to-day system.

pfSense is a wonderful firewall appliance. FreeNAS is a wonderful storage
appliance. If you need pf or native ZFS, a BSD is probably your best way to
get it.

If you want to run a random headless server to mess around with, you are
probably going to have a harder time with any of the BSDs than you would with
even bleeding-edge Linux distros. If you want to run a graphical desktop with
3D acceleration and HD video you will almost certainly have a harder time than
any Linux user.

\---

There are, of course, people who are happily using BSD-based desktops right
now and I am certainly not denying them anything, but even they'd have to
admit they would have been able to get most of the same experience with a lot
less effort on a modern Linux.

~~~
unfunco
> If you want to run a graphical desktop with 3D acceleration and HD video you
> will almost certainly have a harder time than any Linux user.

With the exception of MacOS? Darwin is BSD.

~~~
smabie
Just because OSX has a very outdated BSD-derived userland does not make it a
BSD. The OSX kernel a mach microkernel and shares no code from the BSD
projects. This is a farcry from the *BSDs which can directly trace all of
their code and history all the way back to 4.4BSD

------
zengid
So I didn't understand what that syntax meant for the code John was talking
about, so I figured I would share my findings for other C newbies like myself.
(If I am incorrect, please tell me!)

This:

    
    
        int (*alloc_attr)(void *c, int fg, int bg, int flags, long *attrp);
    

means it's defining a _function pointer_ that can point to a function that
returns the type int and has a matching parameter list.

[https://stackoverflow.com/questions/840501/how-do-
function-p...](https://stackoverflow.com/questions/840501/how-do-function-
pointers-in-c-work)

------
jasoneckert
I have read many posts and articles by John Carmack, as well as viewed or
attended many of his talks. In short, I have nothing but respect for him as a
developer, thinker and human being in general. Consequently, if he's
contributing to OpenBSD, that can only be a good thing in my opinion.

------
HugoDaniel
OpenBSD 6.7 is going to be released tomorrow
[https://www.openbsd.org/67.html](https://www.openbsd.org/67.html)

Their release engineering is awesome!

~~~
philsnow
Looks like there haven't been any new openbsd release songs since 6.2 :\

[https://www.openbsd.org/lyrics.html](https://www.openbsd.org/lyrics.html)

Some of these are pretty great.

~~~
ta17711771
Fuck, that's cool.

------
sgt101
Also he's had a look at the Imperial COVID19 model that has attracted so much
bile in the last week:
[https://twitter.com/id_aa_carmack/status/1254872368763277313...](https://twitter.com/id_aa_carmack/status/1254872368763277313?lang=en)

I share his opinion on the code (though not his expertise!)

~~~
hedora
> _I can’t vouch for the actual algorithms, but the software engineering seems
> fine._

I also looked at the code a bit, and it seemed like typical bad natural
sciences / electrical engineering grad student code that could have as easily
been done the same way in matlab or python (or, as Carmak suggested, fortran).

I guess I’m in good company in thinking it was ok-ish, so now I’ll ask.

Why are people so upset with this code base / the choice of C++?

~~~
toyg
_> why are people so upset_

Politics. “Anything that supports a position I don’t like, should be attacked
with full force. Anything less than perfect must disqualify the entire
position.”

------
boolcow
John Carmack streaming his programming sessions would make me happier than
almost anything else programming related.

~~~
mycall
Who knows, maybe he is @
[https://www.twitch.tv/programming](https://www.twitch.tv/programming)

~~~
boolcow
That can't be him. Carmack doesn't have a ponytail (anymore).

I do enjoy Jonathan Blow's live streams
[http://twitch.tv/naysayer88](http://twitch.tv/naysayer88)

It would be amazing if lots of great programmers started streaming at least
some of their work.

------
blakesterz
If you're like me and can't remember names very well but thought "I know I've
heard of him"...

[https://en.wikipedia.org/wiki/John_Carmack](https://en.wikipedia.org/wiki/John_Carmack)

"He co-founded the video game company id Software and was the lead programmer
of its games Commander Keen, Wolfenstein 3D, Doom and Quake and their
sequels."

~~~
elyseum
Omg never knew he did Commander Keen too. CK2 probably was the first video
game I played (as far as I can remember). Go go pogo sticks!

~~~
dEnigma
Commander Keen is also Doom Guy's father, at least according to Tom Hall (co-
founder of id software)

[https://twitter.com/ThatTomHall/status/958352500431572992](https://twitter.com/ThatTomHall/status/958352500431572992)

~~~
komali2
Being now 1/4th of the way through Doom Eternal I wonder how Canon that is. It
seems Doomguy is the direct descendent of human-but-not warrior race? So BJ
Blascowitz being human (maybe?) doesn't quite fit. They're doing such an
awesome job expanding the Doom mythology that it'd be tight to watch them go
back and explore Keen more, silly a game though it may have been.

~~~
raymond_goo
See:
[https://www.youtube.com/watch?v=Lii3m4ct_gI](https://www.youtube.com/watch?v=Lii3m4ct_gI)
And: [https://www.youtube.com/watch?v=CU0L4--
Yh28](https://www.youtube.com/watch?v=CU0L4--Yh28)

------
cbsks
If OpenBSD knows what's good for them they will encourage him to read and
contribute as much as possible!

What I'd give for John Carmack to clean up my code...

~~~
teknopurge
OpenBSD doesn't need their code cleaned-up. Theo is the Liam Gallagher of
development mangers.

~~~
pnako
"He's the angriest man you'll ever meet. He's like a man with a fork in a
world of soup." (Noel Gallagher, about his brother)

I found the quote relevant ("a man with a fork")

~~~
teknopurge
This is accurate. You may end up getting stabbed with that fork however...

------
TeaDude
Oooh. Very interesting.

I really hope he does write an article on the source. I'd read the hell out of
it.

~~~
cbsks
Does John Carmack have a blog somewhere? I did a quick search and couldn't
find anything.

~~~
jimbob45
[https://mobile.twitter.com/ID_AA_Carmack?ref_src=twsrc%5Egoo...](https://mobile.twitter.com/ID_AA_Carmack?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor)

His Twitter is a pseudo-blog

------
ksec
As someone who is not following closely, did he ever mention why he is looking
into alternative OS? And why OpenBSD instead of say NetBSD or FreeBSD? I
assume he has many experience with linux already.

~~~
criddell
Is OpenBSD considered to be an alternative OS?

~~~
dntbnmpls
Yes. Even in the smaller BSD world it's an "alternative OS" compared to
FreeBSD or NetBSD.

~~~
toyg
My understanding is that OpenBSD is much more popular than NetBSD, at least
currently.

------
mrfusion
What happened to his AGI work?

~~~
bor100003
Yes, any results?

------
Icedcool
Cool and exciting. Carmack has a level of brilliance that I find astounding.

Some of his youtube video's of him talking about graphic rendering and
compression are really cool.

~~~
Icedcool
For anyone interested: [https://www.youtube.com/watch?v=VUxcVzpeFqc&list=PL-
wlZ9j-w5...](https://www.youtube.com/watch?v=VUxcVzpeFqc&list=PL-
wlZ9j-w5b8dLzm5-8cA2AXqzeCr3wav)

~~~
unknown2374
Why does that link contain such a screwed up playlist?

Clean link to a different playlist with just the lectures:
[https://www.youtube.com/playlist?list=PLLfhkR8m8wYsgLEqr__PI...](https://www.youtube.com/playlist?list=PLLfhkR8m8wYsgLEqr__PIWcrddcUvfEod)

------
WalterBright
John Carmack is the person I'd most like to read a programming book authored
by.

------
wmichelin
Here is your daily reminder to read "Masters of Doom", a book about the early
days at ID Software. It's an amazing look into a really cool time in gaming
and software as a whole.

It's a great book, mostly about John Carmack and the guys at ID!

[https://en.wikipedia.org/wiki/Masters_of_Doom](https://en.wikipedia.org/wiki/Masters_of_Doom)

~~~
AdmiralAsshat
This thread reminded me that Carmack has been a free software advocate in the
past, and my citation is, quite amusingly, that book:

> It was February 8, 1998, and Carmack was about to put his brain to the test:
> counting cards in blackjack. This had become something of a new fascination
> of his. “Having a reasonable grounding in statistics and probability and no
> belief in luck, fate, karma, or god(s), the only casino game that interests
> me is blackjack,” he wrote in a .plan file. “Playing blackjack properly is a
> test of personal discipline. It takes a small amount of skill to know the
> right plays and count the cards, but the hard part is making yourself
> consistantly [sic] behave like a robot, rather than succumbing to your ‘gut
> instincts.’ ” To refine his skills before the trip, Carmack applied his
> usual learning approach: consuming a few books on the subject and composing
> a computer program, in this case one that simulated the statistics of
> blackjack dealt cards.

> His research proved successful, netting him twenty thousand dollars, which
> he donated to the Free Software Foundation, an organization of like-minded
> believers in the Hacker Ethic.

~~~
Trasmatta
Didn't he also end up getting banned for life from that casino for counting
cards?

~~~
sigzero
So? Counting cards is not illegal if that is what you are trying to insinuate.

~~~
lemoncucumber
No, but casinos are private businesses with the right to refuse service to
anyone, and they tend to exercise that right against people they believe to be
counting cards. Card counters are not a protected class.

~~~
pacificmint
> the right to refuse service to anyone

If I remember correctly, then that is true in Nevada, but not in Atlantic
City. There they have to let you play even if they suspect you of counting
cards.

Of course that just means they will employ other means to prevent you from
counting cards (larger shoes, continuous shuffling, etc).

------
yfiapo
That's neat to see. This may not be a big story but as a fan of OpenBSD who
doesn't currently have time to read the CVS log I appreciate it.

OpenBSD source is one of the cleanest I've had the pleasure to work with. You
(generally) won't be scoffed at for submitting a semantic change like this,
fixing typos, or the like. It certainly isn't perfect but the bar feels higher
than elsewhere. Clean code and as importantly the documentation kept in sync.

------
fit2rule
If there is anyone that could successfully submit a patch containing only
comment breadcrumbs, it'd be Mr. Carmack.

I'd love to read it, personally.

------
toisanji
I thought he was working on AGI? Gave up already?

~~~
cameronfraser
Most people who actually work in AI know that AGI being possible is still an
IF and IF it is possible, it is centuries or even further away (basically some
indeterminate time frame because we don't even know if we're on the right
path). The techniques we're using today are likely not going to be applicable
to AGI. John Carmack is very smart, but I wouldn't place him on the same
pedestal as any of our great historical polymaths and IMO if a single person
is going to make any progress in AGI it's going to be someone like Leibniz or
Euler.

~~~
Voloskaya
> [know that AGI] is centuries or even further away (basically some
> indeterminate time frame because we don't even know if we're on the right
> path).

How can you, in the same sentence, say the time frame is indeterminate and
that it is 100+ years away?

We just don't know, period.

~~~
cameronfraser
Well what we do know is that current AI methods are very task specific and
there is nothing that generalizes well to many tasks. If it was happening in
the next century we would at least have some idea how to start generalizing to
many tasks with a single model or something comparable to that. We had the
analytical engine in 1830s and we didn't see a turing machine or lambda
calculus until the 1930s

~~~
Voloskaya
It is extremely hard (read impossible) to predict what is going to evolve
exponentially or asymptomatically in the future. Look at computing and
aerospace for example. Take the state of those 2 domains and ask someone in
1900 where they think we would be in 2000, I am pretty sure they would have
been quite far off.

Working at an AI lab myself, while I agree with your statement about the state
of AI today, I don't know any of my colleague that would be confident to say
it's 100+ years away.

------
sn41
This is really a great coincidence. I was talking to a friend of mine two days
ago about code that we have read for pleasure. I said that the Doom source
code was so surprising because the logic was so clean and elegant. One felt
that the code did the most obvious thing to do, rather than using unnecessary
cleverness.

Even in this mail, John Carmack favors elegance.

------
e12e
It wasn't immediately obvious to me what this change actually was about
(perhaps I scimmed the comments parts too quickly), but I found this reply
somewhat illuminating:

[https://marc.info/?l=openbsd-
tech&m=158978831318077&w=2](https://marc.info/?l=openbsd-
tech&m=158978831318077&w=2)

------
williamscales
[http://archive.is/hNXNE](http://archive.is/hNXNE)

------
gigatexal
But what is he using OpenBSD for? That’s what is really interesting.

------
Ericson2314
Next time I got flak for gratuitous refactors, I'll point to this.

From John to John, thanks.

~~~
BrandonM
Take care to observe how John Carmack went about it, though. He described the
issue from his perspective, gave a clear example, didn't blame anyone, and
asked before making any changes at all. Someone replied suggesting that the
refactoring be performed separately from other changes. It's hard to give flak
to someone taking a measured approach like this.

~~~
Ericson2314
Indeed, it's not license to go for forgiveness rather than permission.

------
s_dev
Is it possible Occulus has a big need for such an OS and this is the cause of
the contributions? Or is this Carmack being a hobbyist and simply making
contributions for its own sake?

~~~
Lammy
I assumed his use of an armadilloaerospace address was a signal that it isn't
work-related.

~~~
dgritsko
He's basically retired at this point and working on things he finds
interesting (which was AGI as of a few months ago; there was a blog post where
he went into more detail).

------
jeffreyrogers
I thought it was funny that the first reply comes from someone whose email
address was @id.au. (Pretty sure this is unrelated to Id Software but quite a
coincidence!)

~~~
pnako
Address for an individual, in Australia (e.g. john.smith@id.au)

------
HeavyStorm
I've never seen the use of idols, but I have to admit, John Carmack is mine.
I'd give a leg to know the guy, and both to work with him.

------
nottorp
So will Bethesda sue?

------
2OEH8eoCRo0
Is it him or is it a general AI that he created?

------
annoyingnoob
Be cool and you will be cool.

------
MR4D
Wow, the idea of Carmack as BDFL for BSD [0] is pretty cool.

Or would that be BSDBDFL ? (BSD Benevolent Dictator For Life )

:)

~~~
MR4D
That comment got downvoted???

I guess that either the BSD folks really like things the way they are or
people really don't like Carmack.

Weird to see it downvoted. Would love to know why.

