1. 5

      I believe our very own @enkiv is involved in some way.

      1. 7

        I was tangentially involved, myself — a few years ago, I did some work for Ted implementing ZigZag.

        1. 2

          Awesome! Are your impressions of Ted congruent with the ones form the old Wired article?

        2. 5

          I am. I worked on the version covered in this article, and also on the previous release. Since 2014, another (totally independent) web-based version has been released.

      1. 17
        There once was a language named COBOL
        Whose usage had started to snowball
        With its courses adjourned
        We just recently learned
        Of a shortage exceedingly global
        
        1. 2

          Crap!! You stole ;-) the limerick I was about to post, although I’d only made up the first two lines yet…

        1. 2

          I think it’s time to introduce a VM based compatibility layer to macOS. So they can break things without worrying about breaking legacy apps. I mean “legacy” here is 10 years or 20 years old apps like this one. Of course, that would slow down the execution speed, but it wouldn’t be a much problem for legacy apps. It would be nicer if old apps can look and work like it was in the classic environment.

          VM based compatibility approach would make macOS more attractive in the business market.

          1. 5

            Apple introduced a 68K emulator into PowerPC Mac OS, the Blue Box (“Classic”) and Carbon-native CFM support into Mac OS X, and PPC emulation (Rosetta) into Mac OS X on x86. These compatibility layers worked well while they were supported, but that didn’t last.

            The future of legacy Mac applications is 3rd-party emulation.

            If by “legacy” you’re open to 30-year-old applications, there’s this project: https://www.v68k.org/advanced-mac-substitute/ It now has a Quartz-based front end that runs in Catalina.

            1. 1

              Wow!

            2. 2

              Something like Windows on Windows64 (WOW64). So I guess it would be MOM64 :)

            1. 5

              This is kinda crazy impressive. I’m surprised he was able to get it working.

              1. 5

                A couple years ago I took the released source code of John Calhoun’s game Glypha III and ported it forward to PPC / Carbon / OS X / Mach-O / x86: https://github.com/jjuran/glypha3-fork

                It’s definitely not a trivial process (and there are various gotchas along the way), but it’s doable with enough effort.

                1. 3

                  Wow. I had no idea he released his code. You have just made me want to port his glider game to linux. As someone who dabbled in mac game programming in the ’90s, it makes me really happy that he released his source.

                  1. 1

                    The old Mac game I want to do more work with is ZeroGravity, which also has source. I played that incessantly on my friend’s dad’s Mac Plus in 1988.

              1. 5

                This is really cool. I love how people go out of their way to express their fondness for the classic Mac era.

                1. 23

                  the way i see it,

                  • there was a bsd-licensed osxfuse project
                  • fleischer was the maintainer and pretty much sole developer of it
                  • lots of companies maintained their own private forks of it, bundling it with proprietary apps and not contributing anything back upstream
                  • fleischer also maintained his own private fork
                  • his fork happens to work on catalina
                  • he is offering companies whose forks do not work on catalina the opportunity to access his source code, as a commercial deal

                  other than the fact that he deliberately concealed the fact that he was no longer developing a bsd version (presumably so that no one else would bother working on catalina support until it was too late) i have no issues with what he did.

                  1. 27

                    I have yet to encounter a free software or open source license that guarantees the freedom to be informed of the author’s otherwise private business plans in advance. :-)

                    osxfuse became de facto non-free software once the Kernel Extension Signing Certificate was required, much like Linux on the TiVo. Sure, you can change it but then you can’t run it. The fact that it’s no longer gratis isn’t a setback for software freedom at all.

                    1. 10

                      An interesting fact about tivoisation that shouldn’t be forgotten is that Linus Torvalds is outspokenly okay with the method.

                      1. 5

                        My impression is that opposition to tivoization was mostly from Stallman/FSF.

                        1. 5

                          At times I wonder if the FSF’s push against Tivoization was the beginning of their decline. Linus and the Linux kernel ignored them, big companies got cold feet on “free software” and moved to “open source” (and the symptoms of it like say, Mac OS not shipping modern bash, the rise of LLVM, etc.), and the GPLv3 is seen as overreach by lawyers.

                      2. 1

                        I have yet to encounter a free software or open source license that guarantees the freedom to be informed of the author’s otherwise private business plans in advance. :-)

                        that’s a good point :) and if the companies really cared they could have reached out to him and asked if there would be a catalina version, at which point he could have asked them to pay him to work on it.

                        1. 1

                          The fact that it’s no longer gratis isn’t a setback for software freedom at all.

                          It’s a kernel extension for an OS that isn’t free (AFAICT only Mojave source is available and it’s not like you can build MacOS) and seeks to restrict what you can do with it (via Gatekeeper, which can be turned off but is harder to do so than before - this is why I say seeks rather than restricts). I’m not sure there’s that much software freedom to begin with.

                        2. 12

                          lots of companies maintained their own private forks of it, bundling it with proprietary apps and not contributing anything back upstream

                          This is exactly the reason why we have GNU GPL and copyleft.

                            1. 16

                              Of course. But „private“ means that you are using given software for your own purposes (at your household or at your company/organization). It is OK that you do not have to publish your changes.

                              However if someone is „bundling it with proprietary apps“ (which is the case we are talking about), then he is distributing the software to his customers – and at this point GNU GPL comes into play and says that he must share also the source codes with his customers (not with public, but the customers can publish them because GNU GPL grants them this right).

                              P.S. For the software that is not distributed to the users but is used over the network, there is GNU Affero GPL. And TiVoization is avoided by GNU GPLv3 (since 2007).

                              1. 1

                                Yep, it also does not require upstream commits. Your only obligation to the maintainer is credit and preserving the freedom of the user.

                              2. 0

                                There may not have been anything to commit back upstream (i.e. no changes to osxfuse were made), and the source code for the application is probably not very useful for this osxfuse developer.

                                1. 2

                                  “Maintaining a private fork” implies making changes to the source. If you’re just downloading the code but not making changes to it, you aren’t “maintaining” it.

                                  1. 1

                                    “Maintaining a private fork”

                                    Where is that claim being made? All I see being claimed is that companies are “using” it, not modifying it.

                                    1. 1

                                      https://lobste.rs/s/2alill/osxfuse_is_no_longer_open_source#c_1mh8hv:

                                      lots of companies maintained their own private forks of it, bundling it with proprietary apps and not contributing anything back upstream

                                      This is exactly the reason why we have GNU GPL and copyleft.

                                      The very comment you replied to discusses it.

                                      1. 1

                                        That’s just the summary/paraphrasing of someone (“the way i see it [..]”); I think they were just making assumptions? I read the article and all linked issues, and don’t see a mention of anything like a “fork”, just “using”, but perhaps I missed it?

                                        As I understand it forking – private or otherwise – would actually be rather hard (though not impossible) because of the special kernel module signing certificate, which are not so easy to obtain.

                            1. 5

                              Today is my first performance with the Washington Metropolitan Gamer Symphony Orchestra! I’m singing bass.

                              1. 7

                                I wish it was called web.. One syllable is far more convenient in speech than nine.

                                1. 2

                                  I also wondered if the english speaking world would change “double-u” into something shorter now that we say “www” so often. Turns out we rather got rid of the “www” instead of the “double-u”.

                                  1. 3

                                    I shorten it to “dub”. So www is “dub dub dub”.

                                  2. 1

                                    Just pronounce it “woooo” :)

                                    1. 1

                                      I say “triple double-U”, which is only five syllables.

                                    1. 2

                                      One of my longstanding complaints about Firefox has been its CPU usage when idle. This is very welcome news.

                                      1. 2

                                        Mine too – hence my disappointment (as a Linux user) when I got to the “on macOS” part.

                                        1. 2

                                          Should be much much easier to do partial present (damage tracking) with EGL, so I’m going to try implementing that soon :)

                                          Do keep in mind that this optimization applies mostly to the “tiny animation on the screen” situation. When idling completely, nothing is redrawn, and when scrolling, you have to paint pretty much the whole window anyway

                                          1. 1

                                            I will say WebRender on my Talos II seems to work well in my so far cursory testing, so there’s good news in 70 for Linux too even though it’s not officially supported yet.

                                        1. 12

                                          Hidden behind a nondescriptive title is a fun little post about the author recreating some of the most frustrating parts of 80’s adventure games, coupled with an entertaining writing style.

                                          1. 2

                                            “Fun” and “entertaining” don’t do it justice. The consistently deadpan narrative is comedy gold.

                                          1. 19

                                            Hi! I contribute a bit to Guix, and we’re discussing turning some of the things you mentioned into bug reports to help future users :-) Join us at #guix on Freenode if you have IRC!

                                            Also, what I do for contributing back to Guix is the following, it’s really quite simple!

                                            git clone https://git.savannah.gnu.org/git/guix.git
                                            cd guix
                                            guix environment guix # enter an environment suitable for building guix
                                            ./bootstrap && ./configure --localstatedir=/var
                                            make -j$(nproc)
                                            # make changes (add packages, etc)
                                            make -j$(nproc)
                                            ./pre-inst-env guix build mynewpackage # invoking guix as "./pre-inst-env guix" means you're using the guix you just built
                                            
                                            1. 5

                                              I was planning on joining the IRC, but the fact that I have to register with NickServ is a major incontinence inconvenience. I usually don’t join these kinds of channels, so I don’t remember what my username of password is, ergo I have to create a new one, that requires Email as far as I recall – which isn’t working.

                                              I will see what I can report back, since I would like to see these bugs fixed.

                                              1. 3

                                                I was planning on joining the IRC, but the fact that I have to register with NickServ is a major incontinence.

                                                I think you mean “inconvenience”. :-)

                                                1. 3

                                                  Nah, both words work in this context…

                                                  1. 3

                                                    That’s what happens when you rely too much on your spell checker.

                                              1. 1

                                                “An attacker who can produce output to the terminal” includes any remote host telnet connects to.

                                                $ telnet smtp.open-relay.honey.net 25
                                                220 cthulhu.honey.net ready
                                                

                                                Oops.

                                                1. 9

                                                  One thing this announcement makes obvious is that Apple marketers see macOS primarily as an application suite. They don’t mention system-wide changes like security improvements until the last quarter of the page — it’s all about the apps.

                                                  1. 9

                                                    Or most users/most of the target audience does not care about OS changes. E.g. my dad is also a macOS user – he probably cares more about that iTunes is now split in several apps, or what changes there are in Photos, than that developers have to do notarization or that macOS supports and will migrate to user-mode drivers.

                                                    Of course, the OS changes will benefit users, but they are harder to explain.

                                                    1. 1

                                                      iTunes is now split in several apps

                                                      LOL what? How can a music player be this complicated?

                                                      1. 4

                                                        iTunes was where Apple used to dump anything iPod related, and it was a bit hairy as a result. Now each function is broken into its own application or folded into Finder.

                                                        1. 2

                                                          There was a point (it may still be true; I don’t use XCode anymore) where updating XCode required quitting iTunes because… iTunes had a dependency on XCode?

                                                          The mind reels.

                                                          1. 1

                                                            Round and round we go.

                                                          2. 0

                                                            You have no idea.

                                                            1. 1

                                                              I don’t. That’s why I use Linux.

                                                        2. 2

                                                          Users shouldn’t have to think about technical things like security improvements

                                                          1. 4

                                                            They really should, though.

                                                            1. 2

                                                              They should publish it somewhere, but not here. This is not a technical document. This is a marketing piece aimed at non-technical consumers.

                                                              1. 1

                                                                Stop dividing users by “technical” and “non-technical”. Also, he’s right - rising security awareness in a gentle yet sill informative way should be a top priority for company which people rely on so hard.

                                                        1. 9

                                                          The best rants are thoroughly enjoyable even if you’re unfamiliar with the subject matter.

                                                          1. 2

                                                            Terra’s documentation is so wrong that it somehow manages to be wrong in both directions. That is, some of the documentation is out-of-date, while some of it refers to concepts that never made it into master

                                                            reader, I loled

                                                          1. 23

                                                            In the Terminal application, you can run the following commands:

                                                            I really wish guides like this would explain what the commands do, versus merely telling users to run them as root.

                                                            This could be a teaching opportunity, but instead it’s yet another instance of training users to cede control of their machines to others (by running commands they don’t understand).

                                                            1. 26

                                                              I had a call with Apple support years ago because of a semi-bricked macbook (btw, the best hotline money can buy, I habitually called them with MacOS software problems). System was booting, but terribly broken, even after a reinstall.

                                                              So, same thing, go to terminal, do a couple of things… 2 things happened: a) The engineer asked about my profession and apologised that he will go by script and that he understands that I know all he tells me b) Goes and does exactly what you are asking for: explaining every single component of the command in laymen terms (“sudo is doing what would normally be admin access” and so on).

                                                              Really, really awesome. If we had more such phone support, people would feel more empowered using their computers.

                                                              1. 12

                                                                TBH, I think it’s already an improvement to merely be a few commands which you can research yourself — a much better alternative than the common suggestion to pipe some random file from the internet directly into root shell, or, even better, download this binary removal tool that could so totally be trusted, wink wink.

                                                              1. 1

                                                                I’m factoring out my language interpreter’s library functions into separate subprojects, so I can make variants of the interpreter that support different subsets of functionality. For example, a minimal interpreter without threads, or a Linux-specific one that can control the framebuffer on a Raspberry Pi. (Varyx is memory-safe, so exposing ioctl() isn’t practical.)

                                                                Also, I’m trying out as a singer for the WMGSO (Washington Metro Gamer Symphony Orchestra) tonight!

                                                                1. 1

                                                                  Pascal: Pascal’s concepts and structure are nearly isomorphic to C’s — once you’ve learned one, it’s quite easy to learn the other.

                                                                  1. 1

                                                                    I never used Prograph myself, but I do remember seeing ads for it. I even got their sales literature in the mail, though at the time I couldn’t afford to spend that kind of money on software I wasn’t sure I needed.

                                                                    I’m pleased to hear that someone enjoyed using it, though!

                                                                    1. 3

                                                                      Because [Podman] doesn’t need a daemon, and uses user namespacing to simulate root in the container, there’s no need to attach to a socket with root privileges, which was a long-standing concern with Docker.

                                                                      Wait, Docker didn’t use user namespacing? I thought that was the whole point of Linux containers.

                                                                      1. 7

                                                                        There are two different things called user namespaces. CLONE_NEWUSER which creates a namespace that doesn’t share user and groups IDs with the parent namespace. And the kernel configuration option CONFIG_USER_NS, which allows unprivileged user to create new namespaces.

                                                                        Docker and the tools from the article both use user namespaces as in CLONE_NEWUSER.

                                                                        Docker by default runs as privilegued user and can create namespaces without CONFIG_USER_NS, I’m not sure if you can run docker as an unprivilegued user because of other features, but technically it should be able to create namespaces if CONFIG_USER_NS is enabled without root.

                                                                        For the tools described in the article, they just to create a namespace and then exec into the init process of the container. Because they are not daemons and don’t do a lot more than that, they can run unprivileged if CONFIG_USER_NS is enabled.

                                                                        Edit: Another thing worth mentioning in my opinion is, UID and GID maps (which are required if you want to have more than one UID/GID in the container) can only be written by root, and tools like podman use two setuid binaries from shadow (newuidmap(1) and newgidmap(1)) to do that.

                                                                        1. 1

                                                                          It can, but for a long time it was off by default. Not sure if that’s still true.

                                                                        1. 3

                                                                          Picking up a Macintosh SE — so I can test the behavior of the original Mac sound and display hardware, and thereby reliably emulate it in Advanced Mac Substitute.