Hacker Newsnew | past | comments | ask | show | jobs | submit | danielnesbitt's commentslogin

Since they mention Windows, I believe this is a reference to the fact that you cannot (easily) install the Docker CLI without Docker Desktop. Podman does not have this issue.


Docker publishes the Docker CLI for Windows directly, the same as every other platform. You just download it and run it; it does not even require installation. With DOCKER_HOST set, you can access the Docker engine in WSL2 from the Windows side. You don't need to shell into WSL2 to interact with Docker and it can use your Windows files. https://download.docker.com/win/static/stable/x86_64 -- unzip, grab self-contained docker.exe. Docker Desktop and Podman Desktop automate this a bit, but it's not a big lift to set this up with regular Docker yourself.


You absolutely can run docker on the CLI in WSL2. The only requirement is you have systemd running in your WSL distro, which is fully supported.


Yes, of course that works, but then you have to start up and shell into WSL. With podman, you can run all commands directly in Windows which is more seamless. Plus, getting it working is just a matter of running "winget install -e --id RedHat.Podman". This is particularly helpful when trying to roll things out for larger teams as they don't have to know anything about WSL and everything integrates in their environment seamlessly. Of course, just using Linux is preferable for development if you can get away with it.


> You absolutely can run docker on the CLI in WSL2.

But again, they're talking about Windows, not Linux-in-Windows or virtualized Linux on Windows. Just because you can do something in WSL2 doesn't mean you "can do it on Windows", as much as you "can run systemd and Wayland on Windows" because you could run it inside a Linux VM...


Yes. For some the distinction between the two is almost nothing as WSL is pretty seamless. However, using Podman directly in your normal Windows shell opens up more use cases. Podman is of course running everything behind the scenes using WSL.


> For some the distinction between the two is almost nothing as WSL is pretty seamless

WSL1 yes, but not WSL2, which the parent explicitly mentioned. WSL2 is just virtualization with a fancier name, might as well use VirtualBox and similar at that point.


While it is fundamentally a VM, it is far more seamless than running a regular VirtualBox.


Your posts in this thread seem to be focused on the inability to use Docker from the Windows shell, but it's not true: you just need to set DOCKER_HOST. Then the Windows client can connect to a Linux engine in WSL2. Docker engine in WSL2 runs as a systemd unit and doesn't need to be manually started. Podman/Docker Desktop are doing far less work here than you might be expecting. They are just automating this setup for you. I run this setup and it is genuinely a one-time nothingburger. If you have a bunch of Windows machines, you can have them all share one Linux Docker engine if you want, by pointing DOCKER_HOST at the same host.


Is there something in particular missing? I have been using Podman for Windows almost daily for the past six months. There is no management GUI built-in like Docker for Windows, but I have not found that be a problem at all.


That does not happen because you searched for Firefox. A dismissible popup suggesting you 'Switch to Chrome' appears if using IE to search with Google regardless of your search term.

It seems Microsoft is bit more egregious in Bing. If you search for Chrome or Firefox you get "Promoted by Microsoft - Microsoft Edge is the recommended browser for Windows 10 and it’s already installed on your PC."


...and if you change your default browser to anything else, you'll get endless "Try Edge!" messages in your notifications and even on your lock screen.


Microsoft's bad behavior does not excuse Google's bad behavior.


They are not participating in the study though, at least not the regulated portion of the trial.

The rule prevents negative outcomes for risky non-qualified patients from harming the trial, but the converse is also true. Positive outcomes for patients outside the regulated trial will not help gain approval at Phase II or Phase III.

On a board like hn, there's a tendency to look at all data as useful data, but this isn't true in the case of a clinical trial.

On further thinking, I'm not even sure what happens in the case of a patient receiving a pre-approval drug outside of the trial. Handling their data would likely need to meet the same standards required in trial (consent tracking, electronic signatures, etc) without any of the machinery of the trial to help. It could well be the case that nothing is collected if the cost to keep it and use it are too high.


On further thinking, I'm not even sure what happens in the case of a patient receiving a pre-approval drug outside of the trial. Handling their data would likely need to meet the same standards required in trial (consent tracking, electronic signatures, etc) without any of the machinery of the trial to help. It could well be the case that nothing is collected if the cost to keep it and use it are too high.

IIRC, some of this was handled by FDA (or could have been), if they were part of the process by granting an unapproved treatment waiver. This way some amount of 'informal' data could be collected and used to guide others, even if the treatment was outside of a formal trial. Now, without FDA having a role, I fear that none of this data will be captured (or at least not in a useable form).


Pure functional languages often do not use the same data structures common in imperative languages. Instead there's an emphasis on persistent structures that copy on write while sharing as much data as possible.

For instance, prepending to a linked list results in a new head node, but nothing is actually copied. Appending requires a full copy. A developer has to be aware of where the limitations of these data structures are, but I think that's true of using any library in any language.

https://en.wikipedia.org/wiki/Persistent_data_structure


The performance issue still stands. Linked Lists are often MUCH slower then array backed lists on modern hardware. This is true even when doing lots of inserts. Having all your list in the CPU cache is just too much of a performance gain over having it spread out in random locations.


Depending on your GC, linked lists won't be "spread out in random locations." The nodes will be allocated right next to each other in the case where you're building up a list iteratively.


How does the GC change allocations?

While I agree that this Linked list memory layout should be optimized, with real world tests Array backed normally win by a large margin.


I remember reading about Project Avatar around the the time Java 8 was released. The intention was to support some of those native node modules.

https://avatar-js.java.net/

I guess it hit some roadblocks.

https://blogs.oracle.com/theaquarium/entry/project_avatar_up...


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: