1. 3

    Can anyone explain the benefits of highly accurate timekeeping in a datacenter since the article mostly glossed over it? I’m interested in finding out why Facebook wanted to make this.

    1. 7

      Highly accurate time makes distributed systems easier to make. You can now (better) rely on time as a “happens before” instead of inventing a scheme like vector clocks. See the Spanner Paper from Google which talks about the TrueTime API. Of course, even with TrueTime, you end up with a window of time the event happened in because you can’t have clocks synchronized so precisely to rely on it alone.

      I am sure others could add a ton more to this…

      1. 4

        Two events are recorded in two datacenters one millisecond apart. How do you tell which one happened first? What if the datacenter clocks have a five millisecond error bar?

        1. 2

          More accurate time keeping enables more advanced infrastructure management across our data centers, as well as faster performance of distributed databases.

        1. 6

          The sails codebase has really well-done documentation in my opinion.

          Sails is essentially a rails clone in javascript. The codebase provides the best example of documentation co-located with code that I’ve seen. Most subdirectories in the project contain their own READMEs (see lib/router). Individual files comments explain both the existing functionality and the development process, although explanatory comments are occasionally included unnecessarily imo (see lib/router/bind.js). Attention to detail means that comments are provided for every dotfile in the repo explaining its purpose and the purpose of individual settings (check out the .gitignore or .editorconfig).

          I think the documentation in this codebase is worth looking at because:

          • users looking to see exactly how some internal process works can find clear explanations
          • maintainers returning to a file that’s not been touched recently can remember design choices made a long time ago
          • people unfamiliar with JavaScript (maybe coming from Ruby) get explanations of JS nuances used
          • onboarding a new maintainer to a complex project documented like this would probably be much easier
          • documentation that’s not tightly coupled to the code (i.e. setup guides) is not omitted and lives in docs/ * and ends up on https://sailsjs.com/documentation/reference after being autogenerated from markdown.

          Essentially, very little is left in the maintainers’ heads. I wouldn’t comment my own projects quite so heavily but I do think there’s a lot to be learned from this codebase about documenting for both users and devs of a project.

          1. 2

            Temporary files and directories are always temp. If that’s taken I delete it without looking and make a new one.

            Command output is redirected to out or output. If I need to compare diffs of output then its a and b with a being the one that comes first temporally.

            Pretty much anything else gets a real name. Hasn’t failed me so far.

            1. 10

              It’s amazing to me that AMD and Intel have managed to fall so incredibly behind. There’s literally no redeeming quality to AMD and Intel CPUs: they’re slower, they consume way more power, they run far hotter, even the price isn’t all that different.

              AMD and Intel have over half a century of experience building CPUs each. I can imagine that an incredibly inefficient market dominated by a single player would result in subpar CPUs, but we nominally have two big companies that compete with one another. How could they both fail so completely?

              1. 18

                Apple bought all the TSMC 5nm there was to be had to roll out the M1. Looking at the Zen3 performance, it seems a 5nm Zen3(4?) would be competitive with the M1. The new AMD laptop chips they announced in Jan are very close to M1 level power/performance already if I read the benchmarks correctly. So AMD are not so far behind - Apple has a small process lead by the looks of things.

                Of course, the end user (perfectly reasonably) doesn’t care about this - the only thing that matters to them is the performance of the box in front of them. Right now that crown very clearly goes to Apple.

                1. 4

                  Do you really think it’s mostly just a process thing? That TSMC 5NM can do with ~30W (probably way less considering the MacBook Air’s cooling solution) what TSMC 7NM needs 65W+ to do?

                  That seems unlikely to me. For such a gigantic difference in performance per watt with just a 1 node advantage, there has to be some major CPU architecture and design differences. My numbers are super conservative as well; the fanless MacBook Air isn’t going to run the CPU at 30W for minutes, it’s probably going to do most of the compilation at a much lower power draw. The 3700x in the desktop isn’t going to constrain itself to 65W if the desktop is at all remotely reasonably cooled, it’s probably going to do most of the compilation at a much higher power draw.

                  1. 13

                    Why are you comparing the M1 to a desktop CPU from 2019? AMD Cezanne APUs are competitive to the M1 despite being 7nm. In fact, some Cezanne APUs beat the M1 on multicore benchmarks when limited to 15W:


                    Yes, Apple delivered a great competitive core. But can we stop with the superlatives on how they are generations ahead and how AMD is behind. Ryzen APUs and the M1 deliver about the same performance with comparable wattage. The only company that doesn’t have a good story is Intel.

                    1. 4

                      I’m discussing the article, yes, which compares the M1 to the 3700x.

                      It would be interesting to see how the ryzen 5000 series holds up when put in a thin chassis with no fans under sustained multi-core load. Just limiting it to 15 watts seems like a bad way to simulate its performance under those conditions. I somehow doubt that it would match a 3700x, but maybe I’m wrong. I’m also open to the possibility that actually, the 3700x is way faster than the M1, but that GCC is way slower than (Apple’s build of) Clang.

                    2. 8

                      Yes. The M1 is designed around a specific power budget & everything is cut down to fit inside that target. AMD’s desktop chips have no such limits & therefore don’t bother optimising every last W out of the design. You can’t make direct comparisons between the two. (Also, AMD’s power draw quotes are much closer to peak power draw, whilst The M1’s 10W is more like Intel’s “normal power draw”. i.e. it’s a made up benchmarking number. You can’t directly compare those either. See https://www.anandtech.com/show/16214/amd-zen-3-ryzen-deep-dive-review-5950x-5900x-5800x-and-5700x-tested/8 for the difference.)

                      It is more reasonable to compare AMD’s laptop SOCs with the M1 & there the latest AMD design appears to be about 90% of the M1 performance within a similar power budget, whilst running much slower memory. Give AMD’s chip designers free access to TSMC’s 5nm process & put the memory on the same substrate as the CPU & it seems likely they’ll match or exceed the M1.

                      The M1 is a /great/ CPU, but it’s not the great breakthrough that everyone seems to think it is. It’s only because we’ve been forced to use expensive, sub-par Intel chips for years because Intel had a lock on the laptop market whilst they flailed around trying to get their two last fab generations to work properly that it looks like such a huge step forwards for the end user.

                      1. 3

                        Let’s keep in mind, too, that this is Apple’s first desktop CPU. I imagine that they will remain competitive even as their power budget expands, because the demands on a phone CPU and a laptop/desktop one are different.

                        1. 2

                          Isn’t it actually a Laptop CPU? I thought the “real” desktop ones are yet to come.

                          1. 1

                            You’re right – the distinction I was trying to make was that it’s basically still an iPad CPU.

                      2. 3

                        My understanding of other benchmarks is that the M1 Air can run at full cpu capacity for about ten minutes before throttling down, so these emacs builds were probably running at full power. However, full power for the Air is still only 10 watts, which is how they get away with not having a fan. It’s just a (normally fanless) phone chip scaled up to laptop standards, something people have been waiting for ever since the original iPad Pro out benchmarked many flagship laptops.

                        1. 5

                          According to Anandtech at full throttle the M1 draws about 27W. Not for very long in an Air though :)

                    3. 5

                      I think we’ll need to wait a few more years to know if they’ve really failed so completely.

                      1. 4

                        I think that’s already pretty amazing. Until a few months ago for decades we could always count on having the best hardware in the Intel / AMD world. For the first time in like 30 years Intel and AMD hardware is significantly inferior. Maybe they’ll catch up quickly, but this is a radically different state of affairs.

                      2. 3

                        Didn’t apple buy a year or so of exclusive use of the newest process at TMSC? How much of the performance gap is a willingness to spend a whole lot of money there?

                        1. 2

                          Have they really fallen behind? Is there any other non-apple CPU that I can buy at a similar price and use in a desktop with comparable performance? Power has good performance, but it still doesn’t surpass intel/amd; and it certainly doesn’t beat them at pricing. (It probably has better power consumption, granted.)

                          1. 1

                            See the “innovators dilemma” section of this post: https://apenwarr.ca/log/20201227. I don’t have domain knowledge to judge this is a right explanation, but it sounds convincing.

                          1. 10

                            I don’t ever like to be the Apple fanboy showing up in the comments but I don’t get this rant. I’m using an Intel-based MacBook running Big Sur right now and I don’t empathize with the complaints about the UI. Yeah, spaces are a bit bigger. But, as far as I can tell, no other specific grievances are brought up in the post. Sure, macOS is becoming more iOS-like, but that’s not necessarily terrible.

                            I’ve never turned to Apple products for the UI; it used to give me great grief that iOS had no home screen widgets, and you couldn’t put apps at the bottom of the screen, features which have been standard on Android for a decade now. What has always attracted me is the UX, and I find that Apple continues to lead in that regard year after year. Some things are contentious, like the Touch Bar, but others are unequivocally nice. The “update at your own convenience” experience far surpasses the alternative Windows experience. For another example, I find myself using the continuity features nearly daily. To write this comment, I walked over to my laptop, clicked the little “Safari from phone” icon in my dock, and pulled up the same page I was looking at on my phone. As smartphones become more capable I often prefer to read/message/reference things on my phone, and I’m okay with the convergence of the two platforms.

                            To me, the interface is alright but it’s the user experience that is the selling point of their products, and that experience has kept improving in a post-Jobs era of Apple products.

                            1. 1

                              I’ve found that the improvement of the UX has been very non-uniform, and every OS upgrade, while it gives me plenty of benefits, takes away as well, seemingly arbitrarily.

                              For example, I used to be able to do a four finger spread gesture to see the desktop, then click and drag an icon from the desktop, and four finger spread back inwards, while holding the icon with another finger, to drag something from the desktop. Now, the gesture handler seems to have trouble with that and it’s really fiddly to do (I don’t do it anymore).

                              The way proxy icons have changed in some ways is annoying, too. You can’t drag it to the Bin anymore. I think there was a time when you couldn’t move a file for a while (from the proxy), you could only copy or create alias. You can move again now (just not to the Bin (formerly Trash; I think this is a localisation thing but I don’t know)), but I’m not sure when that changed.

                              The disappearance of creator codes from Leopard without a replacement is another kind of uniquely Mac-like UX feature that has been removed to make the platform more familiar to Windows and other users.

                              The new grey icons on the Finder sidebar were pointless. I hate the iOSification of icons in Big Sur. It was annoying enough when Chrome went from their old 3D icon to a crappy flat icon (that could even be better and retain the flatness), but their new Big Sur icon is, frankly, disgusting. The removal of the text from TextEdit’s icon is a loss.

                              On the other hand, the removal of 32-bit, whilst it was very inconvenient for me as a player of older games that will never be updated, I can see the purpose for it.

                              There are also changes that are just for the better, like the Continuity features as you mention, support for filesystem tags, etc.

                              Even small touches are still being added, such as protections against accidental rapid movements. If you drag an icon out from the Dock, you have to wait a couple seconds for the cloud to appear, which signifies that you can let go and it would remove the icon in a puff of cloud/smoke (IIRC; nowadays, the icon just turns transparent and a tooltip appears saying “Remove”, and the puff sound happens, but there’s no cloud; I’m pretty sure they got rid of the cloud sometime after adding the protection but I don’t know for sure).

                              Even changes made for profit motive, I can understand, like the removal of the AppleScript handler for receiving messages (run AppleScript on message received), since it’s now a Business feature of Messages.app. What I object to is the removal of good UX (or addition of poor UX) that make the Mac stand out as a platform where care has been put in, especially in a world where webification has people wondering about whether different OSes are even worth the cost.

                            1. 23

                              I use KeePass compatable password managers. At the moment that’s KeePassXC on the desktop. I use it because there’s a choice of clients all using this same database format; said format is a single file I can sync between devices myself (I use Syncthing); and because it’s good enough! And of course a local database allows me to make sure my secrets never leave my devices.

                              I previously used 1Password but I reached a point where I couldn’t tolerate relying and trusting a third party with my secrets. At the time their Linux and BSD support was essentially non-existant, although believe that’s recently changed for the better.

                              The biggest problem I have with KeePass is its limited data model. For example, items can’t be associated with more than one URL and trying to store anything other than website username-password pairs feels unnatural. But that’s not a major issue.

                              1. 6

                                +1 for the KeePass universe

                                It is not as polished as the alternatives, but has tons of customizablilty, is open source, and has a wide range of compatible alternative “frontends” for the database.

                                I use vanilla KeePass 2.x on windows, and KeePassDX on Android. Both do their job well enough for me. KeePassXC is more polished, probably OP should try that instead of vanilla KeePass.

                                1. 2

                                  How do you sync between your devices? I’m using MacPass on macOS and KeePassium on iOS but I’m always a bit worried about the sync, because it doesn’t operate record by record but on the whole file instead.

                                  1. 4

                                    I use syncthing. KeePass has some basic conflict resolution support in case it is needed.

                                    Syncthing has file versioning, which I also use

                                2. 2

                                  I couldn’t tolerate relying and trusting a third party with my secret

                                  The whole point of 1Password is that you don’t have to trust them at all. Your secrets are encrypted with a combination and your master password (in your head) and a random secret key (only stored on your devices) both unknown to 1Password.

                                  Bitwarden does something similar, albeit without the random secret key, which can or cannot (I’m still not sure about that) an office attack easier if their server is hacked.

                                  1. 5

                                    You still need to trust that that’s what actually happens and that they have not and will not be coerced into changing that. Now, I probably do trust AgileBits - I used 1Password for a long time. But a while back I decided that I don’t want to have to trust others when it comes to my password manager. YMMV :)

                                  2. 2

                                    Another +1 for keepass - I use xc on desktop with the Firefox plugin and keepass2android on phone, with Dropbox handling the sync. Works perfectly for me :)

                                    1. 2

                                      I’m also in KeePass land. I’m attracted by the fact that it’s free and open source. I currently use KeeWeb with database files stored in Dropbox across my MacBook and iPhone. I especially like the ability to store arbitrary info along with my password and use it remember what address/phone number I gave the account and the lies I’ve told as answers to my security questions.

                                      For ease of use I remember less critical passwords (low impact if compromised or accounts with app-based 2FA) in the Apple keychain (iCloud) and keep the important ones only in KeeWeb.

                                    1. 4

                                      One major factor I think the author touched on but didn’t really emphasize is that SQL is declarative, meaning it can have a number of underlying implementations which can change over time. This is a key distinction because it lets the implementations keep up with the times while maintaining the same syntax and semantics. It’s also slotted nicely into a computing niche, which is another attribute of enduring computing technologies. vi/vim come to mind here, having been adapted to new architectures and to include new features but retaining functionality from 40+ years ago. It seems to me that Bushnell’s law (easy to learn) isn’t necessary the cornerstone of lasting software standards it’s made out to be here.

                                      1. 11

                                        I like Apple hardware a lot, and I know all of the standard this-is-why-it-is-that-way reasoning. But it’s wild that the new MacBook Pros only have two USB-C ports and can’t be upgraded past 16GB of RAM.

                                        1. 18

                                          Worse yet, they have “secure boot”, where secure means they’ll only boot an OS signed by Apple.

                                          These aren’t computers. They are Appleances.

                                          Prepare for DRM-enforced planned obsolence.

                                          1. 9

                                            I would be very surprised if that turned out to be the case. In recent years Apple has been advertising the MacBook Pro to developers, and I find it unlikely they would choose not to support things like Boot Camp or running Linux based OSs. Like most security features, secure boot is likely to annoy a small segment of users who could probably just disable it. A relevant precedent is the addition of System Integrity Protection, which can be disabled with minor difficulty. Most UEFI PCs (to my knowledge) have secure boot enabled by default already.

                                            Personally, I’ve needed to disable SIP once or twice but I can never bring myself to leave it disabled, even though I lived without it for years. I hope my experience with Secure Boot will be similar if I ever get one of these new computers.

                                            1. 12

                                              Boot Camp

                                              Probably a tangent, but I’m not sure how Boot Camp would fit into the picture here. ARM-based Windows is not freely available to buy, to my knowledge.

                                              1. 7

                                                Disclaimer: I work for Microsoft, but this is not based on any insider knowledge and is entirely speculation on my part.

                                                Back in the distant past, before Microsoft bought Connectix, there was a product called VirtualPC for Mac, an x86 emulator for PowerPC Macs (some of the code for this ended up in the x86 on Arm emulator on Windows and, I believe, on the Xbox 360 compatibility mode for Xbox One). Connectix bought OEM versions of Windows and sold a bundle of VirtualPC and a Windows version. I can see a few possible paths to something similar:

                                                • Apple releases a Boot Camp thing that can load *NIX, Microsoft releases a Windows for Macs version that is supported only on specific Boot Camp platforms. This seems fairly plausible if the number of Windows installs on Macs is high enough to justify the investment.
                                                • Apple becomes a Windows OEM and ships a Boot Camp + Windows bundle that is officially supported. I think Apple did this with the original Boot Camp because it was a way of de-risking Mac purchases for people: if they didn’t like OS X, they had a clean migration path away. This seems much less likely now.
                                                • Apple’s new Macs conform to one of the new Arm platform specifications that, like PREP and CHRP for PowerPC, standardise enough of the base platform that it’s possible to release a single OS image that can run on any machine. Microsoft could then release a version of Windows that runs on any such Arm machine.

                                                The likelihood of any of these depends a bit on the economics. In the past, Apple has made a lot of money on Macs and doesn’t actually care if you run *NIX or Windows on them because anyone running Windows on a Mac is still a large profit-making sale. This is far less true with iOS devices, where a big chunk of their revenue comes from other services (And their 30% cut on all App Store sales). If the new Macs are tied more closely to other Apple services, they may wish to discourage people from running another OS. Supporting other operating systems is not free: it increases their testing burden and means that they’ll have to handle support calls from people who managed to screw up their system with some other OS.

                                                1. 2

                                                  Apple’s new Macs conform to one of the new Arm platform specifications

                                                  We already definitely know they use their own device trees, no ACPI sadly.

                                                  Supporting other operating systems is not free

                                                  Yeah, this is why they really won’t help with running other OS on bare metal, their answer to “I want other OS” is virtualization.

                                                  They showed a demo (on the previous presentation) of virtualizing amd64 Windows. I suppose a native aarch64 Windows VM would run too.

                                                2. 2

                                                  ARM-based Windows is available for free as .vhdx VM images if you sign up for the Windows Insider Program, at least

                                                3. 9

                                                  In the previous Apple Silicon presentation, they showed virtualization (with of-course-not-native Windows and who-knows-what-arch Debian, but I suspect both native aarch64 and emulated amd64 VMs would be available). That is their offer to developers. Of course nothing about running alternative OS on bare metal was shown.

                                                  Even if secure boot can be disabled (likely – “reduced security” mode is already mentioned in the docs), the support in Linux would require lots of effort. Seems like the iPhone 7 port actually managed to get storage, display, touch, Wi-Fi and Bluetooth working. But of course no GPU because there’s still no open PowerVR driver. And there’s not going to be an Apple GPU driver for a loooong time for sure.

                                                  1. 2

                                                    I think dual-booting has always been a less-than-desireable “misfeature” from Apple’s POV. Their whole raisin de et is to offer an integrated experience where the OS, hardware, and (locked-down) app ecosystem all work together closely. Rip out any one of those and the whole edifice starts to tumble.

                                                    So now they have a brand-new hardware platform with an expanded trusted base, so why not use it to protect their customers from “bad ideas” like disabling secure boot or side-loading apps? Again, from their perspective they’re not doing anything wrong, or hostile to users; they’re just deciding what is and isn’t a “safe” use of the product.

                                                    I for one would be completely unsurprised to discover that the new Apple Silicon boxes were effectively just as locked down as their iOS cousins. You know, for safety.

                                                    1. 3

                                                      They’re definitely not blocking downloading apps. Federighi even mentioned universal binaries “downloaded from the web”. Of course you can compile and run any programs. In fact we know you can load unsigned kexts.

                                                      Reboot your Mac with Apple silicon into Recovery mode. Set the security level to Reduced security.

                                                      Remains to be seen whether that setting allows it to boot any unsigned kernel, but I wouldn’t just assume it doesn’t.

                                                      1. 4

                                                        They also went into some detail at WWDC about this, saying that the new Macs will be able to run code in the same contexts existing ones can. The message they want to give is “don’t be afraid of your existing workflow breaking when we change CPU”, so tightening the gatekeeper screws alongside the architecture shift is off the cards.

                                                      2. 2

                                                        I think dual-booting has always been a less-than-desireable “misfeature” from Apple’s POV. Their whole raisin de et is to offer an integrated experience where the OS, hardware, and (locked-down) app ecosystem all work together closely. Rip out any one of those and the whole edifice starts to tumble.

                                                        For most consumers, buying their first Mac is a high-risk endeavour. It’s a very expensive machine and it doesn’t run any of their existing binaries (especially since they broke Wine with Catalina). Supporting dual boot is Apple’s way of reducing that risk. If you aren’t 100% sure that you’ll like macOS, there’s a migration path away from it that doesn’t involve throwing away the machine: just install Windows and use it like your old machine. Apple doesn’t want you to do that, but by giving you the option of doing it they overcome some of the initial resistance of people switching.

                                                        1. 7

                                                          The context has switched, though.

                                                          Before, many prospective buyers of Macs used Windows, or needed Windows apps for their jobs.

                                                          Now, many more prospective buyers of Macs use iPhones and other iOS devices.

                                                          The value proposition of “this Mac runs iOS apps” is now much larger than the value proposition of “you can run Windows on this Mac”.

                                                          1. 2

                                                            There’s certainly some truth to that but I would imagine that most iOS users who buy Macs are doing so because iOS doesn’t do everything that they need. For example, the iPad version of PowerPoint is fine for presenting slides but is pretty useless for serious editing. There are probably a lot of other apps where the iOS version is quite cut down and is fine for a small device but is not sufficient for all purposes.

                                                            In terms of functionality, there isn’t much difference between macOS and Windows these days, but the UIs are pretty different and both are very different from iOS. There’s still some risk for someone who is happy with iOS on the phone and Windows on the laptop buying a Mac, even if it can run all of their iOS apps. There’s a much bigger psychological barrier for someone who is not particularly computer literate moving to something new, even if it’s quite like similar to something they’re more-or-less used to. There are still vastly more Windows users than iOS users, though it’s not clear how many of those are thinking about buying Macs.

                                                            1. 2

                                                              There are still vastly more Windows users than iOS users, though it’s not clear how many of those are thinking about buying Macs.

                                                              Not really arguing here, I’m sure you’re right, but how many of those Windows users choose to use Windows, as opposed to having to use it for work?

                                                              1. 1

                                                                I don’t think it matters very much. I remember trying to convince people to switch from MS Office ‘97 to OpenOffice around 2002 and the two were incredibly similar back then but people were very nervous about the switch. Novell did some experiments just replacing the Office shortcuts with OpenOffice and found most people didn’t notice at all but the same people were very resistant to switching if you offered them the choice.

                                                      3. 1

                                                        That “developer” might means Apple developers.

                                                      4. 3

                                                        Here is the source of truth from WWDC 2020 about the new boot architecture.

                                                        1. 2

                                                          People claimed the same thing about T2 equipped intel Macs.

                                                          On the T2 intels at least, the OS verification can be disabled. The main reason you can’t just install eg Linux on a T2 Mac is the lack of support for the ssd (which is managed by the T2 itself). Even stuff like ESXi can be used on T2 Macs - you just can’t use the built in SSD.

                                                          That’s not to say that it’s impossible they’ve added more strict boot requirements but I’d wager that like with other security enhancements in Macs which cause some to clutch for their pearls, this too can probably be disabled.

                                                        2. 10

                                                          … This is the Intel model it replaces: https://support.apple.com/kb/SP818?viewlocale=en_US&locale=en_US

                                                          Two TB3/USB-C ports; Max 16GB RAM;

                                                          It’s essentially the same laptop, but with a non-intel CPU/iGPU, and with USB4 as a bonus.

                                                          1. 1

                                                            Fair point! Toggling between “M1” and “Intel” on the product page flips between 2 ports/4 ports and 16GB RAM/max 32GB RAM, and it’s not clear this is a base model/higher tier toggle. I still think this is pretty stingy, but you’re right – it’s not a new change.

                                                          2. 5

                                                            These seem like replacements for the base model 13” MBP, which had similar limitations. Of course, it becomes awkward that the base model now has a much, much better CPU/IGP than the higher-end models.

                                                            1. 2

                                                              I assume this is just a “phase 1” type thing. They will probably roll out additional options when their A15 (or whatever their next cpu model is named) ships down the road. Apple has a tendency to be a bit miserly (or conservative, depending on your take) at first, and then the next version looks that much better when it rolls around.

                                                              1. 2

                                                                Yeah, they said the transition would take ~2 years, so I assume they’ll slowly go up the stack. I expect the iMacs and 13-16” MacBook Pros to be refreshed next.

                                                                1. 3

                                                                  Indeed. Could be they wanted to make the new models a bit “developer puny” to keep from cannabalizing the more expensive units (higher end mac pros, imacs) until they have the next rev of cpu ready or something. Who knows the amount of marketing/portfolio wrangling that goes behind the scenes to suss out timings for stuff like this (billion dollar industries), in order to try to hit projected quarterly earnings for a few quarters out down the road.

                                                                  1. 5

                                                                    I think this is exactly right. Developers have never been a core demographic for Apple to sell to - it’s almost accidental that OS X being a great Unix desktop, coupled with software developer’s higher income made Macs so popular with developers (iOS being an income gold mine helped too, of course).

                                                                    But if you’re launching a new product, you look at what you’re selling best of (iPads and Macbook Air’s) and you iterate on that.

                                                                    Plus, what developer in their right mind would trust their livelihood to a 1.0 release?!

                                                                    1. 9

                                                                      I think part of the strategy is that they’d rather launch a series of increasingly powerful chips, instead of starting with the most powerful and working their way down - makes for far better presentations. “50% faster!” looks better than “$100 cheaper! (oh, and 30% slower)”.

                                                                      1. 2

                                                                        It also means that they can buy more time for some sort of form-factor update while having competent, if not ideal, machines for developers in-market. I was somewhat surprised at the immediate availability given that these are transition machines. This is likely due to the huge opportunity for lower-priced machines during the pandemic. It is prudent for Apple to get something out for this market right now since an end might be on the horizon.

                                                                        I’ve seen comments about the Mini being released for this reason, but it’s much more likely that the Air is the product that this demographic will adopt. Desktop computers, even if we are more confined to our homes, have many downsides. Geeks are not always able to understand these, but drive the online conversations. Fans in the Mini and MBP increase the thermal envelope, so they’ll likely be somewhat more favourable for devs and enthusiasts. It’s going to be really interesting to see what exists a year from now. It will be disappointing, if at least some broader changes to the form factor and design aren’t introduced.

                                                                      2. 1

                                                                        Developers have never been a core demographic for Apple to sell to

                                                                        While this may have been true once, it certainly isn’t anymore. The entire iPhone and iPad ecosystem is underpinned by developers who pretty much need a Mac and Xcode to get anything done. Apple knows that.

                                                                        1. 2

                                                                          Not only that, developers were key to switching throughout the 00s. That Unix shell convinced a lot of us, and we convinced a lot of friends.

                                                                          1. 1

                                                                            In the 00s, Apple was still an underdog. Now they rule the mobile space, their laptops are probably the only ones that make any money in the market, and “Wintel” is basically toast. Apple can afford to piss off most developers (the ones who like the Mac because it’s a nice Unix machine) if it believes doing so will make a better consumer product.

                                                                            1. 2

                                                                              I’ll give you this; developers are not top priority for them. Casual users are still number one by a large margin.

                                                                          2. 1

                                                                            Some points

                                                                            • Developers for iOS need Apple way more than Apple needs them
                                                                            • You don’t need an ARM Mac to develop for ARM i-Devices
                                                                            • For that tiny minority of developers who develop native macOS apps, Apple provided a transition hardware platform - not free, by the way.

                                                                            As seen by this submission, Apple does the bare minimum to accommodate developers. They are certainly not prioritized.

                                                                            1. 1

                                                                              I don’t really think it’s so one-sided towards developers - sure, developers do need to cater for iOS if they want good product outreach, but remember that Apple are also taking a 30% cut on everything in the iOS ecosystem and the margins on their cut will be excellent.

                                                                        2. 2

                                                                          higher end mac pros

                                                                          Honestly trepidatiously excited to see what kind of replacement apple silicon has for the 28 core xeon mac pro. It will either be a horrific nerfing or an incredible boon for high performance computing.

                                                                  2. 4

                                                                    and can’t be upgraded past 16GB of RAM.

                                                                    Note that RAM is part of the SoC. You can’t upgrade this afterwards. You must choose the correct amount at checkout.

                                                                    1. 2

                                                                      This is not new to the ARM models. Memory in Mac laptops, and often desktops, has not been expandable for some time.

                                                                    2. 2

                                                                      I really believe that most people (including me) don’t need more than two Thunderbolt 3 ports nowadays. You can get a WiFi or Bluetooth version of pretty much anything nowadays and USB hubs solve the issue when you are at home with many peripherals.

                                                                      Also, some Thunderbolt 3 displays can charge your laptop and act like a USB hub. They are usually quite expensive but really convenient (that’s what I used at work before COVID-19).

                                                                      1. 4

                                                                        it’s still pretty convenient to have the option of plugging in on the left or right based on where you are sitting so disappointing for that reason

                                                                        1. 4

                                                                          I’m not convinced. A power adapter and a monitor will use up both ports, and AFAIK monitors that will also charge the device over Thunderbolt are pretty uncommon. Add an external hard drive for Time Machine backups, and now you’re juggling connections regularly rather than just leaving everything plugged in.

                                                                          On my 4-port MacBook Pro, the power adapter, monitor, and hard drive account for 3 ports. My 4th is taken up with a wireless dongle for my keyboard. Whenever I want to connect my microphone for audio calls or a card reader for photos I have to disconnect something, and my experiences with USB-C hubs have shown them to be unreliable. I’m sure I could spend a hundred dollars and get a better hub – but if I’m spending $1500 on a laptop, I don’t think I should need to.

                                                                          1. 2

                                                                            and AFAIK monitors that will also charge the device over Thunderbolt are pretty uncommon

                                                                            Also, many adapters that pass through power and have USB + a video connector of some sort only allow 4k@30Hz (such as Apple’s own USB-C adapters). Often the only way to get 4k@60Hz with a non-Thunderbolt screen is by using a dedicated USB-C DisplayPort Alt Mode adapter, which leaves only one USB-C port for everything else (power, any extra USB devices).

                                                                        2. 1

                                                                          I’ve been trying to get a Mac laptop with 32GB for years. It still doesn’t exist. But that’s not an ARM problem.

                                                                          Update: Correction, 32GB is supported in Intel MBPs as of this past May. Another update: see the reply! I must have been ignoring the larger sizes.

                                                                          1. 3

                                                                            I think that link says that’s the first 13 inch MacBook Pro with 32GB RAM. I have a 15 inch MBP from mid-2018 with 32GB, so they’ve been around for a couple of years at least.

                                                                            1. 1

                                                                              You can get 64GB on the 2020 MBP 16” and I think on the 2019, too.

                                                                          1. 4

                                                                            You make a really good case about why Hugo is failing it’s users here, but I’m concerned that you may one day be saying the same about Zola. One thing that comes to mind is missing features. For example, you might decide that you want to be able to add footnotes, but CommonMark doesn’t have that functionality. Because Zola has no extensibility, you’re SOL as far as I can tell. I also have a suspicion that people might start to use themes as a way to emulate plugins. Something like the difficulty of adding graph tags that you talked about could maybe be solved like that. But then it’s getting into the danger zone of finding documentation in multiple places and having to magically override things again. I think that KayodeLycaon was spot on in pointing out that everyone wants something slightly different. I hope Zola works out for you :)

                                                                            1. 3

                                                                              Yep, the concerns are valid. I don’t have a really good reply to that, but I hope this works out. Ultimately if this required another refactor then I’ll bite the bullet to make my own SSG. Not thinking too much about that situation now, though :)

                                                                              1. 3

                                                                                I also have a suspicion that people might start to use themes as a way to emulate plugins.

                                                                                You said something I had trouble articulating for a long time. The problem with a Turing-complete template processor as a sole extensibility mechanism is that presentation and logic are no longer orthogonal.

                                                                                That is why I chose not to use either Zola or Hugo for a refresh of my own site setup, but went for writing an SSG that is statically linked but extensible with Lua plugins via an embedded interpreter. </shamelessPlug> ;)

                                                                                Nothing against Zola or its users though, it’s a good project.

                                                                                1. 2

                                                                                  Just as a small note, Zola totally does footnotes. I think there might be a page that lists which extensions pulldown-cmark enables out of the box. But your main point stands with or without this example :)

                                                                                  1. 1

                                                                                    As a Zola user who used several other solutions before, I’m 100% sure I’ll get tired of it. I already had to hack around limitations (or my lack of knowledge) while my blog is super simple. But it’s all about gaining some time.

                                                                                    I know that at some point I’ll have to do the switch to either another existing system or to one I’ll make. But I don’t spend time on that now and having a blog whose content is only in markdown and related images will make it easy if I decide to keep the content.

                                                                                    Zola is temporary but it’s easy to set up, and should be easy enough to replace when time has come.

                                                                                  1. 1

                                                                                    This post especially resonates with me because I know nothing about deep learning but I’d like to. I’ve been searching for a reference sheet that explains “how do I construct a dataset and model to answer my question and why do I make these specific decisions.” I have yet to find good explanations about even simple things like “how many layers do I need to classify an image and why.”

                                                                                    I have a hypothesis this has to do in part with the fact that deep learning is still a new and rapidly changing field, and that many of the people with substantial knowledge know better than to waste time documenting rationales that could easily be obsolete in under a year.

                                                                                    Maybe I’m not looking hard enough, but even many simple flappy bird YouTube tutorials link repositories that don’t compile/run anymore due to the rapid change in the ecosystem. It’s relieving to hear a similar grievance voiced, but I don’t know what approach would best mitigate this problem.

                                                                                    1. 10

                                                                                      I wrote some about ad blocking over here a few months ago: http://daemonforums.org/showthread.php?t=11265 (username=Carpetsmoker); some relevant parts:

                                                                                      Advertisements have been an important revenue source for the publishing industry for over 100 years, and I’m actually in favour of allowing ads that don’t have the tracking and such that most do; at its most basic this could just be an <img src="/ad.png">.

                                                                                      It’s easy to just say “all ads bad”, but things turn out to be a bit more nuanced once you start building products that are very hard to monetize otherwise. For example, one product I worked on a bit last year is a better recipe site with some novel ideas, but … how do you monetize that without ads? Not so easy. I ended up shelving it and working on something else that’s easier to monetize (hopefully anyway…)

                                                                                      There should probably be more transparency from AdBlock, but having advertisers pay some amount of money to vet their ads by AdBlock is not wholly unreasonable.

                                                                                      [ … some replies snipped …]

                                                                                      Yeah, I agree it’s complex; I have no easy answers either.

                                                                                      Right now my website has some ads from codefund.io – which explicitly advertises itself as ethical ads and is fully open source – which are blocked by default by uBlock origin (and I believe also AdBlock). These adblocking tools do much more than just block requests to third-party data-collectors, they frob with the HTML in an attempt to remove every single last ad, and while there is some merit to this for the really intrusive/annoying ones, I feel this is fundamentally a misguided approach which doesn’t consider the perspective of publishers/product makers.

                                                                                      I use uBlock origin too, for all the same reasons as you do, but I don’t really like it because of this. I’m currently working full-time on open source stuff, and the income from these ads isn’t a bit of pocket-money on the side, it’s part of my income. Removing these kind of ads kind of rubs me the wrong way. Basically, I’m “collateral damage”.

                                                                                      I maintained a “track blocker” (trackwall) for a while, which I think is much more reasonable than an “ad blocker”.

                                                                                      The current situation sucks for both users and publishers :-(

                                                                                      1. 13

                                                                                        The current situation sucks for both users and publishers :-(

                                                                                        I completely agree. Today’s situation is a perfect example of a defect-defect equilibrium.

                                                                                        From the advertisers’ standpoint: if users don’t have ad blockers, then they’re better off if they act badly (you save the money that would be needed to vet ads), but if the users do have ad blockers, they’re still better off acting badly (milk whoever remains for all they’re worth). As for the end users, it hardly matters what the ad company does, because blocking ads is always better than not doing so.

                                                                                        I still blame the ads industry for being greedy. Setting up ad blocking takes time, and while it’s hard to give it up once you have it, few would go through the time investment unless things were really bad.

                                                                                        1. 12

                                                                                          It’s easy to just say “all ads bad”, but things turn out to be a bit more nuanced once you start building products that are very hard to monetize otherwise.

                                                                                          IMHO, “products that are very hard to monetize otherwise” sounds a lot like “products that people don’t think it’s worth paying for”. I’m very much into things that people aren’t usually willing to pay for myself, so I sympathize, but not everything that you or me like is also a good business idea. If the only way to monetize something is by having a third-party siphon other people’s data, that probably means it’s just not a great commercial venture. Lots of things aren’t, it’s just how it is.

                                                                                          1. 10

                                                                                            I think it’s a little bit more complicated than that. There are an untold number of cooking books, websites, TV shows, etc. Almost everyone cooks at least occasionally, and many do it regularly. It’s a big market, and these kind of products (including sites) bring a lot of value to people. Cooking is not even an especially big hobby of mine, it’s just something I noticed where improvements can be made, and I have a few ideas on it.

                                                                                            I think it’s more a “race to the bottom” kind of thing. It’s just really hard to compete against “free”: given two websites which are equal where one is €5/month subscription and the other is “free”, then many (probably most) will use the “free” one (often with adblock), leaving me with no option to offer a “free” option as well. Even with a great product, you really need a clear edge to compete against that.

                                                                                            Or to give an analogy: if I set up a stand with “free cooking books” next to the book store, then I’m fairly sure the book store’s sales of cooking books will drop.

                                                                                            1. 6

                                                                                              First off – I apologize if I was/am harsh or unfair. I understand this is probably important to you (and as the “happy owner” of several entirely unmonetizable – and, worse, probably expensive – passions, I know how it can feel). I’m not trying to discourage you or anything – the tl;dr of these posts is “here’s why x64k doesn’t wanna pay for recipes”, not “here’s why your idea sucks and you suck”. The fact that I’m unwilling to pay for recipes may well put me so much outside your target audience that if I were to think your idea sucks (which FWIW I don’t, since I don’t know too much about it in the first place), it might actually mean it’s great :-D.

                                                                                              So, with that in mind:

                                                                                              There are an untold number of cooking books, websites, TV shows, etc. Almost everyone cooks at least occasionally, and many do it regularly. It’s a big market, and these kind of products (including sites) bring a lot of value to people. Cooking is not even an especially big hobby of mine, it’s just something I noticed where improvements can be made, and I have a few ideas on it. I think it’s more a “race to the bottom” kind of thing. It’s just really hard to compete against “free”

                                                                                              It is – but then again, “free” is what recipes have been since practically forever. It’s not like websites with free recipes have “disrupted the recipe market”. If all free recipe websites were to close tomorrow, and only subscription-based websites were to exist, I still wouldn’t pay a dime for these, since all I need to do in order to find out how to make pastitsio (random example ‘cause that’s what I had for lunch and it’s not from my part of the world) is ask someone who knows how to make pastitsio. I learned how to cook dozens, if not hundreds of things from family and friends. Some of them from far, far away, which is how I can cook Carribean or Japanese dishes in the middle of Europe (when I can get the ingredients, that is). I’ve never paid a dime for any of these things, I just asked nicely when I was abroad, or when someone from abroad was here, and did a few hilarious screw-ups until I got it right.

                                                                                              Of course it’s a race to the bottom (the bottom being “free”) when learning how to cook from friends and family is how virtually everyone who’s not a professional in the field learned has done it since practically forever, and when this is still available.

                                                                                              1. 3

                                                                                                I didn’t take it as either harsh or unfair, so no worries :-)

                                                                                                Recipes are not even eligible for copyright, but it’s not the recipes as such that you charge for but rather the making available of them. There are about 18 million cooking books sold in the US every year, so there’s definitely a market.

                                                                                                I personally wouldn’t pay for a recipe website either, as I’m too casual of a user. Then again, I have bought cooking books, which are pretty much the same. Kinda funny how that works 🤔 I think this is a general problem with the internet: if every “casual user” would pay a low (<$1, depending on usage) amount of money then there’s no need for ads – that’s basically what ads are right? – but there’s no real way to do that AFAIK. I know Brave has gotten a lot of flak here, but I really like it for at least trying to solve this problem (although I’m not really sure about their whole cryptocurrency approach; but that’s a different discussion).

                                                                                                I’m not angry, bitter, or resentful about any of this, by the way, they’re just observations. I wrote this as a hobby thing early last year after I quit my job after a bit of a burnout and it was the first time I had fun programming in a long time. In a way it’s probably the best thing I’ve ever worked on; it was very therapeutic. After I decided I wanted to work on my own product I looked at my options with what I already had, and came to the conclusion this probably wasn’t the best way to earn a living so shelved it for the time being. I still want to get back to it as a hobby thing once I have some time (and think of a name for it!)

                                                                                                If you look at the existing big recipe websites then almost all of them suck: they’re shitty “recipe dumping grounds” with untold popups and all sorts of bullshit, and in a perfect world someone providing a better product shouldn’t have a hard time making an earning from it without crapping their product up with a zillion ads.

                                                                                                I think the best thing we (as programmers/community) can do here is to make good alternatives available, which could be a “sane ad network” or perhaps something entirely different. I know that’s easier said than done but people do things to solve real problems they have (the same applies to many other things, and many people are working on this, with varying degrees of success).

                                                                                                1. 2

                                                                                                  Cookbooks are a pretty decent example of how recipe-centered sites can monetize, though. Binging with Babbish on YouTube is always pushing his cookbook, along with whatever product has sponsored his video. If people want to feel like they’re getting something that took effort to make (like a physical book) in return for their $20, then that’s how the recipe space will be monetized. Patreon is also gaining significant ground in monetizing quality content made available for free.

                                                                                                  At the end of the day, people seem to recognize that the marginal cost of serving information on a website to an additional person is near zero and they balk at paying (subscription or not) for something digital unless it is perceived to be expensive to provide (like music, movies, internet itself, etc.).

                                                                                                  1. 1

                                                                                                    If we’re being honest, most recipe books suck, too – I guess it’s easier to pay for them because they’re a physical item and people are used to paying for books in general. But by and large, I discovered that even expensive books with fancy endorsements turn out to be… well, not wrong, these are recipes after all, but somewhat untrue to their topic. For example, I’m yet to see an English-language book that recommends anything even close to an useful amount of olive oil for recipes around the Mediterranean (or at least the ones I’m familiar with).

                                                                                                    What I really wish we had, especially now that the world is much better connected and Internet access is universal, is something akin to rec.food.recipes, alt.gourmand and rec.food.historic :).

                                                                                                    Edit: FWIW, I kindda like the idea of what Brave did. Back when rec.food.recipes was still a thing, I didn’t really have a problem with ads. I used some ad-supported software, including Opera (which I still miss so much), and I thought it was okay. I didn’t really mind the large banners, either, some of them were actually pretty neat..

                                                                                                    1. 1

                                                                                                      I suppose Sturgeon’s law (“90% of everything is crap”) applies 😅

                                                                                                      I was a long-time Opera user as well, and used the ad-supported version back in the day. That was a different time though, before the ad-tech industry became what it is today. I’d be more hesitant to use a similar model today. And I also still miss that browser :-( Pretty much everything about it was fantastic.

                                                                                              2. 5

                                                                                                Yeah, “ideas” aren’t “businesses”.

                                                                                              3. 4

                                                                                                at its most basic this could just be an <img src="/ad.png">.

                                                                                                Part of the problem is that even this type of innocuous-looking “non-tracking” ad can, without much effort, be turned into a tracker. It doesn’t take that many ads like this one to be able to generate and track a unique user identifier via HSTS, for example.

                                                                                                1. 7

                                                                                                  The amount of information it can track is quite limited though, compared to canvas/font tricks and whatnot. It’s also much more in transparent and in your control on what you send. It would still me a massive improvement over the current situation.

                                                                                                  You can use src=data:base64 too.

                                                                                                2. 3

                                                                                                  Maybe if publishers had real businesses that deserved to make money because they actually provide a good service to the community then they wouldn’t have this problem! :)

                                                                                                1. 11

                                                                                                  I think I’ve read this post before…

                                                                                                  1. 1

                                                                                                    Yep, we all did. And the ending so good:

                                                                                                    “… If you’re reading this and are interested in $HYPED_TECHNOLOGY like we are, we are hiring! Be sure to check out our jobs page, where there will be zero positions related to $FLASHY_LANGUAGE …”

                                                                                                  1. 1

                                                                                                    It’s interesting to see Google’s all-encompassing monolith slowly start to show cracks. I wonder what web players will do when Google is no longer the de-facto provider for fonts, captchas, analytics, online word processing, email, web browsers, etc. and instead the best services come from a variety of companies that don’t integrate as cleanly.

                                                                                                    1. 1

                                                                                                      I personally like google fonts, but I find they load faster when I host them myself. I use font squirrel to convert regular font files to a webfont format, and then I self host that.

                                                                                                      Thanks to arp242 https://lobste.rs/u/arp242 for creating a lovely 3rd party web analytics solution, I use goat analytics instead of google analytics, which was my main gripe with google’s monolith.

                                                                                                      Google’s recaptcha is horrendously arduous though, doing recaptcha after recaptcha makes me so angry. The method that recaptcha uses to detect bots is asinine, any kind of minigame could be so much more fun for users.

                                                                                                    1. 20

                                                                                                      That was an amazing read and I am in awe of byuu’s skill and dedication.

                                                                                                      1. 35

                                                                                                        Thank you so much ^-^

                                                                                                        1. 12

                                                                                                          Man this community is so cool because authors regularly pop up in the comments about their own software.

                                                                                                          People like you are hard to come by though, you’re awesome.

                                                                                                          1. 8

                                                                                                            Thank you so much for your work, I love your take on it as your life’s work. These games will still be fun to play 100 years from now.

                                                                                                            I remember reading a year ago about some improvements you (or others?) made in upscaling bsnes to HD displays and still need to update my RasPi to pull in a recent version with those changes. My brain hurts every time I see my kid playing Mario Kart with the terrible shimmering!


                                                                                                            1. 1

                                                                                                              It doesn’t look like RetroPie has pulled in the latest bsnes. In fact, development of RetroPie seems to have halted a year ago… :-( https://github.com/libretro/bsnes-libretro

                                                                                                              1. 2


                                                                                                                That fork is not intended to be current, and even changed its library name to bsnes2014. Upstream bsnes supports libretro by itself now, which is probably the reason that fork is semi-abandoned.

                                                                                                                development of RetroPie seems to have halted a year ago

                                                                                                                RetroPie/EmulationStation last commit was yesterday, RetroPie-Setup two days ago??

                                                                                                                1. 2

                                                                                                                  Thanks for the pointers but commits don’t matter if they aren’t shipping to users. I’m referencing https://retropie.org.uk/news/ where the latest release announcement was 9 months ago and the forum also doesn’t seem to have threads from 2020.

                                                                                                                  I’m going through the steps to install Lakka instead, which appears to have modern bsnes support baked in.

                                                                                                                  1. 1

                                                                                                                    Retropie has an update menu in the UI, so these commits are making it to users who run updates.