• 6 Posts
  • 68 Comments
Joined 2 years ago
cake
Cake day: October 4th, 2023

help-circle
  • There was a famous bug that made it into 95 and 98, a tick counter that caused the system to crash after about a month. It was in there so long because there were so many other bugs causing stability problems that it wasn’t obvious.

    I will say that classic MacOS, which is what Apple was doing at the time, was also pretty unstable. Personal computer stability really improved in the early 2000s a lot. Mac OS X came out and Microsoft shifted consumers onto a Windows-NT-based OS.

    EDIT:

    https://www.cnet.com/culture/windows-may-crash-after-49-7-days/

    A bizarre and probably obscure bug will crash some Windows computers after about a month and a half of use.

    The problem, which affects both Microsoft Windows 95 and 98 operating systems, was confirmed by the company in an alert to its users last week.

    “After exactly 49.7 days of continuous operation, your Windows 95-based computer may stop responding,” Microsoft warned its users, without much further explanation. The problem is apparently caused by a timing algorithm, according to the company.




  • If databases are involved they usually offer some method of dumping all data to some kind of text file. Usually relying on their binary data is not recommended.

    It’s not so much text or binary. It’s because a normal backup program that just treats a live database file as a file to back up is liable to have the DBMS software write to the database while it’s being backed up, resulting in a backed-up file that’s a mix of old and new versions, and may be corrupt.

    Either:

    1. The DBMS needs to have a way to create a dump — possibly triggered by the backup software, if it’s aware of the DBMS — that won’t change during the backup

    or:

    1. One needs to have filesystem-level support to grab an atomic snapshot (e.g. one takes an atomic snapshot using something like btrfs and then backs up the snapshot rather than the live filesystem). This avoids the issue of the database file changing while the backup runs.

    In general, if this is a concern, I’d tend to favor #2 as an option, because it’s an all-in-one solution that deals with all of the problems of files changing while being backed up: DBMSes are just a particularly thorny example of that.

    Full disclosure: I mostly use ext4 myself, rather than btrfs. But I also don’t run live DBMSes.


  • And, should the GenAI market deflate, it will be because all of the big players in the market – the hyperscalers, the cloud builders, the model builders, and other large service providers – believed their own market projections with enough fervor that TSMC will shell out an entire year’s worth of net profits to build out its chip etching and packaging plants.

    The thing is that with some of these guys, the capacity isn’t general.

    So, say you’re OpenAI and you buy a metric shit-ton of Nvidia hardware.

    You are taking on some very real risks here. What you are buying is an extremely large amount of parallel compute hardware with specific performance characteristics. There are scenarios where the value of that hardware could radically change.

    • Say generative AI — even a substantial part of generative AI — shifts hard to something like MoEs, and suddenly it’s desirable to have a higher ratio of memory to compute capacity. Suddenly, the hardware that OpenAI has purchased isn’t optimal for the task at hand.

    • Say it turns out that some researchers discover that we can run expert neural nets that are only lightly connected at a higher level. Then maybe we’re just fine using a bank of consumer GPUs to do computation, rather than one beefy Nvidia chip that excels at dense models.

    • Say models get really large and someone starts putting far-cheaper-than-DRAM NVMe on the parallel compute device to store offloaded expert network model weights. Again, maybe current Nvidia hardware becomes a lot less interesting.

    • Say there’s demand, but not enough to make a return in a couple of years, and everyone else is buying the next generation of Nvidia hardware. That is, the head start that OpenAI bought just isn’t worth what they paid for it.

    • Say it turns out that a researcher figures out a new, highly-effecitve technique for identifying the relevant information about the world, and suddenly, the amount of computation falls way, way off, and doing a lot of generative AI on CPUs becomes a lot more viable. I am very confident that we are nowhere near the ideal here today.

    In all of those cases, OpenAI is left with a lot of expensive hardware that may be much less valuable than one might have expected.

    But…if you’re TSMC, what you’re buying is generalized. You fabricate chips. Yeah, okay, very high-resolution, high-speed chips at a premium price over lower-resolution stuff. But while the current AI boom may generate a lot of demand, all of that capacity can also be used to generate other sorts of chips. If generative AI demand suddenly falls way off, you might not have made an optimal investment, maybe spent more than makes sense on increasing production capacity, but there are probably a lot of people outside the generative AI world who can do things with a high-resolution chip fab.



  • Aside from the issues that the article notes, I am skeptical that this is gonna work from a business protection standpoint, if protectionism is the state’s goal.

    Say the issue is that VW cannot make EVs in Europe competitive with BYD in China. Labor or environmental regulation costs drive their costs up. Say BYD can make a car for 75% of what VW can.

    The EU says “okay” and sticks a price floor in the EU Customs Union at whatever VW is selling at.

    Ah, now the playing field is level! Or…is it?

    Yes, BYD can’t undercut VW on prices now. But it still has that cost advantage. What BYD is going to do is to spend that extra money on adding more desirable features to their car. So now, at the price floor, you’re going to have a lackluster VW model and a really spiffy BYD model. Okay, maybe VW can ride on their reputation for a bit, but at some point, if BYD is consistently putting out better cars at a given price point, that’s gonna affect consumer views.

    What I expect it will do is reduce the number of people buying EVs at the lower end of the market, where VW wasn’t making an entrant, so now those consumers will probably be getting a conventional vehicle instead of an EV.


  • However, investing in U.S. farmland has become popular among the ultra wealthy as a hedge against inflation and stock market volatility.

    There are lots of inflation hedges, and stock market volatility doesn’t matter much to someone who can ride it out.

    There are tax strategies around real estate, and I’d guess that one goal may be leveraging that. Like, IIRC historically farms got certain tax-advantaged status as regards estate taxes, because there were lots of small farmers and farmers thus had a lot of votes. Some of that law is, no doubt, still on the books, and the wealthy will have tax and estate planners who can exploit that. I can’t name specifics off-the-cuff, but I bet you that they’re there.

    searches

    https://www.mossadams.com/articles/2024/12/estate-tax-exemption-for-farmers-and-ranchers

    The primary reason heirs don’t need to sell the farm is that the federal government allows heirs to pay farm-related estate tax over time at a very low interest rate. Given the first $7 or $14 million of net value escapes all federal estate taxes, it’s only the excess that’s subject to the 40% estate tax.

    The executor of a qualifying estate elects under Section 6166 to defer paying a portion of the estate taxes. Normally, the estate tax is due in full nine months after the date of death. However, the portion of the estate tax related to active assets, such as a farm, can be deferred. The active farm assets must be at least 35% of the adjusted taxable estate.

    Yeah.

    So, let’s say you have, oh, $500 million in assets sitting around. You’re getting old and gonna die. Theoretically, when you die, estate tax kicks in. You can hand down maybe $14 million without smacking into estate tax, the lifetime gift tax exemption. But then you’re gonna pay 40% tax on the rest. That’s not the end of the world — if you put the stuff in an S&P 500 index fund, that’d be made up in about 8 years of market-rate returns, on average. But it’ll definitely slow things down. You gotta pay that each generation, and a generation averages a bit over 30 years.

    So what I bet the estate planners these guys have are doing is making them legally farmers, and defer their estate taxes. They gotta pay the IRS something, according to this page, but it’s effectively getting to borrow from the IRS at a really low rate. Then their heirs can use those assets that would have gone to the government in tax to make money in the meantime.

    Plus, there are other tax games that you can play with real estate. Instead of selling it, borrow against it, and no capital gains tax.

    Have income from some source and don’t want to pay income tax? Use depreciation on the farm as a deduction to offset that income, make it non-taxable.

    How much is that real estate worth? Well, now, that’s a complicated question. If you can get the tax authorities to buy an argument that it’s worth a lot less than fair market value, then you’re only paying estate tax on whatever the government will agree the value of the real estate is.

    According to the link I posted above, in Washington state, farms are completely exempt from state-level estate tax.

    Washington

    Farmers in Washington state are eligible for an unlimited farm deduction equal to 100% of the farm value under the state’s estate tax law, which has the highest rate in the country at 20% on taxable estates over $9 million.

    If certain conditions are met, the estate may deduct the total value of the farm from the estate tax return, potentially saving significant amounts in estate tax. Unlike federal rules, Washington state doesn’t require heirs to own the property for at least 10 years after death. After the decedent’s death, the heirs are free to do as they wish with the assets.

    So, say someone buys a lot of farmland before they die on the guidance of their estate planner. Now Washington state gets no estate tax from them. They can pass hundreds of millions or whatever in assets to their heirs, whereas someone else would have Washington state take a 20% cut.

    I’ve got no experience with buying farmland. But I strongly suspect that the reason that specifically very wealthy, elderly people would buy farmland is for tax purposes. Aiming to avoid taxes, especially estate tax. It’s not because farms are some sort of remarkable, amazing investment absent that.




  • I think that the problem will be if software comes out that’s doesn’t target home PCs. That’s not impossible. I mean, that happens today with Web services. Closed-weight AI models aren’t going to be released to run on your home computer. I don’t use Office 365, but I understand that at least some of that is a cloud service.

    Like, say the developer of Video Game X says “I don’t want to target a ton of different pieces of hardware. I want to tune for a single one. I don’t want to target multiple OSes. I’m tired of people pirating my software. I can reduce cheating. I’m just going to release for a single cloud platform.”

    Nobody is going to take your hardware away. And you can probably keep running Linux or whatever. But…not all the new software you want to use may be something that you can run locally, if it isn’t released for your platform. Maybe you’ll use some kind of thin-client software — think telnet, ssh, RDP, VNC, etc for past iterations of this — to use that software remotely on your Thinkpad. But…can’t run it yourself.

    If it happens, I think that that’s what you’d see. More and more software would just be available only to run remotely. Phones and PCs would still exist, but they’d increasingly run a thin client, not run software locally. Same way a lot of software migrated to web services that we use with a Web browser, but with a protocol and software more aimed at low-latency, high-bandwidth use. Nobody would ban existing local software, but a lot of it would stagnate. A lot of new and exciting stuff would only be available as an online service. More and more people would buy computers that are only really suitable for use as a thin client — fewer resources, closer to a smartphone than what we conventionally think of as a computer.

    EDIT: I’d add that this is basically the scenario that the AGPL is aimed at dealing with. The concern was that people would just run open-source software as a service. They could build on that base, make their own improvements. They’d never release binaries to end users, so they wouldn’t hit the traditional GPL’s obligation to release source to anyone who gets the binary. The AGPL requires source distribution to people who even just use the software.


  • I will say that, realistically, in terms purely of physical distance, a lot of the world’s population is in a city and probably isn’t too far from a datacenter.

    https://calculatorshub.net/computing/fiber-latency-calculator/

    It’s about five microseconds of latency per kilometer down fiber optics. Ten microseconds for a round-trip.

    I think a larger issue might be bandwidth for some applications. Like, if you want to unicast uncompressed video to every computer user, say, you’re going to need an ungodly amount of bandwidth.

    DisplayPort looks like it’s currently up to 80Gb/sec. Okay, not everyone is currently saturating that, but if you want comparable capability, that’s what you’re going to have to be moving from a datacenter to every user. For video alone. And that’s assuming that they don’t have multiple monitors or something.

    I can believe that it is cheaper to have many computers in a datacenter. I am not sold that any gains will more than offset the cost of the staggering fiber rollout that this would require.

    EDIT: There are situations where it is completely reasonable to use (relatively) thin clients. That’s, well, what a lot of the Web is — browser thin clients accessing software running on remote computers. I’m typing this comment into Eternity before it gets sent to a Lemmy instance on a server in Oregon, much further away than the closest datacenter to me. That works fine.

    But “do a lot of stuff in a browser” isn’t the same thing as “eliminate the PC entirely”.


  • You could also just only use Macs.

    I actually don’t know what the current requirement is. Back in the day, Apple used to build some of the OS — like QuickDraw — into the ROMs, so unless you had a physical Mac, not just a purchased copy of MacOS, you couldn’t legally run MacOS, since the ROM contents were copyrighted, and doing so would require infringing on the ROM copyright. Apple obviously doesn’t care about this most of the time, but I imagine that if it becomes institutionalized at places that make real money, they might.

    But I don’t know if that’s still the case today. I’m vaguely recalling that there was some period where part of Apple’s EULA for MacOS prohibited running MacOS on non-Apple hardware, which would have been a different method of trying to tie it to the hardware.

    searches

    This is from 2019, and it sounds like at that point, Apple was leveraging the EULAs.

    https://discussions.apple.com/thread/250646417?sortBy=rank

    Posted on Sep 20, 2019 5:05 AM

    The widely held consensus is that it is only legal to run virtual copies of macOS on a genuine Apple made Apple Mac computer.

    There are numerous packages to do this but as above they all have to be done on a genuine Apple Mac.

    • VMware Fusion - this allows creating VMs that run as windows within a normal Mac environment. You can therefore have a virtual Mac running inside a Mac. This is useful to either run simultaneously different versions of macOS or to run a test environment inside your production environment. A lot of people are going to use this approach to run an older version of macOS which supports 32bit apps as macOS Catalina will not support old 32bit apps.
    • VMware ESXi aka vSphere - this is a different approach known as a ‘bare metal’ approach. With this you use a special VMware environment and then inside that create and run virtual machines. So on a Mac you could create one or more virtual Mac but these would run inside ESXi and not inside a Mac environment. It is more commonly used in enterprise situations and hence less applicable to Mac users.
    • Parallels Desktop - this works in the same way as VMware Fusion but is written by Parallels instead.
    • VirtualBox - this works in the same way as VMware Fusion and Parallels Desktop. Unlike those it is free of charge. Ostensible it is ‘owned’ by Oracle. It works but at least with regards to running virtual copies of macOS is still vastly inferior to VMware Fusion and Parallels Desktop. (You get what you pay for.)

    Last time I checked Apple’s terms you could do the following.

    • Run a virtualised copy of macOS on a genuine Apple made Mac for the purposes of doing software development
    • Run a virtualised copy of macOS on a genuine Apple made Mac for the purposes of testing
    • Run a virtualised copy of macOS on a genuine Apple made Mac for the purposes of being a server
    • Run a virtualised copy of macOS on a genuine Apple made Mac for personal non-commercial use

    No. Apple spells this out very clearly in the License Agreement for macOS. Must be installed on Apple branded hardware.

    They switched to ARM in 2020, so unless their legal position changed around ARM, I’d guess that they’re probably still relying on the EULA restrictions. That being said, EULAs have also been thrown out for various reasons, so…shrugs

    goes looking for the actual license text.

    Yeah, this is Tahoe’s EULA, the most-recent release:

    https://www.apple.com/legal/sla/docs/macOSTahoe.pdf

    Page 2 (of 895 pages):

    They allow only on Apple-branded hardware for individual purchases unless you buy from the Mac Store. For Mac Store purchases, they allow up to two virtual instances of MacOS to be executed on Apple-branded hardware that is also running the OS, and only under certain conditions (like for software development). And for volume purchase contracts, they say that the terms are whatever the purchaser negotiated. I’m assuming that there’s no chance that Apple is going to grant some “go use it as much as you want whenever you want to do CI tests or builds for open-source projects targeting MacOS” license.

    So for the general case, the EULA prohibits you from running MacOS wherever on non-Apple hardware.






  • Yes. For a single change. Like having an editor with 2 minute save lag, pushing commit using program running on cassette tapes4 or playing chess over snail-mail. It’s 2026 for Pete’s sake, and we5 won’t tolerate this behavior!

    Now of course, in some Perfect World, GitHub could have a local runner with all the bells and whistles. Or maybe something that would allow me to quickly check for progress upon the push6 or even something like a “scratch commit”, i.e. a way that I could testbed different runs without polluting history of both Git and Action runs.

    For the love of all that is holy, don’t let GitHub Actions manage your logic. Keep your scripts under your own damn control and just make the Actions call them!

    I don’t use GitHub Actions and am not familiar with it, but if you’re using it for continuous integration or build stuff, I’d think that it’s probably a good idea to have that decoupled from GitHub anyway, unless you want to be unable to do development without an Internet connection and access to GitHub.

    I mean, I’d wager that someone out there has already built some kind of system to do this for git projects. If you need some kind of isolated, reproducible environment, maybe Podman or similar, and just have some framework to run it?

    like macOS builds that would be quite hard to get otherwise

    Does Rust not do cross-compilation?

    searches

    It looks like it can.

    https://rust-lang.github.io/rustup/cross-compilation.html

    I guess maybe MacOS CI might be a pain to do locally on a non-MacOS machine. You can’t just freely redistribute MacOS.

    goes looking

    Maybe this?

    https://www.darlinghq.org/

    Darling is a translation layer that lets you run macOS software on Linux

    That sounds a lot like Wine

    And it is! Wine lets you run Windows software on Linux, and Darling does the same for macOS software.

    As long as that’s sufficient, I’d think that you could maybe run MacOS CI in Darling in Podman? Podman can run on Linux, MacOS, Windows, and BSD, and if you can run Darling in Podman, I’d think that you’d be able to run MacOS stuff on whatever.




  • I’m all for running models locally, as long as one can handle the hardware cost of not sharing hardware with other users, for privacy reasons and so forth, but laptops aren’t a fantastic hardware platform for heavy parallel computation.

    • Limited ability to dissipate heat.

    • Many current laptops have a limited ability to be upgraded, especially on memory. Memory is currently a major limiting factor on model size, and right now, laptops are likely to be memory-constrained due to shortages and due to using soldered memory, most can’t be upgraded a couple years down the line when memory prices are lower.

    • Limited ability to use power on battery.

    In general, models have been getting larger. I think that it is very likely that for almost any area we can think of, we can get a better result by producing a larger model. There are tasks that don’t absolutely need a large model, but odds are that one could do better with a larger model.

    Another issue is that the hardware situation is rapidly changing, and it may be that there will be better hardware out that can erfoem significantly better before long.

    So unless you really, really need to run your computation on a laptop, I’d be inclined to run it on another box. I’ve commented on this before: I use a Framework Desktop to do generative AI stuff remotely from my laptop when I want to do so. I need very little bandwidth for the tasks I do, and anywhere I have a laptop and a cell link, it’s available. If I absolutely had to have a high-bandwidth link to it, or use it without Internet access, I’d haul the box along with me. Sure, it needs wall power (or at least a power station), but you aren’t going to be doing much heavy parallel computation on a laptop without plugging it into a wall anyway.

    Even with non-laptop hardware, unless you really, really want to do a bunch of parallel computation in the near future, especially since a lot of hardware costs have shot up, unless you are willing to pay the cost to do it now, you may be better off waiting until prices come down.

    EDIT: I’m also not at all convinced that a lot of the things that one thinks might need to be done on-laptop actually need to be done on-laptop. For example, let’s say that one likes Microsoft’s Recall feature of Copilot. I am pretty sure that someone could put together a bit of software to just do the image recognition and tagging on a home desktop when one plugs one’s laptop in at night to charge — log the screenshots at runtime, but then do the number crunching later. Maybe also do fancy compression then, bring the size down further. Yeah, okay, that way the search index doesn’t get updated until maybe the night, but we’ve had non-realtime updated file indexes for a long time, and they worked fine. I have my crontab on my Linux box update the locate database nightly to this day.

    EDIT2: Not to mention that if you have a parallel compute box on the network, it can be used by phones or whatever too. And you’ll probably get better results with the kind of image recognition with a much larger model that can run on a box like that.

    I mean, you want to always be solving a user problem. Do people want captioned screenshots of what they’ve been doing, to seach their usage history? Maybe. Do they need it immediately, and are they willing to make the associated cost, battery life, and caption-quality performance tradeoffs for that immediacy? I’m a lot more skeptical about that.

    EDIT3: And I do get that, if you want to provide remote access to a parallel compute box, self-hosting is hard today. But that still seems like a problem that Microsoft is in a prime position to work on. Make it plug-and-play to associate a parallel compute box with a laptop. Plug it in over USB-C like an eGPU. Have a service to set up a reverse proxy for the parallel compute box, or provide the option to use some other service. Hell, provide the option to do cloud compute on it.

    Steam does something like this with Steam Link for local network use, leveraging a “big” box for parallel compute so that small, portable devices can use it for games. Does Microsoft?

    searches

    Yeah.

    https://www.xbox.com/en-US/consoles/remote-play

    Play remotely from your Xbox console

    Play games installed on your console, including titles in the Xbox Game Pass library, on LG Smart TVs, Samsung Smart TVs, Amazon Fire TV devices, and Meta Quest headsets, as well as other browser supported devices like PCs, smart phones, and tablets.

    Yeah. They’re literally already selling parallel compute hardware that you put on your home network and then use on portable devices. I mean, c’mon, guys.