HNHacker News
TopNewBestAskShowJobs

colemickens

850 karma · joined November 12, 2014

lol, this place.
submissionscomments
colemickens··on Kubernetes Security Best Practices
Something I often don't see mentioned -- be wary of older (as-in lifetime, not version), long-running clusters. I have found multiple times where a product has some vulnerabilities because I can land myself into an "older" cluster that predated various security enhancements that were made to: provisioning, iaas lockdown, etc, that will old clusters will almost surely not benefit from due to the nature of the "fixes" being in the initial configuration.

(As an example, "SomeProduct" allowed users to run somewhat arbitrary, non-privileged, non-root containers. I assumed it was K8s and poked around. All clusters were on GCE and ostensibly running the same versions, but due to how they were initially deployed, had different levels of vulnerability. The older clusters predated GCE blocking the metadata server, and predated the existence of TLS bootstrapping for kubelet, so for some of their clusters, it was easy to grab the kubelets key+cert and impersonate the kubelet as an unprivileged user. It sort of requires having someone paying a fair amount of attention upstream and/or knowing details of k8s provisioning to catch some of these things.)

colemickens··on Chezmoi: manage your dotfiles securely across multiple machines
stow + git-crypt works well, also. I just added git-crypt two days ago for my very few encrypted dotfiles (cachix key, gist token, etc). Though I understand the desire for it, in reality I've never needed templating for dotfiles, there's always been some other indirection mechanism that was better suited anyway.

`git clone .`, `git-crypt unlock`, `stow --no-folding`, done.

colemickens··on You can now set your status on GitHub
This is a good reminder that I don't use GitHub the way they expect me to. I don't use their notifications. I don't really ever look at my profile. Certainly not enough that I would go to it regularly to (even think to) update my "status".

I'm wary of "slippery slope" arguments but I do NOT want a(nother) social network in my life. It's hard to imagine how this doesn't evolve into GitHub Chat, etc, especially with GitLab buying Gitter, etc. No thank you. Thankfully there are ever increasing (and OSS) forge platforms, it seems.

It is a bit amusing, however, to imagine hypothetical horrible, naggy, even more self-promotional LinkedIn/GitHub integrations.

colemickens··on Do I Offend?
>If we want to have honest, good faith discussions on the topic of social equality, the only solution is for people to earnestly and honestly inform themselves of the life experiences of the social groups for whom equality has remained out of reach.

While I agree with every word you wrote, I don't know how you can maintain hope in this. Just weeks ago, there was an HN thread, where between the article and comments there were dozens of stories of women suffering harassment. And yet still, multiple people here commented to the effect, "No real women in my life tell me about this stuff, the rest must be hysterical." I'm paraphrasing, but it's not an unfair characterization.

I see it in the same light as folks that have a completely 100% incorrect understanding of "[institutional] privilege" and are already at a weird level of anger by time they enter any conversation about it. They seem to be unable or unwilling to entertain, let alone accept, evidence contrary to their closely held beliefs (and there's evidence to back it up).

Meanwhile, the groups that get frustrated at continual, constant marginalization from those with their heads in the clouds, or try to advocate for causes and less ignorance, are given three-letter acronym labels which are used to deride and derail.

And within 5 minutes this reply is swinging +/-4 votes with no replies. How absolutely utterly depressing.

colemickens··on Hyper.sh cloud service will shut down on Jan 15
Hm, "professionalism", to me, is a weird criticism to levy against a product or business that is presumably shutting down due to failure or lack of funding. Is it common, or expected, that startups allocate funds for clean shutdowns? I assume it's just burning through cash trying to make it work, until it becomes so unavoidable that you have to shutter suddenly.

>Let that be a lesson to not rely on cloud infrastructure too much without designing your architecture to be somewhat cloud agnostic.

Yeah, but no one that matters, cares - whether it's writing blog posts or putting your entire company brand/presence/blog on Medium (which harasses all of your readers), or relying on low-margin infra startups that often amount to a thin docs/marketing layer around Docker.

Just like the same people that get hosed by their hosting/DNS providers with a history of screwing users... because they didn't think it would happen to them -- people are lazy, people think they're exceptional, and I think a bunch of people don't like learning infra and don't see it as important.

colemickens··on Introducing Project Mu
I don't understand this comment chain, replies, patterns of downvotes at all.

Nothing, anywhere, indicates that Project Mu has anything to do with "other OSes" on Surface devices. And the grandparent comment is a direct implication that Project Mu would/will be critical to Linux on Surface.

This isn't to say that this is not neat, from what I've heard about TianoCore and the codebase, but linking this to Linux on Surface seems completely invented and just a weird comment given that it already works pretty well, minus missing drivers that will still be missing even with an OSS UEFI core.

colemickens··on Introducing Project Mu
Er, people have been running Linux on Surfaces for years. With decent UX for a while as well, as I understand it.
colemickens··on Serverless Computing: One Step Forward, Two Steps Back
I mean, where do we think the functions are executing now? It's not like Ubuntu Server is running Xorg, or has libinput installed, nor have any of those things ever been operational or developmental considerations on any "non-serverless" app.

Or maybe you're in a super cutting edge functions deployment where you're actually deploying microkernels? Seems orthogonal to me, and doesn't seem to address the data locality, etc issues brought up in this article.

There are so many people in this thread saying stuff like "PaaS doesn't allow auto-scaling" and I just don't really know what's going on. It's baffling to me. I guess if all you know is an archaic build process and manual deployment, then it looks great. But I'm willing to bet most of these function platforms bottom out on containers-on-k8s-on-vms anyway.

I am increasingly, increasingly convinced that people don't really need or want "serverless". They want the final step in the build/development process that they thought they were going to get with Docker -- they want to write code and have it running somewhere. I really don't buy that Serverless/Lockin are the right or best way to that future.

colemickens··on Depression
>I believe past trauma is the root cause and I doubt people have depression if they haven't had some type of experience they would classify as trauma.

Hm, what do you mean by trauma? I strongly disagreed with this statement, but feel less strongly after writing and considering it more. Maybe the influences that I think vageuly underlie or trigger my existential depression is others would call trauma?

colemickens··on Compiz: Ubuntu Desktop's little known best friend
This comment was fun to read. I'm a couple years younger, but that Boston Legal part hit like a truck. Maybe it was the suggestion, but I can't knock the mental image of wasting hours futzing with compiz/Beryl/fuzion with Denny Crane in the background.

Thanks for the nostalgia trip and smile!

colemickens··on IPFS, The Interplanetary File System, Simply Explained
I'm trying to get a foothold in this space (this space being whatever the area of camlistore/perkeep - ipfs - dat - etc.

I've also been excited that Dat seems to be investing a Rust implementation that would presumably make Dat accessible from any language that can interoperate with C/Rust.

colemickens··on Pivotal launches serverless framework that works across clouds and on-prem
What does PFS do that Knative+Riff doesn't get me?

Is the title even accurate? It sounds/looks more like "Pivotal creates branded offering of Knative+Riff and uses one of their main selling points as their headline feature", but maybe I'm just biased from past impressions of Pivotal marketing. Especially since it seems to be in contact-only early access.

colemickens··on The silent CVE in the heart of Kubernetes apiserver
Thanks Darren, I wish I'd read your post earlier to have realized the timeline. I agree with your conclusions re: the sky. Thank you for the write-up and replying here.
colemickens··on The silent CVE in the heart of Kubernetes apiserver
I should've known that there was an official timeline as part of the process, but forgot. I wouldn't have asked about that otherwise; I didn't mean to cast any aspersions. Whatever I'm thinking of was from folks I respect, presumably about another issue or I'm simply mis-remembering things. Thank you.

(Also, aside, props to everyone that got this rolled out so fast at the major providers.)

colemickens··on The silent CVE in the heart of Kubernetes apiserver
Has there been any word of how long this has been known about? I recall a certain group of people talking confidently, open but vaguely about a serious k8s security bug at least a few months ago. Given the number of clusters that undoubtedly had to be upgraded for this, it wouldn't surprise me if this was found a while ago.

Also, my heart goes out to the [big company] engineering manager asking in the GitHub thread if 1.7.x clusters are affected.

colemickens··on Firecracker – Lightweight Virtualization for Serverless Computing
Katacoda has nothing to do with Kata Containers...

I'm not sure how you can make any of the conclusions anyway, unless you know a lot of seemingly private details about how KataCoda is implemented.

colemickens··on Firecracker – Lightweight Virtualization for Serverless Computing
The crosvm and Rust have me intrigued. I was hoping for something like this since I saw the first hints of Rust showing up in ChromeOS in crosvm.

A compare/contrast with Kata Containers would also be interesting. Their architectures look similar. (Kata Containers [1] being another solution for running containers in KVM-isolated VMs, that has working integrations with Kubernetes and containerd already. Not affiliated, but I'm tinkering with it in a current project, though I'm also now keen to get `firecracker` working as well.)

Obviously, if nothing else, qemu vs crosvm is a big difference, and probably significant since my understanding is that Google chose to also eschew using qemu for Google Cloud.

[1]: https://katacontainers.io/

colemickens··on Google’s cloud business under Greene was plagued by internal clashes
>However, everyone that I've heard of that understands cloud native type architectures that has attempted to deploy into Azure is looking to leave.

Extremely unsurprising, but I'd be interested to read more.

colemickens··on Elementary OS – Fast, open, privacy-respecting replacement for Windows and macOS
(I wish I could edit; I feel I should to clarify, I didn't do any of the Pantheon work, I just noticed the PR a while back and thought of it. I'm not sure I have the skills for that sort of thing yet.)
colemickens··on Microsoft Is Putting Ads on the Mail App in Windows 10
There's no reason that they need to come from the developers. I'm maintaining over a dozen packages that build directly from HEAD that are all integrated with my package manager and allows anyone else to leverage my work and get my packages.

Nix is the package manager that does this. It literally does damn near everything that comes out of every HN discussion of package managers, ever, but very few seem to bother investigating it.

colemickens··on Elementary OS – Fast, open, privacy-respecting replacement for Windows and macOS
You might be interested in this PR: "[nixpkgs] elementary: init a 5.0 Juno" https://github.com/NixOS/nixpkgs/pull/48637

I'm actively trying to build some cool things with Nix/NixOS and then write up a series of blog posts. Several recent discussions on the Discourse and at NixCon have been focused around Nix/NixOS user experience, at least.

I've recently been building a package set of tip builds of Wayland stuff (sway, screenshot/screenrecord/notification utilities), including instructions for using them on Ubuntu via Nix. I'm also building out a set of packages and modules for Kube/Containerd/Kata-Containers for perfectly repeatable offline-first clusters. I think these two projects can be leveraged to evangelize Nix and NixOS nicely, and dovetails into UX efforts as I build my list of rough spots and fix a number of issues in nixpkgs and random OSS projects along the way.

Also, Gnome-Shell and KDE work perfectly in NixOS anyway, and can be easily made to look just like they do on any other distro... I just recently switched to Sway, coming from KDE (~1.5 years) after GNOME (6+ years?). Not any significant visual differences than when I was using Arch Linux.

colemickens··on PSA: Firefox Nightly now with experimental Wayland support
I am also running the very latest Sway and have no issues with other Wayland applications. I am seeing the same slowness you describe, as I'd been seeing with the Flatpak nightly Wayland builds. It's also still not respecting my Caps Lock.

I'm waiting to hear from someone running it under GNOME/Wayland before filing bugs, though.

colemickens··on Private by Design: How We Built Firefox Sync
Aren't both Chrome and Firefox's sync protocols open? At least, the Firefox Sync server is still self-hostable and open source, and at least the client side of Chrome's sync is open source since Chromium can sync as well...

I've never understood why someone didn't implement a Firefox Sync extension for Chrome or vice-versa. Is it technical or are people opinionated enough about browsers that no one has the personal need to develop such extensions?

colemickens··on ASP.NET Core 3.0 will only run on .NET Core
I've never had T4 in a project where I didn't immediately have problems. It also doesn't seem to really be a thing for .NET Core...
colemickens··on NixOS – Purely Functional Linux Distribution
I'm so disappointingly late to this thread, but NixCon just happened and they were publishing the videos in real-time on YouTube (major props for doing it that way): https://www.youtube.com/channel/UCjqkNrQ8F3OhKSCfCgagWLg. Might be a bit out of context if unfamiliar with Nix, but it was exciting for me to watch. It feels like momentum is picking up and folks are interested in improving UX and evangelism!
colemickens··on NixOS – Purely Functional Linux Distribution
The claimed advantages of Docker over Nix here don't line up with the reality I've seen after years of experience with Docker and Nix, particularly with how they relate to services that wind up deployed with Kubernetes.

I can do almost all the same things that you do with Docker, with Nix. Why would I ever need a different base image if I'm composing my image with Nix? Nix+Docker is the best of both worlds and there's really absolutely no reason to not pair them together.

Besides if for some reason, you can't package something in Nix, or refuse to buy into the `nixpkgs` ecosystem, you can still build a reproducible Docker image with whatever base layer you want (`alpine`, `redis`, whatever), with Nix, and benefit from all of the benefits mentioned in this post and others in this thread.

Deployment time, yeah, they're all opaque containers and they can be running whoknowswhat. But for day to day development, Nix absolutely beats Docker. I've spent way too much of my life rebuilding binaries and container images that already exist. Wasted too much of my life on containers and binaries of unknown, unreproducible origins. None of those things are concerns when you're building your container images with Nix. They're not even a thought I have any more.

colemickens··on NixOS – Purely Functional Linux Distribution
If you look at the ISO url, you'll notice something that looks like a short Git SHA hash. That's the exact git checkout of `nixpkgs` used to build the ISO. All system-level artifacts built with nixpkgs wind up with it as part of their name. Very handy.

This means you can plug the sha from the ISO that you link to (nixos-graphical-18.09.776.6a3f5bcb061-x86_64-linux) and get this URL: https://github.com/NixOS/nixpkgs/commits/6a3f5bcb061

And the ISO URL from NixOS.org ([...]/nixos-graphical-18.09.1023.06fb0253afa-x86_64-linux.iso) leads us to https://github.com/NixOS/nixpkgs/commits/06fb0253afa

If you check both, you'll see they're both commits from the upstream `nixpkgs` repository, just a couple weeks apart. So it looks like your torrent is likely an old official ISO that could be upgraded in place the same way the newer ISO would need. (Note, I haven't confirmed that, someone could've uploaded a malicious file with a nice filename, etc. Don't take my word for it, etc.)

(edit: ah, and if I had to guess, the 776 and 1023 as part of the filename is probably the number of commits since the original 18.09 tag was created.)

colemickens··on NixOS – Purely Functional Linux Distribution
Do you have a super quick example that you can include in plugs like this? I am doing my own caching directly with Azure storage (though it works anywhere you can enumerate and upload blobs) [1], but I think Cachix and Hercules are a huge potential chance to excite more folks about Nix and NixOS.

I'm thinking something like a blog post where someone patches the Linux kernel, does a `nix-build | cachix push` and then show how another naive user might do `cachix use && nix-build` and get a magic no-op build. Maybe just a slightly more fleshed out example under the "What" section of the Cachix homepage.

For the non-Nix/NixOS folks, it's an impressive demo, and I suspect even for Nix-folks, it's impressive for hiding all of the signing/upload complexity.

For others reading this comment, Nix + Cachix means that no two people on your team should ever need to spend CPU cycles building two copies of the same binary, or the same docker image, or the same VM image, etc, assuming all of the inputs are the same. It's so cool, I'm so happy to keep seeing people finding out about Nix and NixOS. I feel like what Kubernetes did to application development, Nix does to operating system, toolchain, and application development, and configuration management.

[1]: https://github.com/colemickens/nixcfg/blob/master/utils/azur...

EDIT: follow-up: It look like less than 2 minutes to start pushing to my new Cachix repo. Excellent job with this, it's going to be hard to motivate myself to keep maintaining my scripts with this being so easy.

colemickens··on JavaScript is now required to sign in to Google
I don't understand what this has to do with the fact that I repeatedly am having to prove that I'm not a bot despite doing nothing that ought to be triggering Captcha checks.

But hey, I guess mentioning this simple observation is worthy of numerous downvotes here. Always lovely.

colemickens··on JavaScript is now required to sign in to Google
I try hard not to be a luddite as I age, but this level of automation and machine learning is so concerning.

It is SO frustrating to accidentally appear as a bot and get stuck at the mercy of an automated system. I was on some random site the other day and spent 3+ minutes solving Captchas until it finally let me through. I thought I was losing my mind. I don't spam, I don't automate queries, I come from an IP that has two residential users (netflix, xbox traffic dominate everything). Who knows what I did to offend the algorithm.

← PreviousPage 3 of 18Next →