[HN Gopher] We have reached OpenBSD of Theseus
       ___________________________________________________________________
        
       We have reached OpenBSD of Theseus
        
       Author : nabla9
       Score  : 399 points
       Date   : 2024-08-23 19:39 UTC (1 days ago)
        
 (HTM) web link (marc.info)
 (TXT) w3m dump (marc.info)
        
       | unethical_ban wrote:
       | I've never been a mailing list user. I thought there would be a
       | link to the files affected.
       | 
       | Congratulations to OpenBSD!
        
         | runjake wrote:
         | Practically all these people have a local checkout of the repo
         | on their local computers. URLs aren't needed (for them).
         | 
         | https://github.com/openbsd/src/commit/a6105854a9e3aab642e6a0...
        
       | binkHN wrote:
       | Ah yes. The great collection of games, still maintained. Always
       | enjoy OpenBSD for its security, but got to hand it to the team
       | for continuing to be fun-loving and producing artwork and songs
       | for every release/every six months, like clockwork.
        
       | rany_ wrote:
       | Here's the change itself:
       | https://github.com/openbsd/src/commit/a6105854a9e3aab642e6a0...
       | 
       | I know that OpenBSD doesn't actually use GitHub, but it was the
       | easiest way I could find the diff. I don't know how to otherwise
       | get it from that mailing list entry.
        
         | asveikau wrote:
         | They have a cvsweb instance on their website, but the UI is a
         | little more old school than github, so the github mirror is
         | often good for browsing anyway.
         | 
         | https://cvsweb.openbsd.org/
        
           | OJFord wrote:
           | > the UI is a little more old school
           | 
           | No kidding!
           | 
           | GP's point stands though, how are you supposed to get there
           | from the submission?
           | 
           | I assume if you subscribed to the mailing list yourself the
           | patch would be attached, but afaict TFA doesn't even show
           | that.
           | 
           | I don't really understand how people can work like this, not
           | anti-email, or everything must be GitHub, or anything - but
           | it can still be a lot more modern and featureful than this
           | can't it? I don't really understand why it isn't.
        
             | asveikau wrote:
             | I think the best way is probably to check out the CVS repo
             | on your machine, then run cvs log, and cvs diff.
             | 
             | That's the way everybody used to work?
             | 
             | I can't recall if there were local x11 visualizing tools
             | like gitk is today. (Google says tkcvs) I remember there
             | were some graphical diff programs, you could set an
             | environment variable and make the "cvs diff" command show
             | something nicer looking.
             | 
             | Recall that git was also designed to work over mailing
             | lists. git format-patch, git apply, etc.
        
               | mlyle wrote:
               | > I think the best way is probably to check out the CVS
               | repo on your machine, then run cvs log, and cvs diff.
               | 
               | I've used cvs a bit recently.
               | 
               | It's amazing how poor the performance is on large
               | repositories, even on modern machines.
               | 
               | I can't figure out how I put up with this 20 years ago.
        
               | toyg wrote:
               | Everything was slower back then; we just worked at a
               | slower pace and "disconnected". Turn on the PC, and go
               | make coffee; start a build, and go over notes and
               | comments again; start a download, and clean up the desk
               | or go for a drink at the cooler; launch a big report, and
               | make a phone call.
               | 
               | Now we're so completely absorbed by the screen for so
               | long, we get irritated by any perceived delay.
        
               | Bagged2347 wrote:
               | I want to work in the world you described. I'm 28 and
               | irritated by the pace of modern work, but I have nothing
               | to compare it to and your comment made me ponder. I feel
               | as if there's no room to breathe. Do you have any stories
               | to share?
        
               | anthk wrote:
               | Get an Usenet account at https://www.eternal-
               | september.org, roam around the comp.lang.* groups, setup
               | slrn to fetch news offline and answer to the groups in
               | 'batch' mode, there's slrnpull for that.
               | 
               | Learn the basics of C and Perl for automation, Perl can
               | do tons of *unix stuff (awk/sed... but better).
               | 
               | Mark Burguess has books on Perl/C (ANSI C and GNU C) and
               | the basics of C++ with systems' programming. I know today
               | Golang would be more apt but if you know how the things
               | work under the shiny stuff, you will apply most of the
               | knowledge from Unix systems' programming to Go in a
               | breeze.
               | 
               | Once you begin to automate scripting, testing and
               | repetitive stuff, you will spend less time with
               | computers.
        
               | Muromec wrote:
               | Now it's just running that jenkins pipeline, which takes
               | 40 minutes and requires a manual confirmation in the
               | middle .
        
               | asveikau wrote:
               | I remember following the openbsd stable branch about 20
               | years ago and it was indeed very slow to simply check out
               | and update. Svn felt much better even though it wasn't a
               | revolutionary improvement.
               | 
               | I guess that's why the errata page has source patches.
               | It's also great that they have syspatch now for fast
               | binary patches
        
               | eru wrote:
               | > That's the way everybody used to work?
               | 
               | No. In the bad old days, for many people version control
               | software wasn't sufficiently better (and in some respects
               | much worse) than just not using any. So many people
               | didn't use any.
        
               | medoc wrote:
               | This is true but it was certainly not considered good
               | practise even at the time. I've been on the seller part
               | of a few software companies acquisitions from the early
               | nineties, and checking what kind of source control we
               | were using and how was part of every audit. A long
               | history of sccs -> cvs -> subversion ->mercurial or
               | git...
        
               | eru wrote:
               | Yes, though eg Linus Torvalds famously said that them
               | mailing around tar-balls was better than CVS.
        
               | asveikau wrote:
               | You're right, I forgot that it was common to not use
               | source control. However I feel like it was pretty
               | universally recognized to be the "proper" thing to do.
        
               | OJFord wrote:
               | Like I said, not anti-email. I don't see why it's git vs
               | cvs:
               | 
               | > Recall that git was also designed to work over mailing
               | lists. git format-patch, git apply, etc.
               | 
               | Right, and when you do web things with that same git in
               | 2024, it looks and works like it's 2024.
               | 
               | You _could_ use an old git server /file browser UI, or
               | the built-in gitweb[0] for example, but you don't, you
               | use something more modern & featureful, working better on
               | mobile, looking prettier, etc. Even Linux (with its
               | history intertwined with git) uses Github[1] as its
               | mirror, not gitweb or anything looking like the link
               | above for OpenBSD.
               | 
               | [0]: https://repo.or.cz/w/git.git/tree/HEAD:/gitweb/
               | 
               | [1]: https://github.com/torvalds/linux
        
               | asveikau wrote:
               | If it's something I work on habitually and keep clones
               | of, I prefer to use gitk to browse a local repo over
               | something like GitHub web ui. Maybe I've just gotten old
               | though.
        
             | SoftTalker wrote:
             | > I don't really understand how people can work like this
             | 
             | It's all what you're accustomed to. Git confuses the heck
             | out of me every time I use it for anything more complicated
             | than clone, pull, commit, or push.
        
               | asveikau wrote:
               | I highly recommend learning about rebase. Very handy to
               | be able to re-order, re-word, merge multiple commits into
               | one, fix issues within a commit ... Basically tidy up the
               | history locally before you push it.
        
               | andybp85 wrote:
               | wholeheartedly agree, git rebase -i is a game-changer
               | once you get comfortable with it
        
               | nine_k wrote:
               | Have you tried reading https://tom.preston-
               | werner.com/2009/05/19/the-git-parable ?
               | 
               | I bet you're smart enough to understand it. Inside, git
               | inside is much more logical and neat that the
               | (unfortunate) historical CLI makes it feel. It's a shame
               | it holds people back from using this very powerful and
               | useful tool. (Once you've reached understanding, switch
               | to magit, gitui, tig, etc, for comfort and speed.)
        
               | SoftTalker wrote:
               | No, I just don't use it often enough in any other
               | scenarios.
               | 
               | I pretty much do solo work these days, I don't need
               | rebasing or branches or pull requests or anything like
               | that.
               | 
               | I honestly don't really need version control at all but
               | it's a pretty baked-in habit. I thought svn was nice, a
               | good balance of capability and understandability. It
               | worked well in the "central respository" style of the
               | day, which is effectively how I work.
               | 
               | On the other hand I'm quite comfortable with long shell
               | pipelines using find and xargs and awk and other
               | utilities that are at least as arcane as git, so like I
               | said, it's all what you are accustomed to. If I were
               | doing git feature branches, rebases, and pull requests
               | every day at work, I'd probaly feel that they were pretty
               | easy.
        
               | asveikau wrote:
               | A clean history and the ability to roll back to any point
               | is still useful when working solo.
               | 
               | Git bisect is one example of this. If you know roughly
               | when a bug was introduced, you can do an O(log n) binary
               | search to find what commit introduced it.
        
               | nmz wrote:
               | Internals are nice, but are also not and should not be
               | necessary to know, I don't know how a FS is writing a
               | file, and yet I can store files fine.
        
               | oasisaimlessly wrote:
               | "Internals" is a bit of a loaded word; internals are
               | meant to stay inside, eh? Every cellular organism would
               | agree on this point.
               | 
               | A better term might be git's "data model".
        
               | eru wrote:
               | Git ain't the only modern version control system, just
               | the most popular.
        
               | fragmede wrote:
               | it's way easier to get accustomed to something when you
               | can mess it up on your system and the rest of the company
               | doesn't see how stupid you were. administering the cvs or
               | svn system used to be a full time job (for a far smaller
               | number of developers, that is).
        
             | inopinatus wrote:
             | Back when I was directly subscribed to various bsd
             | src/commit lists, I had a delivery filter that would attach
             | the delta if the list didn't do so already.
        
             | mbivert wrote:
             | [0] offers a few insights: license, habits, history, why
             | change something that works, etc. You might also be
             | interested in[1].
             | 
             | [0]: https://cvs.afresh1.com/~andrew/o/why-cvs.html
             | 
             | [1]: https://gameoftrees.org/index.html
        
               | playingalong wrote:
               | > It is unlikely that any alternative versioning system
               | would improve the developer's productivity or quality.
               | 
               | This is likely true for existing developers. But might
               | discourage some fresh blood from joining. So in the long
               | run the overall productivity _might_ suffer from this.
        
               | mbivert wrote:
               | > But might discourage some fresh blood from joining.
               | 
               | That's probably more of a feature than a bug: it acts as
               | a "natural" filter.
        
               | playingalong wrote:
               | If you assume willingness to learn CVS is in line with
               | being able to provide valuable contributions.
               | 
               | I have worked with CVS myself in the past and would
               | probably have no problem getting used to again.
               | 
               | Some fresh out of school _smart_ people might consider it
               | a thing of the past. And just decide not to deal with it.
               | Like COBOL.
        
               | mbivert wrote:
               | > If you assume willingness to learn CVS is in line with
               | being able to provide valuable contributions.
               | 
               | This, but also: "can you make an effort to conform
               | yourself to others instead of forcing others to conform
               | to you;" Inexperienced people often lack the visibility
               | of their elders, so it really makes sense to see whether
               | they can lower their ego.
               | 
               | > Some fresh out of school smart people might consider it
               | a thing of the past. And just decide not to deal with it.
               | Like COBOL.
               | 
               | Are you using "smart" positively or not? Being smart is
               | often frowned upon in SE. Then, driving smart people away
               | still is a good thing.
               | 
               | If you meant positively... considering things of the past
               | to be useless by mere virtue of being of the past, is
               | definitely not a positive character trait, so we'd have a
               | contradiction.
               | 
               | Side note, but the problem with COBOL is not that it's
               | old; to quote wikipedia:
               | 
               | > COBOL has been criticized for its verbosity, design
               | process, and poor support for structured programming.
               | These weaknesses result in monolithic programs that are
               | hard to comprehend as a whole, despite their local
               | readability.
        
               | OJFord wrote:
               | I'm not sure why my comment's being interpreted as 'ugh
               | why cvs' (not just by you) - I've never used it, but I
               | assume you could have just as modern and featureful
               | experience with cvs as with git. The link shared is very
               | far from 'Github [or similar], but cvs'. And again, how
               | to even get there from the mailing list archive?
        
               | mbivert wrote:
               | > I assume you could have just as modern and featureful
               | experience with cvs as with git
               | 
               | There are strong mindset differences between various
               | software communities; it might takes a little bit of time
               | & effort to appreciate a more frugal/conservative
               | approach to software engineering.
               | 
               | The previous links highlighted some aspects of those
               | mindset differences. [0], while unrelated to OpenBSD, is
               | another good illustration.
               | 
               | That's to say, OpenBSD people probably don't care much
               | for a more featureful experience: it won't make them more
               | productive, even if it may look like it would from the
               | outset.
               | 
               | [0]: https://rachelbythebay.com/w/2011/09/24/editor/
        
             | dn3500 wrote:
             | It's not hard if you understand how cvs works. The email
             | says the files are in the "src" module, so you select that
             | from the cvsweb page. Then it's just a matter of drilling
             | down to the individual files. Here is the diff for the
             | Makefile for example:
             | 
             | https://cvsweb.openbsd.org/cgi-
             | bin/cvsweb/src/games/quiz/Mak...
             | 
             | As for how you work like that, the number of people with
             | commit access is small and they all know each other. There
             | aren't a lot of branches. Most of the collaboration
             | features of git aren't needed.
        
           | tambourine_man wrote:
           | IMO we got used to GitHub's UI, but it's far from intuitive.
           | Just watch someone who never use it before.
        
       | marcellus23 wrote:
       | Why remove the Greek queez instead of just adding the ship parts
       | quiz? I guess I understand the obscurity argument (although as a
       | classicist it makes me sad), but there's still a Latin quiz
       | there. Hell there's even an Inca quiz. How does that meet the
       | obscurity bar but not Greek?
        
         | altairprime wrote:
         | They would certainly welcome a patch from someone motivated,
         | though I suspect this first one was driven by a desire to make
         | a pun out of the milestone.
        
         | tedunangst wrote:
         | How would that complete the ship of Theseus?
        
           | thoaway9 wrote:
           | I think that removing Greek is unnecessarily ironic... cool
           | historic reference, but a bit of an effort could have been
           | made.
        
             | tedunangst wrote:
             | I think 28 years is sufficient grace period for concerned
             | individuals to make a bit of an effort. What have you been
             | waiting for?
        
             | jerf wrote:
             | You didn't care about this five minutes before you read it,
             | you probably stopped caring about it five minutes after you
             | wrote this.
        
         | inopinatus wrote:
         | to counterpoint the surrealism of the underlying metaphor
        
           | rbanffy wrote:
           | Some of the metaphysical imagery was once in reality
           | specifically effective.
        
             | lproven wrote:
             | It threw the underlying Vogonity of Theo de Raadt's
             | compassionate soul into sharp relief.
        
         | deanmen wrote:
         | It used ASCII substitutes for the greek letters, Latin only
         | uses Latin letters                   $luw$:{I} [loose|destroy]
         | $eluon$:{I} [loosed|destroyed|was loosing|was destroying]
         | $elusa$:{I} [loosed|destroyed]         $leluka$:{I} have
         | [loosed|destroyed]         $lusw$:{I} will [loose|destroy]
         | $luswn$:[loosing|destroying]         $lusas$:{having}
         | [loosed|destroyed]
        
           | nescioquid wrote:
           | I would guess most people interested in the quiz would be
           | familiar with betacode (which this looks like, sans
           | diacritics).
           | 
           | edit: https://en.wikipedia.org/wiki/Beta_Code
        
             | buescher wrote:
             | "Beta Code was developed by David W. Packard" (not that
             | David Packard, but his son). Neat.
        
           | schoen wrote:
           | I tried the quiz after reading the mailing list message and
           | got three of them right. (I didn't study Greek long enough to
           | get all the way through the verb paradigm and I haven't used
           | it very regularly since then.) So yeah, I don't get the claim
           | that nobody could play this quiz. I think I have friends who
           | would get all of them right offhand. It's no more complicated
           | than knowing the difference between "hablo", "hablare",
           | "hable", "hablaba", "hablado", and "hablando" in Spanish,
           | except that fewer people study ancient Greek than modern
           | Spanish (and the older Indo-European languages do more stem-
           | mutation between tenses, so it can be a bit more effort to
           | memorize).
           | 
           | The worst part of this format is probably that if you did
           | "quiz english greek" it wouldn't accept any form of accent or
           | breathing marks, even though these are also standardized in
           | beta code and some people would probably try to type them,
           | like "e)luon" to show that there's no /h/ sound at the
           | beginning of that word. And I don't think typing beta code in
           | between dollar signs is a very common convention today, but
           | the quiz would require it; you can't just type "luw", you
           | have to type "$luw$".
        
             | anthk wrote:
             | Spanish has rules for verbs ending with -ar,-er- and -ir
             | save for few exceptions. Still, RAE should have accepted
             | "conduci" as "conduje" long ago (and the rest of
             | declinations/verbs such as traducir, reducir...) IDK about
             | Greek.
             | 
             | If we are using two valid ending forms of Subjunctive
             | (-era/-ese) since forever, IDK why couldn't we set these
             | irregular verbs back to regularity.
        
               | schoen wrote:
               | Greek has verbs with different "thematic vowels", which
               | are sort of like the Spanish conjugations, but not
               | exactly the same thing (although I think both varieties
               | of verb groupings probably have a distantly shared origin
               | in Indo-European).
               | 
               | The Spanish conjugations -ar, -er, and -ir derive from
               | Latin conjugations, which are usually analyzed as having
               | four different regular conjugation patterns (there are
               | long and short e, giving -ere and -ere, in addition to
               | -are and -ire), although one can choose to make
               | additional distinctions.
               | 
               | Generally older Indo-European languages have more complex
               | morphology than newer ones, including more paradigms and
               | more irregular forms. Ancient Greek verbs are definitely
               | morphologically more complex than modern Spanish verbs.
        
         | underbooter wrote:
         | Toso eukolo einai
        
       | stavros wrote:
       | What is this quiz? Can someone provide some context?
        
         | Jtsummers wrote:
         | Seems to be a trivia quiz game included in OpenBSD.
         | 
         | https://github.com/openbsd/src/tree/a6105854a9e3aab642e6a0fc...
         | 
         | In datfiles/index there's a list of categories and with some
         | interpretation you can see what they're asking. Like "chinese"
         | is The Chinese zodiac, current sign and next. "pres" quizzes
         | you on the president, their term, vice, and successor.
        
           | stavros wrote:
           | Thank you!
        
         | brynet wrote:
         | It's a BSD game.
         | 
         | https://man.openbsd.org/quiz
        
       | Flop7331 wrote:
       | If I take all the commits up to that point and rebuild OpenBSD
       | from that original material, that's the _real_ OpenBSD of
       | Theseus.
        
       | AlienRobot wrote:
       | It's the start of a new era.
        
       | lupire wrote:
       | This change marks the change of every file, not every line or
       | every character. Every directory was already changed
        
       | TacticalCoder wrote:
       | Also known as _" but is this not the nine hundred-year-old
       | OpenBSD of my family?"_
        
       | alberth wrote:
       | > With this commit, we have completed an amusing mission of
       | replacing the final parts of the original OpenBSD.
       | 
       | Am I interpreting this correctly in that, given that OpenBSD was
       | created as a fork from NetBSD - there's now not a single line of
       | (original) NetBSD code left in OpenBSD?
        
         | zamadatix wrote:
         | No, it's that there is not a single file of original code left.
         | This was just the last remaining file to not have a line of
         | code edited since then (that definition seems to exclude the
         | automatically added OpenBSD opening comment line). Likely
         | lasting so long because it was an extremely short makefile
         | without much meat and potatoes to change even if the code for
         | what it was about changed.
        
           | fsckboy wrote:
           | symbolically, keeping one original file seems a lot more
           | meaningful to me. is a younger generation at the helm? an
           | older veneration seems less likely to do this.
        
             | UniverseHacker wrote:
             | The files are mostly the same. It goes against OpenBSD
             | ethos not to constantly review and improve the entire
             | codebase.
        
         | SoftTalker wrote:
         | I think it means that there are no longer any unchanged files.
         | Much more likely that there are many lines of code that are
         | still the same.
        
       | SuperNinKenDo wrote:
       | Reaching it by replacing the Greek quiz with a ship quiz is a
       | nice touch.
        
       | anthk wrote:
       | Now it would be a good day to play sail(6) then.
        
       | rererereferred wrote:
       | But can they grab all the removed files and create a new
       | somethingBSD with them?
        
       ___________________________________________________________________
       (page generated 2024-08-24 23:02 UTC)