HN user

ryao

4,481 karma
Posts3
Comments2,504
View on HN

I will be impressed when they release the weights for these and older models as open source. Until then, this is not that interesting.

If I were to ask most people I know offline, I suspect only a small number of them would know what a minisplit unit is. For most people, A/C is like plumbing. They do not think about it until it breaks. Learning that there are better options is just not something that people do.

That said, I was replying to someone from Vietnam. Assuming that things in Vietnam are similar to China and Japan, people will only heat or cool the specific rooms that they are using, rather than heating or cooling everything like how many Americans do things. Those in the US who cannot afford to heat or cool everything, who are likely very underrepresented here, would be those using window units, since they are cheap upfront. A minisplit would be cheaper over the long term, but the high upfront cost dissuades people in thing market from even looking at them.

Finally, I had Fujitsu minisplit units installed in my basement two years ago. They are far more aesthetically pleasing than window A/C units.

Minisplit AC units are not very popular in the US. The US mainly uses either central air conditioning units or all in one AC units that are designed to be installed in a window. The window units are cheap, but inefficient. The central units are more efficient, but very expensive. Minisplit units are more expensive than window units (by probably a factor of 10), but are more efficient than either. I suspect most people in the US do not know that minisplit units are even an option.

In my home, I recently had a heat pump unit replace my central A/C with some minisplits that connected to the exterior unit installed in the basement. The entire setup cost as much as it originally cost to install the central A/C, despite parts of the central A/C being reused.

Note that in the US, what we call air conditioners only support cooling and not heating. When they support both, we call them heat pumps despite that being the scientific name which applies to the cooling only units too.

If you need R410A refrigerant, the high costs are due to government regulations causing the shortage. I very much hope that the heat pump I had installed 2 years ago does not leak. Theoretically, if the leak occurs under warranty, it should be covered. The central A/C unit I replaced with the heat pump had developed a leak right before the warranty expired, which resulted in a costly repair being covered. Unfortunately, we paid another company to refill it before learning that it would be covered as part of the warranty repair by the company that installed it. It then developed a second leak several years later, so I had a heat pump installed. Of course, that heat pump uses R410A refrigerant.

The leaky A/C unit had been made by Lennox while the new heat pump was made by Fujitsu. I very much hope that Fujitsu engineered its heat pump to last. The heat pump had also replaced an oil heating system that was around 25 years old and still could have been used for many more years. Expecting similar or better longevity out of a heat pump does not seem unreasonable.

If you live in the United States today, and you accidentally knock a hole in your wall, it’s probably cheaper to buy a flatscreen TV and stick it in front of the hole, compared to hiring a handyman to fix your drywall.

While this is true, the costs are inflated because you need to repaint the entire room to get the original look, rather than only pay the cost of merely replacing the drywall. Of course, some handymen are much more expensive than others, so it is possible that is more expensive too.

If you are one of the few using wallpaper and have extra wallpaper for just such emergencies, using the extra wallpaper to paper over it should be cheap.

On the spiritual side, I think it is somewhat calming. I face this at times when you have patients that pass away and you talk their families; you have to be the bearer of bad news. Right now, we don't know anything about what happens to their loved one’s brain when they're dying. I think if we know that there is something happening in their brain, that they are remembering nice moments, we can tell these families and it builds a feeling of warmth that in that moment when they are falling, this can help a little bit to catch them.

I do not see any connection between this and spirituality. I also see no reason to think that they must be remembering nice moments. It is possible to be remembering painful moments. This seems especially likely in cases of PTSD.

This depends on the PIO in the RP2040/RP2350. As far as I know, that is an innovation exclusive to the Raspberry Pi company, so it would not be possible to do this on another microcontroller:

https://magazine.raspberrypi.com/articles/what-is-programmab...

The microcontroller has additional cores called state machines in the PIOs that are specifically designed for bit banging and have their own custom ISA that reportedly only has 9 instructions.

This would be a great starting point to make a USB Ethernet NIC if someone were inclined to do it.

It could even have a very practical use if it were made to impersonate a USB Ethernet device that the Nintendo Switch / Nintendo Switch 2 supports. They only support gigabit NICs, but it should be easy to just pretend that the other side failed to negotiate gigabit and only supports 100Mbps.

I remember hearing about people doing that around the time that windows 98 was still current. It was really impressive.

At the time, the idea of an operating system using a gigabyte of space was a fantasy to most people. Now, I wonder when Microsoft Windows will pass the terabyte threshold.

If you install the right software, Windows XP reportedly can run most Windows 7 software too:

https://github.com/shorthorn-project/One-Core-API-Binaries

That adds various NT 6 APIs and even compatibility modes for various newer versions of Windows up to Windows 11. At a glance, it appears to have support for Vulkan, Direct3D 10 and Direct3D 11 through software rendering, with the option of using WineD3D to get hardware accelerated Direct3D 10 and 11. I assume old WineD3D-PBA binaries run very nicely on that.

Interestingly, the developer suggests that installing graphics drivers from newer versions of Windows might be possible at some point, which I assume would provide native hardware acceleration for newer graphics APIs and support for recent graphics cards:

WDDM is not impossible, only very hard. Currently initializes and the subsystem runs, but every driver fails to communicate with it's internal hardware due 2000/XP/2003 doesn't have support for MSI/MSI-X interrupt, required to WDDM drivers works;

https://github.com/shorthorn-project/One-Core-API-Binaries/i...

You are right, but blanket statements only need one counter example to be shown to be false. I had looked into cancer data because I read some remarks made about cancer between the US and Europe and I was curious if they were true.

For what it is worth, I take a prescription medication for a non-life threatening condition. I had once called Costco in Canada to find out how much the price is there out of curiosity. They do not sell it. I then discovered that the drug my doctor prescribed is exclusive to the US and is not sold anywhere else in the world. Presumably, nobody else is willing to pay the exorbitant price that is charged for it. Even the generic is expensive. The US system is expensive, but it gives people access to more expensive treatments that simply are not available elsewhere.

That said, I might have an elective operation in the future. It would have been covered by insurance as a necessity when I was young, but my parents never pursued it and the underlying condition’s severity decreased when I became an adult such that it is now elective surgery. I expect to engage in medical tourism to have that done.

Are the outcomes in the US worse? Not that long ago (a couple months ago in fact), I looked at public data comparing cancer survival rates, which put the outcomes in the US at least 10% better than those in the UK. That was additive, such that a 20% survival rate in the UK for a type of cancer is at least a 30% survival rate in the US. The 10%+ better outcome in the US applied to all types of cancers for which I found public data.

I believe the reason for higher US success rates was that the US used more aggressive treatments that the UK would not, since neither does the NHS pay for them nor do their doctors offer them. It is easy to complain about the US system, but the reason that the per capita cost of health care in the US is high could be because the US will try expensive things that the UK’s NHS never would have attempted (since spending exorbitant amounts on aggressive treatments with low chances of success to attain US success rates would drive the per capita cost of medicine to what could be US levels). The high US pricing of those treatments could be further amplified by attempts to take advantage of ignorance. Amplification to take advantage of ignorance was clearly the case in the article author’s case.

I feel like the opposite viewpoint in favor of the US system is not well represented in online discourse, which could very well be because those who were not served well by the UK’s NHS are dead. There are anecdotes about people coming to the US for treatments that they could not receive in the UK or Europe, which is consistent with that.

That said, I have only looked at data for cancer survival rates and not other illnesses, but the cancer data alone contradicts what you wrote. Perhaps reality is in the middle where the UK system is better for routine issues (i.e. you avoid sticker shock), but the US system is better for anything that falls outside of that (i.e. you have a better chance to live). There is evidence both systems have plenty of room for improvement.

Getting rid of the BIOS sounds awesome. I assume that means that it gets rid of code running the SMM, which can prevent invisible code from sapping performance from the machine for no apparent reason. For example, on recent AMD machines, such as my Zen 3 machine, memory bandwidth measured by ZFS' checksum algorithms will randomly drop by a significant percentage and there is no obvious reason why, although I suspect patrol scrubs are involved.

That begs the question. What does the patrol scrubs of ECC memory on your hardware?

Apple M5 chip 9 months ago

Off the top of my head, here is what that needs:

  1. Implementing PR_SET_SYSCALL_USER_DISPATCH
  2. Implementing ntsync
  3. Implementing OpenGL 4.6 support (currently only OpenGL 4.1 is supported)
  4. Implementing Vulkan 1.4 with various extensions used by DXVK and vkd3d-proton.
That said, there are alternatives to those things.
  1. Not implementing this would just break games like Jurassic World where DRM hard codes Windows syscalls. I do not believe that there are many of these, although I could be wrong.
  2. There is https://github.com/marzent/wine-msync, although implementing ntsync in the XNU kernel would be better.
  3. The latest OpenGL isn't that important these days now that Vulkan has been widely adopted, although having the latest version would be nice to have for parity. Not many things would suffer if it were omitted.
  4. They could add the things needed for MoltenVK to support Vulkan 1.4 with those extensions on top of Metal:
https://github.com/KhronosGroup/MoltenVK/issues/203

It is a shame that they do not work with Valve on these things. If they did, Proton likely would be supported for MacOS from within Steam and the GPTK would benefit.

In Defense of C++ 10 months ago

If you are willing to give up incremental compilation, concatenating all C++ files into a single file and compiling that on a single core will often outperform a multi-core compilation. The reason is that the compiler spends most of its time parsing headers and when you concentrate everything into a single file (use the C preprocessor for this), it only needs to parse headers once.

Merely parsing C++ code requires a higher time complexity than parsing C code (linear time parsers cannot be used for C++), which is likely where part of the long compile times originate. I believe the parsing complexity is related to templates (and the headers are full of them), but there might be other parts that also contribute to it. Having to deal with far more abstractions is likely another part.

That said, I have been incrementally rewriting a C++ code base at a health care startup into a subset of C with the goal of replacing the C++ compiler with a C compiler. The closer the codebase comes to being C, the faster it builds.

In Defense of C++ 10 months ago

GCC was originally written in GNU C. Around GCC 4.9, its developers decided to switch to a subset of C++ to use certain features, but if you look at the codebase, you will see that much of it is still GNU C, compiled as GNU C++.

There is nothing you can do in C++ that you cannot do in C due to Turing Completeness. Many common things have ways of being done in C that work equally well or even better. For example, you can use balanced binary search trees in C without type errors creating enormous error messages from types that are sentences if not paragraphs long. Just grab BSD’s sys/tree.h, illumnos’ libuutil or glib for some easy to use balanced binary search trees in C.

In Defense of C++ 10 months ago

It depends on the codebase. If the code base deserves to be a case study in how not to do programming, then a rewrite will definitely yield better results.

I once encountered this situation with C# code written by an undergraduate, rewrote it from scratch in C++ and got a better result. In hindsight, the result would have been even better in C since I spent about 80% of my time fighting with C++ to try to use every language feature possible. I had just graduated from college and my code whole better, did a number of things wrong too (although far fewer to my credit). I look back at it in hindsight and think less is more when it comes to language features.

I actually am currently maintaining that codebase at a health care startup (I left shortly after it was founded and rejoined not that long ago). I am incrementally rewriting it to use a C subset of C++ whenever I need to make a change to it. At some point, I expect to compile it as C and put C++ behind me.

In Defense of C++ 10 months ago

I feel like C++ is a bunch of long chains of solutions creating problems that require new solutions, that start from claiming that it can do things better than C.

Problem 1: You might fail to initialize an object in memory correctly.

Solution 1: Constructors.

Problem 2: Now you cannot preallocate memory as in SLAB allocation since the constructor does an allocator call.

Solution 2: Placement new

Problem 3: Now the type system has led the compiler to assume your preallocated memory cannot change since you declared it const.

Solution 3: std::launder()

If it is not clear what I mean about placement new and const needing std::lauder(), see this:

https://miyuki.github.io/2016/10/21/std-launder.html

C has a very simple solution that avoids this chain. Use structured programming to initialize your objects correctly. You are not going to escape the need to do this with C++, but you are guaranteed to have to consider a great many things in C++ that would not have needed consideration in C since C avoided the slippery slope of syntactic sugar that C++ took.

That is a misconception. They added VR support to the Xorg server long after people started saying this. New features need to be well written and not break existing things, which is hard to do. The entire premise of Wayland was to make a clean state to avoid having to worry about existing things. However, they are not opposed to having new things added, as long as adding new things does not break existing things.

Nvidia likely will back port Debian 13 support to their driver if you ask nicely in an email to their Linux bugs email address, although you would probably wait 3 to 6 months for it. They periodically back port support for newer systems to older drivers that they maintain.

Alternatively, it is theoretically possible to forward port their driver yourself since their kernel compatibility shims are open source and you can see what changes they made in newer versions to support newer kernels. This is likely a masochistic exercise however.

I have had minimal problems with KDE 6 and Wayland, but I dislike the idea that both cannot co-exist. There is no reason to force people to Wayland. There are applications that benefit from Wayland’s tighter security model while there are applications that benefit from X11’s looser security model. If I make an appliance and I want to remotely debug, X11 is great since I can use X11vnc. If I want to run malicious software in a sandbox environment, Wayland is great since it can be properly isolated. They both have their uses. X11 is far more mature too and thus has fewer problems.

That said, I am probably preaching to the choir, as I think we are both moderates as far as the X11 vs Wayland debate is concerned.

Perhaps people ought to listen to the Xorg devs when they say X11 is broken and obsolete, and you should be using Wayland instead. Every single one of them says this.

This is incorrect. Alan Coopersmith does not share this view and he is a Xorg developer. Anyone repeating this propaganda is arguing from ignorance.

That said, I have used both X11 and Wayland. X11 does its job well in many applications and honestly, we would have been better off had Wayland just been a X11 extension. As for things being broken, I have encountered far more brokenness when using Wayland than when using X11 exclusively. Wayland has gotten better of late, especially in desktop applications, but I do not consider it a replacement in general.

Just recently, I built a display based on a CM4 at work that uses X11 and I can remotely view and interact with the screen using x11vnc, which is fantastic for remote development and debugging. That is a convenience I simply do not have with Wayland. I have tried to do steam remote play by streaming from a desktop to my Steam Deck. If the desktop is running a Wayland session, a pop up appears on the physical display asking if I want to permit remote access and I currently have no way of clicking it without being physically present. This ruins the remote play experience, which I want to use when I am physically not present. A X11 session does not have this problem. If a tool like x11vnc existed for Wayland, it would be useless if it does what Steam Remote Play does with Wayland. :/