Recent submissions

Comment · 5 years ago
>> The biggest technical hurdle is the inability to run external processes on iOS and iPadOS. >> Apps on iOS and iPadOS must use Apple’s Javascript interpreter, JavaScriptCore.

> Both of these really suck because they are policy, not technical, decisions.

They are policy decisions that kind of make sense for a device like a tablet or phone though. Even though you could technically allow installing a complete development toolchain on an iPad, I can't imagine what the process would look like in practice. Download and install a complete *nix userland through the app store? Plus a compiler toolchain and each and every tool used in the build phase for your product? Who is going to maintain and distribute all these parts if the whole ecosystem is designed around the idea that apps are sandboxed and distributed through a curated app store? Imagine the customer support burden if you are the maintainer of some app that depends on external tools that can be used in a zillion different build/deploy configurations.

You could of course argue that the iOS ecosystem should not be based around a curated app store and sandboxed applications, but that would make it a MacBook...

Maybe we should put the whole idea of having one device that does everything to rest and accept that there are advantages to have a split between 'real computers' and tablets/phones. That's just my opionion though...

Edit: ah great, an immediate -3 because apparently people here think it is absolutely required to downvote straight away because they disagree with some opinion that is not their own.

Goodbye Hacker News, after ~10 years I'm finally done with the comment sections here and will deactivate my account and ask for it to be deleted

Comment · 5 years ago
>> This is a company that actively fights right to repair and implements software DRM to lock out non-Apple authorised replacements.

But they do all these things for obvious reasons. Reasons you and I may not agree with or be happy about, but still obvious reasons. In the case of repair/replacement it's just because they want you to use expensive replacement parts, they want to lure you into their Apple stores, and they don't want any liability/accountability for repairs with 'unofficial' parts.

I don't see how providing specifications about how their GPU's work so someone can make a Linux driver out of it hurts their commercial interests or liability though. Yes people may screw up their system if they install Linux on a Mac and it doesn't boot anymore, but as long as you can still take it into an Apple store and they can restore it to MacOS, why would Apple actively fight the extremely small minority of people who want to do that? And even if more people (developers/enthusiasts) would buy M1 hardware and immediately slap Linux on it, why would they care about that? They still made the sale, and these people will still walk around with a machine with a big fat Apple logo on it?

They previously spent a lot of effort accomodating people who wanted to run Windows on Macs using Boot Camp, so why would they be worried about people running Linux on M1 macs?

Edit: I can imagine Apple want to protect their IP and hence don't want to disclose anything about out it, period. Much like NVidia and most other GPU manufacturers do. But if AMD and Intel can be OSS-friendly, Apple could be too, apparently IP protection does not have to be a deal-breaker.

Comment · 5 years ago
It's even worse when they fall off close to shore. Last year a small number of containers (around 5 I think) fell off a ship not far north of the Netherlands, close to a very vulnerable and quite rare ecosystem of small islands and tidal plates that are partially submerged during high tide. It's a home for all kinds sea life, birds, a resting area for migrating birds, etc. Some of these containers apparently had stuff like small plastic beads in them, hundreds of thousands of them, which somehow escaped from the container and washed down on the shore. You can imagine how impossible it is to ever clean this up, and what the risk is to wildlife...
Comment · 5 years ago
Oh I believe you can ‘stream’ stuff at 2 fps over a 500 kbps line alright, the ‘not serious’ part is how anyone could find that acceptable. Even if all you have is 500 kbps...

If you would use your 2fps streaming browser to read, say, hacker news, every scroll operation would be hideously slow and pull in another ~60KB per second, even though the page data itself is only a few KB and never changes. Your ‘streaming solution’ only makes sense if the total amount of data to fetch for the page itself outweighs the total amount of data for all the frames you need to stream while you are using the page. Which is probably almost never, unless you always look at static single-page applications which continuously pull in data on the backend without presenting anything new at the front end. Highly unlikely.

Comment · 5 years ago
It's definitely interesting to see how people's workflows can be so different, I get by with at most ~10 tabs, and close things as soon as I'm done with them. At the end of the working day, I prefer to have at most 2 or 3 left. I sincerely start to experience existential anxiety when the number of tabs goes up too much :-P. Probably related to some subconscious feeling that I need to 'do something' with all these tabs and when they increase in number it starts to feel like I'm 'running behind'. Different people, different workflows, that's perfectly fine.

What I don't really see is why this service needs to exist to solve that particular problem (browser gets slow because too many tabs), because IMO that problem has already been solved very well by most decent browsers. They just swap out the inactive tabs and are able to restore them fast enough even on low-end systems, as long as they have an SSD. Inactive tabs that are not swapped out don't take a lot of CPU resources either. This service sells you a cloud browser with 16GB of RAM, which is pretty much the norm for laptops and desktops now, so it's not going to save you much if 'too many tabs' is causing slowness.

Comment · 5 years ago
Two whole frames per second... Not sure if serious :-/

Two fps at 34KB each is ~500kbps by the way, not 60 kbps

Comment · 5 years ago
Yeah, you can even go back much further in time if you're not too worried about performance. I've been running a fanless Atom J1900 based mini-PC as a home server for ~8 years nonstop now. It's trivial to build such a system but at least back then the cost was literally 10x to 20x the price of a rPI today. I would guess that even though it's an 8-year old CPU it's probably about 2x as fast as an rPI 4B, and for something that's been chugging along for all this time the cost/depreciation over time vs. a much cheaper rPI isn't really an issue for me.
Comment · 5 years ago
Sure, but why does the Xbox One support it then, but not the PS5? And wouldn't it be possible to somehow incorporate the licensing cost in the console by means of a paid software upgrade (like on Windows) or a 'premium' version of the console that has it by default?

As far as I know Dolby Atmos can be seamlessly mapped onto to 5.1 or 7.1, so from the developer perspective there should be no effort/cost to provide Dolby Atmos audio. I might be wrong about this but I assume the licensing cost would be for the playback device and not for the 'right' to bundle an Atmos audio track with your game?

Comment · 5 years ago
Like the other comments I'm confused, pretty much any game I've played for the past few years supports surround sound, most of them 7.1 even.

What I don't understand is why Dolby Atmos is not used much more for games. Xbox One and PC support it but only very few titles use it. PS4 and PS5 don't support it all for games (only for video content), despite all Sony's bragging about their dedication to PS5 audio. Dolby Atmos seems perfect for games, for developers because it effortlessly maps audio directly to any 3D position in space, and for users because it scales all the way from headphones to soundbars to full 7.4.2 setups.

I was royally pissed off to learn PS5 would not natively support Dolby Atmos, I have a full 7.4.1 home-theater setup with height speakers and movies and Dolby Atmos demo's sound absolutely awesome. Yet if I play games the best I can get is 7.1 which is nice, but the height speakers go totally unused. It's probably related to licensing costs, but it is extremely disappointing having waited for the PS5 for so long and not seeing any kind of upgrade to the audio.

Comment · 5 years ago
The main problem would be to have to maintain the myriad of known working configurations, since they are all different depending on motherboard, BIOS, GPU, CPU, etc. If you are careful about picking the right parts (and assembling them properly), it's actually really easy to configure on any recent Linux distro, you can just click together the VM using virt-manager if you don't need anything special.

I know I had to jump through a lot of hoops to make it work though, my X470 motherboard didn't isolate the USB controller without a BIOS update for example, and after that the USB controller exhibited USB FLR (function level reset) problems causing it to hang the VM. This required blacklisting it's PCI ID from the Linux kernel and patching the kernel to disable FLR (fortunately these changes were later merged into the mainline kernel). I also had problems with the second GPU, if I plugged it into any slot other than the bottom x1 slot, the motherboard BIOS would reshuffle the IOMMU groups making it impossible to pass through the NVME and USB controller, or (if I put it in the second x16 slot) it would halve the PCIe bandwidth to the RTX3080.

All in all it took me the better part of a weekend to get everything working, but if I had to do it again from scratch and did some research into (in particular) the motherboard and BIOS, I would be able to set it everything up again in less than an hour.

Comment · 5 years ago
I do this with QEMU/KVM with passthrough of an RTX 3090, an NVME SSD, and one of the onboard USB controllers. Works like a charm, though the VM boot time is very high if you allocate a lot of RAM to it (there's some kind of bottleneck in the linux kernel when pinning huge amounts of consecutive memory pages while using passthrough, don't fully understand it but it's a known problem).

Performance is indistinguishable from native, e.g. I can easily drive the screen at the max 144 Hz refresh rate, G-sync works, etc. I did put some effort in figuring out how to pin CPU threads to cores, optimize for the CPU core topology so Windows only gets cores on the same CCX (it's an AMD Zen 3, before that it was Zen 2), etc. But all of this is documented in many places.

Do note that depending on your motherboard not all of this is possible if the chipset & BIOS do not provide enough MMIO isolation, you might not be able to isolate a USB controller or a separate NVME drive, or you might get only half the PCIe lanes for the passthrough GPU if you need to use the other full-lane slot for something like a second GPU.

Comment · 5 years ago
Ah I see, yes that's horrible.

It's kind of weird structured bindings where not captured with [=](){} before, actually. I'm still stuck at C++11 for most of my work so I cannot use structured bindings at all, but I would not have expected to have to write that kind of monstrosity in C++17

Comment · 5 years ago
>> this is seriously going to change my life.

Now I'm curious. Can you give a small code example of the kind of thing this solves and how it will change your life? ;-)

Comment · 5 years ago
Most semiconductor production processes like etching, doping, polish etc are done on the full wafer, not on individual images/fields. So there is nothing to be gained there in terms of production efficiency.

The litho step could in theory be optimized by skipping incomplete fields at the edges, but the reduction in exposure time would be relatively small, especially for smaller designs that fit multiple chips within a single image field. I imagine it would als introduce yield risk because of things like uneven wafer stress & temperature, higher variability in stage move time when stepping edge fields vs center fields, etc.

Comment · 5 years ago
We use SCons at work, nothing really supports that :-/

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton