1. 2

    This is a disturbing trend in licensing of core technologies that we’re basing our lives on. It concerns me a great deal. :(

    neo4j recently added a Commons Clause to their AGPL Enterprise Edition: https://github.com/neo4j/neo4j/commit/6558e5eec59c5eccf866baaf70d1c215e5fa4398#diff-15abcf402afc68b67bc1f749fb6c7f82R681

    This is especially amusing because this addition is actually already rendered null by the AGPL itself in Section 7: If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term.

    neo4j have been made aware of this issue, and don’t seem to care. This is a very concerning time for software licensing. :(

    1. 4

      The author made a massive mistake early on: voting software has never proven itself effective even against accidents. And planes and elevators definitely are designed to protect against intentional attacks. The entire first part of the article is flawed.

      Also, the assertion that software is better than the mechanical machines they replaced is also wrong. A bunch of mechanical things in my car have been replaced with software, and none of the ones I care about work as effectively as the mechanical thing they replaced. :(

      The rest of it goes on like that. The entire thing is ridiculous.

      1. 1

        voting software has never proven itself effective even against accidents

        Quite the opposite - here’s a recent article about voting machines reporting 243% turnout in Georgia, for example. That particular mistake was fixed by adjusting the number of eligible voters, but other failures are alleged and it’s not obvious that there is a reliable audit trail to follow up on these allegations.

        A couple of other points from the article that made me itch:

        It’s actually really hard for the Russians to hack voting machines, as they have to be attacked them on a one-by-one basis. It’s hard for a mass hack that affects them all.

        I’m not convinced this is true: voting systems are supposed to be airgapped after a vendor sold them with remote access software installed but systems like Voatz’ proposed online vote-by-cellphone setup presumably undo this.

        The author goes on to say:

        It’s much easier to target the back-end systems that tabulate the votes, which are more often normal computers connected to the Internet.

        I agree! And since these are an important part of the counting process for electronic voting systems, I don’t see how this is in any way an argument in favour of voting machines.

      1. 13

        I think I understand where the author’s coming from, but I think some of his concerns are probably a bit misplaced. For example, unless you’ve stripped all the Google off your Android phone (which some people can do), Google can muck with whatever on your phone regardless of how you install Signal. In all other cases, I completely get why Moxie would rather insist you install Signal via a mechanism that ensures updates are efficiently and quickly delivered. While he’s got a point on centralized trust (though a note on that in a second), swapping out Google Play for F-Droid doesn’t help there; you’ve simply switched who you trust. And in all cases of installation, you’re trusting Signal at some point. (Or whatever other encryption software you opt to use, for that matter—even if its something built pretty directly on top of libsodium at the end of the day.)

        That all gets back to centralized trust. Unless the author is reading through all the code they’re compiling, they’re trusting some centralized sources—likely whoever built their Android variant and the people who run the F-Droid repositories, at a bare minimum. In that context, I think that trusting Google not to want to muck with Signal is probably honestly a safe bet for most users. Yes, Google could replace your copy of Signal with a nefarious version for their own purposes, but that’d be amazingly dumb: it’d be quickly detected and cause irreparable harm to trust in Google from both users and developers. Chances are honestly higher that you’ll be hacked by some random other app you put on your phone than that Google will opt to go after Signal on their end. Moxie’s point is that you’re better off trusting Signal and Google than some random APK you find on the Internet. And for the overwhelming majority of users, I think he’s entirely correct.

        When I think about something like Signal, I usually focus on, who am I attempting to protect myself from? Maybe a skilled user with GPG is more secure than Signal (although that’s arguable; we’ve had quite a few CVEs this year, such as this one), but normal users struggle to get such a setup meaningfully secure. And if you’re just trying to defend against casual snooping and overexcited law enforcement, you’re honestly really well protected out-of-the-box by what Signal does today—and, as Mickens has noted, you’re not going to successfully protect yourself from a motivated nation-state otherwise.

        1. 20

          and cause irreparable harm to trust in Google from both users and developers

          You have good points except this common refrain we should all stop saying. These big companies were caught pulling all kinds of stuff on their users. They usually keep their market share and riches. Google was no different. If this was detected, they’d issue an apologetic press release saying either it was a mistake in their complex, distribution system or that the feature was for police with a warrant with it used accordingly or mistakenly. The situation shifts from everyone ditch evil Google to more complicated one most users won’t take decisive action on. Many wouldn’t even want to think to hard into it or otherwise assume mass spying at government or Google level is going on. It’s something they tolerate.

          1. 11

            I think that trusting Google not to want to muck with Signal is probably honestly a safe bet for most users.

            The problem is that moxie could put things in the app if enough rubberhose (or money, or whatever) is applied. I don’t know why this point is frequently overlooked. These things are so complex that nobody could verify that the app in the store isn’t doing anything fishy. There are enough side-channels. Please stop trusting moxie, not because he has done something wrong, but because it is the right thing to do in this case.

            Another problem: signals servers could be compromised, leaking the communication metadata of everone. That could be fixed with federation, but many people seem to be against federation here, for spurious reasons. That federation & encryption work together is shown by matrix for example. I give that it is rough on the edges, but at least they try, and for now it looks promising.

            Finally (imho): good crypto is hard, as the math behind it has hard constraints. Sure, the user interfaces could be better in most cases, but some things can’t be changed without weakening the crypto.

            1. 2

              many people seem to be against federation here, for spurious reasons

              Federation seems like a fast path to ossification. It is much harder to change things without disrupting people if there are tons of random servers and clients out there.

              Also, remember how great federation worked out for xmpp/jabber when google embraced and then extinguished it? I sure do.

              1. 2

                Federation seems like a fast path to ossification.

                I have been thinking about this. There are certainly many protocols that are unchangeable at this point but I don’t think it has to be this way.

                Web standards like HTML/CSS/JS and HTTP are still constantly improving despite having thousands of implementations and different programs using them.

                From what I can see, the key to stopping ossification of a protocol is to have a single authority and source of truth for the protocol. They have to be dedicated to making changes to the protocol and they have to change often.

                1. 2

                  I think your HTTP example is a good one. I would also add SSL/TLS to that, as another potential useful example to analyze. Both (at some point) had concepts of versioning built into them, which has allowed the implementation to change over time, and cut off the “long tail” non-adopters. You may be on to something with your “single authority” concept too, as both also had (for the most part) relatively centralized committees responsible for their specification.

                  I think html/css/js are /perhaps/ a bit of a different case, because they are more documentation formats, and less “living” communication protocols. The fat clients for these have tended to grow in complexity over time, accreting support for nearly all versions. There are also lots of “frozen” documents that people still may want to view, but which are not going to be updated (archival pages, etc). These have also had a bit more of a “de facto” specification, as companies with dominant browser positions have added their own features (iframe, XMLHttpRequest, etc) which were later taken up by others.

                2. 1

                  Federation seems like a fast path to ossification. It is much harder to change things without disrupting people if there are tons of random servers and clients out there. Also, remember how great federation worked out for xmpp/jabber when google embraced and then extinguished it? I sure do.

                  It may seem so, but that doesn’t mean it will happen. It has happened with xmpp, but xmpp had other problems, too:

                  • Not good for mobile use (some years back when messenger apps went big, but mobile connections were bad)
                  • A “kind-of-XML”, which was hard to parse (I may be wrong here)
                  • Reinventing of the wheel, I’m not sure how many crypto standards there are for xmpp

                  Matrix does some things better:

                  • Reference server and clients for multiple platforms (electron/web, but at least there is a client for many platforms)
                  • Reference crypto library in C (so bindings are easier and no one tries to re-implement it)
                  • Relatively simple client protocol (less prone to implementation errors than the streams of xmpp, imho)

                  The google problem you described isn’t inherent to federation. It’s more of a people problem: Too many people being too lazy to setup their own instances, just using googles, forming essentially an centralized network again.

              2. 10

                Maybe a skilled user with GPG is more secure than Signal

                Only if that skilled user contacts solely with other skilled users. It’s common for people to plaintext reply quoting the whole encrypted message…

                1. 3

                  And in all cases of installation, you’re trusting Signal at some point.

                  Read: F-Droid is for open-source software. No trust necessary. Though to be fair, even then the point on centralization still stands.

                  Yes, Google could replace your copy of Signal with a nefarious version for their own purposes, but that’d be amazingly dumb: it’d be quickly detected and cause irreparable harm to trust in Google from both users and developers.

                  What makes you certain it would be detected so quickly?

                  1. 5

                    “Read: F-Droid is for open-source software. No trust necessary”

                    That’s non-sense. FOSS can conceal backdoors if nobody is reviewing it. Often the case. Bug hunters also find piles of vulnerabilities in FOSS just like proprietary. People who vet stuff they use have limits on skill, tools, and time that might make them miss vulnerabilities. Therefore, you absolutely have to trust the people and/or their software even if it’s FOSS.

                    The field of high-assurance security was created partly to address being able to certify (trust) systems written by your worst enemy. They achieved many pieces of that goal but new problems still show up. Almost no FOSS is built that way. So, it sure as hell cant be trusted if you dont trust those making it. Same with proprietary.

                    1. 3

                      It’s not nonsense, it’s just not an assurance. Nothing is. Open source, decentralization, and federation are the best we can get. However, I sense you think we can do better, and I’m curious as to what ideas you might have.

                      1. 4

                        There’s definitely a better method. I wrote it up with roryokane being nice enough to make a better-formatted copy here. Spoiler: none of that shit matters unless the stuff is thoroughly reviewed and proof sent to you by skilled people you can trust. Even if you do that stuff, the core of its security and trustworthiness will still fall on who reviewed it, how, how much, and if they can prove it to you. It comes down to trusting a review process by people you have to trust.

                        In a separate document, I described some specifics that were in high-assurance security certifications. They’d be in a future review process since all of them caught or prevented errors, often different ones. Far as assurance techniques, I summarized decades worth of them here. They were empirically proven to work addressing all kinds of problems.

                    2. 2

                      even then the point on centralization still stands.

                      fdroid actually lets you add custom repo sources.

                      1. 1

                        The argument in favour of F-Droid was twofold, and covered the point about “centralisation.” The author suggested Signal run an F-Droid repo themselves.

                    1. 3

                      I’m surprised that the author managed to follow around 5000 (if I understood the article correctly) people on Twitter. it seems like the amount of noise on your feed would make it unusable at that point.

                      1. 2

                        I’m following 867 and my timeline is too much sometimes. I follow virtually no celebrities, a few politicians, a handful of the StockTwits old guard (the whole reason I joined Twitter 10 years ago), and a whole lot of tech people.

                        1. 1

                          Agree. I try to give myself a limit of about 400, because that’s the point where I’ve noticed that it becomes unmanageable. Right now I am following 525, and am overdue for some pruning, but I’m not sure how to do that effectively. :/

                        1. 6

                          There is no technical content in that post :(

                          1. 3

                            Ah sorry. I wasn’t sure how focused this site was meant to be on tech. I’d delete the post but there is no feature for that here.

                            1. 26

                              Personally, I found the post interesting.

                              1. 5

                                Same here. This is political, and as much as we might like to pretend otherwise, all technology is inherently political. +1 for this kind of post, and more of them.

                                1. 2

                                  This is political, and as much as we might like to pretend otherwise, all technology is inherently political.

                                  I dislike this justification being used to shoehorn politics into spaces which previously had functioned somewhat as a refuge from the sturm und drang of the times. I’ve also never seen a good stacktrace for the sentiment.

                                2. 1

                                  Lots of things are interesting but have better homes elsewhere.

                            1. 5

                              I love these kinds of things. Thanks for asking!

                              Right around Y2K, I worked as the “Technical Coordinator” at a “Regional Development Authority” in Cornwallis Park, Nova Scotia, Canada. I got to do what so many Silicon Valley folks have falsely claimed to do, and it was glorious: I got to make the world a better place, using technology.

                              An RDA in Canada is an organisation that receives money from different levels of government and has a mandate to promote development in the region. This takes the shape of providing free education, encouraging businesses to move there, assisting existing businesses with hiring additional staff, and related activities. Because of some other programs, my particular RDA (the WVDA) had an additional mandate to improve the lives of residents and businesses using technology.

                              I got to do what so many Silicon Valley bros have claimed to do, but never have: I made the world a better place using technology. Looking back, it was probably the best opportunity of my career, and I’ve had many.

                              The many projects that I worked on in that short time period is absolutely staggering, as I think about it now. I was the only person in my department for most of my time there, and for the rest I was the more experienced and skilled one of two.

                              • web applications (we didn’t call them that then) for local artisans to display and sell their wares, for restaurants to post information and menus, and for listing events in the local area
                              • provided tourist information, accommodation information and booking, and an online business directory
                              • free email accounts to the local residents, as well as web hosting and technical services for local people and businesses
                              • “wireless last mile” to deliver broadband to previously unconnected homes and businesses
                              • custom OS and software for touch-screen kiosks that were installed in libraries, tourist bureaus, and malls, which were many people’s only way to access the internet

                              I can honestly say that in my approximately three years there, I made the world a better place. There are still fingerprints of my work there in that place, and I miss doing work like that. I haven’t done work like that since, and gotten paid for it.

                              It wasn’t all roses: my bosses were absolutely rotten with corruption. One got fired for giving large contracts to his friends to do nothing. Another was getting invoices for services and products that were never delivered from businesses owned by their friends and family. Another was doing that, and also using her expense account to expense trips and conferences she never went to. Eventually, years after I left, the entire agency got shut down and each government decided to run their own smaller operation themselves because of these things. But it doesn’t mean that we didn’t do great things at the time.

                              I should really write more details about my experiences, because it really was something amazing, and I’m quite proud of it. Most of the web applications are still usable via the internet archive.

                              1. -3

                                I got to do what so many Silicon Valley folks have falsely claimed to do, and it was glorious: I got to make the world a better place, using technology.

                                I got to do what so many Silicon Valley bros have claimed to do, but never have: I made the world a better place using technology.

                                Cornwallis Park is a rural community in Annapolis County, Nova Scotia, Canada. As of 2016, the population is 479

                                Easy there, Genghis Khan.

                                1. 2

                                  Easy there, Genghis Khan.

                                  Not sure what you’re trying to imply here.

                                  1. 2

                                    I think he’s (sarcastically) saying it’s a pretty small chunk of the world. Like I could give a homeless person a sandwich, making the world a better place, but I wouldn’t expect a medal for it. Not my criticism.

                              1. 13

                                Don’t forget that performance enhancements, security enhancements, and increased hardware support all add to the size over what was done a long time ago with some UNIX or Linux. There’s cruft and necessary additions that appeared over time. I’m actually curious what a minimalist OS would look like if it had all the necessary or useful stuff. I especially curious if it would still fit on a floppy.

                                If not security or UNIX, my baseline for projects like this is MenuetOS. The UNIX alternative should try to match up in features, performance, and size.

                                1. 13

                                  We already have a pretty minimalist OS with good security, and very little cruft: OpenBSD.

                                  1. 7

                                    The base set alone is over 100mbyte, though. That’s a lot more than OP wants.

                                    1. 5

                                      Can you fit it with a desktop experience on a floppy like MenuetOS or QNX Demo Disc? If not, it’s not as minimal as we’re talking about. I am curious how minimal OpenBSD could get while still usable for various things, though.

                                    2. 12

                                      Modern PC OS needs ACPI script interpreter, so it can’t be particularly small or simple. ACPI is a monstrosity.

                                      1. 2

                                        Re: enhancements, I’m thinking Nanix would be more single-purpose, like muLinux, as a desktop OS that rarely (or never) runs untrusted code (incl. JS) and supports only hardware that would be useful for that purpose, just what’s needed for a CLI.

                                        Given that Linux 2.0.36 (as used in muLinux), a very functional UNIX-like kernel, fit with plenty of room to spare on a floppy, I think it would be feasible to write a kernel with no focus on backwards hardware or software compatibility to take up the same amount of space.

                                        1. 3

                                          Your OS or native apps won’t load files that were on the Internet or hackable systems at some point? Or purely personal use with only outgoing data? Otherwise, it could be hit with some attacks. Many come through things like documents, media files, etc. I can imagine scenarios where that isn’t a concern. What’s your use cases?

                                          1. 5

                                            To be honest, my use cases are summed up in the following sentence:

                                            it might be a nice learning exercise to get a minimal UNIX-like kernel going and a sliver of a userspace

                                            But you’re right, there could be attacks. I just don’t see something like Nanix being in a place where security is of utmost importance, just a toy hobbyist OS.

                                            1. 4

                                              If that’s the use, then I hope you have a blast building it. :)

                                              1. 3

                                                It pretty much sounds like what Linus said back then, though, so who knows? ;)

                                          2. 2

                                            Linux 2.0 didn’t have ACPI support. I doubt it will even run on modern hardware.

                                            1. 2

                                              It seems to work, just booted the ISO (admittedly not the floppy, don’t have what is needed to make a virtual image right now) of muLinux in Hyper-V and it seems to work fine, even having 0% CPU usage on idle according to Hyper-V.

                                              1. 2

                                                Running in a VM is not the same as running on hardware.

                                        1. 4

                                          When I moved to Malmö three years ago, I relieved heavily on mapping to get around and find things. I only used OSM, and my wife used Google Maps. Google Maps took us to the wrong place three times in the first two months. OSM was wrong once in the same time period.

                                          I fixed the error in OSM right away, and it’s no longer wrong. Google Maps was still wrong last time I looked a couple years ago.

                                          1. 17

                                            This is great news for RISC-V, and I can’t wait to see the next steps.

                                            1. 2

                                              Just returning to $DAYJOB from vacation, and really not enjoying it. Mostly trying to do administrative tasks to push things around a bit. It’s also very boring in the office because I’m in Sweden and everyone’s on holiday.

                                              Fortunately, the side hustle is really interesting and is keeping me entertained. I’m doing some work on quality measurement tools for C#, and it’s pretty enjoyable.

                                              Finally, I had this idea to build a Cocoa-native Slack client using the RTM API, because I hate Electron so and there are a few communities on Slack that I really enjoy participating in. I am trying to figure out if I made such an application, if I would be able to sell it at all to other like-minded mac users to help offset the time investment I was putting in to it. (And of course I’d aim for *nix and Windows support via GNUstep.)

                                              My current worries on this are a) I’d run out of steam after having invested some time in to it, b) Slack would screw me by disabling the required API support, or c) Marzipan would enable the Slack iPad client to be easily ported and eat my lunch.

                                              1. 14

                                                This blog post: a case study in being a jerk to someone who is being a jerk, only since Linus is a “jerk” you get off scott-free. Unsurprisingly, this is written by someone who has never contributed to the Linux kernel and who was uninvolved in the discussion he’s picking apart.

                                                The revised email at the end does lose information. Contrary to what hipsters write blog posts complaining about, 99% of Linus’s emails are cordial. The information that’s lost is the conveyance that this is more important to Linus than most subjects.

                                                1. 20

                                                  This comment: a case study in being a jerk to someone who is being a jerk to a jerk.

                                                  In all seriousness, I don’t believe that Gary Bernhardt is being a jerk at all. There’s a line between being critical of a piece of work and calling someone brain damaged, and hopefully, we all can see the difference.

                                                  Aside: I love when people use the word “hipster” to invalidate other viewpoints. Apparently, there are two modes of being: Being Right and Being A Hipster.

                                                  1. 2

                                                    To the unserious comment, I don’t think I was being a jerk. I called him a jerk, which I guess you could argue is a jerk move under any circumstances, but if I’m being a jerk then so is Gary.

                                                    To the serious comment, I just want to note that “brain damaged” is a meme among old school hackers which isn’t as strong of a word as you think.

                                                    To the aside, I don’t use hipster as an insult or to imply wrongness, but I do use it to invalidate his point. Gary is a Ruby developer. Linus is a kernel developer. The worlds are far removed from each other.

                                                    1. 50

                                                      I’ve put tens of thousands of lines of C into production, including multiple Linux kernel drivers. In one case, those kernel drivers were critical-path code on a device used in strain testing the wings of an airplane that you might’ve flown in by now.

                                                      I’m not a stranger to the kernel; I just left that world. Behavior like Linus’ in that email was part of the reason, though far from the only reason.

                                                      With all of that said: having written a bunch of systems software shouldn’t be a prerequisite for suggesting that we avoid attacking people personally when they make programming mistakes, or what we suspect are programming mistakes.

                                                      1. 10

                                                        Exactly. I’ve also met many people that do high-performance, embedded, and/or safety-critical code in C that are more polite in these situations. Linus’ attitude is a separate issue from what’s necessary to evaluate and constructively criticize code.

                                                      2. 17

                                                        “brain damaged” is a meme among old school hackers which isn’t as strong of a word as you think.

                                                        Yikes. That “meme” is a whole other thing I don’t even care to unpack right now.

                                                        I don’t use hipster as an insult or to imply wrongness, but I do use it to invalidate his point. Gary is a Ruby developer. Linus is a kernel developer. The worlds are far removed from each other.

                                                        Gotcha. Kernal developer == real old-school hacker. Ruby developer == script kiddie hipster. Are we really still having this argument in 2018?

                                                        1. 2

                                                          Yikes. That “meme” is a whole other thing I don’t even care to unpack right now.

                                                          “Brain damaged” is a term from back in the Multics days, Linus didn’t make that one up for the occasion. If you’re unfamiliar with the “jargon file” aka hacker dictionary, you can see the history of this particular term here: http://www.catb.org/jargon/html/B/brain-damaged.html

                                                          1. 1

                                                            Yikes. That “meme” is a whole other thing I don’t even care to unpack right now.

                                                            Listen, cultures are different and culture shock is a thing. I’m in a thread full of foreigners shocked that customs are different elsewhere. You better just take my word for it on “brain damaged” because you clearly aren’t a member of this culture and don’t know what you’re talking about.

                                                            Gotcha. Kernal developer == real old-school hacker. Ruby developer == script kiddie hipster. Are we really still having this argument in 2018?

                                                            How about you quit putting words in my mouth? Do you really need me to explain the world of difference between Ruby development and kernel hacking? In 2018? It’s not a matter of skill. Gary is great at what he does, but it has almost nothing to do with what Linus does. The people who surround Gary and the people who surround Linus are mutually exclusive groups with different cultural norms.

                                                            1. 20

                                                              You can’t use “it’s our culture” as a panacea; calling someone an idiot, moron etc. is a deliberate attempt to hurt them. I guess if what you’re saying is, “it’s our culture to intentionally hurt the feelings of people who have bad ideas,” well, then we might be at an impasse.

                                                              1. 21

                                                                The kind of toxic exclusivity and “old school hacker culture” elitism that you’re spouting in this thread is not what I expect to see on Lobsters. It makes me genuinely sad to see somebody saying these things and it also makes me apprehensive of ever being involved in the same project or community as you. Software development today is not what it was 20 –or even 5– years ago. Today it is far more about people than it is about software or technology. You may not like this, but it is the reality.

                                                                1. 7

                                                                  Lobste.rs always had a few vocal people like this in threads. But note that they’re in the minority and generally are not upvoted as much as the people who aren’t elitist, racist, or just generally being a jerk.

                                                                  1. 5

                                                                    “old school hacker culture” elitism

                                                                    Near 40, I can agree to be called old. But not elitist.
                                                                    And I cannot accept to be associated with racist.

                                                                    Not all software developers are hackers. Not all hackers are software developers.

                                                                    Is stating this “elitism”? Is it “racism”? Is it being “jerk”?
                                                                    Or is just using terms properly?

                                                        2. 5

                                                          The information that’s lost is the conveyance that this is more important to Linus than most subjects.

                                                          So add “I want to stress that this issue is really important to me” at the end of the revised email.

                                                          I think that making an issue out of this particular information being lost is missing the point - that it would be possible to say the same thing as Linus did without being abusive.

                                                          Contrary to what hipsters write blog posts complaining about

                                                          You’re falling into the same trap that the post discusses. This derision isn’t necessary to make your point, and doesn’t make it any stronger - it just adds an unnecessary insult.

                                                          1. 9

                                                            Contrary to what hipsters write blog posts complaining about, 99% of Linus’s emails are cordial.

                                                            That may well be true, but do we need that last 1% in a professional setting?

                                                            1. 9

                                                              (I am not defending Linus’ behaviour here, please don’t put those words in my mouth.)

                                                              I strongly take issue with American ideas of “professionalism”, and an even more so with the idea that we get to decide whether this project is “a professional setting” or not. What exactly makes this a “professional setting”? What is a “professional setting”? Why do we hold some interactions to higher standards than others?

                                                              I suspect “money changing hands” is the thing that makes this “a professional setting”, and that grinds my gears even further. Why are we supposed to hold ourselves to different standards just because some people are getting paid for doing it?

                                                              1. 3

                                                                Right, “professionalism” implies that you only need to be nice to somebody when you want them to something for you or want their money. This should actually be about “respect”, whether or not you want a Linux contributor to do something for you or want their money.

                                                              2. 12

                                                                The Linux kernel is not a professional setting. Besides, I argue that the 1% is useful, even in a professional setting - sometimes strong words are called for. I’ll be That Guy and say that people should grow a thicker skin, especially people who weren’t even the subject of the email and have never been involved in kernel development.

                                                                1. 14

                                                                  If I look at who the contributors to the Linux kernel are, it would certainly appear to be a professional endeavor.

                                                                  A large chunk of contributions to the kernel are made by people who are getting paid by the companies they work for to contribute. Sounds like a professional setting to me.

                                                                  1. 4

                                                                    Linux development is only “a professional endeavour” (which is a phrase I have strong issues with, see above) because some people decided to build their businesses in Linus’ craft room. We can like or dislike Linus’ behaviour, but we don’t get to ascribe “professionalism” or lack thereof (if there even is such a thing) to Linus’ work or behaviour, or that of any of the contributors.

                                                                    Even if “professionalism” is an actual thing (it’s not; it’s just a tool used by people in power to keep others down) it’s between the people doing the paying, and the people getting the pay, and has nothing to do with any of us.

                                                                    This idea that people should behave differently when there’s money involved is completely offensive to me.

                                                                    1. 7

                                                                      But it’s not. It’s a collaboration between everyone, including professionals and hobbyists. The largest group of kernel contributors are volunteers. On top of that, Linus doesn’t have to answer to anyone.

                                                                      1. 8

                                                                        So, having a hobbyist involved means that you can be dickhead? Is that the conclusion that should be drawn from your statements?

                                                                        1. 3

                                                                          No. I’m saying that Linus is not a dickhead, Linux is not a professional endeavour, and neither should be held to contrived professional standards.

                                                                          1. 2

                                                                            “I’m saying that Linus is not a dickhead”

                                                                            His comments are proving otherwise given the main article shows the same information could’ve been conveyed without all the profanity, personal insults, and so on. He must be adding that fluff because he enjoys it or has self-control issues. He’s intentionally or accidentally a dick. I say that as a satirist whose a dick to people that give me headaches in real life. Although it doesn’t take one to know one, being someone whose always countering dicks and assholes with some dickish habits of his own makes what Linus is doing more evident. If no mental illness, there’s little excuse past him not giving a shit.

                                                                            1. 5

                                                                              “doesn’t behave according to my cultural norms” == “mental illness”

                                                                              Seriously?

                                                                              I would really appreciate it if you could stop expecting that your cultural norms have to apply to everyone on the planet.

                                                                              1. 1

                                                                                Im identifying the cultural norm of being an asshole, saying it applies to him at times, and saying the project would benefit if he knocked if off. Im not forcing my norms on anyone.

                                                                                Your comment is more amusing giving someone with Linus’s norns might just reply with profanity and personsl insults. Then, you might be complaining about that. ;)

                                                                                1. 1

                                                                                  Then, you might be complaining about that. ;)

                                                                                  No, I’d just accept that people from different cultures behave differently.

                                                                                  Let’s face it, most people hate getting told they are wrong, regardless of the tone. That’s just how we are as humans.

                                                                                  Taking offense about the tone just seems very US-specific, as they are accustomed to receiving some special superpowers in a discussion by uttering “I’m offended”.

                                                                                  Some of the best feedback I received in my life wouldn’t be considered acceptable by US standards and I simply don’t care – I just appreciate the fact that someone took his time to spell out the technical problems.

                                                                                  Here is a recent example: https://github.com/rust-lang/cargo/pull/5183#issuecomment-381449546

                                                                                  1. 1

                                                                                    Here is a recent example: https://github.com/rust-lang/cargo/pull/5183#issuecomment-381449546

                                                                                    I’m not familiar with Rust, so maybe I’m missing crucial context, but I read this feedback as firm but unproblematic overall. Compared to Linus’ email:

                                                                                    • Comment admits that there are multiple points of view, gives case for their take on it.
                                                                                    • Focuses on the problems at hand rather than speculating on characteristics of any individuals involved, beyond acknowledging other viewpoints.
                                                                                    • Doesn’t include any personal insults.
                                                                                    • Doesn’t include any profanity that I noticed, certainly not gratuituous profanity.

                                                                                    It could be nicer, sure. But it seemed respectful, in the “you can do what you’re doing but consider these things:” kind of way…? The author event went out of their way to acknowledge being unconstructive.

                                                                                    To my reading it seemed closer to Gary’s email than Linus’.

                                                                                    To put it another way: if Linus wrote emails like this (only shorter, probably) then I don’t think Gary would have written a blog post about it.

                                                                                    (For the record: I’m not American, but I do fall on the gee-it’d-be-great-if-Linus-stopped-abusing-his-colleagues side of this debate.)

                                                                                    1. 1

                                                                                      I didn’t intend to imply that this was comparable to Linus’ mail, but that people who would be offended by Linus’ writing would also be offended by that comment.

                                                                                      It’s a slippery slide where every honest-to-go comment that expresses real feelings starts getting replaced by “this is an interesting idea, but did you consider …” corporate lingo, even if the code is horribly wrong.

                                                                                      1. 2

                                                                                        I didn’t intend to imply that this was comparable to Linus’ mail, but that people who would be offended by Linus’ writing would also be offended by that comment.

                                                                                        I understand this is your point, but I think there is no evidence for this. The people complaining about Linus’ conduct are complaining about specific things, and these things are not present in the comment you linked.

                                                                                        Did anyone in the Rust community (generally considered a “nicer” community than kernel development) raise concerns about this comment?

                                                                                        There is a difference between “not overtly nice” and “openly abusive”, even accounting for cultural context.

                                                                                    2. 1

                                                                                      Then you and I arent that different in how we look at stuff. Ive just layered on top of it a push for project owners to do what’s most effective on social side.

                                                                                2. 2

                                                                                  I believe it’s intentional. He does not want to be bothered by nurturing the newbs, so he deters them from going to him directly and forces them to do their learning elsewhere.

                                                                                3. 2

                                                                                  These numbers suggest it is a professional endeavor:

                                                                                  https://thenewstack.io/contributes-linux-kernel/

                                                                                  1. 2

                                                                                    Those numbers just break down the professionals involved, and don’t consider the volunteers. If you sum the percentages in that article you get around 40%. Even accomodating for smaller companies that didn’t make the top N companies, that’s a pretty big discrepancy.

                                                                          2. 6

                                                                            Linus himself is working in a professional capacity. He’s employed by the Linux Foundation to work on Linux. The fact he is employed to work on an open source project that he founded doesn’t make that situation non-professional.

                                                                      1. 1

                                                                        Interestring pivot for a GNU/Linux distribution, no?

                                                                        1. 3

                                                                          Long dead. Anyway, the poetic allusion seems like a better fit here.

                                                                        1. 4

                                                                          Thanks for asking about this, I have so many things to say about. I’m going to explain the methods I use, and then the tools I use to accomplish them. Please skip ahead to the last paragraph to learn about a GTD tool I’m working on.

                                                                          The TL;DR: I make use of all of the following techniques in order of importance: Getting Things Done, The Checklist Manifesto, The Pomodoro Technique, Eat That Frog, and Chain Calendaring (or Seinfeld Calendaring), and a regular Calendar. Without giving details, I’m just going to say: when I am at my best, these systems keep me at my best. When I am at my worst (I often call it “the dark place”, non-suicidal, thank you for worrying about me), these systems keep me alive and enable me to get back to my best as quickly as my brain will allow.

                                                                          Calendar every time I need to be somewhere that is not my house or office, it goes in my calendar. I assume I’m at the office 9-5, and home otherwise. Everything else goes in the calendar. If it doesn’t make it to my calendar, I absolutely will not do it, or even remember that I was supposed to until days or weeks later.

                                                                          Chain Calendaring keeps me motivated to do things every day that my brain would tell me I can just do tomorrow. That’s nearly everything that would improve my life and make me a better person, really. Sometimes I break all of my chains when I’m in a dark place: starting my chains back up is one of the first things I do when I turn the corner.

                                                                          Pomodoro (do focused work without distractions for a set period, and reward yourself with a break after) and Eat That Frog keep me doing the things that I don’t want to do. Basically anything and everything about my jobby job, especially in times of darkness, but only slightly.

                                                                          Checklists ensure that I will not forget to do things because I’m tired, in a hurry, or otherwise just not entirely with it. For instance, I have a checklist for my morning bathroom routine that includes “squeegee the shower doors and floor” because when I’m in a hurry or tired or cranky I will skip it, and it builds up. I have checklists for everything. Before I had a “boxing gym kit list”, I forgot one thing every training night and I haven’t forgotten a single thing since I started following the list. (Yes, I tracked this retroactively by looking at my chat histories with both my wife and my boxing partner.)

                                                                          GTD is the big one, and this is the one that keeps me sane. Or at least, lets me allow myself to slip into dark mode periodically. When I’m at my best, GTD means that I’m always doing the thing I should be doing when I should be doing it and forgetting nothing. When I’m at my worst, I go into limp mode, and every thought I have goes into my inbox for triaging when I’m not at my worst anymore. Sometimes after turning the corner, I have a thousand items in my inbox. Sometimes I have two months of unopened mail in my physical inbox. (Right now my digital inbox is hovering around 300 items, and I have three weeks of unopened mail, but I’m starting to turn the corner.) Getting the thoughts out of my brain and into an inbox means I can get through my dark times faster and without spiraling out of control because I know that when I’m ready to deal with it, those things will all be there and I won’t have forgotten anything.

                                                                          Now, tools. I deliberately left this for the end because the methods are the things that keep me sane. The tools come and go, and I’m currently switching mine up anyhow, but I have good news on that. My calendar is synced to my devices via nextcloud, and I use native applications on all of my devices. For chain calendaring, I currently use a paper calendar and draw in different coloured sharpies. I use my phone’s timer for Pomodoro. My checklists nearly always go on index cards because they’re the most durable, and I put the checklist where it needs to be: one’s in my gym bag, one’s in the bathroom on the shelf, most are next to my chair.

                                                                          But, I’m replacing all of those with custom tools I’m building myself on Nextcloud because that’s the world I want to live in.

                                                                          For GTD I currently use Nirvana, and a physical inbox. I don’t like it, and I hate that it’s hosted and owned by someone else. So I’m making my own GTD system (and other tools) which are backed/synced via Nextcloud. My GTD app is called FocusFrog, and I hope to have the MVP finished some time before the summer is over. One of the things that it will prominently feature is an inbox aggregator, so you can give it API keys or credentials for GitHub, Trello, Jira, your IMAP server, etc, and get a single view of all of the many inboxes in your life. Because I lean on my systems for everything, if you make positive noises about FocusFrog here, you’ll get an individual item in my “Launch FocusFrog MVP” project that says “tell username on losters about FocusFrog MVP” with a link to your comment. Because that’s the only way I can function in life.

                                                                          1. 2

                                                                            As someone in a similar position to you, I have a similar setup. Lots of process keeps me moving when things need that much process to move anywhere at all. I tried writing my own GTD solution, but in the end I settled with the lowest-tech version possible: Manila folders and paper. The extra time and effort it takes to enter things prevent me from accepting commitments I can’t realistically entertain, especially when times are not so great as they are when accepting said commitment.

                                                                            This, similarly, keeps me moving when it’s most critical, and I have been saved by my setups more than once.

                                                                            I would very much so love to try your tool when you launch, I used to rely on OmniFocus, but since my personal preferences have shifted towards using Linux as OS, it’s become less and less attractive, and so I eventually transitioned away.

                                                                            Thank you for your elaborate post, from someone in a similar position. :)

                                                                            1. 3

                                                                              Thanks! It’s always nice to hear from folks in similar situations.

                                                                              Amusingly, I had an immediate negative reaction to “Lots of process…” because I have a kneejerk negative reaction to the word “process”, but also because I hadn’t considered these workflows to be heavy in “process.” I genuinely consider them to be the lightest thing that will possibly work: lists, with context. It was an interesting experience to read that, and have that realization about myself and my workflows. :)

                                                                              I also used OmniFocus when I was a Mac user, and loved it. My ideas are actually inspired by the amazing workflow I was able to achieve using OmniFocus and the collection of synchronization tools you’ll find over here: https://github.com/seattlerb?utf8=%E2%9C%93&q=omni&type=&language= I am hoping that with FocusFrog I can optimize the Collection with aggregation of Inboxen, and the inbox processing with really good UX.

                                                                          1. 5

                                                                            I currently self-host Nextcloud on a Debian VPS. I primarily use this for Contacts, Calendars, and getting Files between my various devices. My wife also uses the same installation. We haven’t yet used the “document sharing” stuff that’s integrated with LibreOffice, or similar. But I look forward to doing that.

                                                                            I pay someone else to host my mail, but I’d like to host that myself: I’m just not ready to do that again yet.

                                                                            My intention is to build all of the “self hosted” stuff around nextcloud: I’ll use Passman, I’m building a GTD application, and a budgeting application, and a few other things. Nextcloud gives me a nice platform for syncing and sharing, and I don’t really care about implementation language otherwise.

                                                                            1. 3

                                                                              If you are looking in to self hosting email, https://mailinabox.email/ is really easy. Main issue is it requires it’s own dedicated ubuntu install and doesn’t work in docker yet. But it’s super simple and just works. It also has next cloud packaged in.

                                                                            1. 2

                                                                              This week I’ll merge a branch that removes over 4000 lines of duplicate code from the test framework at my jobby job.

                                                                              I’ve also begun making our builds reproducible by porting our custom scripts from groovy that only runs on our Jenkins machines, to MSBuild tasks that will run anywhere.

                                                                              1. 9

                                                                                This post follows the rule of headlines perfectly: when a headline asks a question, the answer is always no.

                                                                                I am not completely convinced that the article’s stated reason is “the reason”, or that the solution is “the solution”. But it’s a good start. And it’s one of my specific pet peeves, so I’m going to share. My general pet peeve is when people of all stripes behave as though they’re unique snowflakes and the rules that govern all other work does not and can not apply to them. My specific pet peeve is when programmers play this “we do black magic and therefore need to be treated specially” game.

                                                                                It drives me nutty.

                                                                                The solution presented here is a good start. We should all endeavour to implement this.

                                                                                1. 2

                                                                                  This post follows the rule of headlines perfectly: when a headline asks a question, the answer is always no.

                                                                                  In case you’re wondering, it’s called Betteridge’s law of headlines.

                                                                                  1. 1

                                                                                    You might consider why this is your pet peeve and it “drives [you] nutty.” Does it bother you when other people ask for understanding and accommodation in how they work because you aren’t getting your needs met at work?

                                                                                    Also, I’m downvoting this as trolling and will do the same for any other comment I see on lobste.rs that uses “special/unique snowflake” because we’re all intelligent and articulate enough to communicate without obvious epithets, and the use seems to always precede or be interlaced in some insensitive/dismissive rant.

                                                                                    1. 2

                                                                                      Interesting. I hadn’t considered “snowflake” to be an epithet necessarily, more tongue in cheek. Thanks for pointing this perspective out; I will keep it in mind.

                                                                                      1. 1

                                                                                        I should also answer your question, because I think it’s a good one.

                                                                                        The reason it drives me nutty is because my (especially recent) experience is the people who are demanding Complete Silence because they are doing Very Serious Work are also doing at least one (but usually both) of the following: 1) over-engineering and making complicated messes of fairly simple things, and/or 2) implying (or worse) that those who do not demand Complete Silence are not doing Very Serious Work.

                                                                                        I realize that not everyone will share this experience, but we’re all shaped by our experiences to some extent, and this is mine.

                                                                                    1. 4

                                                                                      “ In a normal market the supply of pork chops can go down, and people can start to go hungry, but in a software market we can never be in a state where the market contains less produce than it did before. The supply of things can only get more and more abundant, the pile can only get larger and larger - things can only get better and better for everyone.”

                                                                                      That part isn’t true. It ignores quality where people won’t want pork chops that are rotten, taste bad, or discolored from bad suppliers. Most open source software is crap because it’s someone’s fun, side project that goes unfinished, barely-documented, or unmaintained. It’s a tiny portion that’s even useful.

                                                                                      From there, the things only get larger and better seems false given effects of software maintenance. Certain dependencies, proprietary or FOSS, are always changing. This creates breakage for components depending on them. On minor end, it might need a recompile or something simple. On major end, a company switching ISA’s might need media codecs’ fast paths rewritten for a different SIMD style. The software is still there where you can do what the author says if you only use specific hardware, OS, software, and all the right versions. It’s just most aren’t going to do that in practice, esp if we consider bug/vulnerability fixes or discontinued hardware. So, the right model seems like the pork chops and other products do have ups and downs with some disappearing outright from parasiting.

                                                                                      Utopian vision is already broken to be replaced with a mix of capitalism and utilitarianism.

                                                                                      “In a software market uniqueness is the first thing required for there to be demand, and often the more specialized and novel, the better the product.”

                                                                                      That starts with claim that supply is only reason for competition in most markets. That’s totally wrong. They compete on features, convenience, style/image, status, quality, safety/security, ecofriendy, national origin, and especially customer service. I might be leaving something out. People who buy or use software often rate those pieces of software along those attributes. The number of competing, similar products in many areas of software contradicts his belief.

                                                                                      The product that is unique does get the First Mover advantage with most of the market. Some other players usually differentiate on that. Often a flurry of activity with market settling down into a handful of players in an oligopoly-like setup. That’s how almost everything works. New, niche players will also show up usually doing one thing a whole lot better. So, that’s the model that we need to start with. It’s a much better one, too, since it gives more hope of creating profitable products.

                                                                                      Utopian vision is definitely broken now with additional angles beyond pure supply and cost of one, unique product. It isn’t utopian. It is doable, though, for utilitarians paying close attention to what markets are complaining about in existing offerings. They can make alternatives that solve their problems with paid FOSS models. Problem solved. :)

                                                                                      Although foundations are incorrect, rest of the article might still have some decent ideas. Let’s check. (Done skimming.) The author appears to make common mistake of thinking it’s all DRM-ed proprietary vs GPL that doesn’t pay. The current markets already have paid FOSS models that should be in the analysis. That includes licensing GPL software to companies, the open core model, SaaS model with FOSS as side effect, consulting model doing same, VC startup FOSSing components that aren’t competitive advantage, and so on. Support last since it is a commodity companies like to minimize that barely covers development costs. It should’ve never been primary, business model. There’s also getting big companies to contribute paid developers like IBM does with Linux but I’m trying to avoid that one where possible. It has significant risks.

                                                                                      I say anyone worried about getting FOSS folks paid should look at the already-established methods of doing it that were sustainable for significant projects (not Red Hat or other outliers). Then innovate from there mixing and matching. Paid, shared-source proprietary with an expiration of paid part into FOSS license after amount of time in contract is another interesting idea I heard a while back. FOSS version is always behind. Yet, I was cool with Photoshop, Dreamweaver, VS6, Halflife, and Starcraft on Win 98. I could probably do something useful with a FOSS version of them even 5-10 years later. ;)

                                                                                      “Giving software away as a gift does not mean a bigger pile for everyone - it means those savvy enough to make use of the software market will use the chance to take more and give less - to lower their net contribution. “

                                                                                      This is true. Even more reason to do what I just said. Don’t operate with utilitarian, virtue-oriented expectations in a capitalist system full of freeloaders. It won’t work most of the time. Try business structures and licenses that are capitalist in nature supporting the utilitarian or virtuous goals. That provably works in some cases. I can’t say more, though, until more people try it.

                                                                                      1. 1

                                                                                        Try business structures and licenses that are capitalist in nature supporting the utilitarian or virtuous goals. That provably works in some cases.

                                                                                        This sound as a sort of embrace and challenge of capitalism.

                                                                                        What companies do you have in mind?

                                                                                        1. 2

                                                                                          I dont have a list onhand even though I probably should. I remember an OpenSUSE employee told me they sell GPL software to big businesses. You can add any company with a community and enterprise edition. There’s dual-licensed software where companies pay not for the source so much as not giving up their source by using GPL version. There’s also services companies that spend part of their time building FOSS, esp if it helps their customers. A neat example is 2ton whose services support GPL3 assembly library and web server among others.

                                                                                          So keep your eyes open for examples like that to study their business models and how they work. The simplest, though, is just selling GPL or maybe AGPL software directly to businesses. Although freeloaders exist, there’s probably at least a developer’s worth of revenue out there waiting to be found for most useful tools. :)

                                                                                          1. 2

                                                                                            This is fairly common in database land. MongoDB and neo4j (note: I used to work at neo4j, I’m better now) both do (or did) this. Everything is released under the GPL and AGPL, meaning that it’s free for anyone to use for any purpose, but any modifications and derivatives need to be shared back. MongoDB has a >1B valuation, and neo4j rakes in massive amounts of money from their enterprise customers.

                                                                                            This model does work. The problem is when the greedy folks who don’t really understand software like VCs or many C-level execs, start meddling. If you look at the neo4j website, it contains outright lies about the AGPL: it says that the AGPL prevents commercial use at all, and you must have a special license for all commercial use. MongoDB’s website is correct, and says exactly the opposite, about the exact same license.

                                                                                            A better model, in many circumstances, is “professional services.” The software is free of charge, but support additional features, and perhaps indemnity, are extra cost. I personally like this model, despite some obvious deficiencies in incentives: the things people pay for like support and documentation are now incentivized to be locked up.

                                                                                            I find the professional services model to be very honest and rewarding: it puts a direct reward on the work that is specific to individual enterprises, and while keeping free and open the work that is “commodity.” VCs hate professional services: VCs want subscription or license revenue (which are the same thing). Subscription and license revenue grow infinitely, with little to no increase in expenditure (supporting 10000 users is only slightly more expensive than supporting 1000 users), while Professional Services income can only grow in lock-step with the number of PS staff you have to do the work.

                                                                                            1. 1

                                                                                              Great examples with MongoDB and neo4j. Yeah, there are benefits to professional services. One I think you were hinting at in the last line is its growth steadily creates more FOSS developers to use, right? IBM would probably represent the peak of that model given they’ve sold off a lot of stuff to focus on billions in service revenue. They also have licensable products and FOSS projects. One thing I noticed:

                                                                                              “I personally like this model, despite some obvious deficiencies in incentives: the things people pay for like support and documentation are now incentivized to be locked up.”

                                                                                              Maybe, maybe not. It’s possible we’ve been thinking of it that way without evidence. There was a developer on Hacker News that told me his business did professional development for enterprises open-sourcing the apps. I said, “Huh!?” He said they basically just asked the customers if it was a competitive advantage or just something to solve a business problem. If the latter, there’s no downside to open-sourcing it but their apps might benefit from components everyone is sharing. He said all of them were cool with that with them open-sourcing basically everything they write.

                                                                                              Given open-source components are so prevalent, such an argument might be easier to default on now than ever. The companies that don’t agree contribute financially. The companies that do agree contribute both money and code. Trying would appear to be a win/win proposition regardless if one was licensing the software to begin with.

                                                                                      1. 4

                                                                                        Before I got a regular ol’ jobby-job, I used to conference fairly frequently. I love conferencing. In general, I recommend conferences in the 100-300 person range, in a topic you have an interest in. Smaller conferences (fewer than 100) people are excellent if it’s a topic you are very interested in.

                                                                                        Since you mentioned it, Strange Loop is one of the ones that I wish was convenient for me to attend, but it’s in the US and traveling to the US is just such a hassle. I have heard only great things, and I wish it was more convenient.

                                                                                        FOSDEM is the one that I (since moving to Sweden) make plans for every single year. I missed it this year (work-permit related travel restrictions due to my former employer being incompetent dickbags), but I plan to never miss it again.

                                                                                        I have a story about my love for FOSDEM which I’d like to tell, but maybe it should live in another comment, or maybe it should live on my own blog.

                                                                                        1. 15

                                                                                          I’m going to be honest: most of my energy this week will be spent waiting for this week to end.

                                                                                          1. 6

                                                                                            Same. I often read these threads and despair that I’m not doing enough with my life. At least we can commiserate together.

                                                                                            1. 2

                                                                                              I am taking some comfort in knowing that I’ll soon be able to play Sonic the Hedgehog because @puffnfresh is having a better week than I am. :)

                                                                                          1. 6

                                                                                            Finally finished and merged a large improvement to our massive integration test system last week, and found out today that it uncovered a rather critical error. We now realised that we don’t actually know how the integration test system ever worked before, and it definitely doesn’t work right now. (An obvious bug was uncovered, and has been present for at least two months.) So I’ll be fixing that and cleaning up that mess this week.

                                                                                            I have an absolutely fantastic junior programmer who I’m mentoring, he learns fast, has what I consider to be the right approach and opinions, and a wonderful attitude towards learning. It’s keeping me sane at my jobby job.

                                                                                            Still struggling with what my new job was supposed to be, vs what it actually is. Made some realisations about this over the weekend that help me frame the problem, but actually make me feel worse about it. I don’t know what I’ll do about this.

                                                                                            Managed to get precisely zero hours logged on my GTD application for Nextcloud last week: really hoping to turn that around this week, but I’m not hopeful at this point. By the time I get home from work, I can’t manage to do much more than veg out in my lounge chair and read the internet. :/ I hope to turn that around now that the sun is still out by the time I get home from work.