HNHacker News
TopNewBestAskShowJobs

robinhoodexe

1,338 karma · joined January 2, 2014

submissionscomments
robinhoodexe··on Musl 1.2.4 adds TCP DNS fallback
If you want to use the runAsUser and runAsGroup options in kubernetes that user needs to exist, hence why creating it is needed.

In our case, we have our own base container images that include this user. The base images are either just plain copies of official ones (such as dotnet or curl) or also includes stuff that almost everyone needs (such as MSSQL ODBC drivers, libxml2, curl etc) in the case of python/R/node.

robinhoodexe··on Musl 1.2.4 adds TCP DNS fallback
R is kinda difficult and I haven’t cracked this one. Currently we’re using the rocker based ones[1] but they are based on Ubuntu and include a lot of stuff we don’t need at runtime. I’ll look into creating a more minimal R base images that’s based on Debian-slim.

[1] https://github.com/rocker-org/rocker-versioned2

robinhoodexe··on Musl 1.2.4 adds TCP DNS fallback
What you want to read is the kubernetes pod security context fields[1].

In your Dockerfile, add a non-root user with UID and GID 1000, then in the end of your Dockerfile, right before a CMD or ENTRYPOINT you change to that user.

In your kubernetes yaml manifest, you can now set runAsNonRoot to true and runAsUser & runAsGroup to 1000.

Then there’s the privileged and allowPrivilegeEscalation fields, these can nearly always be set to false unless you actually need the extra privileges (such as using a GPU) on a shared node.

Then there’s seccomp profiles and the system capabilities. If you can run your container as the non-root user you’ve created, and you don’t need the extra privileges then these can safely also be set to the most restricted. Non-privileged non-root is the same as all capabilities are dropped.

The tricky one is the readOnlyRootfilesystem field. This includes /tmp, which is considered a global writeable directory, so the workaround is to make a in-memory volume and mount it at /tmp to make it writable. Likewise, your $HOME/.cache and $HOME/.local directories (for the user you created in your Dockerfile) are usually used by third party packages, so creating mounts here can be useful as well (if for some reason you can’t point it to /tmp instead).

[1] https://kubernetes.io/docs/tasks/configure-pod-container/sec...

robinhoodexe··on Musl 1.2.4 adds TCP DNS fallback
Exactly. Part of the appeal to consolidate all of our container images to use Debian-slim is the ability to optimise the caching of layers, both in our container registry but also on our kubernetes cluster’s nodes (which can be done in a consistent manner with kube-fledged[1]).

[1] https://github.com/senthilrch/kube-fledged

robinhoodexe··on Musl 1.2.4 adds TCP DNS fallback
We’re currently consolidating all container images to run on Debian-slim instead of a mixture of Debian, Ubuntu and alpine. Sure, alpine is small, but with 70% of our 500 container images being used for Python, R or node the final image is so large (due to libraries/packages), that the difference between alpine (~30 MB) and debian-slim (~80) is negligible. We’ve been experiencing the weird DNS behaviour of alpine and other issues with musl as well. Debian is rock solid and upgrading to bookworm from bullseye and even buster in many cases didn’t cause any problems at all.

I will admit though, that Debian-slim still has some non-essential stuff that usually isn’t needed at runtime, a shell is still neat for debugging or local development. This trade off could be considered a security risk, but it’s rather simple to restrict other stuff at runtime (such as run as non-privileged, non-root user with all capabilities dropped and a read-only file system except for /tmp).

It’s a balancing act between ease-of-use and security. I don’t think I’d get popular with the developers by forcing them to use “FROM scratch” and let them figure out exactly what their application needs at runtime and what stuff to copy over from a previous build stage.

robinhoodexe··on 0AD, an open source historical RTS in development for 22 years
I’m quite excited for a future macOS ARM build.
robinhoodexe··on GitHub issue - resolved
Is anyone self-hosting the enterprise version of github as a backup? Or using it as the primary source and then using the cloud version as backup?
robinhoodexe··on CNCF accepts Kubescape as its first security and compliance scanner project
I’m also interested in peoples opinion on this.

We’re using Trivy but have also been evaluating Snyk and Grype. All these can do container image scan, but these are, in my opinion, nearly useless, as the vulnerability exists in the base image I don’t control. Apart from using a newer base image (maybe based on a newer version of Ubuntu/Debian/Alpine) there’s little to do.

Scanning for language-specific vulnerabilities in third party packages is useful, as that’s something we can control and the fix is usually to update some python or node package (but this is also something dependabot can also help with, albeit in a different manner).

robinhoodexe··on Ask HN: Share your personal site
https://philip-jakobsen.dk/

Hosted on gitlab pages (for now), built with the Hugo SSG.

Mostly showcasing some small side projects as well as my ceramics. I’m considering opening a small web shop as well.

robinhoodexe··on Ask HN: What email service should I use instead of Gmail?
mailbox.org

Simple and privacy focused. I pay 3 euro/month for 10 GB email storage and 25 email aliases which are very nice. I haven't had a problem with them so far since 2015.

robinhoodexe··on macOS Free and Open-Source Security Tools by Objective-See
How is LuLu compared to littlesnitch? And is it even useful anymore with macOS being increasingly locked down (see https://news.ycombinator.com/item?id=24838816).
robinhoodexe··on Podman 4.2.0
Rootless is definitely one of the major selling points for using podman over docker, especially for local development.
robinhoodexe··on Podman 4.2.0
Does anyone have experience “migrating” from docker to podman on a somewhat large scale? I am starting a new job soon in a DevOps role where the devs use both podman and docker and although the resulting images are the same, using two tools where one would suffice does not seem optimal.

For context, it is a medium-sized (~40 devs) commodities trading company running some hundred applications in azure k8s but considering moving to on-prem k8s.

robinhoodexe··on Ask HN: What Are You Learning?
Arm architectures, especially the one on an old raspberry pi b+ (running armhf or armel due to some technical magic).

I want to use the old pi as a node in a k3s (lightweight kubernetes distro) cluster but the current releases won’t run. I’m currently reading up on qemu and the k3s build process (which to me seems kinda convoluted).

robinhoodexe··on LUMI, Europe’s most powerful supercomputer
For a more technical overview:

https://www.lumi-supercomputer.eu/may-we-introduce-lumi/

robinhoodexe··on Mealie – a self-hosted recipe manager and meal planner with a RestAPI back end
It seems a 64-bit OS is required for the Docker image, which gives me an excuse to upgrade my Pi model B to version 4.
robinhoodexe··on Mealie – a self-hosted recipe manager and meal planner with a RestAPI back end
Tandoor also looks interesting.

Could you take a quick look at mealie and make a comparison between the two?

robinhoodexe··on Mealie – a self-hosted recipe manager and meal planner with a RestAPI back end
I think it's in the "hacker's" interest to optimize and improve the tedious chores like meal planning and grocery shopping.
robinhoodexe··on Newcomer's Welcome Package: Thule Air Base, Greenland [pdf]
>While at Thule, it’s recommended that you walk on the left side of the road facing oncoming traffic. Although contrary to stateside standards, this will enable you to watch for vehicles and to get out of the way should they not see you.

I have always found this to make extremely good sense, but I see quite few doing it besides me.

robinhoodexe··on “Don Quixote” as a manual for living
I have only read the Edith Grossmann translation but found it quite good. I've read somewhere that it is not the most comical translation, but strives to be correct in a sense. Also, all the "old" words are described in footnotes, for those of us who are not experts on medieval litterature or 1600s ship concepts.
robinhoodexe··on WWDC21
Curious to see if a new MacBook Pro 15"/16" with an upgraded M1 chip is presented.
robinhoodexe··on Champagne and Burgundy lead boom
Wine as an investment is interesting. I consider it a hedge against inflation where stock usually underperform (and commodities outperform), but also against global warming due to the delicate nature of producing fine wine. We’ve already seen the effects of very warm seasons in France and Italy and if temperatures just keep rising, winemakers producing high-end wine will have to look elsewhere for grapes.

An average of 8% a year with lower risk[1] than stocks is quite attractive, but I cannot help but think that wine should be paired with a nice meal and shared with friends instead of traded/invested. However, when investing in wine, nothing stops me from drinking my investment!

[1] https://www.rarewineinvest.com/why-invest-in-wine/

robinhoodexe··on Ethereum Fork Fails on OpenEthereum
No.

It’s “just” a client issue, and OpenEthereum is “only” used by ~11% of the nodes. I believe the former name is Parity, which had a major bug related to frozen coins some years ago.

See https://mobile.twitter.com/etherscan/status/1382662485832994...

robinhoodexe··on Cores of Rendering Madness: The AMD Threadripper Pro 3995WX Review
Regarding Dwarf Fortress, it should run pretty good on Apples new M1 processors, even under rosetta2.
robinhoodexe··on The Bit Short: Inside Crypto’s Doomsday Machine
On kraken, one can short Tether against the US Dollar. Since Tether is usually pretty close to $1, I wonder if it’s worth it to open a short in case it’s all falling apart. I mean, in case of a crash the price of tether would most certainly fall, right?
robinhoodexe··on Dwarf Fortress: An actual look at graphical improvements
I personally limit my fort to 60 dwarves (not including children) in the config file. Makes managing a lot easier as well and I find 60 is enough for 2 squads and most of the professions.
robinhoodexe··on Ask HN: What is your comfort book?
Douglas Adams "The Hitchhikers Guide to the Galaxy".

I think I've read it 4 times the last 7 years, which may not be that often, but it definitely has a special place in my heart.

robinhoodexe··on Free electron laser – A fourth-generation synchrotron light source [video]
>is it possible to build a ProteinFoldingCoin?

I've thought about it, but don't think it's possible. Basically quantum chemical methods like Hartree-Fock or Coupled Cluster is a question of finding eigenvalues to some very very large matrices and/or solving non-linear equation. Verifying a solution (such as electron correlation energy) can, to my knowledge, only be done by using the result and checking if the equations are still valid, which pretty much is just doing the whole work.

robinhoodexe··on Free electron laser – A fourth-generation synchrotron light source [video]
The main problem is scaling. In quantum chemistry, you need electron correlation to get accurate results (comparing your ab initio with experiments) and these methods scale quite badly. Somewhat state-of-the-art CCSD(T) (coupled cluster singles and doubles with triple excitations approximated by perturbation theory) scales formally as N^7, with N being the number of electrons in your system (somewhat simplified). Proteins are huge. Even with some of the newest nearly linear-scaling coupled-cluster methods (which utilize GPUs) running calculations on proteins takes extremely long time. And this is just electron correlation methods. We're still using the Born-Oppenheimer approximation, not taking all excitaions into account, using a finite size basis set, ignoring relativistic effects, not thinking about time evolution and (most of the time) not considering (explicit) solvent effects.

We are still a long way from modelling protein folding in solution with 100% quantum mechanics. Luckily, classical molecular dynamics are quite good at modelling biochemical systems (to a degree). There are a ton of errors that a much bigger than quantum (and relativistic) effects anyway.

robinhoodexe··on Bashing the Bash – Replacing Shell Scripts with Python
This so much. Using grep, cat, cut and sed to parse log files (in my case output from quantum chemical calculations) is really nice.
← PreviousPage 2 of 8Next →