1. 4

    I’m getting an HTTPS error

    1. 8

      Welcome to tedu - do you trust him?

    1. 2

      How much traffic on average does each Netty node process? Kind of interesting that you can get the kind of performance you need out of a JVM app, but I suppose the secret is scale, not individual node throughput.

      1. 2

        The way we run it isn’t necessarily indicative of how performant the OSS core version is. We’ve added a ton of stuff to it like hashing, encryption, decryption, auth, metrics, geo etc. that makes us heavily CPU-bound. In terms of performance on the JVM, Netty is really good. They go to great lengths to limit the creation of garbage and use native bindings to optimize moving byte buffers around.

        Generally you are correct though, it’s not about individual nodes, it’s about fleet size. We tend to favor running more, smaller nodes than few large ones. This lessens the impact of any single node failing and allows us to do incremental rollouts to test new features (i.e. canary testing).

        1. 3

          Very cool, thanks!

          Always makes me laugh when I hear hipsters bemoaning the death of Java, they get so incredulous when you mention that it’s still running everywhere doing mission critical work and shows no signs of slowing up anytime soon.

          1. 2

            The local, grocery chain just upgraded to touch screens from their DOS-looking stuff. The menu’s have little coffee icons on top of a weird UI. Gotta be a Java app with its non-native GUI. Most of the jobs out in my area similarly are asking for C# or Java. Stuff is everywhere.

            1. 3

              Gotta be a Java app with its non-native GUI

              I am always baffled by these comments. We are living in a world where almost everything is a web-app (chat, email, documents, wikis, sales processes whatnot) and they all look totally different. Nobody seems to care there.

              1. 2

                On desktop, we should do better, expected better, and we used to be better. But I guess Swing begets Electron in the end…

      1. 1

        Where’s the operator for gzgetss?

        1. 9

          Here’s the RSS feed: https://us18.campaign-archive.com/feed?u=ab0f46cf302c0ed836e0bf0ad&id=56b5f64c5f

          I still find this the best way for consuming periodical content. I can read it when I want, and not have it clutter my mailbox.

          1. 1

            While this will work, just keep in mind that there are plans for exclusive content that will not be available via RSS due to its limiting nature.

            1. 2

              Out of curiosity, what is more limiting about RSS than email? The only thing I’ve come up with so far is that I guess you could customize what is sent to each email address, but that doesn’t seem to apply to a newsletter anyway.

              1. 1

                Customization is precisely my issue. The RSS feed will only render the issue as an anonymous reader, which removes any personalized messages I include as well as any exclusive content paying readers (will) have access to. Another issue on my end is that RSS subscriber numbers are not precise.

                To be clear though, I am in no way against RSS. In fact, the whole newsletter is based on my ability to read tons and tons of feeds. Just that Morning Cup of Coding is not (and will not be) designed for RSS, and thus I will not be actively promoting its use.

                1. 3

                  You could require that RSS readers append a “token” to the URL; which would identify the reader and thus give them said personalized content.

                  1. 2

                    That could definitely work. Not sure how I can integrate that with MailChimp. I’ll give it a look this weekend. Thanks.

                    1. 3

                      You could always roll your own so you have more control:

                      you’d still need something like SendGrid for delivery, but that’s not too hard either.

                      1. 3

                        Tbh, I don’t trust myself to build a software that sends emails to 3,5k readers :) But it’s definitely in the back of my mind because I still do a lot of things manually. I know about SendGrid and MailTrain, thanks for pointing out paperboy.

          1. 2

            (Astute readers will notice they are all AMD (Socket AM4) motherboards. The whole Meltdown/Spectre debacle rendered my previous Intel system insecure and unsecurable so that was the final straw for me — no more Intel CPUs.)

            I mean, it’s not like AMD’s that much better in that regard….

            1. 2

              Not entirely true; AMD allegedly didn’t have the bugs which allowed a process to read kernel memory, only the bugs to let users pace applications read each other’s memory. (Though that’s not exactly great either…)

            1. 56

              If you don’t do Facebook:

              My wife once asked me “Why do you drop what you are doing when Steve Jobs asks you to do something? You don’t do that for anyone else.”

              It is worth thinking about.

              As a teenage Apple computer fan, Jobs and Wozniak were revered figures for me, and wanting an Apple 2 was a defining characteristic of several years of my childhood. Later on, seeing NeXT at a computer show just as I was selling my first commercial software felt like a vision into the future. (But $10k+, yikes!)

              As Id Software grew successful through Commander Keen and Wolfenstein 3D, the first major personal purchase

              I made wasn’t a car, but rather a NeXT computer. It turned out to be genuinely valuable for our software development, and we moved the entire company onto NeXT hardware.

              We loved our NeXTs, and we wanted to launch Doom with an explicit “Developed on NeXT computers” logo during the startup process, but when we asked, the request was denied.

              Some time after launch, when Doom had begun to make its cultural mark, we heard that Steve had changed his mind and would be happy to have NeXT branding on it, but that ship had sailed. I did think it was cool to trade a few emails with Steve Jobs.

              Several things over the years made me conclude that, at his core, Steve didn’t think very highly of games, and always wished they weren’t as important to his platforms as they turned out to be. I never took it personally.

              When NeXT managed to sort of reverse-acquire Apple and Steve was back in charge, I was excited by the possibilities of a resurgent Apple with the virtues of NeXT in a mainstream platform.

              I was brought in to talk about the needs of games in general, but I made it my mission to get Apple to adopt OpenGL as their 3D graphics API. I had a lot of arguments with Steve.

              Part of his method, at least with me, was to deride contemporary options and dare me to tell him differently. They might be pragmatic, but couldn’t actually be good. “I have Pixar. We will make something [an API] that is actually good.”

              It was often frustrating, because he could talk, with complete confidence, about things he was just plain wrong about, like the price of memory for video cards and the amount of system bandwidth exploitable by the AltiVec extensions.

              But when I knew what I was talking about, I would stand my ground against anyone.

              When Steve did make up his mind, he was decisive about it. Dictates were made, companies were acquired, keynotes were scheduled, and the reality distortion field kicked in, making everything else that was previously considered into obviously terrible ideas.

              I consider this one of the biggest indirect impacts on the industry that I have had. OpenGL never seriously threatened D3D on PC, but it was critical at Apple, and that meant that it remained enough of a going concern to be the clear choice when mobile devices started getting GPUs. While long in the tooth now, it was so much better than what we would have gotten if half a dozen SoC vendors rolled their own API back at the dawn of the mobile age.

              I wound up doing several keynotes with Steve, and it was always a crazy fire drill with not enough time to do things right, and generally requiring heroic effort from many people to make it happen at all. I tend to think this was also a calculated part of his method.

              My first impression of “Keynote Steve” was him berating the poor stage hands over “This Home Depot shit” that was rolling out the display stand with the new Mac, very much not to his satisfaction. His complaints had a valid point, and he improved the quality of the presentation by caring about details, but I wouldn’t have wanted to work for him in that capacity.

              One time, my wife, then fiancé, and I were meeting with Steve at Apple, and he wanted me to do a keynote that happened to be scheduled on the same day as our wedding. With a big smile and full of charm, he suggested that we postpone it. We declined, but he kept pressing. Eventually my wife countered with a suggestion that if he really wanted “her” John so much, he should loan John Lassiter to her media company for a day of consulting. Steve went from full charm to ice cold really damn quick. I didn’t do that keynote.

              When I was preparing an early technology demo of Doom 3 for a keynote in Japan, I was having a hard time dealing with some of the managers involved that were insisting that I change the demo because “Steve doesn’t like blood.” I knew that Doom 3 wasn’t to his taste, but that wasn’t the point of doing the demo.

              I brought it to Steve, with all the relevant people on the thread. He replied to everyone with:

              “I trust you John, do whatever you think is great.”

              That goes a long way, and nobody said a thing after that.

              When my wife and I later started building games for feature phones (DoomRPG! Orcs&Elves!), I advocated repeatedly to Steve that an Apple phone could be really great. Every time there was a rumor that Apple might be working on a phone, I would refine the pitch to him. Once he called me at home on a Sunday (How did he even get my number?) to ask a question, and I enthused at length about the possibilities.

              I never got brought into the fold, but I was excited when the iPhone actually did see the light of day. A giant (for the time) true color display with a GPU! We could do some amazing things with this!

              Steve first talked about application development for iPhone at the some keynote I was demonstrating the new ID Tech 5 rendering engine on Mac, so I was in the front row. When he started going on about “Web Apps”, I was (reasonably quietly) going “Booo!!!”.

              After the public cleared out and the rest of us were gathered in front of the stage, I started urgently going on about how web apps are terrible, and wouldn’t show the true potential of the device. We could do so much more with real native access!

              Steve responded with a line he had used before: “Bad apps could bring down cell phone towers.” I hated that line. He could have just said “We aren’t ready”, and that would have been fine.

              I was making some guesses, but I argued that the iPhone hardware and OS provided sufficient protection for native apps. I pointed at a nearby engineer and said “Don’t you have an MMU and process isolation on the iPhone now?” He had a wide eyed look of don’t-bring-me-into-this, but I eventually got a “yes” out of him.

              I said that OS-X was surely being used for things that were more security critical than a phone, and if Apple couldn’t provide enough security there, they had bigger problems. He came back with a snide “You’re a smart guy John, why don’t you write a new OS?” At the time, my thought was, “Fuck you, Steve.”.

              People were backing away from us. If Steve was mad, Apple employees didn’t want him to associate the sight of them with the experience. Afterwards, one of the execs assured me that “Steve appreciates vigorous conversation”. Still deeply disappointed about it, I made some comments that got picked up by the press. Steve didn’t appreciate that.

              The Steve Jobs “hero / shithead” rollercoaster was real, and after riding high for a long time, I was now on the down side. Someone told me that Steve explicitly instructed them to not give me access to the early iPhone SDK when it finally was ready.

              I wound up writing several successful iPhone apps on the side (all of which are now gone due to dropping 32 bit support, which saddens me), and I had many strong allies inside Apple, but I was on the outs with Steve.

              The last iOS product I worked on was Rage for iOS, which I thought set a new bar for visual richness on mobile, and also supported some brand new features like TV out. I heard that it was well received inside Apple.

              I was debriefing the team after the launch when I got a call. I was busy, so I declined it. A few minutes later someone came in and said that Steve was going to call me. Oops.

              Everyone had a chuckle about me “hanging up on Steve Jobs”, but that turned out to be my last interaction with him.

              As the public story of his failing health progressed, I started several emails to try to say something meaningful and positive to part on, but I never got through them, and I regret it.

              I corroborate many of the negative character traits that he was infamous for, but elements of the path that led to where I am today were contingent on the dents he left in the universe.

              I showed up for him.

              1. 8

                How about a tools tag; which covers other things a programmer would use, like build systems and editors?

                1. 5

                  I feel like tools would get too noisy because of how general it can be.

                  1. 2

                    What description would you write for tools that wouldn’t include pretty much everything tagged with software or release, and a big chunk of unix?

                    1. 1

                      Tools for developing software.

                      • release is for new release announcements

                      • unix is for tools already a part of the Unix toolbox

                      The kind of articles you would submit to it are things about non-vi/emacs text editors, build systems, etc.

                    2. 1

                      I really like this approach. We have a lot of stories that would benefit from such a tag, and if we get a large enough volume of just text editor stuff we can break it into it’s own tag.

                    1. 1

                      Eh, just another SETUP.EXE downloader; I can do that myself. What’d be useful is actual package management with proper dependency resolution and fetching on Windows. Unfortunately, it’s something I haven’t seen. (I think Windows Installer /has/ the backend bits; so something like an apt-msi is possible, but…)

                      1. 1

                        I built an apt clone that worked on Windows once, but we never got past proof of concept

                      1. 1

                        It’s not really a “new” as it is “unread” marker. It assumes you’ve seen it when you load it.

                        1. 1

                          Wouldn’t it be better if we changed it?

                          1. 1

                            What would be the criteria for it to transition from “read” to “unread/new?”

                            1. 1

                              The system should highlight comments that are newer than last-visited-time, but last-visited-time should only increment in 20-30 minute intervals. This is what reddit does, and it seems to work well. Actually reddit also provides a dropdown menu where you can chose which of these recorded last-visited-times to use, in case you don’t want to use the latest one, for example if you clicked in a thread by mistake while at work but still want to see newer comments than when you last read it in the morning.

                              Reddit example: https://i.imgur.com/ICsQL7o.png

                        1. 10

                          I expected some more practical write-up about how Macintosh System Software (remember, MacOS was MacOS only after version 7.5(?) of System Software) can be useful today for some tasks like text wiring, light office usage or printing. Instead we got something like wow old macos is black and white you know that? and animations are carefuly designed, same for icons and GUIs which took a whole article but can be summarized in single paragraph.

                          For example, Grackle68k is a recently released Twitter client for Classic Macs. I would like to get know about other new software fo these 68k Macs, too.

                          1. 5

                            Yeah, I didn’t like the article’s fixation on said irrelevant details.

                            What made the old Mac work was its UI; the attention to detail that both Apple and third parties had. Things were consistent, and things felt direct in a way modern Mac OS lacks. You manipulate the actual control panels in the control panels folder; opening them, removing them, booting with them, etc. There’s no mental abstraction like there is on Unix.

                            1. 4

                              Reading this it’s very clear that the author didn’t use an old Mac for their post. The desktop animation is pulled from archive.org.

                              1. 4

                                Haha, great.

                                But what I noticed most is that he didn’t really care about presentation of the images, they’re blurry and checkerboard background of Mac desktop makes that well known Moire effect which looks terrible unless used intentionally.

                              2. 2

                                Low End Mac has a great collection of articles for making use of aging Apple gear.

                                As for the article; yeah, it does go on quite a bit on the pixels, but I feel that the gist is true: That the limited hardware and the focus on inexperienced users pushed for a UX that had to convey its intentions and affordance clearly, and that the UI/UX design of today doesn’t primarily focus on usability. (Broad strokes, of coure.)

                                I’ve always loved the classic Mac OS interface (indeed, my avatar is a poor Susan Kare homage), but I’ve thought of it as nostalgia. When I think of it now, I know that it isn’t just a matter of fuzzy feelings, but that the original Mac OS design did a lot of things right.

                                1. 3

                                  LEM’s never been worthwhile; in the past it peddled misinformation about old Macs (see: Left/Right 32) and now serves as the author’s site for misplaced rants.

                                  1. 1

                                    I knew something was off when I dreged the reference out of my memory. I stopped following way back when for a reason.

                                2. 1

                                  I believe 7.6 is the first time they used the “MacOS” branding in the OS itself.

                                  Really want to get a development environment set up for my Quadra. I have one for Mac OS 9 on a PPC, but it’s not quite the same, too easy to avoid the Toolbox by using good modern-ish libraries like SDL.

                                1. 2

                                  I don’t really like .NET Core because of the utter mess it’s made out of compatibility and the CADT rewriting of tooling for .NET, but this is good news for anyone maintaining legacy desktop stuff.

                                  1. 3

                                    Dotnet tooling was in such a poor 90s enterprise app state that it desperately needed a facelift. At least the really WTF parts (yeoman, dnf) were quickly refined into more sensible (project.json) solutions, and it is generally getting better (but the csproj format sometimes suggests that they are still holding XML wrong)

                                    I want the remote (and local cli based) debugging to get better, as it is a bad joke currently.

                                    My scenarios: VS -> ssh -> remote linux -> docker -> dotnet app VS -> ??? -> docker for windows -> dotnet app

                                    With VS Code something is possible, but with VS I could not find any useful and working setup/docs. The docs are Hello World setups and for an existing complex real world usecase neither worked. There is no clean and technical description about the working of the tools, supported protocols, what is possible with what, ‘cause it’s open source now, so just find it out yourself! (At least now it is partially possible)

                                    1. 1

                                      project.json

                                      I thought they removed that and went back to MSBuild…. are they back at it again?

                                      1. 3

                                        No, I was just trying to sum up the history of the tooling, and emphasize that it was always an improvement at each step. The msbuild they “went back to” is a step forward rather, in my opinion.

                                        At least they dared to try new things, and I see it as it has revitalized the community.

                                        1. 2

                                          I’m not sure about this - I see this a problem for the ecosystem by needless compatibility breaks and constantly shifting best practices that you’re never sure what’s current or not.

                                          If revitalization means shifting it to something like the Node community in behaviour and attitudes, then I’m not sure if I want to participate in that.

                                          1. 2

                                            I can sincerely feel your frustration about this, as I’ve also had some terrible weeks upgrading .Net Core versions on larger applications, but I believe these steps are better if done sooner than later, and the Desktop Framework has much luggage from the Enterprise Application Toolkit hell of the 1990s left over, which better gets left behind.

                                            I think (rather hope) that the situation will stabilize now, as the node/npm hipster stuff was already tried, and mostly abandoned, and the existing stuff got facelifted (MSBuild), and this will be the trend overall the framework.

                                            What I really don’t like is the mess C# is becoming (I despise async keyword and the inconsistencies it has brought), with the half-assed solutions, and the failed promise of Roslyn (which was anybody will be able to write language extensions, yet we can only write code parsers and generators. I cry out for Lombok)

                                            I also find the tooling lacking compared to Java. I especially miss simple and reliable, working remote debugging (without having to install extra stuff on target), a JMX equivalent.

                                  1. 7

                                    This whole “adblocker selling ad views” cluster fuck is why I like Apple/Safari’s approach.

                                    If you have to worry about how much memory each adblocker uses, and which ads they whitelist or whether they sell your private browsing data, you’ve already lost.

                                    1. 3

                                      What is Apple/Safari’s approach? How does it differ from Firefox extensions?

                                      1. 7

                                        As @geocar says: safari content blockers are basically JSON arrays of rules: block URL, whitelist URL, hide Element (using CSS selectors) or recently, force HTTPS for URL.

                                        The app provides this JSON (either from a static file in it’s app bundle, or a generated list via app options) to Safari, and Safari itself does the blocking.

                                        The blocker knows nothing about what you visit, you can combine content blockers, etc.

                                        While a content-blocker using app could have it’s own “approved ads” that it doesn’t block, theres no longer any issue about “Blocker X is the most memory efficient but it also allows Ads from CrappyCorp”, because the blocking is all done by Safari itself, so the content blockers are on an even playing field in terms of performance/features of what can be blocked/hidden. While there are some inefficient ways to write Content Blocker rules, Apple has pretty good docs about how to write good rules (i.e. mostly its about writing optimised RegEx queries to match domains/paths).

                                        Apps like 1Blocker also allow user-written custom rules (using the same basic syntax as raw Content Blocker rule sets) so you can customise what you block, using the same performance advice from Apple’s docs.

                                        1. 3

                                          What are some Safari (for macOS) extensions that use the Content Blocker API? The only one I found that was sort of usable was AdGuard, but I’d like to try something else.

                                          1. 2

                                            I use 1blocker on both ios and macOS. With iCloud syncing and custom rule sets it’s pretty great.

                                            (Not affiliated at all with 1blocker developer)

                                            1. 1

                                              Thanks, I’ll try it out.

                                        2. 4

                                          Safari Content Blockers aren’t allowed to inject scripts into your page, or otherwise track how many (or which) pages you visit.

                                        3. 3

                                          IE actually did this model - it had “tracking protection lists” that the browser itself applied. EasyList and others were translated to that format; and the browser did the blocking itself. (Unfortunately, they didn’t add that to Edge, but it at least supports WebExtensions to use a “normal” adblocker…)

                                        1. 5

                                          I’ve never been able to connect with the idea that “programmers should not be interrupted” since for as long as I’ve been programming, interruptions have not been a problem for me. And I do get into a “flow” on a regular basis. Like most programmers, I’m working on existing code and a lot of my time is spent trying to understand it.

                                          It would be arrogant of me to say that what I do would work for everyone, but I’ll take a stab at listing why I don’t think interruptions are typically a problem for me. This includes meetings.

                                          • I take a lot of notes to remind myself of things. I also write a lot of throwaway prose in some random file to collect my thoughts. I review them a lot.
                                          • I repeat steps many times to hammer the point home. What, exactly, did that code do there? Run through it. Then again and study it. Again. And make notes.
                                          • I avoid doing too much at once. If I’m doing too much, I’ll try to work out some of the details with someone else who is working on a related thing. (I guess I’m interrupting that person, but usually they’re receptive to having such a conversation.)
                                          • Turn notifications off. I expect many people already do this. Notifications are largely useless even when you’re not doing anything.
                                          • It’s rare that I consider a meeting an interruption because I tend to know when they’re going to happen and they are often pertinent to the task at hand, even if tangentially.
                                          • If another developer needs to talk to me, it’s usually related to my work.

                                          Maybe I’ve been lucky, but if that’s the case, it’s been nearly 20 years of it.

                                          1. 3

                                            For me, programming is more of an “atmosphere” than it is an interruptible concentration. When in this “atmosphere” I work on and off but generally persist and keep the state of mind even with distractions and breaks - which I often take small breaks to help think and avoid getting stuck.

                                            1. 1

                                              I like the mental image that “atmosphere” conjures up. Another one that could work might be “milieu.”

                                            2. 1

                                              Once I get into the “flow” I have to be scraped off the ceiling when I get interrupted it’s that jarring to me. Granted, I can only get into that “flow” at home (even there it’s rare when I can descend that far into “flow”) and I work on stuff I enjoy. I don’t think I’ve ever gotten into the “flow” at work to that degree, but that’s mostly due to the work not being that difficult, nor an excessive amount.

                                            1. 13

                                              I’ve always admired iOS for the strong commercial development scene that pays respect towards the platform and its users; imported from the Mac scene. Windows and Android are wastelands compared to the quality of small scale shops that put effort into it for iOS.

                                              As for a recommendation, I haven’t had the oppurtunity to try the iOS version, but Coda is a great web development environment, if that’s how you roll.

                                              1. 1

                                                I don’t see anything on the screen with Firefox Beta, and trying Edge gets it to load, but the framerate is measured in seconds per frame. What am I missing?

                                                1. 1

                                                  It’s Mario, but goopy.

                                                  I was able to find a video from an earlier version: https://www.youtube.com/watch?v=Y5d7G0tgMhA

                                                1. 8

                                                  In which the Microsoft OneNote team write their own database, and seemingly don’t regret the decision.

                                                  1. 4

                                                    OneNote just corrupted my notes locally, so who knows, maybe they should have followed the general advice?..

                                                    1. 2

                                                      Speaking of OneNote’s local notebook format, it seems to be documented (also this one) but it seems quite complex - I’ve never seen an implementation of it other than Microsoft’s own.

                                                      It might be interesting to poke around with…

                                                    1. 3

                                                      @pushcx - have you found a good alternative to baikal?

                                                      1. 3

                                                        Does radicale work for you?

                                                        1. 2

                                                          NextCloud is heavy PHP stuff, but I hear it works well.

                                                          1. 1

                                                            NextCloud uses the same CalDAV implementation as Baikal (sabre/dav)

                                                            1. 1

                                                              I use NextCloud with Android via DavDroid. It was mildly awkward setting up, but now it’s up it’s flawless.

                                                          1. 5

                                                            This poses an interesting problem for anti-cheat systems like VAC. It’s not impossible to detect this kind of hack, but could it then be used to trick VAC into banning legitimate players?

                                                            I’m not aware of any stories about VAC false positives. Trust in VAC seems almost absolute. So anything like the above happening could turn hairy quick.

                                                            1. 3

                                                              Honestly, games seem like a security issue waiting to happen. Almost every part of them is designed without security in mind (except on consoles, and even the only to an extent) in exchange for performance. Now with Vulkan, they have much lower levels of access to the GPU than they did before, allowing for greater risks involving GPU drivers to happen. Their network protocols are likely highly exploitable, as this article shows.

                                                              VAC has mostly dealt with script kiddies. Once the cheating world develops far more advanced methods, then I think Valve et al will have a hell of a time.

                                                              1. 4

                                                                VAC has mostly dealt with script kiddies. Once the cheating world develops far more advanced methods, then I think Valve et al will have a hell of a time.

                                                                Steam itself has millions of active users, most of them with a credit card on file - games are a big target not only for cheating - it’s a lucrative target for criminals and I’m surprised wide scale exploitation of them is not yet a thing.

                                                            1. 8

                                                              The act of powering up a computer, waiting for it to boot, doing some work, and then waiting for it to shut down gracefully is a barbaric ritual from ancient times. In 2018, we’re all modern and hip and just want to open up the laptop lid and get to work. Unfortunately this is easier said than done and as such it really only works reliably with the right combination of supported hardware. And even then, bugs in various layers of the OS can cause it to suddenly stop working consistently after an OS update.

                                                              This is one of the things keeping me on MacOS. The laptops are expensive for what they are, but the Just Works factor is pretty high.

                                                              1. 10

                                                                This is one of the things keeping me on MacOS. The laptops are expensive for what they are, but the Just Works factor is pretty high.

                                                                Have you found that to still be the case with recent models and OS revisions? That’s also the reason I’m on macOS, but it’s gotten less true for me over the past 3-4 years. The worst is that sleep/hibernate no longer seems to work reliably, and it happens on two completely different devices, a MacBook Pro (2016 model) and a MacBook Air (2014 model). About once a month, one will fail to properly wake from sleep when opening the case. Sometimes it fails to wake entirely; sometimes it seemingly wakes but won’t turn the backlight on (in the 2nd case it sometimes flashes on briefly). Usually this ends up requiring a hard powercycle to fix. Googling suggests I’m not alone, and there’s a whole pile of cargo-cart suggestions for fixing it (NVRAM resets and such). That’s by far the worst issue, but there’s a bunch of software-side stuff seemingly getting more flaky too (especially the App Store app, which sometimes requires a reboot to convince the Updates tab to load).

                                                                In 10 years of using PowerBook and MacBook laptops 2004–14 I never had that kind of basic functionality fail to work flawlessly, and I would’ve completely agreed with you back then, which is why I kept buying them.

                                                                1. 6

                                                                  I can confirm your experience - I sometimes have the issue with waking from sleep, and regularly see the OS freezing for extended periods of time (I do have a lot of applications open, but come on, it’s 2018). The quality of software has been declining over the last 4 years. Unfortunately, I still don’t see any better alternative.

                                                                  1. 3

                                                                    I am sorry, are you talking about your actual computer or was this a metaphor about human condition?

                                                                    1. 2

                                                                      Haha, it’s true, we’re all sleepwalking through life most of the time.

                                                                2. 6

                                                                  Get a Thinkpad.

                                                                  1. 4

                                                                    The laptops are expensive for what they are, but the Just Works factor is pretty high.

                                                                    So, not really expensive for what they are, given that apparently no others do what they do, reliably?

                                                                    1. 2

                                                                      I wasn’t clear that I was referring primarily to the hardware - Windows 10 laptops with better specs (especially the GPU) and comparable build quality can be significantly cheaper than a new Macbook Pro.

                                                                      1. 1

                                                                        It’s the Apple Tax: “In the end, we found each Apple machine to cost more than a similarly equipped PC counterpart, with the baseline Mac Pro being the exception. Usually the delta is around $50 to $150…”

                                                                        1. 2

                                                                          So firstly, that’s an article from 8 years ago, that also highlights Apple machines having longer battery life, better resistance to malware, and use higher quality materials.

                                                                          Secondly, the thread is about a feature that works quite reliably on Apple computers, but very poorly on generic PC’s running Linux.

                                                                          So, if you want to call “better, more reliable features” a TAX, then we have to agree to label any product anywhere that is objectively better than it’s competitors, and has a higher price, “Includes CompanyName TAX”

                                                                          Got a HP laptop that works faster than a piece of shit Chromebook? Must be a HP Tax.

                                                                          Got a BMW that has more comfortable seats than a Camry? Must be a BMW Tax.

                                                                          1. 3

                                                                            Any time a person ever gave me a set of Mac specs I was able to find a cheaper Windows machine that could do the same with hardware that works well. It’s not shocking at all to me given Apple’s marketing strategy of going for high margins. They’re currently one of the most profitable companies in the world with that strategy. Whereas, most of the other vendors became something more like commodities competing so hard on things like price. Your strawman comparisons don’t change that.

                                                                            1. 4

                                                                              And any time a person ever said to me “I found this non-Apple machine with the same features/specs” they conveniently leave out features that they personally don’t place value on.

                                                                              We can trade anecdotal stories all day, but the article you linked to, doesn’t really support your argument the way you seem to think it does.

                                                                              1. 2

                                                                                Yup. Buying a product purely on paper specs instead of including things like build quality seems foolish.

                                                                                Macs aren’t that expensive anyways when you compare them to machines in the same class, like ThinkPads, Surfaces, XPSes, Latitudes, etc.

                                                                      2. 2

                                                                        The thing keeping me on macOS is being able to use Control and Alt for emacs style shortcuts for editing text anywhere (like my browser’s URL bar) because all the system keyboard shortcuts use the Command key.

                                                                        https://jblevins.org/log/kbd

                                                                        1. 2

                                                                          Same. Apple can’t be beaten there in the current ecosystem. It just won’t happen. Unless Red Hat acquires a hardware vendor and builds a HatBook, there’s no chance. And they won’t do that because it’s not profitable enough.

                                                                          1. 6

                                                                            This is basically the idea behind Librem laptops.

                                                                            1. 7

                                                                              If only they had gigantic truckloads of money.

                                                                              1. 6

                                                                                Only way to make that happen is to vote with our wallets. :)

                                                                              2. 1

                                                                                I like the idea of librem, but unfortunately I cant see myself buying a laptop without a trackpoint…

                                                                              3. 2

                                                                                There are some nice vendors where this Just Works. I use system76. Dell xps developer laptops are also great linux laptops.

                                                                                1. 2

                                                                                  As a very happy Surface Book user, I’d argue you’ve forgotten about the other OS vendor.

                                                                                  1. 1

                                                                                    I’ve had this working on a de-chromed chomebook and xubuntu for a long time, the key is using not too new hardware maybe?

                                                                                    1. 1

                                                                                      That’s definitely the key. And while I’m glad you have a setup you’re happy with and have no doubt it works for you, I doubt it works for everyone, or even a majority.

                                                                                1. 4

                                                                                  I have to keep nitpicking at every article that mentions Mac OS X’s history:

                                                                                  One of the key factors that led to the portability of bhyve to OSX is that the darwin kernel is loosely based upon the original kernel that powers FreeBSD (family tree from wikipedia here),

                                                                                  Not quite! It’s a descendent of the (NeXT variation of the) Mach kernel; ~4.2BSD grafted on is used for the Unix side of it. Around the time of OS X, a massive refactoring was done to modernize the kernel by importing from the modern *BSDs, mostly in userland.

                                                                                  1. 1

                                                                                    And worth bringing up since its hybrid approach is really weird vs a common BSD or Linux distro. People who start with FreeBSD in their mind to then explore Darwin internals might be a bit confused. ;)