1. 6

    I thought this was already posted here, but it’s talking about the poor security in the cloud system.

    1. 7

      I have been exclusively working remotely for the past 12 years. I would never work differently in this industry ever again. Happy to answer any questions.

      1. 1

        can I ask how you got into remote working?

        1. 3

          It was a necessity, I was living in a very small town in a very poor country with no IT industry to speak of and no plans to move at that time. Remote work was the only possible option at that point, and it worked well for me. In the meantime, I have moved from there, but remote working stuck with me.

      1. 23

        Kinda late on UNIX bashing bandwagon :)

        Also, Windows owes more of it’s legacy to VMS.

        1. 10

          It does, but users don’t use any of the VMSy goodness in Windows: To them it’s just another shitty UNIX clone, with everything being a file or a program (which is also a file). I think that’s the point.

          Programmers rarely even use the VMSy goodness, especially if they also want their stuff to work on Mac. They treat Windows as a kind of retarded UNIX cousin (which is a shame because the API is better; IOCP et al)

          Sysadmins often struggle with Windows because of all the things underneath that aren’t files.

          Message/Object operating systems are interesting, but for the most part (OS/2, BeOS, QNX) they, for the most part, degraded into this “everything is a file” nonsense…

          Until they got rid of the shared filesystem: iOS finally required messaging for applications to communicate on their own, and while it’s been rocky, it’s starting to paint a picture to the next generation who will finally make an operating system without files.

          1. 10

            If we talk user experiences, it’s more a CP/M clone than anything. Generations later, Windows still smells COMMAND.COM.

            1. 6

              yes, the bowels are VMS, the visible stuff going out is CP/M

              1. 4

                Bowels is a good metaphor. There’s good stuff in Windows, but you’ve got to put on a shoulder length glove and grab a vat of crisco before you can find any of it.

            2. 10

              I think you’re being a little bit harsh. End-users definitely don’t grok the VMSy goodness; I agree. And maybe the majority of developers don’t, either (though I doubt the majority of Linux devs grok journald v. syslogs, really understand how to use /proc, grok Linux namespaces, etc.). But I’ve worked with enough Windows shops to promise you that a reasonable number of Windows developers do get the difference.

              That said, I have a half-finished book from a couple years ago, tentatively called Windows Is Not Linux, which dove into a lot of the, “okay, I know you want to do $x because that’s how you did it on Linux, and doing $x on Windows stinks, so you think Windows stinks, but let me walk you through $y and explain to you why it’s at least as good as the Linux way even though it’s different,” specifically because I got fed up with devs saying Windows was awful when they didn’t get how to use it. Things in that bucket included not remoting in to do syswork (use WMI/WinRM), not doing raw text munging unless you actually have to (COM from VBScript/PowerShell are your friends), adapting to the UAC model v. the sudo model, etc. The Windows way can actually be very nice, but untraining habits is indeed hard.

              1. 6

                I don’t disagree with any of that (except maybe that I’m being harsh), but if you parse what I’m saying as “Windows is awful” then it’s because my indelicate tone has been read into instead of my words.

                The point of the article is that those differences are superficial, and mean so very little to the mental model of use and implementation as to make no difference: IOCP is just threads and epoll, and epoll is just IOCP and fifos. Yes, IOCP is better, but I desperately want to see something new in how I use an operating system.

                I’ve been doing things roughly the same way for nearly four decades, despite the fact that I’ve done Microsoft/IBM for a decade, Linux since Slackware 1.1 (Unix since tapes of SCO), Common Lisp (of all things) for a decade, and OSX for nearly that long. They’re all the same, and that point is painfully clear to anyone who has actually used these things at a high level: I edit files, I copy files, I run programs. Huzzah.

                But: It’s also obvious to me who has gone into the bowels of these systems as well: I wrote winback which was for a long time the only tools for doing online Windows backups of standalone exchange servers and domain controllers; I’m the author of (perhaps) the fastest Linux webserver; I wrote ml a Linux emulator for OSX; I worked on ECL adding principally CL exceptions to streams and the Slime implementation. And so on.

                So: I understand what you mean when you say Windows is not Linux, but I also understand what the author means when he says they’re the same.

                1. 2

                  That actually makes a ton of sense. Can I ask what would qualify as meaningfully different for you? Oberon, maybe? Or a version of Windows where WinRT was front-and-center from the kernel level upwards?

                  1. 2

                    I didn’t use the term “meaningfully different”, so I might be interpreting your question you too broadly.

                    When I used VMS, I never “made a backup” before I changed a file. That’s really quite powerful.

                    The Canon Cat had “pages” you would scroll through. Like other forth environments, if you named any of your blocks/documents it was so you could search [leap] for them, not because you had hierarchy.

                    I also think containers are very interesting. The encapsulation of the application seems to massively change the way we use them. Like the iOS example, they don’t seem to need “files” since the files live inside the container/app. This poses some risk for data portability. There are other problems.

                    I never used Oberon or WinRT enough to feel as comfortable commenting about them as I do about some of these other examples.

                2. 2

                  If it’s any motivation I would love to read this book.

                  Do you know of any books or posts I could read in the meantime? I’m very open to the idea that Windows is nice if you know which tools and mental models to use, but kind of by definition I’m not sure what to Google to find them :)

                  1. 4

                    I’ve just been hesitant because I worked in management for two years after I started the book (meaning my information atrophied), and now I don’t work with Windows very much. So, unfortunately, I don’t immediately have a great suggestion for you. Yeah, you could read Windows Internals 6, which is what I did when I was working on the book, but that’s 2000+ pages, and most of it honestly isn’t relevant for a normal developer.

                    That said, if you’ve got specific questions, I’d love to hear them. Maybe there’s a tl;dr blog post hiding in them, where I could salvage some of my work without completing the entire book.

                3. 7

                  but users don’t use any of the VMSy goodness in Windows: To them it’s just another shitty UNIX clone, with everything being a file or a program (which is also a file). I think that’s the point.

                  Most users don’t know anything about UNIX and can’t use it. On the UI side, pre-NT Windows was a Mac knockoff mixed with MSDOS which was based on a DOS they got from a third party. Microsoft even developed software for Apple in that time. Microsoft’s own users had previously learned MSDOS menu and some commands. Then, they had a nifty UI like Apple’s running on MSDOS. Then, Microsoft worked with IBM to make a new OS/2 with its philosophy. Then, Microsoft acquired OpenVMS team, made new kernel, and a new GUI w/ wizard-based configuration of services vs command line, text, and pipes like in UNIX.

                  So, historically, internally, layperson-facing, and administration, Windows is a totally different thing than UNIX. Hence, the difficulty moving Windows users to UNIX when it’s a terminal OS with X Windows vs some Windows-style stuff like Gnome or KDE.

                  You’re also overstating the everything is a file by conflating OS’s that store programs or something in files vs those like UNIX or Plan 9 that use file metaphor for about everything. It’s a false equivalence: from what I remember, you don’t get your running processes in Windows by reading the filesystem since they don’t use that metaphor or API. It’s object based with API calls specific to different categories. Different philosophy.

                  1. 3

                    Bitsavers has some internal emails from DEC at the time of David Cutler’s departure.

                    I have linked to a few of them.

                    David Cutler’s team at DECwest was working on Mica (an operating system) for PRISM (a RISC CPU architecture). PRISM was canceled in June of 1988. Cutler resigned in August of 1988 and 8 other DECwest alumni followed him at Microsoft.

                4. 5

                  I have my paper copy of The Unix Hater’s Handbook always close at hand (although I’m missing the barf bag, sad to say).

                  1. 5

                    I always wanted to ask the author of The Unix Hater’s Handbook if he’s using Mac OS X

                    8~)

                    1. 5

                      It was edited by Simson Garfinkel, who co-wrote Building Cocoa Applications: a step-by-step guide. Which was sort of a “port” of Nextstep Programming Step One: object-oriented applications

                      Or, in other words, “yes” :)

                      1. 2

                        Add me to the list curious about what they ended up using. The hoaxers behind UNIX admitted they’ve been coding in Pascal on Macs. Maybe it’s what the rest were using if not Common LISP on Macs.

                    2. 7

                      Beat me to it. Author is full of it right when saying Windows is built on UNIX. Microsoft stealing, cloning, and improving OpenVMS into Windows NT is described here. This makes the Linux zealots’ parodies about a VMS desktop funnier given one destroyed Linux in desktop market. So, we have VMS and UNIX family trees going in parallel with the UNIX tree having more branches.

                      1. 4

                        The author doesn’t say Windows is built on Unix.

                        1. 5

                          “we are forced to choose from: Windows, Apple, Other (which I shall refer to as “Linux” despite it technically being more specific). All of these are built around the same foundational concepts, those of Unix.”

                          Says it’s built on the foundational concepts of UNIX. It’s built on a combo of DOS, OS/2, OpenVMS, and Microsoft concepts they called the NT kernel. The only thing UNIX-like was the networking stack they got from Spider Systems. They’ve since rewritten their networking stack from what I heard.

                          1. 4

                            Says it’s built on the foundational concepts of UNIX.

                            I don’t see any reason to disagree with that.

                            The only thing UNIX-like …

                            I don’t think that’s a helpful definition of “unix-like”.

                            It’s got files. Everything is a file. Windows might even be a better UNIX than Linux (since UNC)

                            Cutler might not have liked UNIX very much, but Windows NT ended up UNIX anyway because none of that VMS-goodness (Versions, types, streams, clusters) ended up in the hands of Users.

                            1. 10

                              It’s got files. Everything is a file.

                              Windows is object-based. It does have files which are another object. The files come from MULTICS which UNIX also copied in some ways. Even the name was a play on it: UNICS. I think Titan invented the access permissions. The internal model with its subsystems were more like microkernel designs running OS emulators as processes. They did their own thing for most of the rest with the Win32 API and registry. Again, not quite how a UNIX programming guide teaches you to do things. They got clustering later, too, with them and Oracle using the distributed, lock approach from OpenVMS.

                              Windows and UNIX are very different in approach to architecture. They’re different in how developer is expected to build individual apps and compose them. It wasn’t even developed on UNIX: they used OS/2 workstations for that. There’s no reason to say Windows is ground in the UNIX philosophy. It’s a lie.

                              “Windows NT ended up UNIX anyway because none of that VMS-goodness (Versions, types, streams, clusters) ended up in the hands of Users.”

                              I don’t know what you’re saying here. Neither VMS nor Windows teams intended to do anything for UNIX users. They took their own path except for networking for obvious reasons. UNIX users actively resisted Microsoft tech, too. Especially BSD and Linux users that often hated them. They’d reflexively do the opposite of Microsoft except when making knockoffs of their key products like Office to get desktop users.

                              1. 3

                                Windows is object-based.

                                Consider what methods of that “object” a program like Microsoft Word must be calling besides “ReadFile” and “WriteFile”.

                                That the kernel supports more methods is completely pointless. Users don’t interact with it. Programmers avoid it. Sysadmins don’t understand it and get it wrong.

                                I don’t know what you’re saying here.

                                That is clear, and yet you’re insisting I’m wrong.

                                1. 3

                                  Except, that’s completely wrong.

                                  I just started Word and dumped a summary of its open handles by object type:

                                  C:\WINDOWS\system32>handle -s -p WinWord.exe
                                  
                                  Nthandle v4.11 - Handle viewer
                                  Copyright (C) 1997-2017 Mark Russinovich
                                  Sysinternals - www.sysinternals.com
                                  
                                  Handle type summary:
                                    ALPC Port       : 33
                                    Desktop         : 1
                                    Directory       : 3
                                    DxgkSharedResource: 2
                                    DxgkSharedSyncObject: 1
                                    EtwRegistration : 324
                                    Event           : 431
                                    File            : 75
                                    IoCompletion    : 66
                                    IoCompletionReserve: 1
                                    IRTimer         : 8
                                    Key             : 171
                                    KeyedEvent      : 24
                                    Mutant          : 32
                                    Process         : 2
                                    Section         : 67
                                    Semaphore       : 108
                                    Thread          : 138
                                    Timer           : 7
                                    Token           : 3
                                    TpWorkerFactory : 4
                                    WaitCompletionPacket: 36
                                    WindowStation   : 2
                                  Total handles: 1539
                                  

                                  Each of these types is a distinct kernel object with its own characteristics and semantics. And yes, you do create and interact with them from user-space. Some of those will be abstracted by lower-level APIs, but many are directly created and managed by the application. You’ll note the number of open “files” is a very small minority of the total number of open handles.

                                  Simple examples of non-file object types commonly manipulated from user-land include Mutants (CreateMutex) and Semaphores (CreateSemaphore). Perhaps the most prominent example is manipulating the Windows Registry; this entails opening “Key” objects, which per above are entirely distinct from regular files. See the MSDN Registry Functions reference.

                                  1. 0

                                    None of these objects can exist on a disk; they cannot persist beyond shutdown, and do not have any representation beyond their instantaneous in-memory instance. When someone wants an “EtwRegistration” they’re creating it again and again.

                                    Did you even read the article? Or are you trolling?

                                    1. 3

                                      None of these objects can exist on a disk; they cannot persist beyond shutdown, and do not have any representation beyond their instantaneous in-memory instance. When someone wants an “EtwRegistration” they’re creating it again and again.

                                      Key objects do typically exist on disk. Albeit, the underlying datastore for the Registry is a series of files, but you never directly manipulate those files. In the same sense you may ask for C:\whatever.txt, you may ask for HKLM:\whatever. We need to somehow isolate the different persisted data streams, and that isolation mechanism is a file. That doesn’t mean you have to directly manipulate those files if the operating system provides higher-level abstractions. What exactly are you after?

                                      From the article:

                                      But in Unix land, this is a taboo. Binary files are opaque, say the Unix ideologues. They are hard to read and write. Instead, we use Text Files, for it is surely the path of true righteousness we have taken.

                                      The Windows Registry, which is a core part of the operating system, is completely counter to this. It’s a bunch of large binary files, precisely because Microsoft recognised storing all that configuration data in plain text files would be completely impractical. So you don’t open a text file and write to it, you open a Registry key, and store data in it using one of many predefined data types (REG_DWORD, etc…).

                                      Did you even read the article? Or are you trolling?

                                      It sounds like you’re not interested in a constructive and respectful dialogue. If you are, you should work on your approach.

                                      1. -3

                                        What exactly are you after?

                                        Just go read the article.

                                        It’s about whether basing our entire interactions with a computer on a specific reduction of verbs (read and write) is really exploring what the operating system can do for us.

                                        That is a very interesting subject to me.

                                        Some idiot took party to the idea that Windows basically “built on Unix” then back-pedalled it to be about whether it was based on the same “foundational” concepts, then chooses to narrowly and uniquely interpret “foundational” in a very different way than the article.

                                        Yes, windows has domains and registries and lots of directory services, but they all have the exact same “file” semantics.

                                        But now you’re responding to this strange interpretation of “foundational” because you didn’t read the article either. Or you’re a troll. I’m not sure which yet.

                                        Read the article. It’s not well written but it’s a very interesting idea.

                                        Each of these types is a distinct kernel object with its own characteristics and semantics

                                        Why do you bring this up in response to whether Windows is basically the same as Unix? Unix has lots of different kernel “types” all backed by “handles”. Some operations and semantics are shared by handles of different types, but some are distinct.

                                        I don’t understand why you think this is important at all.

                                        It sounds like you’re not interested in a constructive and respectful dialogue. If you are, you should work on your approach.

                                        Do you often jump into the middle of a conversation with “Except, that’s completely wrong?”

                                        Or are you only an asshole on the Internet?

                                        1. 4

                                          Or are you only an asshole on the Internet?

                                          I’m not in the habit of calling people “asshole” anywhere, Internet or otherwise. You’d honestly be more persuasive if you just made your points without the nasty attacks. I’ll leave it at that.

                                2. 2

                                  networking for obvious reasons

                                  Them being what? Is the BSD socket API really the ultimate networking abstraction?

                                  1. 7

                                    The TCP/IP protocols were part of a UNIX. AT&T gave UNIX away for free. They spread together with early applications being built on UNIX. Anyone reusing the protocols or code will inherit some of what UNIX folks were doing. They were also the most mature networking stacks for that reason. It’s why re-using BSD stacks was popular among proprietary vendors. On top of the licensing.

                                    Edit: Tried to Google you a source talking about this. I found one that mentions it.

                      1. 8

                        The binary adder in this article has the advantage of being straightforward but tedious. For those interested in a deeper dive, I wrote about clever adder techniques of the 1970s a few years ago here: https://robey.lag.net/2012/11/07/how-to-add-numbers-1.html

                        1. 2

                          you should submitted those articles here.

                          1. 2

                            This is really, really good.

                          1. 4

                            this article also led me to The TTY demystified which I missed when it was submitted to lobsters here and here Thanks @friendlysock - this was an interesting dive into the implementation of a library function.

                            1. 4

                              Tutorials would be a good resource, but one reason that you don’t find many is that they potentially need to be updated every 6 months - and no one ever seems to keep their tutorials up to date…

                              There have been various threads on the OpenBSD misc@ list over the years, but as the developers put so much effort into producing great man pages, that has been the default answer to this issue.

                              When I was starting with OpenBSD I already had The Complete FreeBSD by Greg Lehey as a handbook, as my journey with *BSDs started with FreeBSD, and then when I discovered OpenBSD in 2000, it remained a useful resource. FreeBSD still has their handbook some of which will be relevant to OpenBSD partly as both have their roots in 4.4 BSD.

                              1. 2

                                That’s actually one of the reasons I appreciated Burnett’s guide, because he keeps it updated with each new version. I can recommend it to someone with confidence that it’ll apply to the latest OpenBSD release.

                                I’m hoping to introduce some of my more enterprising students to OpenBSD and *nix in general next year, and a clear tutorial can be a solid resource to get them over the initial learning curve of interacting with a non-Windows or non-macOS system.

                                I agree that the manpages are an excellent resource, and a solid tutorial should lead users toward the manpages instead of StackOverflow.

                                1. 2

                                  There are professional tutorials from events.

                                1. 14

                                  Hardware I couldn’t get working in Linux just works on a first try with OpenBSD.

                                  To be fair, this is more of an exception than a rule… I for my part always had something missing or incomplete holding me back from really being able to use OpenBSD on a desktop comfortably. Servers are of course an entirely different question. But giving a wrong impression like this one here, could end up deterring people who are interested, but insecure.

                                  1. 6

                                    I also thought hardware support was a known advantage of Linux due to its larger ecosystem, both in individual and corporate contributors. My impression was that OpenBSD would support less hardware but the drivers would be higher quality.

                                    1. 6

                                      I think he meant that for hardware that was supported by both, he had an easier time getting it working on openbsd.

                                      1. 1

                                        That makes more sense.

                                    2. 5

                                      my experience has been the opposite - I’ve found that the hardware I’ve tried mostly works out of the box for me with OpenBSD - where as Linux has often been a complete pain, especially with older hardware.

                                      I’ve had an X41 since new and it ran OpenBSD from day 1 - it initially dual-booted with windows. Some information can be found on my X41 page - you can see it’s old as it talks about configuring BlueTooth on my X41…

                                      1. 3

                                        Same story for me. I’ve tried OpenBSD on a bunch of old-ish ThinkPads in the past and have had mixed experiences with hardware support. While a lot of things can be made to work after installing firmware and if you pick well supported (often older) hardware to begin with, it’s nowhere near as out-of-the-box complete or well supported as most mainstream Linux distributions.

                                        1. 5

                                          I’m running OpenBSD 6.3-current on a second-hand T430s, and the only problem I had was needing a wired connection when first installing 6.2 back in October 2017 because the OS wanted to pull the wifi firmware after first boot. After that, it’s been such a smooth experience that I wouldn’t consider going back to Linux for any use case beside building a Microsoft-free gaming rig.

                                          1. 1

                                            Out of curiously, what ThinkPad are you specifically talking about? Just last week I tried to install OpenBSD on my X41 (again) after the update from 6.2 to 6.3 had worked out so smoothly on my server, but I just couldn’t reestablish the comfortableness I enjoy with Void. I guess, I’d really have to force myself to set everything up properly, but I just don’t have the time (or the experience) for that.

                                          1. 1

                                            No - they need to be merged. This is from the discoverer’s website.

                                          1. 4

                                            I use Password Gorilla on unix systems for managing passwords.

                                            1. 3

                                              Two remote work job sites I keep an eye on are We Work Remotely from DHH and what was 39signals, and remotive.io - which is more startup focused.

                                              …but my hunt for remote work hasn’t been successful yet…

                                              1. 2

                                                Thank you, I will watch those sites too. Good luck in your own hunt!

                                              1. 1

                                                I’ve self-hosted git using gitolite on OpenBSD, CentOS and Ubuntu in the past, I’ll definitely try cgit.

                                                1. 3

                                                  Those little Zotac boxen are wonderful–I’ve just had no luck with the bluetooth support on Debian for them. >:(

                                                  1. 1

                                                    Who needs Bluetooth? Bluetooth doesn’t work on OpenBSD anyway. ;)

                                                    1. 3

                                                      Bluetooth doesn’t work on OpenBSD anyway. ;)

                                                      :P

                                                      I happen to have a bunch of bluetooth jam box little speakers I picked up for super cheap, as well as various exercise gear that all claims to be bluetooth compatible. I have the dream of being able to get everything talking together. :(

                                                      1. 2

                                                        Sometimes dreams come true, you known. Cheer up, sir. :)

                                                      2. 2

                                                        It used to - I’ve used bluetooth on OpenBSD - but no one gave it any love so it was deleted…

                                                        1. 2

                                                          Wireless headphones!

                                                          1. 2

                                                            What’s that? ;)

                                                            1. 5

                                                              Wireless headphones rule. I can never go back. I frequently stand up and walk around while working, and keeping my headphones on throughout has been heavenly.

                                                              For anyone looking to get into wireless headphones, I highly recommend the Sony MDR-1000X. Top notch sound quality, noise cancelling, 20 hour battery life, compact carrying case, optional 3.5mm input for non-Bluetooth devices, and you can buy manufacturer refurbished on eBay for $200. That’s what I did, my set came indistinguishable from new. Same experience from several of my coworkers who tried mine and bought their own.

                                                              That’s a great price for quality headphones. I bought my Audio-Technica ATH-M50 for $150, and for $50 more my 1000X beats the M50 in comfort and sound quality (with noise cancelling). The noise cancelling alone is worth $50, even if you never use them wirelessly. Truly phenomenal product.

                                                              1. 3

                                                                I’m not a fan of wireless anything tbh (except wifi). I’ve always found the inconvenience isn’t worth it. For most peripherals (e.g. mouse, keyboard, headphones), I only ever use them within 3 ft of my desk. The occasional interference doesn’t add anything, and the batteries always seem to fail at the worst times.

                                                                With wired headphones you can interchange your Amp whenever you need to, and you use a standard connector with extremely wide support (except if you’re using a newer apple device). I try to avoid bluetooth in general because of its history of security problems.

                                                                1. 1

                                                                  Thankfully, I don’t use any wireless (nor Bluetooth, nor WiFi) devices. Wires rule!

                                                                  1. 1

                                                                    It’s a bit mandatory on laptops and phones :P

                                                                    1. 2

                                                                      Oh wait, you’re right, sometimes I use a 2G phone! That counts. I don’t use laptops these days, though.

                                                              2. 2

                                                                They’re something I always talk about when OpenBSD fans make disingenuous remarks about the relevance of wireless technology in general. I get it, OpenBSD devs weren’t satisfied with their implementation of Bluetooth, so they axed it out out of security and sanitary concerns. I just find the attitude of “nobody needs Bluetooth” rather annoying. It is actually preventing me from seriously considering OpenBSD as a desktop OS. Why? Because wireless headphones are goddamn amazing.

                                                                1. 3

                                                                  Perhaps you could use a headphone jack to Bluetooth transmitter device? They look like they’re around £15 and seem to have good reviews.

                                                                  Personally I listen to music ‘on’ my computer by keeping my AirPods connected to my iPhone and using Spotify on the laptop, remotely controlling Spotify on the phone. This works really well, rather surprisingly.

                                                                  1. 2

                                                                    Antoine, please excuse my trolling. I’m sincerely sorry. Wireless headphones are amazingly convenient, that’s true. OpenBSD doesn’t support Bluetooth, that’s also true. We may not like the combination of those facts, of course.

                                                                    I really like all core features of OpenBSD: it’s simple, well documented, consistent, reliable, has sane defaults, etc. Obviously OS can’t do everything and stay as simple as it is. We all know that resources of the project are extremely limited.

                                                                    What we can do about it? Contribute patches, sponsor the project, help with testing, etc. That’s the way it works for OpenBSD. A pretty fare and straightforward way, I’d say.

                                                                    We always can (and should) use multiple systems for their best parts.

                                                                    1. 2

                                                                      Out of curiosity, what exactly is involved in getting a bluetooth stack to work on OpenBSD?

                                                                      1. 1

                                                                        I’m not OS developer… yet. :) We better ask an active developer. For example, Bryan Steele.

                                                                        For context: https://mobile.twitter.com/canadianbryan/status/984785986780585985

                                                          1. 5

                                                            That thread was scary - but I don’t believe it warrants a submission on Lobste.rs

                                                            1. 8

                                                              I run OpenBSD as my only operating system on:

                                                              • on my daily driver (T420 Thinkpad) that I use for work, gaming & everything else (OpenBSD -current)
                                                              • on the Lenovo G50-70 which is a daily driver for my wife - currently running OpenBSD 6.3 (just updated from 6.2)
                                                              • our server on vultr running OpenBSD 6.2 (soon to be updated to 6.3)
                                                              • an asus intel atom eeepc running snapshots/-current and serves as a backup machine for hacking on stuff

                                                              I do have a fallback work assigned laptop with Linux, that I haven’t booted even once this year. I do however use the PS4 extensively for additional gaming and streaming Netflix/HBO Go

                                                              1. 2

                                                                How has your experience been with suspending/hibernating? When I bought a ThinkPad X41, I first installed OpenBSD, but the fact that every time when I suspended the device, the screen permanently blanked until I forcefully rebooted, really prevented me from using it.

                                                                1. 5

                                                                  If there is a TPM config option in the BIOS, try to disable the TPM and try again (not sure if this applies to the x41 but it applies to some of the more recent models).

                                                                  1. 5

                                                                    Suspend & hibernate works perfectly on both laptops I mentioned in my post. Keep in mind, a lot will depends on the hardware model and the amount of time since you tried (OpenBSD is not standing still).

                                                                    1. 3

                                                                      I have an ThinkPad X41 that has been running OpenBSD from new and both suspend and hibernate work on it.

                                                                      Sometimes when it comes out of hibernation / sleep the X desktop did appear to come up blank - but if your press the brightness keys (Fn + Home button on my X41) the screen restored as normal - but I sometimes see this on my Toshiba laptop as well. I have not noticed this on my X41 recently.

                                                                    2. 2

                                                                      This isn’t completely related, but I also use (Free)BSD on vultr. I’m not really a sysadmin type and barely know that I’m doing, but I like it.

                                                                    1. 2

                                                                      My main daily driver has been an OpenBSD desktop since 2001.

                                                                      Since 2012 I’ve been using awesome as my window manager as it is keyboard driven, although I usually have KDE, Gnome and XFCE installed as well on my laptop. I usually run current on laptop

                                                                      From my perspective the advantage is a stable OS with a great set of packages - this is true of all the *BSD’s.

                                                                      Disadvantages: None (but I’m biased 8~D)

                                                                      P.S. Some desktop screenshots can be seen at deviantart.

                                                                      1. 4

                                                                        Please read this twitter thread - Naomi Wu was not impressed by the poor journalistic standards used by Vice in this interview.

                                                                        1. 3

                                                                          I don’t flag Vice submissions for no reason.

                                                                          1. 2

                                                                            The piece actually points at her criticism within it too. But it seemed like the end result was quite positive and she may have been expecting something quite different based on how they did their research.

                                                                          1. 3

                                                                            The overview on the WebOS website makes more sense than the article and the code seems to be hosted on GitHub.

                                                                            1. 3

                                                                              Sorry if I was not clearer, I’ve linked to that same site in the title of the story and added the press release as an extra blurb for those that wanted to learn more about the rationale behind it. Maybe I should’ve linked them both in that extra text.

                                                                              1. 1

                                                                                Technical context is always a plus - so links to useful code in the summary is always good :~)

                                                                            1. 1

                                                                              It will be interesting to see how this project develops - I would be interested in an open UPS unit.

                                                                              1. 12

                                                                                How does this work. If programmer A spends ~5 hours a day programming at work and programmer B spends the same at work and then a few hours at home how can they be anything but better? Practice improves skills so unless your programming at home is just adding 1+1 in python all day how can you not come out better?

                                                                                1. 8

                                                                                  The key to understanding this conundrum is that there is a tension between one’s workplace environment and what one does after work for programmers. The essential problem is that someone who writes code in their free time (not necessarily for work) and is passionate about it is likely going to be viewed favorably in contrast to someone who doesn’t do that. The problem here is that it ups the ante by setting a bar that is unreasonably high. It is viewed as a significant problem likely because there are many people who code on their free time and enjoy it. This has a serious impact on the work environment. At the very least:

                                                                                  • If someone is coding a lot in their free time, others may feel obligated to do the same, even if they don’t want to. This is an indirect form of social pressure, and a lot of people view it negatively.
                                                                                  • Often times, people will use weasel words like “I want someone passionate” to mean “I want someone to dedicate a lot more than 40 hour work week to their practice.” Thus, there are lots of emotions bottled up in words like “passionate.” On the one hand, it is an admirable quality. On the other hand, it’s doublespeak.

                                                                                  Combating these sorts of things is difficult. Posts like this one seem to be doing just that. I think it’s not a bad idea, even though I don’t know what to do with the implied conclusion: “diversity is good, and everyone brings their own skillset to the table.” To me, it’s vacuously true, but I don’t know what to do with it. Maybe it means we should be playing to each individual’s strengths? Sure, that seems fine. But it neglects to answer the hard questions: what do you do when an individual’s strengths aren’t a match for what you need to accomplish? Or what if the individual has too few strengths?

                                                                                  In any case, I do think the argumentation has kind of reached a ridiculous level. In most walks of life, I’d be willing to wager that more practice on foo generally results in stronger skills in foo. There’s all sorts of ways you can dice that up with respect to the form of that practice, but I don’t think it weakens the point. It is just a correlation after all, and isn’t always true. As best I can tell, these types of posts are gentle reminders of that fact, but equalizing everything in that pursuit seems like folly.

                                                                                  Alas, I may have a skewed perspective. I didn’t grow up programming. I grew up in competitive sports. That others may be more naturally gifted or more dedicated to practice was as natural to me as anything. (Note that I am not making an analogy; competitive childhood sports are not the same as one’s livelihood. I’m just explaining my perspective.)

                                                                                  1. 4

                                                                                    I guess if programmer A spends the rest of the time in coma your model works, but the problem is that 5 hours of programming everyday may well bring you to the saturation point where programming further does little to improve your skills, while doing other things to improve your health and general intelligence indirectly improve your performance more.

                                                                                    1. 3

                                                                                      I guess if programmer A spends the rest of the time in coma your model works

                                                                                      Sure, let’s borrow varjag’s examples and assume programmer A spends the corresponding time on guitar, photography, or snowboarding. Do you really think it’s likely - not possible, but likely - that A is a better programmer than B?

                                                                                      1. 5

                                                                                        Well, yes. Do you think it’s unlikely? Why?

                                                                                        The comment you’re replying to about a saturation point explains why it is. I’d also add that guitar, photography and snowboarding all can contribute to understanding yourself and life in general which then translates into being a better programmer. Programmers who think that programming is only about coding tend not to be very good programmers.

                                                                                        1. 2

                                                                                          Do you really think it’s likely - not possible, but likely - that A is a better programmer than B?

                                                                                          I think the image in your mind is 5 hours of boring repetitive enterprise work + 3 hours of explorative programming, then it’s of course not likely. But if we’re comparing 5 hours vs. 8 hours of similar kind of programming, I wouldn’t be surprised. Think about a body builder, would you really be surprised if someone who lifted weights 5 hours/day ended up stronger than someone that does 8?

                                                                                          Besides, it also depends on what you include in the notion of “a good programmer”? Is it lines of code per minute? Then 8 hours might be better. But if you include things like the ability to mentor others, understand the domain better to spot spec errors, communicate with the rest of the organisation to solve other people’s problems and get things done, schedule activities etc. 3 hours solitary programming will definitely not help on those areas, and programmer A will most probably be better at them.

                                                                                          1. 1

                                                                                            A will most probably be better at them.

                                                                                            But why will A be better? Why is it assumed that the programmer who programs in their free time will be doing worse at work?

                                                                                            1. 1

                                                                                              The point is programming isn’t only about programming. Even if you’re a 10x faster at the keyboard, you still need to understand what the customer needs, what designers had in mind, what the product management prioritizes, what the sales has promised, how the standards are applied/violated, how devops deploys your code, how support tries to diagnose problems etc.. At the end of the day, this is all a huge team effort. Your programming ability is of course important, but there’s a multiplicative factor in front of it, which is determined by your ability to communicate with other people. Otherwise, you’ll be writing useless code (however efficiently you might write it).

                                                                                              The question is, if programmer B keeps writing code all the time, when will they develop their soft skills? Obviously, programmer B might still be a pleasant individual, who’s attentive and one who cares about other’s opinions, observations and feelings. The whole point is you need to develop those skills as well.

                                                                                      2. 2

                                                                                        More time does not necessarily result in being better - the practice has to be deliberate - and actually improve the skill you are practising. Otherwise it can be counter productive.

                                                                                        1. 5

                                                                                          Let’s say your hobby is not programming but guitar, photography or snowboarding. Would you say more practice doesn’t necessarily help?

                                                                                          1. 4

                                                                                            As a BMX coach - I would definitely say that more practice does not always help - especially if the technique is not correct as what you create is a habit / reflex / muscle memory that is not beneficial. Yes it is possible to re-programme a bad habit but it takes a lot more work, effort and practice to change the bad habit into a good one. So deliberate practice is far more valuable that quantity of practice. Also, in sports if you do things when you are tired / worn out there can be an enhanced risk of injury - which is really detrimental as then you add a pain response…

                                                                                            I believe the same is true for musical instruments, but I’m tone deaf so don’t take my word for it ;~)

                                                                                            1. 4

                                                                                              I’ve played guitar for 20+ years, it’s the same for musical instruments. Deliberate, effective practice is hard, and too much of it can seriously hurt you (I have some hand issues because I wasn’t careful enough for a stretch of time).

                                                                                          2. 3

                                                                                            How can more practice make you worse, if you are doing the same things at work as programmer A then you would have to try really hard to get worse with your at home programming. I also find my at home programming gives me many skills I can take to work because I can mess around with random things that I don’t know will be of any use and sometimes they are where as at work it’s all kept fairly safe.

                                                                                            1. 4

                                                                                              The following article from Havard Business Review[1] has some interesting research into the problems of practice. Unfortunately, I’m unable to find an open access copy of the article.

                                                                                              [1]The making of an expert, Harvard business review, the article can be read here

                                                                                        1. 5

                                                                                          This week is about Job hunting, and catching up on my Return To Teaching course.

                                                                                          Anyone needs I a remote systems administrator / technical support team leader - then I might be of some use 8~)