1. 1

    I remember the day Linus posted about his kernel to the minix-list, oh .. what a joy it was. I’d just joined the minix-list, as I was looking for something to run on my brand new 386 that wasn’t DOS or CP/M or Quarterdeck Desqview and so on .. I needed a real OS. Which is what I thought Minix was (and to be fair at the time it was a pretty decent option…)

    But then, along came Linux, and I proceeded to spend a week getting it installed. First I didn’t have enough RAM, then I needed another disk, then my VGA card wasn’t quite up to scratch, and then .. I had to get networking. Well, a month later I finally had a working “Unix-like” workstation on my desk that wasn’t a Sun or MIPS machine .. what a joy to behold! Then, another month later I finally got X-windows and multiple xterms, and by then I was hooked!

    My first distro love was Yggdrasil, as it came out of the box with everything needed to turn a PC into an X workstation. First bootable floppy experience! Booting off the CD: awesome!

    Been a happy Linux user - and developer - ever since. These days, all the pain is gone: whenever I get a new machine, I put Ubuntu Studio on it, step back, and come back to a fully working, prepared and operational multimedia/content-creation capable desktop. My, how far we’ve come!

    1. 1

      Opening this up to lobste.rs for discussion - maybe this is of use to anyone currently working on laser-cutting software or other graphics tools which require a solution to the NFP?

      1. 3

        Dunno why would someone not just use libSDL in this situation? And then, of course libSDL_grafx, etc.

        1. 12
          SDL2-2.0.7$ cloc src | grep SUM | grep -o '\d\+$'
          161068
          
          bin$ cloc fbclock.c | grep -o '\d\+$'
          86
          

          🤔

          1. 10

            I see several reasons, one being education. I had no idea how linux framebuffer system was working before reading this post.

            Great post, thanks for writing it!

          1. 3

            I would definitely use this in production if it was smart enough to see a directory with nothing but .mp3/.jpg files, and produce a playlist/gallery with the files embedded .. seems like an obvious feature, but even with Hugo this doesn’t seem to be a simple deal.

            1. 8

              For those wondering, here’s what the fuss is all about: a demo of BeOS handling load on 1998-era computers. It does that with pervasive multithreading built into every level of the system. My multimedia on Linux systems from 10 years later still doesn’t perform as well. The architecture was what made BeOS special.

              1. 3

                I still have my BeBox. It seriously kicks ass - what a tragedy that this architecture didn’t persist.

                1. 3

                  Well, the BeBox wasn’t that great other than the OS and light show. There was no L2 cache because the 603 CPUs had no cache coherency - they were never intended to be run in SMP. As such, performance is horrific; it’s just that Be’s scheduler puts so much priority on running desktop programs and is good at multithreading across CPUs it’s not as bad.

                  Moving to x86 was the right step, though there was also the intermediate step of Power Macs.

                2. 2

                  I remember watching this and some of their other videos back in University around 2003. When I started University I had a quad-boot 667Mhz Pentium 3 that loaded BeOS 5, Slackware Linux, Windows 98 and Windows 2000 … with my primary bootloader being the BeOS boot loader (it was the most colourful). I wish I took a photo of the boot screen. It was pretty rad.

                  I really liked BeOS. I was able to get it working with an old WinModem and my Ethernet card at the time. Watching the videos, I’m amazed how it can just turn off a CPU and turn it back on, not to mention encode two video capture stream from different encoder cards in real time. (Back then, in Windows, I’d have to record a TV stream as RAW or else I’d drop frames, then go back an encode it in VirtualDub. I got a 30GB hard drive just to have space for the raw captures).

                  It wish it had made it, or that Haiku was a true successor. It’d be nice to have more operating system options than just Mac/Win/Linux/BSD*. For that matter, I wish IBM hadn’t given up on OS/2 Warp either.

                1. [Comment removed by author]

                  1. 20

                    Yeah you can be direct without being a dick. “I won’t merge something that breaks the kernel, please find some other way.” would have worked just fine.

                    1. 18

                      And in fact, that’s how it works most of the time.

                      Linus’ reputation as an asshole is due, in part, to selection bias, and the high profile of Linux. Thousands and thousands of merges go into the kernel all the time without a problem, and without Linus going off on a rant.

                      I don’t work on the kernel, but my observation has been that the big blow ups seem to only come after people repeatedly break the rules. I won’t say Linus handles it well, but I don’t think he’s as bad as some maintainers in some smaller open source communities.

                      1. 6

                        It’s survivor bias, not selection bias. He also owes a lot of it to businesses that got his kernel out there plus make up a lot of contributions. It’s not as if him being an asshole combined with some FOSS contributors that loved that asshole equals success of Linux.

                        1. 6

                          Not that it makes a difference, but I believe I was correct in calling it selection bias. Nobody will post to Lobste.rs or write an article when Linus is being nice, so in general people only see the bitchy posts, hence the bad reputation.

                          1. 7

                            I don’t think that’s strictly true.

                            I think there are a few salient points here:

                            • If you just go by his posts that make it to lobste.rs/hacker news/reddit, you’ll get an extremely skewed view of Linus’s attitude. The vast majority of his communications are somewhere between polite and blunt. (Remember, his job basically entails reading and writing emails all day every day, and he writes something social-media worthy at most monthly.) To the best of my knowledge, he’s never exploded at a kernel newbie, only at long-time kernel hackers.
                            • That said, his attitude is still incredibly problematic. It’s been demonstrated to drive away talented developers. It drives away new developers, even if they are not themselves directly getting yelled at by Linus.
                            • Linux’s success is a complicated beast dependent on a whole host of factors, including to varying extents all of good timing (a few years later and BSD would have made it through its legal troubles), technical talent, corporate support, sheer dumb luck. Linus’s attitude certainly had an impact, but where it slots in that long list is impossible to say; I think it was a negative factor and thus, based on Linux’s evident success, had a relatively low impact, but obviously that’s pure speculation.
                            1. 2

                              Even adding in that first bullet from you and jlarocco, I think I still agree with about everything you said. It’s consistent with my position that he goes too far with the bad stuff.

                          2. 5

                            I have never ever behaved this way to my colleagues, and I suspect you haven’t either. So to call it selection bias is to ignore that he’s doing something that the vast majority of us would be fired for. It’s not okay to rarely shout down your coworkers. Sure it’s better to do it rarely than every single day, but the fact that we keep examples of this is a clear example that he has no checks and balances.

                            1. 1

                              And generally these are people who have a corporate position that makes them believe they are entitled to break the rules.

                          3. 45

                            The only thing I’m getting tired of is people pulling the odd email out of thousands and wringing hands over how mean Old Man Linus is.

                            Maybe folks should reflect on how, after 25 years of loud and blatant protestations by Linus, fucking morons keep trying to merge the same types of userspace breaking bugs.

                            Maybe, sometimes, a broader more accepting tent isn’t the answer.

                            1. 27

                              If Linus being famously mean for 25 years hasn’t produced a productive culture, perhaps it’s time to try a new approach.

                              1. 26

                                But it has produced a plenty productive culture - a culture that produces a better end product than many more professional environments, in fact.

                                1. 5

                                  Professionally “rewarding”, still toxic at the personal end. It’s mentioned in this article mentioned at the main link.

                                  1. 3

                                    Professionally “rewarding”, still toxic at the personal end. It’s mentioned in this article mentioned at the main link.

                                    And little of value was lost. This is how Sarah Sharp tried to publicly humiliate the guy with a wife and daughter - https://lwn.net/Articles/559077/ :

                                    *Snort*. Perhaps we haven’t interacted very often, but I have never seen you be nice in person at KS. Well, there was that one time you came to me and very quietly explained you had a problem with your USB 3.0 ports, but you came off as “scared to talk to a girl kernel developer” more than “I’m trying to be polite”.

                                    I disagree with labelling things and people as “toxic” in general, but I’ll choose Linus over Sarah any day: https://linux.slashdot.org/story/15/10/05/2031247/linux-kernel-dev-sarah-sharp-quits-citing-brutal-communications-style

                                    1. 12

                                      Did we read the same mail? Did you read any of the quoted parts from Linus? A guy that refuses to even consider treating people with respect is a clear-cut asshole. I’d much rather work with someone that talks about treating people with dignity than someone that refuses to consider the concept seriously.

                                      1. [Comment from banned user removed]

                                        1. 16

                                          You got it backward. Linus is the special snowflake here if he can continue to be that unnecessarily-abusive publicly with no consequences just because his work just happened to get popular in that way. Expecting people to deliver constructive criticism or not chase away good talent is the default for those managing good teams in most places. A manager/leaser simply getting off on abusing those doing work is adding nothing of value to the project in doing so.

                                          Instead of a snowflake, people just expect to be treated with decency by default with shitflakes like Linus able to get away with being exceptional jerks.

                                          1. [Comment from banned user removed]

                                            1. 2

                                              That would be a good trait if he had it. Instead, he’s still pushing monoliths in unsafe languages with limited metaprogramming. Took forever to get it reliable versus Minix 3’s a few developers in a few years. So much for his decisions being merit-based. ;)

                                              1. 3

                                                he’s still pushing monoliths in unsafe languages with limited metaprogramming

                                                Linux is modular.

                                                There was no serious alternative to C back in 1991 and, as much as I love metaprogramming, it increases the amount of surprises for the programmer.

                                                Took forever to get it reliable versus Minix 3’s a few developers in a few years.

                                                It’s easy to be reliable when your biggest deployment is on Intel’s spy chip.

                                                Minix was little more than an emulator pet for a few CS students, before that. Low on drivers, low on performance, low on functionality. You might as well compare Linux with L4…

                                                1. 4

                                                  It’s modular in kernel mode for full compromise and crash potential. There were a bunch of memory-safe languages used in other OS’s before 1991, esp from Wirth, whose safety could be selectively disabled. Worst case compile them to C to leverage compilers while dodging programmer-related problems like some projects did.

                                                  “It’s easy to be reliable when your biggest deployment is on Intel’s spy chip.”

                                                  DOD is one of Red Hat’s biggest customers and sources of funding for contributions to Linux. Lots of kernel bugs were also found by analysis and testing tools from CompSci similarly funded by US-government. I agree that helps but a company just freeloaded off Minix 3. Should’ve went with GPL.

                                                  “Minix was little more than an emulator pet for a few CS students, before that. Low on drivers, low on performance, low on functionality. “

                                                  You should’ve seen the first Linux. It was similar but crashed more. Meanwhile, several years earlier than 1991, QNX folks were building a microkernel-based UNIX that became reliable as hell, fast, and deterministic. The Playbook versus iPad comparisons were the first I got to see with multimedia after BeOS. In both, the multithreading without stalling abilities were mindboggling versus the better-funded, older competition. My Linux systems can still come to a crawl over misbehaved applications to this day. Things that the others made highly unlikely with better architecture.

                                                  You’re arguments were who used it and features that came with labor put in. Either one of those put into better architecture would’ve made an even better Linux. So, they’re neutral points. Mine was Linus wouldn’t listen anyway. If you believed him in Linus vs Tannenbaum, things like the Playbook w/ QNX and BeOS would’ve been impossible to program easily or perform well. Way wrong cuz he’s about politics and arbitrary preferences as much as merit. Like most developers.

                                2. 18

                                  It has, though?

                                  What I meant was that newcomers seem to be ignoring 25 years of norms and others being surprised when those newcomers–who are doing dumb things–are told to knock it off.

                                  1. 6

                                    Yeah, With “productive”, which seems to have been a really poor word choice, I meant one that didn’t have to teach the same thing over and over in the way you described. Sorry to you and the other responders for the confusion.

                                    1. 2

                                      Thanks for the clarification, and agreed.

                                  2. 13

                                    Linux is the most successful, widespread operating system kernel of all time. You can say the man’s rude, but you can’t say the results demonstrate unproductivity.

                                    1. 2

                                      The others from Microsoft, Apple, and IBM also were driven by assholes who were greedy on top of it. Just throwing that in there even though Im anti-Linus in this debate.

                                  3. 21

                                    There’s honestly no good reason to be hostile. It doesn’t actually help reduce the problem, evidenced by the fact that what he has done hasn’t worked. Instead they need processes for check in, code reviews, and linters. Linus should be delegating more as well if this is bothering him so much.

                                    1. 4

                                      That’s not a theory supported by the evidence.

                                      1. 3

                                        What he’s done hasn’t worked. Most contributions are from businesses. Many good talent say they avoid it. That seems to be evidence of something. Meanwhile, the Rust crowd managed to get piles of people early on for one of the hardest-to-learn languages I’ve seen in a while. They used the opposite approach. Now, two projects or even ten aren’t a lot of datapoints for an empirical assessment of which method is working. Oh, what can we do to see how much or how little damage Linus is doing to kernel in terms of lost contributions?

                                        Oh wait, it turns out researchers in universities have been doing both observational studies and surveys on large numbers of organizations and people for decades covering this very thing. A key question was which management styles have most positive impact. One thing that’s pretty consistent in the research is that people working for assholes were much more likely to half-ass their work on purpose, dodge doing work, or even sabotage that person where possible. People working for those that treated them with respect or constructive criticism did better work. That kept being a result of most studies. Crazy to ignore decades of consistency in human behavior when trying to decide how best to treat them in a FOSS project for achieving goals such as more contributors, higher-quality contributions, and so on.

                                        The theory supported by the evidence is that Linus’ style when doing what’s in the OP is unnecessarily rude and destructive. The evidence says he’ll loose a lot of talent since that talent just needs a worthwhile project to work on rather than his project. Just like he feels he doesn’t need them. Objectively, such a result is bad for the project if one wants it to improve. He might be willing to sacrifice features, QA, and so on for the personal enjoyment of those insults. That is what he’s doing. Anyone defending him shouldn’t pretend otherwise. Instead, they should shift to their actual argument of “I know we’re losing contributors that could’ve made the Linux kernel even better. The main reason is Linus’s personal preference. We think that’s a good status quo to maintain because…” That does look to be a harder position to defend, though, on either technical or moral grounds.

                                        1. 1

                                          Just to say, would be nice if you posted source of the research you’re referencing.

                                          1. 3

                                            I’m too much of an overloaded procrastinator to give it to you. I’d have to resurvey it as I bet the Web 1.0 sites are gone, new ones have formed, and I’ll have to dig through tons of noise. I do plan to either find or do another meta study on that in future since it’s so critical. For IT, I always told people to read the PeopleWare book and Dale Carnegie’s How to Win Friends and Influence People. Lots of managers hand out the latter believing it’s great advice. Implies they think blunt assholes are non-ideal. The No Asshole Rule book also cited a bunch of studies on effects of people being assholes downward or upward in an organizations recommending against it.

                                            I do need to recollect the studies, though. Plus do a new bookmarking solution I’ve been procrastinating on since Firefox is full to point it constantly looses bookmarks lol.

                                  4. 8

                                    Linux would not be what it is today if they would be “merge-first-fix-later” type code-conducted safe place for noobs to mess around in.

                                    1. 16

                                      If you’re going to be derogatory, safe space is properly mocking.

                                      There is a near infinite gap between “let the noods do whatever they want to the codebase” and “don’t degrade people’s character because they submitted a PR you dislike”.

                                      I guess some people are just more tolerant of a project leader taking their anger and frustration out on people trying to get involved?

                                      1. 20

                                        The problem isn’t that he wouldn’t merge the person’s code. The problem is the unprofessional way that he treats other people. The fact that you think the problem is that he wouldn’t merge the code is either deeply concerning or purposefully avoiding the issue.

                                        1. 7

                                          If you actually read the damn thread, you see that Linus actually explained this pretty clearly: http://lkml.iu.edu/hypermail/linux/kernel/1711.2/01357.html

                                          The person decides to ignore Linus and Linus gets angry, I really don’t see a problem here.

                                          1. 2

                                            Ok, I read the full thread. It’s more reasonable in the other parts. Kees seems to have put some work into making it acceptable. Later on, I see someone do what Linus should’ve done in the first place in giving specific details about where he’s coming from in a way that wouldn’t have bothered me as a contributor:

                                            http://lkml.iu.edu/hypermail/linux/kernel/1711.2/03732.html

                                            After seeing that, I’m more annoyed by whoever was half-assing security contributions to the kernel so much that it will be hard for worthwhile contributions to get in.

                                            1. 1

                                              Yeah, same here - I think there are just special snowflakes who think that human psychology has anything to do with whether or not the kernel is going to continue running reliably for me, the kernel user. Guess what snowflakes, nobody cares about the feelings if the product doesn’t work.

                                              Not to mention, this is only the squeaky wheel - Linus has been nice and professional and accommodating many, many times over. Many more times over, in fact. It just never makes the news ..

                                          2. [Comment removed by author]

                                            1. 3

                                              I’m not used to navigating the CVE database, is there an easy way to restrict issues to just the Linux kernel?

                                          3. 6

                                            Nope. I think he’s great. And I’m very glad that he is stewarding the Linux project to this day. Whether you think its ‘nice’ or not, his management of the Linux kernel has produced superlative results - and sometimes, in the thick of the mob, you have to be an asshole to get people to work the way they need to work to continue producing quality results.

                                            What I am sick of, is petulant snowflakes who think they know better than Linus how to manage the 1000’s of developers that want to have their fingers in the pie. The kernel doesn’t care about your feelings, and neither do 99.9999% of the kernels really important people: its users.

                                            1. 4

                                              Since when did asking to be treated with the bare minimum of basic human decency become a “special snowflake” thing? Nobody wants Linus to write “You’re so wonderful, and special, and beautiful, but I cannot accept this patch because, despite how wonderful and unique it and you are, it just won’t work with Linux’s performance requirements.”

                                              NOBODY is asking for that. So I don’t get why I keep seeing “special snowflake” thrown around. I guess it’s just a strawman? (OH WAIT I GET IT NOW!)

                                              Notice how your comment is verging on “nobody can critique the way Linus runs the project (that we all rely on in myriad ways)”. Aren’t snowflakes the ones who want to shut people down and stop discussion? Isn’t it the “snowflakes” that want to prevent people from having to hear mean things? (Like, stop taking your anger out on contributors because you’re not 7 anymore).

                                              Doesn’t it kind of seem like–and bear with me here, I know it hurts–that you’ve become the special snowflake? Stifling discussion, needing a space where someone you look up to is immune to criticism, insulting people who are just trying to have a conversation?

                                              Isn’t it your post that seems to be the petulant one here?

                                              1. 2

                                                Since when did asking to be treated with the bare minimum of basic human decency become a “special snowflake” thing?

                                                Precisely at the point where well-established ground rules, respected by the rest of us, were continually broken with no regard for the work load incurred, nor the hassle of having to deal with all the noise. Or did you miss the part where known, functional, productive policies were repeatedly ignored in the rush to get this patch included in the next release?

                                                Its one thing for a contributor to feel like they should be treated with respect as a special snowflake whose feelings are more important than the work, or in this case non-work, that they are contributing to the lives of others; its another thing to respect the very foundations of the activity from which one is attempting to derive that respect in ones own life.

                                                Perhaps you missed the part where this could have been a disaster for the Linux kernel, and a lot of time was wasted having to deal with it, since the original developer decided to ignore the policies, well-since established as being necessary to the task of managing the Kernel patch integration process?

                                                “nobody can critique the way Linus runs the project (that we all rely on in myriad ways)”

                                                Well, whether you like it or not, its the truth: Linus has guided the way through decades of these kinds of events, and we have an extraordinarily powerful tool that has revolutionised computers as a result. Perhaps you ought to consider whether the quality of your own work and contributions might improve if you harden up a little and don’t take offence so easily. Time and again, this proves to be true - in the real world and in this fantasy land we’re currently sharing as participants in this thread.

                                                The poster involved in this incident seems to have accepted that they were, in fact, violating a fundamental policy of the Linux kernel developer group, and has addressed the issue in a way that moves things forward - how, exactly, would Linux kernel development be pushed forward by your insistence at being treated like a snowflake?

                                                A mistake was made - the policy was not followed - and Linus jumped on the guy. He’ll never do it again, many many others have also learned the importance of the check-in policy (Rule #1: Don’t Break The Kernel.) and he doesn’t seem at all worse for the wear, personally, as a consequence; its really only folks such as yourself who are getting so easily upset about this, because Linus somehow doesn’t conform to your particular cultural ideal.

                                                Perhaps you haven’t been following Linux kernel development for long, or with much attention - there are many, many counter-cases of Linus having great relations with the developer group, which don’t seem to figure into your equation that “Linus is rude”. He’s precisely rude when he needs to be, and an awesome, polite, respectful individual, all the while. Please try to avail yourself of that truth before you continue ad-hoc insults and insinuations against random Internet strangers. It hurts my feelings to be challenged by an ignoramus.

                                                Doesn’t it kind of seem like–and bear with me here, I know it hurts–that you’ve become the special snowflake?

                                                Are you assuming that I wouldn’t want to be called a snowflake when appropriate? Because, I’m quite a snowflake, and often, when its appropriate or otherwise. Absolutely nothing with being called one, when you are one. Or, is there some other kind of kettle we should be boiling for tea?

                                            2. 2

                                              If a security vulnerability is introduced by design it’s still a bug. It just means the mistake was made at design time as opposed to implementation time.

                                              1. 2

                                                In all sincerity here, what would it mean for a person to say, “I’m not going to tolerate this behavior?”

                                                Linus would still own the Linux trademark. He’d still control the mainline kernel repo. The “lieutenants” that manage various areas of the kernel would still control those areas and report to him. It seems very unlikely that they would support a coup. (Anyone who had a major problem with Linus’ behavior wouldn’t have lasted long enough to get one of the top positions.)

                                                As a user, you can choose not to use or support Linux. But as a user, you don’t get to change the way the project runs.

                                                I think the most extreme option you’d have would be to fork the source code and try to attract both a large developer community and a large user base on the basis of running a more inclusive community. But there’s a chicken-and-egg problem to that approach.

                                                There’s an implicit hypothesis that says, “A more inclusive community will produce a better kernel.” Let’s assume that proves to be true. Some users would switch on that basis alone, but most will wait to see practical benefits. Since it would still take time for a fork to produce tangible benefits, you’d have to attract developers and users with the promise alone. We have a small set of cases to examine, where a major open source project was forked with the intention of creating a better community. It appears that the majority of users will hang back with a “wait and see” approach.

                                                I really don’t know what kind of negative feedback anyone could apply to Linus that would have an effect.

                                                1. 1

                                                  Working code doesn’t care about your feelings. Working code is completely orthogonal to human emotions. My computer runs whether I’m crying or not.

                                                2. 0

                                                  This behaviour would violate the code of conduct of any sensible project.

                                                  Maybe you should run a kernel made by the CoC crowd. I’ll stick with the foul-mouthed guy.

                                                  1. 5

                                                    The only one I know off top of head is Redox OS since it used Rust CoC. It’s got potential but is alpha software. All the rest that are good seem to be made with different philosophies with a range of civility.

                                                    I am interested if anyone knows of another usable OS made with all activity enforced with a CoC a la Rust/Redox. At least the basic console or GUI apps so it’s usable for some day to day stuff.

                                                      1. 1

                                                        Good catch. This one…

                                                        “There can be no place within the FreeBSD Community for discriminatory speech or action. We do not believe anyone should be treated any differently based on who they are, where they are from, where their ancestors were from, what they look like, what gender they identify as, who they choose to sleep with, how old they are, their physical capabilities or what sort of religious beliefs they may hold. What matters is the contribution they are able to make to the project, and only that.”

                                                        …is where the politically-motivated try to find a lot of wiggle room for censorship as beliefs vary. One reason I collect these is so we can look back at data in commits or on forums to see what impact they have. Note I said OS that was made with the activity enforced this way. Some could have it added as an evolution of moderation policies well after it’s a successful project that was built on a different philosophy. How long has that CoC been in FreeBSD?

                                                        1. 4

                                                          How long has that CoC been in FreeBSD?

                                                          It’s relatively new - it was announced in July 2015. Even before the CoC was added a few developers were ejected for abusive behaviour (I’m not going to dig those out, but you can find references online).

                                                          1. 2

                                                            Ok, so it’s not an example of an OS developed under the CoC. It was a highly-mature OS that probably started with really different kinds of people just because they were the norm for early days of BSD’s and Linux. With your comment, they were just using common sense of ejecting folks who were obviously abusive without anything more formal or constraining. That still leaves Redox as the only one I know that had the policy and supporters of it from the start.

                                                            The main way I think this can be tested is with frameworks or libraries that are in same language and crowd. Basically, keep the situation as close as possible so about the only strong variable is community style. Should be easier with libraries or frameworks since they’re more accessible to new contributors. People are always doing more of those.

                                                1. 3

                                                  A small utility that lets you do this on a per input basic too. http://kevingessner.com/software/functionflip/

                                                  1. 2

                                                    Nice! I’m not sure that would have helped though - I switch on the setting that allows using the F-keys without the Fn key. Of those F-keys, only F4 was completely inactive - pressing F1 would send ^[[OP, F2 would send ^[[OQ and so on - only F4 would remain completely mute. I have no idea what’s going on there, but this ought to fix it (:

                                                    1. 2

                                                      Do you use hammerspoon? Because it’d be a nice way to solve this whole problem ..

                                                      1. 2

                                                        In what way?

                                                        1. 1

                                                          You can have per-app detection and enable it when you need it.

                                                  1. [Comment from banned user removed]

                                                    1. 2

                                                      at least in this day and age the government is made up entirely of self-serving criminal cowards

                                                      This is false.

                                                      1. 1

                                                        Well, there is the argument that its going to be a lot more difficult to root out corruption, if they’re all allowed to use their own encryption tools, hiding things from the public - their masters.

                                                        But, the argument can also be made: we’re already in this mess. The ability of the government to keep such secrets is how we get ruled by corrupt masters, in the first place. Would that we, the people, had THEIR keys, and not the other way around ..

                                                      1. 2

                                                        I really wonder what life would have been like if Creative Labs had kept the “Zii Egg” platform going, which had the similarly-named “Plaszma OS” as its base, in an attempt to out-iPod the Apple hegemony .. anyone remember that? I’ve still got those devices in my drawer somewhere, should pull them out and see if anything useful can be done with them ..

                                                        1. 1

                                                          You had me at “General Intellect” but lost me at “Marxist”. Meh.

                                                          1. 5

                                                            The general intellect is a Marxist concept; it’d be hard to have a podcast about it without at least implicitly using a Marxist framing.

                                                          1. 5

                                                            This looks pretty neat. Interesting that they chose node.js to write it in. I can see the sync with Onedrive and various other services being super useful for some people.

                                                            I’ve used Notational Velocity a lot in the past. These days I just use Markdown and The Silver Searcher :)

                                                            1. 3

                                                              Thanks, actually I’ve started with the Android app in React Native, and then I figured I could re-use most of this code to create a desktop client. There are some drawbacks working with JavaScript but it definitely makes it easier to write cross-platform code. Silver Searcher with markdown files seems like an interesting custom solution too!

                                                              1. 3

                                                                I was pretty un-interested in this (after all, vim and grep is my text-based TODO management system), but when I kept reading and discovered you had a console-based app syncing with a mobile client, it really got my interest. Nice work! Frankly, I still see a lot of jank in the stack you’ve chosen, but I won’t bother with criticism. Its just an awesome app. :)

                                                                However, I must now attest to wondering what better technology to accomplish a ncurses->objcMsgSend nirvana?

                                                                Would you do another app with this, now you’ve done one?

                                                                1. 2

                                                                  Thanks, I realise it’s not the most popular stack though in this case it got the job done :)

                                                                  I’m not familiar with what ncurses->objcMsgSend is? Is that a macOS thing?

                                                                  1. 1

                                                                    ncurses on the console (terminal), objcMsgSend on the iOS side of things. Its just a euphemism for what you’ve done .. albeit not a very accurate one. :)

                                                            1. 1

                                                              This terrible piece of hardware is the reason BCPL and then C existed:

                                                              https://vimeo.com/132192250

                                                              That presentation also shows the software development process at the time. Looks so relaxing haha.

                                                              1. 1

                                                                There is nothing terrible about EDSAC, C’mon. Such an aesthetic machine .. I challenge anyone to build another like it.

                                                                (Disclaimer: bit of a BCPL fainboix.. a lot of fun stuff was written then!)

                                                                1. 1

                                                                  See the vid. Richards wanted to build an ALGOL with some lambda stuff extra called CPL. The machine’s specs couldn’t handle the compiler. He basically kept chopping off features that improved safety, maintainability, etc until he arrived at one EDSAC could compile. Also, for performance, did “the programmer is in control” with it dealing with raw memory. This language, BCPL, being ported to a PDP-11 is why we’re stuck with C on everything.

                                                                  Just imagine if he had a better machine. We might be using a better language. Or a different crappy one…

                                                              1. 4

                                                                I’ve been programming real software for 30+ years. I’ve done some Tcl/Tk, some expect. It was the best of times, it was the worst of times.

                                                                (A lot of great software has been tested by humble expect and a bit of Tcl.)

                                                                I’m currently floating, 99.9995%, in the Lua space. For me it is everything I need in order to maintain a stable platform interest - once I have grok’ed a platform, I prove it to myself by putting it all together into a Lua VM, and give myself my own Framework.

                                                                This is a lot of work, and there are arguments pro/whatever for/against just being a platform-specific developer, but if you are building the sorts of apps which benefit from having an internal scripting engine, you know that platform competence is a given, anyway. You have to move beyond the platforms, to glom some Lua framework on top of it all which makes all the pain go away and supports a valid application development environment, above and beyond the limits imposed by the platform.

                                                                That said, there is of course, this:

                                                                $ luarocks search tcl
                                                                [...]
                                                                ltcltk
                                                                   0.9-3 (rockspec) - https://rocks.moonscript.org
                                                                   0.9-3 (src) - https://rocks.moonscript.org
                                                                

                                                                &etc.

                                                                1. 0

                                                                  1992 called, they want their problems back. If you don’t have the carefully crafted set of keystrokes known as “binary” encoded in muscle-memory immediately after typing “ftp”, then you’re a newbie. Hand in your Internet card, you don’t belong here.

                                                                  1. 2

                                                                    I want one of these, pretty much. I just don’t want to deal with the hassle of it all. I hope news of an easier-to-get version of this kind of quality keyboard hits lobste.rs in the future ..

                                                                    1. 1

                                                                      I’ll build you one for money :P

                                                                      1. 1

                                                                        How much? How long will it take?

                                                                    1. [Comment removed by author]

                                                                      1. 6

                                                                        Except the problem isn’t the fact that it’s an environment variable, the problem is what the environment variable contains, which is what the author proposes changing. The reason for the new name name TERMINALS instead of TERM is simply to allow for backwards compatibility if necessary.

                                                                        1. [Comment removed by author]

                                                                          1. 5

                                                                            Like setting EDITOR and VISUAL.

                                                                            1. 2

                                                                              TERMINALS there is several problems de facto.

                                                                              1. 3

                                                                                TERMINALS is the new systemd, yo.

                                                                          1. [Comment from banned user removed]

                                                                            1. 7

                                                                              suddenly saw their methods of ripping off millions of people threatened

                                                                              I’m with you in the sense that record companies are scummy and have done scummy things too, but “producing and selling music” does not qual “ripping off millions of people”.

                                                                              Now we see the same thing but it’s governments. They’re just as crooked as the record label executives tho.

                                                                              The key word here is actually “governments”. The MAFIAA couldn’t have “prevented progress” without the government’s intellectual property enforcement machinery.

                                                                              1. 0

                                                                                I don’t know. I think its more like “New Children, Rising”, in that all the technological prowess of the 5-eyes wouldn’t really be feasible without the emergence of an utterly totalitarian class of youth who have empowered these agencies to present the capabilities to their governments, and thus allow themselves to be weaponised.

                                                                                Its like what we’re dealing with here, with the 5 eyes context, is not so much “old men”, but rather “new generations”, akin to the very sorts we’re used to in the startup world, who have immense brilliance: yet decide to apply it to nefarious goals.

                                                                                Somewhere in the midst of all this political upheaval sits a hacker, or maybe a group of them, probably pretty young .. who are very, very pleased with their newfound totalitarian powers.

                                                                                This isn’t good for the world. But neither is your proposition: that we are all ruled by Old Men.

                                                                                (Truth: we’re ruled by hunger, old and new.)

                                                                              2. 6

                                                                                No it isn’t, and it is simplistic to think this is the problem being discussed here. Libertarians need to grow up, get off their high horses, and shift their energies into problem solving rather than soap boxing.

                                                                                If someone breaks into your home and causes you grief then you have an expectation that, as a member of society, you can walk into a police station and call upon its resources. If someone jumps into a car the wrong side of four glasses of wine, whether or not injury or worse is resulting, then society addresses this.

                                                                                Yet, if the vector of grief delivery is purely computer/Internet in source, then different rules apply? Anyone looking for help is in fact an old man with old ideas and needs to die so society can get back to evolving?

                                                                                The problem space we are talking about here is that when a crime is in the process of or has been committed, society needs to be able to legally collect evidence.

                                                                                I’m going to be blunt now.

                                                                                You, like many others, are unable to separate the problem from the solutions being touted. The situation is not helped when only extreme and fringe examples are used to justify arguments resulting in only nonsense prevailing.

                                                                                Historically wiretaps have worked well and society is generally is accepting of them. They work as they are handled centrally and are physically secured. For old men, it makes sense to try to transfer these old ideas to new mediums and it is not a dumb idea to try. Of course only an expert though who knows that this is not going to be practical.

                                                                                Ironclad communications for all does not help society collect evidence. Should a trader who irresponsibly destroyed the Joe Public’s pension be immune from investigation as they used WhatsApp?

                                                                                We need something, but ironclad communications is not it. Maybe a blend of threshold with some kind of accountable wiretap journal is something more realistic.

                                                                                Arguing that the bad actors will anyway use ironclad communications is irrelevant in the same way that bad actors illegally obtaining firearms is already addressed. Arguing about government abuse and lack of oversight is another problem but it is not this one and confusing the two just helps no one.

                                                                                It is always good to apply the Passport to Pimilco test, a movie I recommend everyone watches, also being that it is a classic great fun movie to watch too.

                                                                                1. 12

                                                                                  Historically wiretaps have worked well and society is generally is accepting of them.

                                                                                  • The “historically” you’re talking about is only about a hundred years. In my country there are people living today who were born before the Supreme Court declared wiretapping to be constitutional in 1928.
                                                                                  • I would argue that they have not worked well at all–that in fact they’ve been disastrous. They were instrumental in J. Edgar Hoover’s ability to turn the FBI into his own personal kompromat-collection service for decades. They were used to harass and intimidate many civil rights activists, including Martin Luther King Jr.–among many other targets chosen not because of their crimes but because they were political opponents of those in power. And they’ve been used similarly in many other countries.

                                                                                  With cryptography we are able to take back a little of the privacy in our personal communications that people took for granted for most of human history.

                                                                                  1. 5

                                                                                    I am not a Libertarian. Or a crypto anarcho whooziwatsit. I’m not soapbixing. I’m just giving the inevitable deductions forced by the math behind crypto:

                                                                                    You cannot give Theresa May what she wants without also giving Vladimir Putin the ability toi shut off our smart grids.

                                                                                    You cannot give Theresa May what she wants wihtout also risking our entire financial infrastrucutre.

                                                                                    So, if you want to kick smart grids off the Internet and require that they exist only in airgapped LAN segments (arguably a wise thing), and kick financial transactions off the Internet, then give her what she wants.

                                                                                    1. -1

                                                                                      You cannot give Theresa May what she wants without also giving Vladimir Putin the ability toi shut off our smart grids.

                                                                                      You cannot give Theresa May what she wants wihtout also risking our entire financial infrastrucutre.

                                                                                      To play the Devil’s advocate.. yes, you can. The same way you can ban guns from civilians while letting the military have their toys. May wants to read your what’s app, but she can still let banks use strong crypto.

                                                                                      Do US export restrictions on crypto ring a bell?

                                                                                      1. 2

                                                                                        Yeah. I’m not sure these regulations will actually destroy all trust in the internet. Monitoring and logging and what not are already built in to banking platforms dealing with trillions of dollars. People seem to trust the system despite all that. Enough to use it anyway.

                                                                                        1. 2

                                                                                          The analogy fails. Guns are physical things, and their ammunition is consumable. Encryption is knowledge, and once that knowledge is encoded as software, it is free to copy.

                                                                                          Do US export restrictions on crypto ring a bell?

                                                                                          You mean the completely ineffective restrictions on encryption? Yes, they do. They don’t work. They have never worked. They didn’t work back in the bad old days when they classified encryption as a “munition”, and they don’t work now.

                                                                                          1. 2

                                                                                            The analogy fails.

                                                                                            The question was whether it is possible to ban something in one context while allowing it in another context. Guns, dangerous chemicals, and crypto all fit the bill.

                                                                                            Whether you could make your own gun, your own explosive chemical, or your own crypto app is an orthgonal issue. I don’t think anyone here ever argued about whether “they” could take crypto away from tech-savvy individuals. However, such a ban and enforcement & punishment against tech companies plus targeted prosecution of private individuals’ unapproved use of crypto could quite effectively take it away from most people. All while simultaneously allowing its continued use in banks, mil, etc.

                                                                                            1. 2

                                                                                              You mean the completely ineffective restrictions on encryption? Yes, they do. They don’t work. They have never worked. They didn’t work back in the bad old days when they classified encryption as a “munition”, and they don’t work now.

                                                                                              Perhaps my memory is faulty, but as I recall it was very difficult to find a software release with good crypto in those days (as a non-american).

                                                                                              I would classify that as ‘working’ in that it achieved the goal of delaying widespread adoption of crypto, giving the US time to work on cryptanalysis, compromising root CAs, etc.

                                                                                            2. 1

                                                                                              If they actually couldn’t read WhatsApp’s messages after it adopted Signal’s encryption, they wouldn’t have let it happen.

                                                                                              “Hi there. You will place backdoors X Y Z in the code, or we will fuck up your life, mmm’kay? You will not tell anyone about this, or we will fuck up your life.”

                                                                                              1. 2

                                                                                                Who’s they?

                                                                                                1. 0

                                                                                                  Since you’re surely not asking for “their” exact identities, you don’t actually need an answer to that question.

                                                                                                  You’re just close to invoking “tinfoil” or something.

                                                                                                  You have to admit though, that what I suggested is a realistic, and even likely scenario. It essentially is that simple, so why wouldn’t they do it?

                                                                                                  1. 1

                                                                                                    Yeah, so I’m guessing NSA and the rest of the five eyed vampire squid. In that case, I don’t see what all the fuss is about. All Theresa May is trying to do is introduce a law to publicly acknowledge the already existing secret backdoors. Isn’t that a good thing? The government should be transparent about these things. If you want to tell a nontechnical user about the backdoors, surely it’s easier to point them at the law that mandates said backdoors than to explain how secretly broken crypto works?

                                                                                                    1. 1

                                                                                                      Yeah, so I’m guessing NSA and the rest of the five eyed vampire squid.

                                                                                                      I was actually thinking more along the lines of “The Powers That Shouldn’t Be”, or “The Establishment”. But I suppose the NSA is a part of that.

                                                                                                      All Theresa May is trying to do is introduce a law to publicly acknowledge the already existing secret backdoors. Isn’t that a good thing?

                                                                                                      So something like:

                                                                                                      1. We’re doing immoral things to the masses in secret. This is bad.
                                                                                                      2. We wrote a law that says we’ll do immoral things to the masses. Now there is no problem.

                                                                                                      Is that how you think? Is mass surveillance what the masses asked for, by voting in the politicians that would do it? (Please don’t answer “yes”)

                                                                                                      If you want to tell a nontechnical user about the backdoors, surely it’s easier to point them at the law that mandates said backdoors than to explain how secretly broken crypto works?

                                                                                                      What’s the meaningful distinction between:

                                                                                                      1. The government can read all your messages because they circumvented their encryption. They told you they’d do this!
                                                                                                      2. The government can read all your messages because they circumvented their encryption. They did this without telling you.

                                                                                                      Either way, the government reads your messages. The legality of the backdoors isn’t the issue here.

                                                                                                      1. 1

                                                                                                        I have a strong preference that the government tell me what it’s up to.

                                                                                                        1. 1

                                                                                                          I have a strong preference that the government tell me what it’s up to.

                                                                                                          That doesn’t address my point though. The problem is not that the government doesn’t tell you it’s doing bad things to you.

                                                                                                          The problem is that the government is doing bad things to you.

                                                                                                          1. 1

                                                                                                            In a democracy, it’s reasonably important that you know what the government is doing, because you can’t vote on it otherwise.

                                                                                                            That might not help much in (eg) the USA where the voting system ensures you only get to choose between two options, neither of which will take action on the issue.

                                                                                                            1. 2

                                                                                                              It should be patently obvious by now that they really don’t give a fuck about what you want.

                                                                                                              They know that no one wants mass surveillance, but they’ll give it to you anyway, because it’s not done to your benefit. It’s not for “the greater good” either - it’s for the greater power and control over the tax-cattle.

                                                                                                              No one wants wars, but they’ll make you pay for (or fight in) them anyway, and so on ad infinitum.

                                                                                                              Trump was Hope & Change 2.0. You probably remember the first guy that promised to shut down Guantanamo. This one promised to “drain the swamp”, and proceeded to fill it with Goldman Sachs cronies instead.

                                                                                                              The word “Democracy” should ring mighty hollow by now.

                                                                                                            2. 1

                                                                                                              Exactly. And what will defeating Theresa May’s law do to change that? The existing secret backdoors aren’t going to be removed. But if the law passes, then everybody, even the people who don’t believe the powers that be put a backdoor in whatsapp, will know the government is reading their messages.

                                                                                                              1. 2

                                                                                                                Once the law passes, it does not only set a terrible precedent, it will most likely never be repealed.

                                                                                                                1. 1

                                                                                                                  Yeah, that too.

                                                                                                                2. 1

                                                                                                                  everybody, even the people who don’t believe the powers that be put a backdoor in whatsapp, will know the government is reading their messages

                                                                                                                  That’s not a good thing though, because it advances the chilling effect, which is of course why they publicize the mass surveillance to begin with.

                                                                                              2. 7

                                                                                                Libertarians need to grow up, get off their high horses, and shift their energies into problem solving rather than soap boxing.

                                                                                                For the record, I’m not a Libertarian as it’s commonly understood. But what exactly are you suggesting they do? What would “problem solving” mean in practice? Are you not “soap boxing”?

                                                                                                you have an expectation that, as a member of society, you can walk into a police station and call upon its resources

                                                                                                Do you also have a reasonable expectation that the police will give a flying fuck and actually do something to achieve justice?

                                                                                                Yet, if the vector of grief delivery is purely computer/Internet in source, then different rules apply?

                                                                                                If you’re referring to “intellectual property theft”, we might agree somewhat. But if you’re arguing in favour of governments circumventing/breaking encryption so that they can catch terrorists, you’re way off the mark there.

                                                                                                It’s not terrorists they’re after.

                                                                                                You, like many others, are unable to separate the problem from the solutions being touted. The situation is not helped when only extreme and fringe examples are used to justify arguments resulting in only nonsense prevailing.

                                                                                                I can’t tell what you mean with that.

                                                                                                Historically wiretaps have worked well

                                                                                                For maintaining a police state? -Why yes, they have.

                                                                                                and society is generally is accepting of them

                                                                                                You seem to be unable to separate “society” into rulers and subjects. People often talk about how “we” need to this and we need to that, but it’s not actually we that make the decisions. In case you haven’t noticed, whenever we demand something, we’re met with tear gas and batons.

                                                                                                Ironclad communications for all does not help society collect evidence.

                                                                                                There’s “society” again. Is it “society” that collects evidence? Is it “society” that wiretaps dissidents and “disappears” them?

                                                                                                Should a trader who irresponsibly destroyed the Joe Public’s pension be immune from investigation as they used WhatsApp?

                                                                                                Are there other ways the crime could be investigated, besides reading his encrypted private communications?

                                                                                                1. 1

                                                                                                  Just for your last question, I think there’s a cost-related dystopian thought in the mix :(

                                                                                                  Catching criminals, for any value of crime, by reading their admissions online, is a very affordable way of cracking down.

                                                                                                  It also gives fertile ground for all sorts of new ways to set people up. Nothing read online can be a joke or considered spectral evidence. Gone are the days of stating “Cocaine and hookers last night” on a bank transfer.

                                                                                                  1. 0

                                                                                                    There’s “society” again. Is it “society” that collects evidence? Is it “society” that wiretaps dissidents and “disappears” them?

                                                                                                    Yes.

                                                                                                    Are there other ways the crime could be investigated, besides reading his encrypted private communications?

                                                                                                    So we are talking about invasion of privacy being the crux of the matter?

                                                                                                    All evidence collection by its nature is an invasion of privacy, whether it is looking at someones bank account, interviewing their friends or family or browsing their communications encrypted or not.

                                                                                                    Everyone should be entitled to their privacy, regardless of the medium but is it is irresponsible saying “over my dead body” knowing that it is no longer exotic for a crime to be purely digital and unaccountable?

                                                                                                    What tangible reason is a WhatsApp communication any different making a phone call and why it should it receive more legal protection than other mediums?

                                                                                                    I guess, victims should really be more accepting of an investigation going cold because the suspects used encryption? “If only they had use a PSTN line we could have done something” eh?

                                                                                                    1. 3
                                                                                                      There’s “society” again. Is it “society” that collects evidence? Is it “society” that wiretaps dissidents and “disappears” them?
                                                                                                      

                                                                                                      Yes.

                                                                                                      In most literature, that’s called a state. In a few cases, the states interests are sufficiently aligned with the societies interests to conflate the two; that’s far from common.

                                                                                                      1. 1

                                                                                                        Is it “society” that collects evidence? Is it “society” that wiretaps dissidents and “disappears” them?

                                                                                                        Yes.

                                                                                                        If you’re that dishonest, there’s really no point in discussing this further.

                                                                                                    2. 4

                                                                                                      If someone breaks into your home and causes you grief then you have an expectation that, as a member of society, you can walk into a police station and call upon its resources. … Yet, if the vector of grief delivery is purely computer/Internet in source, then different rules apply?

                                                                                                      To use the model you’re advancing here, it would be as though the government wanted to address home break ins by installing centrally monitored cameras in all homes. Due to the nature of crypto, the exegeses are different, so different things are needed or must be considered. Your equivalence is false.

                                                                                                      1. 1

                                                                                                        We need something, but ironclad communications is not it. Maybe a blend of threshold with some kind of accountable wiretap journal is something more realistic.

                                                                                                        What on earth do you think I meant by this then?

                                                                                                        Christ on a bike, are you all insane?

                                                                                                        1. 0

                                                                                                          I am literally the Stasi.

                                                                                                          That’s not a popular position around here. Not what you actually said? Oh, well, better safe than sorry, I’m going to pretend you said something I disagree with. Don’t want to get caught agreeing with the wrong side.

                                                                                                      2. 1

                                                                                                        Historically wiretaps have worked well and society is generally is accepting of them. They work as they are handled centrally and are physically secured.

                                                                                                        Yup. Historically they worked very very well. . However, events since then tend to have obscured one’s memory of the earlier events.

                                                                                                        I often wonder about the ways in which the two events might be related.

                                                                                                        I’m sure the average man in the street feels things are working well.

                                                                                                    1. 1

                                                                                                      As a member of this regime, in the sense that I am a citizen of at least one of the 5 eyes, and have lived enough of a life in most of them, that I can be considered a stamped- and true- 3.5-eyes’er, I have to say that I am very disappointed in the current “solutions” being preferred by leadership among these nations. Its not working.

                                                                                                      Instead, we are witnessing a military-industrial takeover of resources at a scale approaching a very new order.

                                                                                                      Australians have a place in that order. It has to be recognised that Australia is leading the way in totalitarianism.

                                                                                                      Australian military power is, to me, an absolute conundrum. The nation of thieves and convicts should not have the means by which to profit from remote disorder!

                                                                                                      1. 2

                                                                                                        One of the very first C programs I ever wrote (in 1984) was called “hx.c”, and its job was, basically, to dump a stream as hex bytes, or dump hex bytes back to a stream. This was before the ‘tr’ tool was introduced (in 1988), and as a result I’ve had this code with me ever since. :).

                                                                                                        So I was a bit disappointed that the answer to “how can I improve my Hex life” was, simply “write a Unix shell script that will do all the heavy lifting”, lol ..

                                                                                                        1. 1

                                                                                                          I’m completely the opposite - I find it very uncomfortable to ship code that hasn’t been tested. This article seems to be saying “tests are hard because: you have to write tests, and .. after all .. what value do they truly provide” .. without really giving any reason for why tests are a hassle to write, beyond ‘tests are a hassle to write’.

                                                                                                          Okay, so you don’t want to be a software engineer, and actually test and validate the results of your hard work at programming code - but this doesn’t mean that the TDD ethos is broken. It means your ethos is broken - and if you think that is happening just because ‘writing tests is hard, and re-writing tests after changing the code is also hard’ its because .. you’re not as good at development as you think you are.

                                                                                                          tl;dr 100% Code Coverage or GTFO!