1. 1

    With ZFS on FreeBSD we have the split, and if you corrupt zroot/usr somehow it would be nice to have the system in a state where you can still recover it.

    It’s also why we have all those statically linked tools in /rescue which I find valuable.

    In the age of destroy and redeploy I don’t think many people find it useful, but I’ve never bought into that cult mindset. It’s important to understand how or why something broke and to repair it.

    edit: especially if the breakage is from a major security breach that went undetected

    1. 18

      I don’t think we should change the protocols and force every library in every language on every platform to update mountains of code to support a new protocol just so my browser can download Javascript trackers and crappy Javascript frameworks faster.

      1. 17

        I’m excited for HTTP/3 because it will allow me to get lower-latency video streaming support for my private stream server.

        1. 15

          Well, just like with HTTP/1 and /2, the old protocols are very likely to be supported for a very long while. So you’re not forced to update.

          1. 12

            It’s still change just for the sake of allowing people to build even more bloated websites.

            Making HTTP more efficient isn’t going to mean websites load faster, it means people are going to stuff even more tracking and malware and bloat into the same space. It’s very, very much like building bigger wider roads with more lanes: it doesn’t alleviate congestion, it just encourages more traffic.

            1. 27

              I don’t think that’s entirely true, HTTP/3 does address some problems that we have with TCP and HTTP in modern network connections. I encounter those problems every day at work, it’s just background noise but it annoys users and sysadmins.

              1. 14

                As I understand that video, HTTP/3 is not a new protocol, but rather “HTTP/2 over QUIC”, where QUIC is a replacement for TCP. QUIC can be useful for a lot of other applications, too.

                People do a lot of stuff to work around limitations, like “bundling” files, image sprites, serving assets from different domains, etc, and browsers work around with parallel requests etc. So it saves work, too.

                Whether you like it or not, there are many WebApps like Slack, GitHub, Email clients, etc. etc. that will benefit from this. Chucking all of that in the “tracking and malware”-bin is horribly simplistic at best.

                Even a simple site like Lobsters or a basic news site will benefit; most websites contain at least a few resources (CSS, some JS, maybe some images) and just setting up one connection instead of a whole bunch seems like a better solution.

                1. 8

                  Don’t you think that people are going to stuff even more bloat anyway, even if everybody downgrades to HTTP/1?

                  1. 6

                    I don’t know that people will drive less if you make the roads smaller. But they won’t drive as much if you don’t make the roads bigger in the first place. They’ll drive less if you provide bike lanes, though.

                    In an ideal world AMP would be like bike lanes: special lanes for very efficient websites that don’t drag a whole lot of harmful crap around with them. Instead they’re more like special proprietary lanes on special proprietary roads for special proprietary electric scooters all vertically integrated by one company.

              2. 9

                The old protocols over TCP provide terrible experiences on poor networks. Almost unusable for anything dynamic/interactive.

                1. 1

                  TCP is specifically designed and optimised for poor networks. The worst networks today are orders of magnitude better than the networks that were around when TCP was designed.

                  1. 13

                    There are certainly types of poor networks that are ubiquitous today that TCP was not designed for.

                    For instance, Wifi networks drop packets due to environmental factors not linked to congestion. TCP data rate control is built on the assumption that packets are dropped when the network is congested. As a result, considerable available bandwidth goes unused. This can qualify as a terrible experience, especially from a latency point of view.

                    If your IP address changes often, say in a mobile network, you lose your connection all the time. Seeing that connection == session for many applications, this is terrible.

                    Also many applications build their own multiplexing on top of TCP, which, constrained by head of line blocking, leads to buffer bloat and a slow, terrible experience.

                    1. 5

                      Related to this:

                      https://eng.uber.com/employing-quic-protocol/

                      Mobile networks are a prime target for optimizing latency and minimizing round trips.

                    2. 1

                      It was designed when latency didn’t matter. Now it does matter. Three-way handshakes and ACKs are killing us.

                      1. 1

                        It seems to me that every reasonable website I use is fine with those tiny inefficiencies because they’re generally efficient anyway, while bloated malware-filled tracking javascript-bloated nightmare websites are going to be bad either way.

                        Who is this actually helping?

                        1. -2

                          It’s helping people with actual experience in this area. Please stop posting these hyperboles and refrain from further comments on this topic. You’re wasting everyone’s time with your hot takes.

                          1. 0

                            Leave the moderation to the moderators. My opinions are pretty widely held and agreed with on this issue. Degrading them as ‘hot takes’ is unkind low effort trolling.

                            If you have a genuinely constructive comment to make I suggest you make it. If you don’t I suggest you stay quiet.

                            1. 1

                              I do not refute that there are issues with tracking and malware but if you think we are going to regress an era without a rich web you are out of your gourd. There is no future where the web uses fewer requests. The number of images and supporting files like JavaScript will only increase. JavaScript may be replaced in the future with something equally capable, but that still will not change the outcome in any appreciable way.

                  2. 6

                    Without even talking about HTTP/3, it seems that any application that uses a TCP or UDP connection could benefit from using QUIC: web applications yes, but also video games, streaming, P2P, etc…

                    Daniel Stenberg also mentioned that QUIC would improve client with a bad internet connection because a packet loss on a stream does not affect the others, making the overall connection more resilient.

                    I do agree it could and will be used to serve even more bloated websites, but it is not the only purpose of these RFC.

                  1. 4

                    Parameters like shared_buffers and work_mem can affect this directly as they define the amount of memory to be able to use for the MySQL database.

                    shared_buffers and work_mem are PostgreSQL settings, not MySQL… Is this article written by a bot or someone trying to get ad revenue ?

                    1. 1

                      Googling for the phrase

                      Parameters like shared_buffers and work_mem can affect this directly as they define the amount of memory to be able to use for the

                      leads to this post on the same site:

                      https://severalnines.com/database-blog/architecture-and-tuning-memory-postgresql-databases

                      It could be an editing mistake.

                    1. 1

                      The hardware required for this meager amount of monitoring makes me want to cry. Why do we keep making things worse?

                      ServiceNow using Xymon has aggregated all their monitoring data into one system that monitors

                      Statistics:
                       Hosts                      : 569869
                       Pages                      : 60421
                       Status messages            : 740185
                      

                      That’s a lot of servers and almost 750,000 services being checked. I remember single server setups on old HP boxes with 8GB of RAM doing 50,000 hosts back in 2008.

                      In the monitoring space we’re building new tools which are considerably less efficient but nobody seems to care.

                      1. 2

                        I’m not sure that 31,000 samples a second is meager, but this server is clearly larger than we need for ingesting samples (as is obvious from the usage level). It needs RAM (and CPU) primarily for complex or long time range queries over the raw metrics data, and doing such queries is both a tradeoff between server resources and response time (Prometheus loads data into memory for query speed), and also between flexibility and pre-computing a limited set of measures and data.

                        The server itself is a basic Dell 1U server (an R230). The actual hardware cost involved is modest and wouldn’t be reduced significantly by making it smaller. Also, system metrics suggest that we rarely go above 6 or 7 GB of RAM these days in active use, so loading it up to 32 GB is probably overkill with current versions of Prometheus. But better safe than sorry with an OOM explosion due to an unexpectedly complex and memory-intensive query.

                        (I’m the author of the linked-to entry.)

                        1. 1

                          I’ve never heard of Xymon but I suppose most people are coming from Nagios/Icinga and I didn’t notice Prometheus being any worse than those setups from the hardware requirements. Not that this is saying a lot, but I see that as the baseline. I heard check_mk was better but I never used it myself.

                          Oh, and one thing - again no idea what Xymon in that setup did, but Prometheus is not primarily or solely used for monitoring but metrics. First of all those will always use a lot more processing power on the receiving end than a simple online/offline check. Not everything can be shoehorned into rrdtool.

                        1. 1

                          Linux isn’t alone here. I can get MacOS into a state where the network is broke until reboot unless I trigger the network interfaces to “reset” with Viscocity VPN client.

                          I wish I knew how it was doing it so I could just write a simple tool to trigger it myself.

                          1. 3

                            Jeff’s kernel work is pretty legendary.

                              1. 8

                                Don’t give me credit. My eyes were opened by Ryan Gordon over 10 years ago when he was lamenting how terrible dotfiles and dotdirs are in your ~/ on modern *nix. I wish I knew where he discussed this, but it could be lost to old IRC logs. I think it was about how terrible writing new parsers for config files was for every new videogame he ported to MacOS and Linux and also the performance issues around it, chance of config file corruption if a game crashes at just the wrong time, etc.

                                https://www.patreon.com/icculus

                                edit: Yeah, definitely discussed this back in 2009, just can’t find the correct archive of the conversation

                                00:42 <+Mercury> floam: I’d kill for a simple, flexible, small, trivial to use, config file library that was everywhere. Note, it has to actually exist in distributions, a BSD license might be nice, and it has to be absolutely trivial to use with a very small handful of function calls. :)

                                00:43 <+icculus> floam: I have a list of shit I’d like to change that basically makes Linux a GPL’d version of Mac OS X by the time it’s done, though. :)

                                00:43 <+Mercury> (This may already exist, I’ve seen too many crappy implementations to keep looking on a regular basis.)

                                00:43 <+icculus> Mercury: sqlite.

                                1. 5

                                  How do you diff and merge it?

                                  1. 9

                                    In theory, diffing should be easier than with bytestreams because your structure is distinct from your data. Diffing tools are better for text right now because we’ve invested a lot more time into diffing text.

                                    1. 7

                                      Not a totally complete solution but https://www.sqlite.org/sqldiff.html

                                      1. 5

                                        Ah, thanks for all the answers! I’ve realized what confused me about the post and all the comments. In my world, configuration means a chunk of read-only data that’s used to distinguish one environment from another and the application only ever reads it at start and never touches it again. IMO, the best way to keep such info is as human readable plain text files in your repository.

                                        However, what’s meant in this context is configuration managed by the application itself. Like you go to the options menu in a game and tweak some settings. I’m personally inclined to think of that as regular old data and not configuration. Then, by all means, any piece of information you modify throughout its lifecycle should be kept in a proper database, embedded or not and sqlite is a great choice. Some exceptions could be application-created immutable data that you don’t care to version, or even if there will be versions they will be few and you’re willing to take great care about it.

                                        1. 3

                                          schema updates are all you need, and you can store them in a table and allow you to upgrade/downgrade config versions

                                          1. 2

                                            You might store the canonical representation as a plain text SQL dump rather than the binary database itself

                                          2. 4

                                            If you want to persist config from an app then it’s a good choice, but both reading and editing it manually seems like a complete pain to me. Imagine doing something like nginx.conf from SQLite!

                                            1. 1

                                              Another benefit of this is that SQL databases are programmable by a wide variety of standard tools. You don’t need to read or edit it manually. Imagine having a useful config editor toolkit!

                                              1. 1

                                                Personally I don’t think that’s easier for end-users, although it can be for application programmers. Even as someone who is quite familiar with SQLite I would consider it a pain to configure like this, never mind people who aren’t.

                                                1. 2

                                                  It seems like you are positing that one would need to use a SQLite shell and to write SQL in order to edit configurations. What I am suggesting is while that would indeed be possible at the low end, it also affords myriad higher levels of tooling, such as structural or relational editors, and the ability to share that technology across other systems that use configurations.

                                                  A tool like this https://www.digitalocean.com/community/tools/nginx could easily be implemented on a SQLite backend. It would be much simpler to do so than to build it for the current nginx config language which bears almost nothing in common with any other config format.

                                                  1. 1

                                                    Yeah, I understood what you mean (although I probably didn’t detail that enough), but it still seems like a complete pain to me. Personally, I even dislike using stuff like git config because just reading or editing a plain text file is so much easier. (luckily, git config is backed by a simple INI file so that’s not a problem) I can quickly see what’s configured, and it’s easy to edit with a standard tool I already know (my text editor of choice) without learning some sort of new tool.

                                                    I don’t think nginx.conf could be “easily” implemented, or at least, not in a way that’s transparent: without some specialized CLI/tooling to deal with it, it’ll be very hard to make head or tails of just the database as the data is kinda complex. I’m also not convinced that tools like the DigitalOcean one would be that much easier. It’s easy to grok and verify the correctness of a simple config file format (just read it), whereas that would be much harder with some SQLite format.

                                                    For me, personally, I would have to really want to use a product/project in order to deal with something like a specialized “structural or relational editors” to set it up.

                                                    To be honest, I think “use SQLite” is a typical “engineering solution”, which makes some amount of sense from an engineering perspective, but ignores UX. Config files are all about UX.

                                                    1. 2

                                                      I’m sorry, no, config files are horrible UX. For instance, they are never “plain text” but rather they exhibit some informally-specified data model often coupled with another informally-specified logical model. There is no config file format that makes sense without an understanding of (1) the syntax and (2) the semantics. You cannot “just read it” and determine correctness without first forming a full mental model. Why should this be so? Tools can be better at it. After all, you have become quite comfortable working with text due to generations of tools development specifically geared for manipulating text. Would you consider a text file to be superior UX if the state-of-the-art editor was still ed(1)?

                                                      1. 1

                                                        For most files, understanding the syntax isn’t hard: it’s just a key-value mapping with some comments, possible nested in some context. The semantics problem still exists with SQLite; it’s not like a relational database will give you automatic semantics.

                                                      2. 2

                                                        You could easily have a text editor plugin or fuse filesystem that presented sqlite dbs as something more like a config file. Could even support comments and stuff.

                                                        That keeps the advantages of sqlite.

                                                        Still not really convinced it’s much benefit over just standardising on something like toml.

                                            1. 6

                                              AWK can be good for prototyping an idea, but you (very) quickly run into its limitations. No typing, no array literal, functions arent first class citizens, cant pass arrays by value, no imports. Its even missing basic functions like array length.

                                              But biggest negative is the myriad implementations: NAWK, MAWK (2 versions), GAWK. Makes it very difficult to write portable code.

                                              1. 6

                                                AWK can be good for prototyping an idea, but you (very) quickly run into its limitations.

                                                If I consider when AWK was created (1977), I must say, that it is incredibly well designed and successful piece of software. Yes, it is sometimes ugly, sometimes limited …but it is still in use after 44 years! God bless Alfred, Peter and Brian.

                                                (regardless we usually use the GNU implementation, it is still based on the original idea and language)

                                                AWK and classic unix approach is quite limited when it comes to structured data. But we can push it bit further and improve by borrowing ideas from relational data model – and still use classic tools like AWK.

                                                1. 3

                                                  funny enough, gawk’s –lint option will let you know what constructs are gawk (not posix awk) specific which helps with your biggest negative case. if you use vim, ALE for (g)awk scripts will highlight them inline.

                                                  1. 3

                                                    AWK can be good for prototyping an idea, but you (very) quickly run into its limitations.

                                                    A good programmer can work around these limitations. Just look at dwatch(8) on FreeBSD. Heavy use of awk.

                                                    https://svnweb.freebsd.org/base/head/cddl/usr.sbin/dwatch/

                                                    Or how about an HTTP caching proxy in gawk?

                                                    https://pastebin.com/raw/Fmf1Fu4b

                                                    1. 7

                                                      A good programmer can work around these limitations.

                                                      “Should they?” is a better question. They’re better off using a powerful tool that doesn’t limit them. Then, limit their use of it to what they need for maintainability. Subsets, DSL’s, and so on.

                                                      1. 3

                                                        Shell script with embedded awk in functions paired with fd redirection AND eval’ed sudo. That looks like a maintenance nightmare for anyone who’s not the original author.

                                                        1. 1

                                                          It was reviewed and signed off by three other core developers, so I don’t think that’s going to be a problem.

                                                          https://reviews.freebsd.org/D10006

                                                      2. 2

                                                        I don’t write awk for work, more so for pleasure, and its limitations can make it fun to use. It clearly was influential on the languages we use today and it would be interesting to see a programming historian trace that lineage.

                                                      1. 8

                                                        No one has mentioned The book on AWK so I include it here - The AWK Programming Language - book authors are the creators of AWK (Alfred Aho, Peter Weinberger, and Brian Kernighan). Also, some people forget that AWK is an actual programming language (Turing-complete), albeit domain-specific.

                                                        1. 1

                                                          I have this book and reading it has been more useful than anything on the internet. Really worth picking up a used copy for a couple bucks.

                                                        1. 10

                                                          I knew that iCloud backups were not encrypted with a key only known to the user, but this article reminded me that I wanted to disable iCloud backups and use local encrypted backups to my Mac. As a bonus, I can cancel my 50GB iCloud subscription.

                                                          1. 3

                                                            I’ve had phones with more storage than my MacBook had, so backing up devices to MacOS locally is a nightmare for the average person unless they also have networked or external storage available.

                                                            I’m really disappointed here because I thought this was done a long time ago. I figured there was a key that was only available once you authenticated with your AppleID, but no – they just went silent on the project.

                                                          1. 15

                                                            You may consider learning perl instead:

                                                            • the programs are as terse as awk
                                                            • much more flexible
                                                            • wide set of libraries
                                                            • as widely available

                                                            remember the power of perls ‘while(<>) func’ which hides command line arg parsing, stdio handling, and per-line loop. i highly recommend perl cookbook, you will be amazed how practical it is. dont allow to grow your perl(or awk) programs more than 10 lines long - they become a pain to maintain as they grow.

                                                            1. 7

                                                              I know perl, but found that awk was much more likely to be available and it’s much faster for quick scripts because there is less overhead in running the binary. i’ve moved most of my muscle memory to reach for awk instead.

                                                              1. 5

                                                                Awk does have the advantage of being a smaller language. You can understand awk enough to do useful things with it in an afternoon. Perl is Byzantine in it’s complexity as a language, which always scared me off using it for one-liners

                                                                1. 3

                                                                  This is true especially when reading Perl scripts written by someone else. On the other hand, learn Perl enough to be able to write useful oneliners and process text streams, is quite easy.

                                                                  1. 2

                                                                    You can understand awk enough to do useful things with it in an afternoon.

                                                                    I did that with Perl and a bunch of other languages at various times. The trick is you learn just the subset you need for structured programming, basic I/O, and whatever data format you deal with. Much tinier. Just cuz it’s there doesn’t mean you have to use it.

                                                                    For Perl, I also had to learn regular expressions. They kept paying off outside of Perl, though.

                                                                    1. 1

                                                                      Just cuz it’s there doesn’t mean you have to use it.

                                                                      Yeah, but finding a useful subset of Perl means I have to learn enough Perl to know what a useful subset would be, where awk is already that useful subset.

                                                                      Doesn’t mean you can’t approach it like that, for sure, but I was pleasantly surprised how easy awk was to pick up when I decided to try to learn it a while back.

                                                                    2. 1

                                                                      Perl’s most ardent users are the language’s worst enemy ;) The downside of TMTOTDI[1] is that experienced Perl hackers settle into a set of personal idioms that they are comfortable with, but that others may not be.

                                                                      Bondage and discipline languages with a much stricter focus on what’s “officially” idiomatic, like Python, don’t have this problem, and neither do small, focused languages like AWK.

                                                                      [1] “There’s More Than One Way To Do It!”

                                                                    3. 4

                                                                      One of the reasons I prefer Perl is it’s portability between BSD and Linux. Sadly, this isn’t the case with AWK due to different implementations.

                                                                      1. 2

                                                                        scripts written for the One True awk (which most BSDs use) should work with gawk.

                                                                        1. 1

                                                                          There is also GNU awk as package.

                                                                        2. 3

                                                                          I used to think this, but after stuff like this I exited.

                                                                          1. 1

                                                                            Update: That diff is not very clear, but here’s the issue from another repo I own that triggered the patch: https://github.com/akkartik/wart/issues/5

                                                                            1. 1

                                                                              Sad that enabling warnings caused this, it’s usually a given when writing scripts.

                                                                              1. 2

                                                                                It was a warning for a few minor versions, and then an error at some minor version.

                                                                                1. 3

                                                                                  Wow, a lot of sotware was affected by this, based on this google search. Looks like an Autotools artifact? Someone wanted to avoid using / as delimeters?

                                                                                  Edit for this specific use case, I think sed and AWK are a better fit…

                                                                          1. 3

                                                                            Christ… just use freebsd-update(8).

                                                                            Also, beadm(8) and bectl(8) exists.

                                                                            1. 1

                                                                              freebsd-update needs to die. I can do OS upgrades in 90 seconds which take 30 minutes with freebsd-update. It’s not hard to do it manually from the tarballs.

                                                                            1. 6

                                                                              So basically it does trust-on-first-use PGP for email. It’s a bit misleading to say it’s similar to Signal because of the lack of forward/backward secrecy from ratcheting. Also, there’s no support for group chats beyond pairwise encrypting to everyone.

                                                                              The main draw seems to be incremental deployment and ease of use, which are admirable goals that many have tried with PGP. Best of luck.

                                                                              1. 5

                                                                                Yes, no forward/backward secrecy, which is a serious concern.

                                                                                Also, there’s no support for group chats beyond pairwise encrypting to everyone.

                                                                                To be fair, that’s all that Signal does for group chats too.

                                                                                  1. 2

                                                                                    I don’t even understand why Signal is making this effort which will require a ton of work to verify this implementation is sound. They could have just done what Threema does:

                                                                                    In Threema, groups are managed without any involvement of the servers. That is, the servers do not know which groups exist and which users are members of which groups. When a user sends a message to a group, it is individually encrypted and sent to each other group member. This may appear wasteful, but given typical message sizes of 100-300 bytes, the extra traffic is insignificant. Media files (images, video, audio) are en- crypted with a random symmetric key and uploaded only once. The same key, along with a reference to the uploaded file, is then distributed to all members of the group.

                                                                                    https://threema.ch/press-files/cryptography_whitepaper.pdf

                                                                                    1. 1

                                                                                      This is exactly how Signal currently works, FYI.

                                                                                      1. 1

                                                                                        Then why is it changing?

                                                                                        1. 2

                                                                                          Well you could imagine scenarios where there is logic on the server which infers groups based off of message timing, and then could do things like exclude one person from receiving messages from the group… but I think Signal is fundamentally a dead-end based on its centralized nature anyway…

                                                                                      2. 1

                                                                                        The new Signal work makes group management secure against a malicious server in addition to reducing the need for pairwise ciphertexts. It prevents old group members from messing with group state (membership, and other metadata), and it allows confidentiality over authenticated access control management.

                                                                                        1. 1

                                                                                          I just don’t see the value. I see an awful lot of complexity though.

                                                                                1. 13

                                                                                  Even experts don’t know everything. This seems to me like relying on Actor X to talk to you about random subject Y, instead of a subject matter expert on subject Y.

                                                                                  That said, I don’t blame him for being so cautious about integrating ZFS into the Linux kernel all proper like. Oracle’s past history has shown they are very eager to do everything possible to try and make a buck. But ZFS was released publicly before Oracle bought it, so they would have to do a lot of magic legal loopholes to get around the license Sun released ZFS under, before Oracle bought Sun.

                                                                                  ZFS is awesome, well maintained and supported, and, from my perspective very much part of the boring technologies one should definitely explore for use in your stack(s). Also except for FAT32, I think it’s the only filesystem that has implementations across all the major OS’s (windows, macOS, linux, BSD, UNIX, etc)

                                                                                  1. 22

                                                                                    But ZFS was released publicly before Oracle bought it, so they would have to do a lot of magic legal loopholes to get around the license Sun released ZFS under, before Oracle bought Sun.

                                                                                    so was the jdk, but that has never stopped oracle as far as I understand it

                                                                                    1. 4

                                                                                      Agreed. I totally get not wanting to merge the GPL’d Kernel with ZFS’s unique license, based on Oracle’s past behaviour…

                                                                                      1. 4

                                                                                        so was the jdk, but that has never stopped oracle as far as I understand it

                                                                                        That’s actually a really great non ZFS example: Oracle got all stupid with the JDK, trying to charge for it, so the community forked OpenJDK totally free of Oracle’s ‘stewardship’ and it’s been going gangbusters ever since.

                                                                                        1. 3

                                                                                          That’s an oversimplification, OpenJDK still is developed primarily by Oracle employees and existed before Oracle bought Sun. The only thing that changed is that previously it was a bad idea to use the official JDK over OpenJDK and now it’s a disastrously bad idea.

                                                                                          1. 2

                                                                                            Quite right.

                                                                                            So the risk now is that Oracle might de-fund OpenJDK development.

                                                                                            Given the VAST amount of critical infrastructure built atop the Java ecosystem that still exists, I’ll bet you dollars for donuts that the community would LEAP to the rescue if that happened.

                                                                                            Everybody likes to slag Java, but most of those same people would be UTTERLY SHOCKED at how much of what they love is built on that ecosystem.

                                                                                      2. 6

                                                                                        I’m reading this as do not use ZFS on Linux both for technical and legal reasons. I totally agree with Linus on that, I’m using XFS which happens to be the CentOS default ;-) Using ZFS might be totally fine on FreeBSD though, don’t know, but hear good stories about it!

                                                                                        1. 12

                                                                                          well, zfs on freebsd now uses zfs on linux, so i’m not really sure where the “unmaintained” part comes from. i’m using zfs on linux for quite a while now as data-dump, and it is really solid and easy to use.

                                                                                          my favourite example: when you have a disk which has problems but isn’t dead yet, you can add a new drive, resilver and then unplug the failing drive. no need to run with a missing drive. this is one command, quoting the manpage:

                                                                                          zpool replace [-f] pool old_device [new_device]

                                                                                          Replaces old_device with new_device. This is equivalent to attaching new_device, waiting for it to resilver, and then detaching old_device.

                                                                                          regarding “buzzword”: there are no equivalent options for linux imho, btrfs isn’t there and won’t be for a long time, if ever. xfs is ok, but has a completely different scope, being “just” a filesystem. zfs replaces the whole lvm+mdraid stack, and wraps it into usable tools without that many footguns.

                                                                                          the amount of fud spread concerning zfs is really amazing. i’m a bit sad that linus apparently buys into it, i understand the fear about oracle licensing fsckups, though.

                                                                                          1. 3

                                                                                            zfs replaces the whole lvm+mdraid stack

                                                                                            Along with cryptsetup.

                                                                                            1. 1

                                                                                              Yes, forgot that :)

                                                                                          2. 6

                                                                                            I read that is Linus’s perspective, but I(and many others) have a different perspective. I don’t see any technical reason to not use ZFS on Linux, it’s well-maintained, stable and pretty much boring tech these days.

                                                                                          3. 5

                                                                                            I don’t blame him neither - there must have been a (legal) reason for Apple dropping it and coming out with APFS. Nonetheless it’s quite a strong opinion from someone who never used it.

                                                                                            1. 8

                                                                                              ZFS had a lot of baggage that they didn’t want because they’d never expose it to the users anyway. And it wouldn’t have scaled to work on devices like the Apple Watch because of the ARC.

                                                                                              1. 1

                                                                                                Apple has implemented ZFS on Mac OS X. I don’t remember exactly whether it made to a public beta, or just it was leaked it exists, but apparently at some point Apple has decided they want ZFS, they just never shipped it to users.

                                                                                                1. 2

                                                                                                  Yes, it was a thing when I was there the first time; but the word on the street was that licensing issues basically killed it, and it was never a good fit for Apple’s primary use case for a file system.

                                                                                                  1. 1

                                                                                                    I think the problem was that NetApp sued Sun over alleged violation of their patents by ZFS:

                                                                                                    In the meantime, Sun and NetApp had been locked in a lawsuit over ZFS and other storage technologies since mid-2007. While Jonathan Schwartz had blogged about protecting Apple and its users (as well as Sun customers, of course), this likely led to further uncertainly. On top of that, filesystem transitions are far from simple. When Apple included DTrace in Mac OS X, a point in favor was that DTrace could be yanked out should any sort of legal issue arise. But once user data hit ZFS, it would take years to fully reverse the decision. While the NetApp lawsuit never seemed to have merit (ZFS uses unique and from-scratch mechanisms for snapshots), it indisputably represented risk for Apple.

                                                                                                    https://arstechnica.com/gadgets/2016/06/zfs-the-other-new-apple-file-system-that-almost-was-until-it-wasnt/

                                                                                                  2. 1

                                                                                                    Yes I still have a copy of the beta where they included ZFS support.

                                                                                                    You can still have ZFS on MacOS, just not for your /

                                                                                                2. 3

                                                                                                  Apple dropping it and coming out with APFS

                                                                                                  AFAIK (and I am no expert) ZFS has little to absolutely no-sense on home devices which Apple is offering. ZFS is meant for servers mostly. In that case APFS makes more sense in this case.

                                                                                                  1. 2

                                                                                                    ZFS would make sense on macOS, but agreed, ZFS makes some (but little) sense on ipadOS and zero sense on watchOS. ZFS is most comfortable with ~ 1GB(or more) of ram to itself, which is hard to come by on the smaller devices.

                                                                                                3. 3

                                                                                                  “so they would have to do a lot of magic legal loopholes to get around the license Sun released ZFS under, before Oracle bought Sun.”

                                                                                                  Them making API’s copywritten was such a magic loophole that I started recommending against depending on anything owned by a company that does patent suits. Those less-popular, foundation-run languages, OS’s, etc suddenly look worth the extra effort.

                                                                                                  1. 3

                                                                                                    Agreed on it being a major magic loophole. That’s not quite resolved yet, the supreme court hasn’t ruled. It will be very, very interesting to see what side the supreme court comes down on. Hopefully against Oracle, but who knows.

                                                                                                    ZFS is an interesting case, because basically everyone that worked on ZFS @ Sun now plays with the OpenZFS version, which is under the Sun license(CDDL), and can’t get back into Oracle’s version(since they closed-source their version) so there are 2 totally different versions of ZFS that are only compatible if you work at it. The ZFS everyone uses, and the ZFS Oracle supports, that nobody uses(again unless they have to for non-technical reasons). The Oracle version doesn’t offer any of the good bits that the OpenZFS version has, like encrypted data, multi-platform support, etc, etc.

                                                                                                    I also agree on your recommendations. Suddenly the BSD’s are looking better and better every day :)

                                                                                                    OpenJDK is pretty much the default Java these days isn’t it? I don’t think anyone in server land is actively installing Oracle’s java anymore, unless they have to(for generally non-technical reasons).

                                                                                                    1. 3

                                                                                                      Them making API’s copywritten was such a magic loophole that I started recommending against depending on anything owned by a company that does patent suits.

                                                                                                      IANAL, but I think the problem for Oracle would, in this case, be that they themselves (actually Sun) released ZFS under an open source license, plus that the CDDL includes a patent grant. This is different from the Java case, because Google did not use OpenJDK, but based their implementation on Apache Harmony. If APIs are copyrightable, then you’d think that Sun releasing OpenJDK as GPL would at least license use of the API in that implementation (and in this case ZFS).

                                                                                                      Of course, they could sue ZoL for infringements of patents in newly-added code. But then they could probably sue developers of other filesystems with those patents as well.

                                                                                                    2. 2

                                                                                                      Oh I totally get it. I think his stance makes a lot of sense, but it will be interesting to see how or if things change when Ubuntu makes ZFS mainstream.

                                                                                                      It’s already available as a checkbox in the 20.04 installer, and I suspect as later releases happen it will become the default.

                                                                                                    1. 5

                                                                                                      Why is the whole site blank without JS?!

                                                                                                      1. 2

                                                                                                        Websites showing blank screen without ES3000 in bleeding edge browser and ubiquity of cable modems (I thought it’s weird 1990s tech, isn’t it dialup over TV coax cable multiplexed with actual analog TV?) — that’s real cyberpunk.

                                                                                                        (Now I’m going to detach hard disk from my computer to go to neighbor to copy their NPM cache)

                                                                                                        1. 3

                                                                                                          Cable modems encode the data into MPEG

                                                                                                          https://computer.howstuffworks.com/cable-modem5.htm

                                                                                                          1. 1

                                                                                                            When I learned about this (last year), I definitely felt more surprised and fascinated at this approach than I thought I should have been.

                                                                                                        2. 1

                                                                                                          Welcome to the modern web ;)

                                                                                                        1. 54

                                                                                                          So, now, here’s the question: if you’re picking out a doctor, which one do you want to go to? The one who reads medical journals for fun, hones their craft constantly, and who volunteers at the free clinic sometimes…or the doctor who doesn’t do anything medicine-related after 5?

                                                                                                          Some people really like what they do for a living, and would do it even if they weren’t getting paid. I would venture to guess that those people, having both passion and more hours under their belt, are generally better at the activity in question.

                                                                                                          1. 88

                                                                                                            The one who is rested.

                                                                                                            I’ve been around the block often enough that I am not sure there is much correlation between number of hours someone put in programming and the quality of their output. I think it is far more important how you spend those hours while you are actually doing it.

                                                                                                            1. 27

                                                                                                              I’m not necessarily talking about someone who stays up til 2 every morning. I’m talking about the person who, when they have free time, decides to spend much of it honing their skills.

                                                                                                              1. 12

                                                                                                                Exactly. What’s favoring your statement is simply experience. They’re acquiring more experience. That might make them better at the job.

                                                                                                                Doesn’t necessarily make them the best hire if considering many factors. For instance, the ones coding all the time might be more likely to jump ship than the person that wants work-life balance to spend time with kids.

                                                                                                                1. 10

                                                                                                                  What if they spend their time honing their skills at work?

                                                                                                                  1. 9

                                                                                                                    I don’t know about the realities of the medical profession so I can’t extend the metaphor, but in the tech industry as it is, the amount of experience someone has programming and their value to a company have nothing to do with each other after a point. Learning new skills and keeping up with the industry is good and necessary of course, which is why many professions mandate it for certification (law comes to mind). I’d love to see part of each work month go towards time that can be spent doing just that.

                                                                                                                    But to be honest? I don’t care if my doctor spends 2 hours a night researching new diseases unless that’s what I’m going to them for. I care about the quality of care, bedside manner, etc. Not sure that’s correlated to hours worked.

                                                                                                                    1. 4

                                                                                                                      If you’re treating a common cold, it’s likely that the extra hours sunk into study don’t affect the outcomes. You might just end up with a very unrelatable doctor, which could affect bedside manners, patient trust, and compliance. It really depends on the problem space - something that I would venture is true for programmers, too.

                                                                                                                      1. 3

                                                                                                                        Why do you assume that reading medical journals out of interest leads to unrelatability?

                                                                                                                        1. 3

                                                                                                                          How many patients read medical journals? It’s more likely that someone is more relatable to the average person if they do things that an average person also does.

                                                                                                                          1. 5

                                                                                                                            How many average people go to medical school? :)

                                                                                                                            1. -1

                                                                                                                              Doctors are people, even if slightly superior in a few ways. They should be doing roughly the same things as people do.

                                                                                                                              1. 2

                                                                                                                                even if slightly superior in a few ways

                                                                                                                                no

                                                                                                                                1. 1

                                                                                                                                  And reading interesting things isn’t something that people do?

                                                                                                                        2. 2

                                                                                                                          I don’t really care what my doctor does in her free time because in my experience this has no bearing on the care I receive.

                                                                                                                          1. 4

                                                                                                                            How can you rely on your experience in this area? How many doctors do you know well enough to know what they do in their spare time and how effective they are as a doctor?

                                                                                                                            For me, that’s really small and I don’t think it’s useful enough to generalize or predict anything.

                                                                                                                            Maybe your experience is really different. If so, you may want to describe it so your statement has credibility and usefulness.

                                                                                                                            1. 6

                                                                                                                              If my anecdote is too small to predict anything than why is the assumption implicit in the generalization at all reliable for you? Why the double standard? I personally just don’t care or worry about it. Same is true of the people who write my software. If the software’s good, it’s good. I could care less if in your free time you prefer doing drugs and making wicker baskets to having arguments on hacker news and writing IRC bots. And vise versa, if your software isn’t good, that’s that, and I don’t start asking if the person writing it just isn’t dedicated enough.

                                                                                                                              1. 1

                                                                                                                                I think for me, it’s the different between a logical thought experiment about general guesses vs a real statement of value.

                                                                                                                                I like pondering hypotheticals but would have reacted poorly if GP had said “doctors who volunteer are better” without rationale or reasoning. I like an invitation to provide evidence or data but get put off by a likely baseless statement (“My experience is that all doctors are secretly purple inside their skin even though I only know two doctors and have never looked under their skin”).

                                                                                                                                1. 0

                                                                                                                                  My anecdote is at least based in reality. I can’t say the same for the generalization, whose assumption lacks evidence of any sort.

                                                                                                                        3. 9

                                                                                                                          The one who is rested.

                                                                                                                          This is misdirection and does not address the original comment.

                                                                                                                          As a separate point, it is of course valid and true.

                                                                                                                          But there is an implied “all others things being equal” in the original claim. So now…

                                                                                                                          [Assuming they’re both equally rested], if you’re picking out a doctor, which one do you want to go to? The one who reads medical journals for fun, hones their craft constantly, ….

                                                                                                                          That is the question you’re on the hook for answering. Imo the answer is clear.

                                                                                                                          1. 1

                                                                                                                            I don’t believe that finishing at 5pm means you don’t “reads medical journals for fun, hones their craft constantly”. It just means you are not doing it after 5pm. My point is that how much effort someone puts into it does not really tell me anything by itself because I cannot tell what kind of effort it is. I’ve seen enough passionate idiots and occasionally was one, who constantly busied themselves with their craft without advancing much because it really matters what and how you do it. It is very easy to become stupider by not resting enough and not giving time to your mind to process everything.

                                                                                                                            So if the only thing I know is that one doctor is very busy and the other one isn’t, I WILL go with the rested one because if nothing else I expect them to make fewer errors.

                                                                                                                            P.S: I know doctors were here only for illustration purposes, but as it happens, I actually just recently experienced a local medical expert screwing up my mother’s examination exactly because he is too busy.

                                                                                                                            1. -1

                                                                                                                              The answer to that question is clear to everybody. I think it’s fine to treat it as a rhetorical question (therefore not answer it) and respond by (implicitly) pointing out that it’s unlikely that both are equally rested.

                                                                                                                            2. 5

                                                                                                                              The one who is rested and loves medicine. These aren’t exclusive options.

                                                                                                                              Here’s my preference:

                                                                                                                              1. rested and loves medicine
                                                                                                                              2. rested or loves medicine
                                                                                                                              3. neutral
                                                                                                                              4. tired
                                                                                                                              5. hates medicine

                                                                                                                              Of course there are many more factors that may be more important so my rank assumes everything else being equal.

                                                                                                                              1. 8

                                                                                                                                I work on multiple side projects and get more than enough sleep. If doing things outside of work cuts into your sleep, perhaps the problem is your job.

                                                                                                                                1. 11

                                                                                                                                  Do you have children? In my experience they’re a great time sink…

                                                                                                                                  1. 7

                                                                                                                                    I don’t. Many friends do. But I feel the same way, at least beyond infancy: If your work forces you to choose between sleeping and spending time with your children, maybe the problem is your job.

                                                                                                                                    It should be possible to work, do things that you care about, and be well rested. The choice at the start of this thread should be a false one at a healthy workplace.

                                                                                                                                    1. 4

                                                                                                                                      But, you see, even if you have a good job, you still have to choose between children and side projects…

                                                                                                                                      1. 6

                                                                                                                                        That’s not strictly true. Source: got 4 kids, soon 5.

                                                                                                                                2. 1

                                                                                                                                  Ironically doctors work long shifts and crazy hours… always felt kinda bizarre to me, and you wonder if you’re really receiving the best care. But that’s the way it is.

                                                                                                                                3. 13

                                                                                                                                  Perhaps it’s true that a programmer who codes in their spare time will be better than one who doesn’t. Let’s assume that’s true. It doesn’t answer whether it’s “OK” to only code at work.

                                                                                                                                  Is it OK to say “I could be a better programmer if I coded 4 more hours a week, but then I’d be a worse parent, so I won’t”? Is it OK to choose to spend those hours volunteering, playing music, teaching English, being a foster parent, caring for elderly relatives, hiking, or whatever you think is fun or important?

                                                                                                                                  Yes, absolutely it’s OK. And if anyone tells you it isn’t, they probably don’t have your best interests in mind.

                                                                                                                                  1. 5

                                                                                                                                    I think I didn’t phrase my argument well.

                                                                                                                                    If someone codes/does whatever in their spare time – that is, in the time that is not dedicated to parenting or family obligations or whatever – then I would argue that they will often be better at that activity.

                                                                                                                                    In other words “if, by choice, your casual hobby is also what you do at work, you will often be better at your job than someone who isn’t as interested.”

                                                                                                                                    1. 2

                                                                                                                                      You forget that programming is a social activity, where code must almost always be reviewed and shared as a responsibility. And you forget that those who do nothing but spend all their time at their desk hacking at who cares what are usually not especially worldly and pleasant. Those who instead do things like

                                                                                                                                      • Go outside
                                                                                                                                      • Spend time with other people
                                                                                                                                      • Experience their life

                                                                                                                                      will often, for some reason, become more rounded individuals, who will usually handle the social element of coding better; and we all know that social element is a big one.

                                                                                                                                    2. 7

                                                                                                                                      It’s absolutely ok to be competent but not outstanding. But if you look for outstanding people in their fields, I strongly you will find that they don’t settle for doing just what is required by their jobs.

                                                                                                                                      Are you looking for competence or excellence?

                                                                                                                                      1. 3

                                                                                                                                        Are you looking for competence or excellence?

                                                                                                                                        I think in the context of this conversation the question is “do you aspire to be competent or excellent?”

                                                                                                                                        Both are valid aspirations when you consider the trade offs with the other parts of your life. And it’s fine to make different choices at different stages of your life.

                                                                                                                                        Are you looking for competence or excellence?

                                                                                                                                        Circling back, I think one reason I react strongly here is that my first full-time development job was at a place with a culture of constant overtime. They had a local reputation for burning people out. And to this day, their job postings ask for “passionate” developers - a code word, in their case, for “willing to be exploited”.

                                                                                                                                        So I’m resistant to a programmer culture that says you have to work all the time or you’re not good. I’ve been avoiding that mentality at every job since then (10 years) and am doing fine.

                                                                                                                                        Finally, I think become excellent during work hours is an underrated strategy. You probably work 40 hours a week. I seriously doubt you can spend 40 additional hours of free time programming. So a developer who spends the work week building interesting stuff with smart people, then chills out, is going to grow faster than one who spends the work week doing boring stuff and attending meetings, then crams in 4 extra hours of fun coding.

                                                                                                                                        1. 3

                                                                                                                                          IMO excellence is mostly diminished by the pace of work, not the degree of experience. less experienced coders/doctors may take more time to do a thing properly, and they should have the time to do that. they should not be expected to learn things off the job so they can churn out more commits or patients.

                                                                                                                                          1. 2

                                                                                                                                            I’m not sure I understand the response. First: Why would you expect world class work from someone less experienced in any circumstances?

                                                                                                                                            Second: I think you misunderstood the argument. If someone is self motivated enough to choose to spend time playing with code outside of work, I would expect that to correlate strongly with excellence.

                                                                                                                                            Most jobs don’t need excellence, just competence.

                                                                                                                                            1. 1

                                                                                                                                              yeah i think i misunderstood: you were talking about the excellence of the worker, i was talking about the excellence of the product.

                                                                                                                                      2. 27

                                                                                                                                        I would venture to guess that those people, having both passion and more hours under their belt, are generally better at the activity in question.

                                                                                                                                        I’m actually not so sure about this.

                                                                                                                                        First, I’ve seen plenty of “passionate” people with many “hours under their belt” who were terrible people to work with. Some (not all) are extremely opinionated, arrogant, blind to the possibility there are other ways than $my_favourite_way, and generally just complete twats and impossible to work with.

                                                                                                                                        Second, I’ve worked with plenty of “I program only at my job”-programmers who are actually pretty good at their jobs.

                                                                                                                                        Most people would like to be better at their jobs, but not uses the same approach. Focusing just on “has open source contributions” or “spends evenings programming in $hip_new_language” seems rather short-sighted to me. In spite of having plenty of OSS contributions, I’m not so sure it actually made me a significantly better programmer (but perhaps it did? Hard to tell for sure).

                                                                                                                                        Either way, I think things are a lot more nuanced than you comment.

                                                                                                                                        1. 3

                                                                                                                                          Indeed not all practice is productive. Some of the worst artists I’ve ever seen have put in an ungodly amount of hours practicing with no mind in their head.

                                                                                                                                          1. 2

                                                                                                                                            The problem here is that I believe to be able to generate quality hours of practise, you still need an accumulation of many hours.

                                                                                                                                            Now, it’s possible to be stuck in a “spending many hours mindlessly with no good progress” rut - entirely possible. Honest self-evaluation, modifying one’s goals, fixing one’s learning methods, are all difficult challenges. But who can go from beginner/amateur to “efficient, high-quality practise” without many, many hours of junk practise? You need repetitions to even be able to recognize the difference between low quality and high quality practise.

                                                                                                                                            I can do certain activities in moderation now - I know that 2 effective sessions where I apply a strong effort serves me more than phoning it in 14 times a week, for example. But I needed to go beyond moderation, into obsession, to learn that.

                                                                                                                                            The strange thing is that I’m still not sure whether this is universal. People who are competent don’t really like admitting, or selectively forget their history of obsession - or they truly never had one. Can one get good something by having their very first practise sessions be high quality, and sustain that indefinitely? How can you start off spending high quality practise time if you’re new to something?

                                                                                                                                          2. 4

                                                                                                                                            First, I’ve seen plenty of “passionate” people with many “hours under their belt” who were terrible people to work with.

                                                                                                                                            Sure, but I have seen people who punch out on time that were terrible to work with. Sturgeons law applies here.

                                                                                                                                            1. 2

                                                                                                                                              The question is if there is a correlation or even causation between after-work-work and skill or productivity. Lorddimwit is essentially asking if you believe that there is a correlation.

                                                                                                                                            2. 8

                                                                                                                                              I had a doctor that would do things like volunteer for Doctors without Borders. You could get him on the phone for a quick sense of if it’s serious enough to come in. But you know what, he is so good he isn’t taking patients and likely won’t be for a long time. He doesn’t want to rushed, hurried, or be unable to give each patient the time and attention they deserve.

                                                                                                                                              It’s important not do more than you have time to do. Burnout and spreading yourself too thin is how mistakes and lower quality care happens.

                                                                                                                                              1. 4

                                                                                                                                                You’re missing the point. What your doctor does on the weekend is none of your business, and you have no right to know what that even is, let along use it to help your doctor-shopping.

                                                                                                                                                1. 2

                                                                                                                                                  I always hire the one with the home lab, the one with the open source hobby, etc.

                                                                                                                                                  1. 2

                                                                                                                                                    If we were to do a more fair analogy here, it would be.

                                                                                                                                                    If you’re picking out a doctor to take care of a sick child, which one do you want to go to? The one who reads about cutting edge research and will try to test the child over all the sickness du jour that he saw on medical journals so he can brag with his fellow doctors in his doctor meet-ups about all the cool stuff he does OR the kind family doctor you know and love and treats your kid well.

                                                                                                                                                    When we talk about “coding outside of work” we’re not usually talking about people who reads articles every now and then, we’re talking about the typical tech obsessed developer, which doesn’t correlate with a higher productivity developer from a business standpoint unless yous business is to write prototypes in new languages.

                                                                                                                                                    Besides, for more noble that volunteering for a free clinic sometimes might be, this won’t give a real cutting edge for the professional, they will spend most of the time treating the same diseases they would treat on their normal working hours.

                                                                                                                                                    LASTLY a dr. job is VERY different from an engineer job, and if an engineer isn’t already learning and honing their craft at work, they have a shitty job and should quit.

                                                                                                                                                    1. 2

                                                                                                                                                      There’s a false implication that what a software engineer does is as difficult as what a doctor does which is quite far from the truth.

                                                                                                                                                      Becoming a doctor requires a doctorates degree whereas some software engineers don’t have any degree at all. There’s a much higher bar for who becomes a doctor, and the work they do impacts other humans in more profound ways more directly.

                                                                                                                                                      1. 6

                                                                                                                                                        There’s a much higher bar for who becomes a doctor

                                                                                                                                                        How much of this is because of professional license requirements being used to deflate the number of doctors and keep salaries high?

                                                                                                                                                        While I don’t disagree that doctors require advanced education, it seems like a streak of protectionism runs through the field.

                                                                                                                                                        1. 1

                                                                                                                                                          Not sure TBH. What I can say is that my A&P class was harder than anything I’ve ever done in Tech. And that’s year 1 or 2 for a med student.

                                                                                                                                                        2. 1

                                                                                                                                                          Becoming a doctor requires a doctorates degree

                                                                                                                                                          That’s not what a doctorate means at all. A doctorate is a research degree. Becoming a medical doctor requires an MB/BCh (Bachelor of Medicine/Bachelor of Surgery) or equivalent, not a doctoral degree.

                                                                                                                                                          1. 1

                                                                                                                                                            In America you need a Professional Doctorates in Medicine. You’re right though that it is not the same thing a Research Doctorate. Also TIL it’s a Bachelor’s of Medicine or a Bachelor’s of Surgery in (seemingly most) other countries.

                                                                                                                                                            1. 2

                                                                                                                                                              Oh really? That’s so weird, I never knew that. But I guess it fits with America also requiring a professional doctorate to study law as well. America seems (from my very non-American perspective) to have a bit of an issue with degree inflation.

                                                                                                                                                              1. 1

                                                                                                                                                                School in America is basically a scam you’re required to participate in if you want money, so you’re not wrong :)

                                                                                                                                                        3. 1

                                                                                                                                                          Why would I ‘pick out’ a doctor? I go to my local GP and if they refer me to a specialist I’ll go to the specialist they refer me to.

                                                                                                                                                          1. 1

                                                                                                                                                            Well, programming is not brain surgery. I’d argue that programming is more like tying shoelaces.

                                                                                                                                                            1. 1

                                                                                                                                                              This question might be a wrong one to ask as the comparison to software engineering.

                                                                                                                                                              First, you don’t know which doctors read medical journals for fun, nor hone their craft constantly. If you would ask them that, remember what Dr House said: “All people lie” :) The effect you’re trying to measure (passion and more hours under their belt) is something observable (at least for doctors) through recommendation – most of the people would visit a doctor they got good recommendations for.

                                                                                                                                                              Second, medical profession is a lone wolf profession, which in SE translates to a “hero developer” mentality, something that is quite devastating. We work in teams (at least, huge majority of software engineers), and the major strength doesn’t come from a single persons excellence, but from the ability to work in a team, offer understanding, and deliver maintainable system.

                                                                                                                                                              Finally, the question is posed in a black-white fashion, assuming the situation is either/or. I agree that passion and experience are important factors for excellence, but it is not an implication that after work time spent on coding means more passion or experience, as there are so many other factors that influence our daily routines and our wants (kids, taking care of ill family members, doing community work, having a second job, …).

                                                                                                                                                              1. 1

                                                                                                                                                                The doctor question actually is pretty relevant. One would think mortality rates would be lower for experienced doctors, but the opposite is true: you’re better off (statistically) going to a younger doctor, because even those older doctors who try to keep up with the literature do not manage to update their understanding of the whole of medicine. Young doctors just recently had about a decade of the collectively-understood current best understanding of medicine crammed into their head – plus some more about their particular specialty – and they are generally both up to date and well-balanced. Once out of school, doctors get more selective about their favorite subjects, and the subjects they don’t like so much become blind spots.

                                                                                                                                                                Software developers who study on their own rarely have a well-rounded view of the domain, but neither do devs who just graduated from school. Where I went, we at least had required courses in project management, digital logic, and a handful of distinct languages (so somebody with a degree could draw out a gate-wise 4-bit CPU with microcode and write a straightforward compiler for it), but our language survey course (despite best efforts) was sort of a joke because it was only a single semester, and students graduated writing passable code in only java, c, and sql. A lot of schools stick closer to the standardized curriculum and are basically just java bootcamps, despite being regular degree programs at ordinary liberal arts universities. Self-study, if done well, can fill in some of the gaps left by necessity in a four year curriculum.

                                                                                                                                                                1. 1

                                                                                                                                                                  Experienced surgeons get the more difficult cases, which would also explain worse survival stats.

                                                                                                                                                                  1. 1

                                                                                                                                                                    I had the impression that this particular statistic was about GPs but I might be misremembering. (I can’t even remember where I heard it, so it might even have been debunked!)

                                                                                                                                                                    1. 1

                                                                                                                                                                      For GPs it does sound plausible; outside hospitals, most work long hours without a second opinion to keep their mind straight. That’s a hard situation to maintain skills in.

                                                                                                                                                                2. 1

                                                                                                                                                                  Hmm all else being equal the one who has more experience. However in practice all else is not equal…

                                                                                                                                                                  1. 0

                                                                                                                                                                    And experience in what? The doctor who explains what is happening in terms that I, a layperson, can understand, is far more valuable to me than someone who writes me a prescription and dismisses me, regardless of how many studies they’ve read or even conducted.

                                                                                                                                                                1. 1

                                                                                                                                                                  Kind of misleading history. Jean-Louis Gassée got into a row with Apple over the sale and Apple walked.

                                                                                                                                                                  “ Jean-Louis Gassée. In many respects, Gassée was responsible for the ultimate success of the Macintosh platform as he drove (and hid its existence from Steve Jobs until after he left the company) the development of the Macintosh II, an “open” system that rejected many of Jobs’ original design mandates but sold extremely well. After yet another Apple power struggle, Gassée left the company in 1990 and founded Be, Inc. Be’s principal product was the BeOS, which was powerful and ahead of its time. Gassée was in the happy position of being first in line to sell his company and the OS to Apple in the 1996 timeframe as the company was in desperate need of an upgrade to the Mac OS and had proven incapable of developing one internally. Unfortunately, Gassée could not stop himself from being French and annoying and the deal broke down, to the happiness of Steve Jobs and NeXT, who swooped in and took advantage of the opportunity.”

                                                                                                                                                                  • Selling Steve Jobs’ Liver: A Story of Startups, Innovation, and Connectivity in the Clouds
                                                                                                                                                                  1. 1

                                                                                                                                                                    ‘French and annoying’? Yeah, that sounds totally unbiased. /s

                                                                                                                                                                    1. 2

                                                                                                                                                                      There’s a quote of him describing himself that’s not terribly far off, so I don’t think it’s too dishonest. I’d have to dig through his twitter again to find it.

                                                                                                                                                                      1. 2

                                                                                                                                                                        It would make sense if it were in quotes and referring to Gassée himself saying it (or similar).

                                                                                                                                                                  1. 9

                                                                                                                                                                    My take-away:

                                                                                                                                                                    • We, as a profession, are incredibly incompetent at identifying critical infrastructure.
                                                                                                                                                                    • We, as a profession, are unable to ensure that such projects aren’t some single-developer effort living on some server in someone’s basement.
                                                                                                                                                                    • Never ever let companies take over anything of importance. They are basically a single hire/fire cycle away from turning the burden someone gracefully offered to accept on their behalf into some to-be-monetized (or discarded) asset.
                                                                                                                                                                    • Take. your. meds.
                                                                                                                                                                    1. 10

                                                                                                                                                                      Take. your. meds.

                                                                                                                                                                      Eh?

                                                                                                                                                                      1. -5

                                                                                                                                                                        Do you think this person is well?

                                                                                                                                                                        1. 13

                                                                                                                                                                          I have no clue because that’s none of my business to presume on

                                                                                                                                                                          1. -1

                                                                                                                                                                            There is no presumption; the author’s own words are there for us.

                                                                                                                                                                            1. 16

                                                                                                                                                                              And you’re speculating about something off topic based on them. Please don’t. It’s not kind and doesn’t help anyone.

                                                                                                                                                                              Besides, I have procrastinated more important things for similar timespans myself in the past, and it’s not great to hear that this would be the result if I talked about it. This is why people burn out in silence.

                                                                                                                                                                              1. 9

                                                                                                                                                                                I want to weigh in to say that I agree that I agree with the view that it’s not helpful to speculate about this. I do think that the speculation is coming from a place of caring, and it would be great if we all learn to talk more about our own mental health, but boundaries are important too. I do have the deepest sympathy for the author; it’s clear that there’s a personal story behind the technical one. I admire their courage in admitting it and doing what they can to repair the damage.

                                                                                                                                                                                1. 4

                                                                                                                                                                                  I do not believe there was any malice or intent to harm in the comment. It’s really disheartening that everything around mental health devolves into negativity.

                                                                                                                                                                                  1. 4

                                                                                                                                                                                    It’s really disheartening that everything around mental health devolves into negativity.

                                                                                                                                                                                    The problem from my PoV is that the debate here is shallow for anyone affected and only ever gets good if a couple of those start chatting. Off-hand remarks that show low understanding of a topic are not helping and seriously make me angry. Many of them don’t cross the threshold of people wanting to engage.

                                                                                                                                                                                    I don’t take meds to do the stuff that sucks, I take meds to do the stuff I find important and want to do. That difference is of crucial importance. It’s not like I have a slot “meds in, any work out”. I still need to make my mind up what I want to do. I can chug as many meds as I want, if I’m burnt out on a project, I’m burnt out.

                                                                                                                                                                                    1. 2

                                                                                                                                                                                      For the record, I didn’t take the comment about meds literally and I didn’t expect others to either. I considered it to be a recognition of mental health, but not literally “this guy needs to be ON PILLS”.

                                                                                                                                                                                    2. 3

                                                                                                                                                                                      You should consider how your comment might be read before posting it

                                                                                                                                                                                      1. 3

                                                                                                                                                                                        On the internet where we are exposing our comments to every culture on the planet: this is a losing game. You’ll never be able to guess how someone on the other side of the planet will interpret your message without understanding their life experience. You can only hope to not be blatantly offensive and that in a worst case scenario there will be a civil discourse.

                                                                                                                                                                                        edit: It’s so much easier to read a room / body language than online interactions

                                                                                                                                                                                        1. 2

                                                                                                                                                                                          And yet, everyone else in this thread is doing it perfectly fine

                                                                                                                                                                                          1. 0

                                                                                                                                                                                            Ok so you want mental health discussion to remain taboo. That’s not helping.

                                                                                                                                                                                            1. 3

                                                                                                                                                                                              Considering how our words might affect others doesn’t mean that we censor what we’re saying, it means that we express what we have to say delicately. If you can’t understand talking about delicate issues delicately however, you simply shouldn’t talk about them imo.

                                                                                                                                                                                              1. 3

                                                                                                                                                                                                You’re not “discussing mental health”, you’re insulting a person. If you were to claim that i was a paraplegic for not being able to run a 10 minute mile I wouldn’t be ableist by identifying that claim as an insult.

                                                                                                                                                                                                1. 1

                                                                                                                                                                                                  That analogy works if you write a blog post telling us you can’t feel your legs.

                                                                                                                                                                                                  1. 1

                                                                                                                                                                                                    That still wouldn’t be paraplegic ya dingus

                                                                                                                                                                                                    1. 1

                                                                                                                                                                                                      It’s a valid observation when you tell the world you’re crippled

                                                                                                                                                                                            2. 1

                                                                                                                                                                                              Yes, it is harder on the internet. But you can at least venture a guess and make an attempt.

                                                                                                                                                                                              1. 1

                                                                                                                                                                                                I really don’t get how anything in this giant thread is controversial. Nobody is denigrating the author.

                                                                                                                                                                                                1. 1

                                                                                                                                                                                                  I really don’t get how anything in this giant thread is controversial.

                                                                                                                                                                                                  Obviously.

                                                                                                                                                                                                  1. 1

                                                                                                                                                                                                    Take. your. meds.

                                                                                                                                                                                                    I am not the author of these words which started this stupid thread. Please take the pitchforks and go troll somewhere else.

                                                                                                                                                                                                    1. 1

                                                                                                                                                                                                      I didn’t respond to that comment, I responded to yours.

                                                                                                                                                                                                      1. 0

                                                                                                                                                                                                        Yes and mine was clarifying to the person clutching their pearls over the innocuous comment

                                                                                                                                                                                      2. 8
                                                                                                                                                                                        • the author is talking about a free service, provided for years. he could’ve just deleted everything, but instead writes an article over how mistakes were made. seems pretty reasonable.
                                                                                                                                                                                        • i don’t think we are doing, or are qualified for tele-diagnostics here.
                                                                                                                                                                                        • the author usually has a colorful language, from what i’ve read over the years.
                                                                                                                                                                                        • if anything wouldn’t be well, “take some meds” is the suckiest solution.
                                                                                                                                                                              1. 10

                                                                                                                                                                                I run unbound and a three line bash cron-job to do the same thing. No complex untrusted install scripts, no web interface (why would you need one?) I have a recursive resolver instead of having to send everything to goog or cloudflare etc. I am pretty happy with it.

                                                                                                                                                                                1. 11

                                                                                                                                                                                  why would you need one?

                                                                                                                                                                                  1. Graphs and other visualizations without having to write the software to process logs yourself. I use the graphs to identify devices that are accessing domains excessively and block that domain if I don’t like the behavior. I’ve done that several times in the last couple of years that I’ve been using Pihole.
                                                                                                                                                                                  2. Allowing other users without command line confidence in the home to block domains or temporarily or permanently allow domains.
                                                                                                                                                                                  3. Quicker temporary disabling of Pihole if I hit a strange domain behavior. There’s one site one of my family members uses frequently and I use infrequently that is poorly written and requires JS loads from a bunch of blocked domains in order to work. It’s easier for both of us to load Pihole in the browser and click “disable for 30 seconds” just long enough to get past the broken page. There are no alternatives to this site.
                                                                                                                                                                                  4. I’ve got seven blocklist sources. I could write something to handle pulling from each of these on their own schedules but Pihole covers that for me. I need only add a URL once in a while.
                                                                                                                                                                                  5. One less system to manage. I need only keep the Pi-powered and remember to run pihole -up once every couple of weeks. I’ve not touched the base installation in forever.

                                                                                                                                                                                  The big ones are any time a non-technical user has to use it. I’ve not set up Pihole at the coworking space I run only because having to log-in and temporarily disable it is still a PITA for some people.

                                                                                                                                                                                  1. 4

                                                                                                                                                                                    And what is that three line base cron-job? If there is a simple solution out there I’d love to use it.

                                                                                                                                                                                    1. 14

                                                                                                                                                                                      cat /etc/cron.weekly/ad-block

                                                                                                                                                                                      #!/bin/bash
                                                                                                                                                                                      set -e
                                                                                                                                                                                      
                                                                                                                                                                                      curl -s http://sbc.io/hosts/hosts | grep '^0.0.0.0' | awk '{printf "local-zone: \"%s\" refuse \n", $2}' > /etc/unbound/unbound.conf.d/adblock.conf
                                                                                                                                                                                      
                                                                                                                                                                                      service unbound reload
                                                                                                                                                                                      
                                                                                                                                                                                        1. 1

                                                                                                                                                                                          Oh nice

                                                                                                                                                                                        2. 3

                                                                                                                                                                                          Is there any particular reason you chose sbc.io instead of others, e.g. pgl.yoyo.org?

                                                                                                                                                                                          1. 4

                                                                                                                                                                                            It is a port of a previous dnsmaq setup I had for a while. I do not really remember why I chose that back then. Works pretty good given how little time it took to set up..

                                                                                                                                                                                          2. 3

                                                                                                                                                                                            If the hosting of that file ever throws a bad response you may break unbound. The reload might harmlessly fail but the next boot will fail to start unbound.

                                                                                                                                                                                            Add some error handling to wipe the file if the reload throws a non-zero exit code

                                                                                                                                                                                        3. 2

                                                                                                                                                                                          I have a recursive resolver

                                                                                                                                                                                          So this queries the root servers directly? I considered doing this with my unbound setup, but my ISP seems to like to poison/hijack DNS, and I couldn’t figure out a way to have this while also having something like DNS over TLS to keep them out.

                                                                                                                                                                                          1. 5

                                                                                                                                                                                            yes, I use the root.hints from here: https://www.iana.org/domains/root/files

                                                                                                                                                                                        1. 3

                                                                                                                                                                                          It’d be sad to see wire go. Their UI and some features were better than signal for everday users, also they did stuff like opensource their server software and experiment with a rust client. (And I know people were verifying their crypto core.) Really wasted potential, and I’ll have to move part of my family to another client again.

                                                                                                                                                                                          1. 5

                                                                                                                                                                                            and I’ll have to move part of my family to another client again.

                                                                                                                                                                                            any good alternatives?

                                                                                                                                                                                            1. 2

                                                                                                                                                                                              Out of the box it’d be signal if you want to stay in the same encryption/app scheme (desktop app,mobile clients, uses “the” signal protocol), but I’ll also take a look at matrix/riot.

                                                                                                                                                                                              1. 11

                                                                                                                                                                                                Signal is effectively yet another walled garden, and moxie insists on keeping it that way. I would avoid it at this point.

                                                                                                                                                                                                I recently set up my own XMPP server and successfully migrated friends and family to using it. Some even registered with other servers! We are all using OMEMO. There were a few hiccups but it has gone pretty well, and now we are using a federated protocol that has been around for ~20 years.

                                                                                                                                                                                                1. 4

                                                                                                                                                                                                  I’ve seen some stuff regarding that, but, I’ll be honest: I’ve never tried XMPP and Matrix, I’ve only watched it from the outside. There still seem to be many hiccups, and I’m really keen on having a solution that works and where I don’t have to do the support from long distance when something breaks. In my experience you’ll otherwise loose people over to stuff where it’s “just working” and then you don’t have any saying in that decision anymore. (Friends moving to telegram/whatsapp, or people only being reachable there because all other systems just have a broken push notification system for them and/or won’t get re-installed next time the phone is wiped.)
                                                                                                                                                                                                  So I’m ok with signals walled garden if it’s working.
                                                                                                                                                                                                  Because the sad truth is that most people don’t have the time or nerves to get things working again, even though it may seem simple, but you’re also just used to that. It’s why google wins on android, everything else is subtle but annoyingly harder to maintain or set up.

                                                                                                                                                                                                  1. 3

                                                                                                                                                                                                    TLDR: signal just works currently and specifically moxies “walled garden” isn’t that of a problem from my perspective.

                                                                                                                                                                                                    1. 6

                                                                                                                                                                                                      Wire’s walled garden wasn’t a problem until now. I say it’s only a matter of time for Signal.

                                                                                                                                                                                                      1. 6

                                                                                                                                                                                                        Wire is a venture-funded for-profit corporation. Signal Foundation is a 501c3 non-profit.

                                                                                                                                                                                                      2. 3

                                                                                                                                                                                                        I like signal, but I’ve been hesitant to hand out my phone number to “unvetted acquaintances” online, mostly due to the fact that many companies (like banks!) wrongly rely on sms based auth mechanisms. If signal allowed the use of email as a “contact” instead of a phone number, I would find it usable for many additional use-cases.

                                                                                                                                                                                                        1. 2

                                                                                                                                                                                                          Depending on your use case you might want to check out telegram with correctly set privacy settings, if you’re not talking about sensitive data but want a simple way to contact people without revealing your phone number.

                                                                                                                                                                                                          1. 2

                                                                                                                                                                                                            I have a dedicated, 2eur/month contract, dumb phone which I use only for these kind of things.

                                                                                                                                                                                                  2. 2

                                                                                                                                                                                                    Depends on what you need.

                                                                                                                                                                                                    If you can live with the security of Telegram that is an excellent option ux-wise. Excellent clients for Android, iOS, Linux, Windows and I guess Mac as well (I haven’t tested it but AFAIK it is not just another Electron wrapper.)

                                                                                                                                                                                                    It is however not e2e-encrypted though. Client to server is encrypted like gmail and my bank and they seem to care a lot even if some of the things they say or do doesn’t make sense to me.

                                                                                                                                                                                                    I use it for a lot of my messaging.

                                                                                                                                                                                                    1. 2

                                                                                                                                                                                                      It is however not e2e-encrypted though

                                                                                                                                                                                                      Secret chats are.

                                                                                                                                                                                                      The paranoid crowd likes to dunk on Telegram for not making secret the default/only way to chat, but I like the convenience of non-e2e chats (search all the history on any device without any problems and so on)

                                                                                                                                                                                                      1. 1

                                                                                                                                                                                                        Good point!

                                                                                                                                                                                                    2. 2

                                                                                                                                                                                                      I’m still rooting for Matrix because they’re completely open source, federated (I think this is a really important point many overlook) and end-to-end-encryption. The company behind Matrix has a good reputation and even created the Matrix foundation to prevent this kind of corporate takeover of the communication platform. Just be aware that while e2e-encryption was implemented from the start and you can use it today, there are finishing touches being done to the UI right now so that it gets more usable/practical (cross-signing of new devices you log in to). The encryption stuff is a little harder to implement because Matrix is federated but there is a clear plan of how to solve all the issues and I hope they are finished soon :)

                                                                                                                                                                                                    3. 2

                                                                                                                                                                                                      They couldn’t fix a 100% CPU bug on iOS that has been plaguing anyone who uses it for VOIP calls over the last 2+ years. I lost faith in their talent a long time ago.

                                                                                                                                                                                                      1. 2

                                                                                                                                                                                                        There are similar outstanding problems on (older?) android devices too. On my old Samsung S4 your UI would hang for up to three seconds upon sending an image or loading high-through chats. Signal catches up in some aspects but still feels much more MVP. (I’ve had huge issues with random message-timers going on/off in bigger groups and messages never getting delivered or only partially, as well as people getting personal notifications about failed message receiving, which never got existed. Stuff that never happened on wire.)

                                                                                                                                                                                                        Edit: Also signal really needs a progress-indicator which shows how many more messages to load, I sometime wait for ~800 upon opening the desktop app.