Threads for lorddimwit

  1. 2

    I wrote a very simple BBS on the Amiga in ARexx as an answer-call script for the Term terminal emulator.

    Boy does that take me back.

    1. 1

      This repo includes the scripts, scene descriptions, graphical assets, etc. It does not appear to include the engine that runs the scripts; that has to be downloaded separately and looks to still be closed source.

      1. 1

        The blog post goes into detail why he cant and wont do that.

      1. 4

        My sister certainly enjoyed playing games on my family’s shared computers (first an Apple IIGS, later a 486 PC), though not the same games that my brothers played. I wasn’t much into playing games myself, mostly because I didn’t discover the good text adventures (e.g. Infocom) until much later. The fact that, of the 4 of us, only I was interested in programming merely means that it’s something that only a minority of computer users get into.

        I was somewhat disappointed that the author didn’t have an answer for the question “Why did computer science see a downturn in female applicants during the home computer boom?”. Anyone else have insights on this?

        1. 8

          Why did computer science see a downturn in female applicants during the home computer boom? Why was home computing such a boys’ club?

          A study from 2018 summarized in this Atlantic article asks:

          So what explains the tendency for nations that have traditionally less gender equality to have more women in science and technology than their gender-progressive counterparts do?

          And suggests that:

          “Countries with the highest gender equality tend to be welfare states,” they write, “with a high level of social security.” Meanwhile, less gender-equal countries tend to also have less social support for people who, for example, find themselves unemployed. Thus, the authors suggest, girls in those countries might be more inclined to choose STEM professions because they offer a more certain financial future than, say, painting or writing.

          It’s just one study, but it’s a good reminder that people exercise agency.

          1. 4

            Yes: there was no downturn unless you only look at gender ratios and ignore absolute numbers.

            Around the early 1980s, as with the dotcom boom, there was an increase in interest from both men and women in the field. Then, men’s interest remained steady, while women’s interest dropped back. This is something that feminists ignore because it ruins their narrative of men driving women out. But just go look up the curves, and you will see this effect clear as day in the bachelor degrees. Because there was both and absolute and a relative shift, the relative graph is meaningless.

            Computing was biased towards women because they were for rote clerical work and women needed them for their jobs. When home computers took off, along with self directed hacking, programming and more, men discovered they loved it, and women did not.

            1. 4

              I am not a sociologist or psychologist or any other kind of -ist so I don’t know if this is accurate or meaningful, but I read somewhere that home computers turned computer science into a largely solitary activity (whereas it was originally a more communal one) and that, for whatever reason, that was less appealing to some demographics.

              I’ve also read that once CS started paying really well, women were discouraged from pursuing it, as a form of structural sexism to reserve higher paying jobs for men.

              Again, I am not knowledgeable in this sort of thing so don’t take this as something true or accurate. These are just two explanations that I’ve seen proposed.

              1. 17

                I can contribute a small bit of second hand oral history to this matter. My father used to sell computer systems to mid-sized institutions (e.g. regional banks, county governments) in the 70s and 80’s. He told me how many institutions followed the same chain of “logic”

                1. Static discharge can damage computers
                2. Wearing nylons can cause a person to build up static charge
                3. The corporate dress code requires women to wear nylons
                4. Any woman who enters the computer room will be summarily terminated, for she is either in violation of the dress code or a threat to very expensive electronic equipment

                The idea that #3 could be removed with a stroke of the pen from management was never discussed. Similarly, a salesman could walk into the server room in a polyester leisure suit, fry a terminal, and it was just a call to support. Meanwhile, a female accountant who entered the room to grab her print out and left without incident was fired for insubordination.

                The nylons thing wasn’t the only example. One bank did have a woman for their lead system operator. She had a decade of experience and had personally worked with Grace Hopper. She had three assistants, each fresh out of college with no coding experience or ability. All three assistants were paid fifty percent more than she was. The rational was that she couldn’t be paid more than her husband, who was on the bank’s maintenance staff. After she left the firm for a higher paying position elsewhere, the CEO fired her husband (for failing to keep her at the bank) and made multiple comments to the board about not allowing women in management positions on account of being flighty and disloyal.

                I guess that, if I have any thesis to share, it’s that the push to gender computing as a male activity might have occurred around the time of the home computer revolution, but that corporate computing was already headed in that direction without the consumer market.

                Edit: Fixed typos

                1. 5

                  Before the PC era there were taboos about nearly anyone entering the computer room. The computer operators were widely called a “priesthood”. But you didn’t need to enter to use the computer, because you could use a keypunch machine or, later, a timeshare terminal. So I don’t think the nylons factor alone would have kept women out, except as operators. (And back then a lot of women did work on computers doing data entry.)

              2. 2

                I was somewhat disappointed that the author didn’t have an answer for the question “Why did computer science see a downturn in female applicants during the home computer boom?”. Anyone else have insights on this?

                Yeah, I don’t think a bunch of advertisements will give you an accurate depiction of the market.

              1. 1

                There would appear to be a paywall, but it’s in German so I don’t know how to get around it.

                1. 4

                  -chico -harpo -groucho -gummo -zeppo

                  1. 5

                    I would love to see more Swift on Linux as a general server side language.

                    1. 2

                      You might be interested in the Swift on Server effort and their workgroup and projects.

                    1. 1

                      I’ve got a little data structure that I keep meaning to formally specify and prove.

                      1. 3

                        Do it! If it’s in Isabelle, I can try and help.

                        1. 1

                          I reached out to Dr. Ed Nather, the author of the story of Mel, 18 years ago and asked him about the story and his thoughts on how the computing world had changed over the years. He was very gracious.

                        1. 17

                          I don’t think the first point is really true. Fortran didn’t avoid allowing aliasing to enable optimisations, it simply didn’t implement a complex feature. A few decades later, compilers were able to take advantage of the simpler data structures. Multidimensional arrays and so on are definitely not well supported in C/C++, but it’s weird to point at the rich set of optimised matrix maths libraries in C++ as a strength of Fortran.

                          The third point is closest to the real reason, which I learned when I worked on a Fortran compiler in a past life. The entire Fortran compiler industry is funded by a single program. The DoE wrote this program in Fortran 77 and cannot (by law) modify it as long as the test-ban treaty is in effect, because they could not validate a modified version. They pay unbounded amounts of money for compilers that make this program run faster. All other uses of Fortran are possible because this program’s existence is subsidising an entire compiler industry.

                          1. 5

                            Fortran didn’t avoid allowing aliasing to enable optimisations, it simply didn’t implement a complex feature

                            I am not so sure about this. Quoth fran allen (who worked on the earliest fortran compilers):

                            C has destroyed our ability to advance the state of the art in automatic optimization, automatic parallelization, automatic mapping of a high-level language to the machine

                            Talking about ‘features’ such as aliasing and unrestricted () pointer forgery.

                            1. 2

                              That is very interesting.

                              because they could not validate a modified version

                              But shouldn’t they have measurement data from back then, or ways to compare the output of this program with a new one ? It’s not easy, but should be doable.

                              1. 6

                                It’s not easy, but should be doable.

                                Do you want to bet your nuclear deterrent on ‘should be doable’?

                                1. 3

                                  It’s better for everyone if the nuclear deterrent doesn’t actually work, but it just looks like it probably does to anyone looking into it.

                                  1. 1

                                    Otherwise their only option is to never change anything at the existing program. Because “should be doable” is the same for changing anything, if you apparently can’t test it. And I doubt they don’t change anything ?

                                    1. 4

                                      Correct. They do not change anything in the existing program. They recompile it with different compilers but that’s all (and then they do a lot of validation to ensure that it produces the same output as all versions from different compilers).

                                      1. 2

                                        How do they validate that the program compiled with a new compiler produces the same output as the program compiled with the original compiler? Couldn’t they use the same technique to validate a new version of the program?

                                2. 1

                                  Is the law publicly available? That reasoning seems strange to me: if two programs produce identical outputs for known inputs, aren’t they identical for all practical purposes? When it comes to unknown inputs, both the old program and any new ones can only be validated by experiment, but since an experiment isn’t possible, one can only choose to trust those outputs or not. I can’t see what makes the old program more trustworthy for situations that weren’t experimentally validated.

                                  1. 2

                                    It’s probably this one. And from what I understood it’s less about comparing them and more that they don’t trust just comparing the programs. Also I doubt it’s just a single variable to test.

                                    1. 1

                                      That law bans exploding nukes, not modifying Fortran programs. :)

                                      From the wording I thought the law makes it illegal to modify the program that is used as a substitute for experimental testing.

                                  2. 1

                                    Do you have more info on this program and the law that requires it? I’d love to learn more but am not having much luck searching.

                                    1. 3

                                      No, only feedback from the customer. They were also the absolute worst customers for a compiler. You’d get bug reports saying ‘the compiler generates incorrect code’, and you’d say ‘please provide a test case’ and they’d then take 6-12 months to declassify something and then their test case would be so much changed from the original that it wouldn’t trigger the bug.

                                      1. 3

                                        We found a bug in SQLite. We couldn’t figure out what was causing it. Even the slightest changes to the inputs dodged the bug. We were working on a government project and we had the humorous problem of having to figure out how to send the SQLite folks out the data that triggered the bug when we weren’t actually allowed to send them the data.

                                        Finally we found some data that would trigger the bug that wasn’t derived from anything we couldn’t distribute, got it approved, and submitted the bug.

                                  1. 2

                                    The built in support for queries and tables looks really nice! I wonder if there are other languages featuring this. It bears a clear resemblance to PLSQL.

                                    1. 2

                                      It appears very similar to q/kdb+ in that regard (I think I read that it was inspired by q in fact).

                                    1. 3

                                      Friend of mine and I are taking our oldest kids to see a movie and then I’m taking all my kids out to dinner while my wife goes to a friend’s birthday party and then…I hope to move the ball forward on my little regex engine (which is like the tenth regex engine I’ve written); I’m reworking how I do parsing and going to experiment with a few things.

                                      1. 3

                                        I’m now really curious. What was wrong with the ninth one?

                                        1. 1

                                          Nothing really. I just have some ideas on how to rework the parser and compiler that should eliminate all allocation during compilation (caller provides a buffer into which the regex is assembled). Also no (explicit) stack for an operator precedence parser.

                                          IOW I want a single-pass, allocation-free compiler with no intermediate representation for the regex, for fun.

                                      1. 18

                                        Visiting Munich and prepping to give my first ever conference keynote!

                                        1. 3

                                          Good luck! I’m sure it will go swimmingly.

                                          1. 3

                                            Break a leg!

                                          1. 2

                                            I like that the standard Microsoft security boilerplate is included.

                                            1. 3

                                              MGR is such a beautiful thing.

                                              1. 3

                                                Indeed, this was the first post where I learned about the system, super interesting, I’m going up see if I can get a copy running in qemu!

                                                1. 4

                                                  There was a README back in the day on Slackware (I think?) that recommended MGR if your box had less than 8MB of RAM. Which mine did.

                                                  1. 2

                                                    very cool, that it was open source too!

                                                2. 2

                                                  I love the concept. It seems fit for resurrection, at least in its architecture if not in the exact implementation.

                                                  1. 1

                                                    @classichasclass I am trying to build your tarball on an emulated sun4m using qemu and a stock copy of SunOS 4.14. Any chance you could share a bit more of your successful build tools? It looks like the Configfile is set to use gcc, did you use gcc? If so what version?

                                                    1. 1

                                                      Yes, gcc 2.95.

                                                      1. 1

                                                        Thanks, I’ll try to find a copy or build one!

                                                        1. 1

                                                          No need: gopher://gopher.floodgap.com/9/archive/sunos-4-solbourne-os-mp/gcc-2.95.3-sunos413.tar.gz

                                                          1. 1

                                                            you rock, I’ll give it a spin today!

                                                1. 3

                                                  Most interesting is that it looks like the source for SunView/SunTools is in there.

                                                  1. 4

                                                    I liked SunView. It was oddly cheery, and certainly a simpler experience. Reminded me a little of Apollo Domain/OS in visual style.

                                                  1. 3

                                                    Great article, thank you.

                                                    As an aside, does anyone know the font that’s used in the NetHack screenshot in the article? I’ve seen it before but I can’t place it. The curly braces and the raised dollar sign are very distinct.

                                                    1. 3

                                                      I couldn’t figure it out, so I asked in the r/roguelikedev Discord and it turns out it’s just misc-fixed. Which is funny, because I had no idea misc-fixed had that raised $, despite my using that font for a few months.

                                                      1. 3

                                                        You rock, thank you.

                                                    1. 4

                                                      Made resolvd(8) write /etc/resolv.conf in a more atomic manner.

                                                      So is it now atomic or not? 😋

                                                      1. 8

                                                        “What’s an atom?”

                                                        “It comes from the Greek atomos, meaning ‘unsplittable.’”

                                                        “Can we split them?”

                                                        “Oh yeah.”

                                                        1. 4

                                                          It’s not atomic, writing files is almost never atomic, in POSIX what you’re supposed to do is write a temporary file and then swap out the old file and replace it with your temporary file.

                                                          This is because the write is almost always not atomic, but the rename() OS function is.

                                                          1. 4

                                                            And then you’re meant to send a SIGHUP to the reading process because files are not file names and so it will keep observing the old version otherwise.

                                                        1. 20

                                                          I absolutely just want a tiny, silent, cool ePaper laptop capable of running Linux/BSD in a purely text mose.

                                                          1. 9

                                                            I would also love a Linux compatible e-ink laptop. I look for one from time to time, but there has never been one that has been worth the price for me. There are some things on the market that come close, but they normally have a few things that I don’t like and come with a price tag too high for me to want to compromise.

                                                            1. 7

                                                              Exactly what I’m dreaming of. I even asked MNT founder about it: https://mamot.fr/web/@ploum/109082688438688769

                                                              I’ve written about my quest here : https://ploum.net/the-computer-built-to-last-50-years/

                                                              I thought that Astrohaus was nailing it.

                                                              Unfortunately, I’m really angry against Astrohaus for the Freewrite. Their software are a shame, force using a proprietary cloud and are full of bugs. My Freewrite, despite its weight, have no more battery than my laptop. The traveler has a very very bad keyboard to the point of making it unusable for me (I had to send it back because some keys were always quadrupled. Now, the space is only working if I press it really violently). See gemini://rawtext.club/~ploum/2021-10-07.gmi

                                                              Placing all my hope on the MNT Pocket even if I would need to adapt my layout to the keyboard. Hoping to see an eink version soon to use with only a terminal. Neovim, Neomutt and Offpunk are all I need 95% of the time ;-)

                                                                1. 4

                                                                  I’ve written about my quest here : https://ploum.net/the-computer-built-to-last-50-years/

                                                                  This is very interesting, thank you for sharing. One point I’m unsure about is storage… I’m not aware of any existing storage technologies that would last more than a dozen years. Mechanical drives fail because they’re just fragile, especially in a computer than can be easily moved around. SSDs/flash are less fragile but blocks still “go bad”, though wear leveling helps a little I guess. Maybe some purpose-built SSD with a huge number of spare blocks would last 50 years?

                                                                  1. 4

                                                                    SSDs also require power, at least sporadically, for them to retain data. I’ve seen a recommendation to power up and read all the data on a SSD once yearly to make sure there’s no data loss.

                                                                  2. 2

                                                                    addendum: I think your blogpost would be worth its own submission

                                                                    1. 1

                                                                      Thanks. It has already been submitted : https://lobste.rs/s/1b1rxk/computer_built_last_50_years

                                                                      1. 1

                                                                        my bad, missed that when looking for it.

                                                                    2. 2

                                                                      It has come up in discussions around the reform in the past (I think on the reform forums), and @mntmn said that it’d be an interesting option, but at least at the time there wasn’t really anything good enough available that could be easily used.

                                                                      Would not surprise me to see someone do it as a modding project though, if they can find a usable panel in a close-enough size.

                                                                    3. 3

                                                                      I haven’t tried it, but the Remarkable2 is apparently running linux; https://www.mashupsthatmatter.com/blog/USB-keyboard-reMarkable2 walks through adapting it to take a USB keyboard, but looks like it’s still a bit of work.

                                                                      1. 1

                                                                        I’ve seen that it was possible to install Parabola Linux on the rM1. I haven’t tried it yet but it’s indeed a very interesting possibiity.

                                                                        1. 1

                                                                          I have an rM2, and it has some Linux distro installed by default. I haven’t messed around with installing a totally separate OS, but I have used https://toltec-dev.org to install some homebrew apps as well as general Linux utilities

                                                                    4. 9

                                                                      I read this comment from my Kobo Clara HD e-reader which is running full NixOS (with Rakuten’s vendor kernel) - it’s not a laptop but it is kinda a tablet and does support OTG.

                                                                      I’m hoping the Kobo Clara HD 2e is similarly hackable because it has Bluetooth. I’d love to be able to use a wireless keyboard and have audio, in the future.

                                                                      1. 1

                                                                        Since writing this, I had a quick look at the Kobo Clara 2e and it looks close enough that I’m going to gamble that my existing NixOS installation might boot. Purchased for $209AUD. Let’s see.

                                                                        1. 1

                                                                          Huh, nice. I have a Kobo Clara HD, but the only hacking I’ve done to it is to install KOReader. It would be pretty nice to be able to write with it, and to have a Gemini client on it.

                                                                          1. 3

                                                                            I tried Gemini yesterday! nix-shell -p castor:

                                                                            https://i.imgur.com/TXGCfmq.jpeg

                                                                            1. 1

                                                                              Looks good!

                                                                        1. 4

                                                                          Warren Teitelman originally wrote DWIM to fix his typos and spelling errors, so it was somewhat idiosyncratic to his style, and would often make hash of anyone else’s typos if they were stylistically different. Some victims of DWIM thus claimed that the acronym stood for ‘Damn Warren’s Infernal Machine!’.

                                                                          In one notorious incident, Warren added a DWIM feature to the command interpreter used at Xerox PARC. One day another hacker there typed delete *$ to free up some disk space. (The editor there named backup files by appending $ to the original file name, so he was trying to delete any backup files left over from old editing sessions.) It happened that there weren’t any editor backup files, so DWIM helpfully reported *$ not found, assuming you meant ‘delete *’. It then started to delete all the files on the disk! The hacker managed to stop it with a Vulcan nerve pinch after only a half dozen or so files were lost.

                                                                          The disgruntled victim later said he had been sorely tempted to go to Warren’s office, tie Warren down in his chair in front of his workstation, and then type delete *$ twice.

                                                                          1. 5

                                                                            I have often thought of building a “minimal Xorg.” No font server (embedded fixed font only), no remote access (UNIX domain sockets only), the set of common extensions expected today, removal of unused extensions, removal of unused auth mechanisms, etc.

                                                                            Note that this is distinct from “configure existing Xorg at compile time to remove those things,” but rather wholesale removal of those features from the code base never to return.

                                                                            It’s probably not worth the effort but it would be fun.

                                                                            1. 1

                                                                              That sounds more or like what I have proposed a few times for X12. Work out all the old legacy stuff that no modern Linux system uses any more and try to codify what are the bare essentials for X in the 21st century, as a baseline for looking at what could be removed forever to try to simplify maintenance in future.

                                                                              1. 1

                                                                                I find this interesting since, I’m guessing, eventually I expect to be forced to Wayland at some point but will still be using Xwayland for a while for legacy software (motif, fltk, Fox toolkit, etc.).