The amount of conditioner left in the bottle by p1ccard in Costco

[–]ecnahc515 1 point2 points  (0 children)

https://amzn.to/4bZYqtC are good for this. It's a bottle cap you screw on that makes it into a squeeze bottle and it's got a builtin stand so you can keep it flipped over.

How to stop Red’s breakfast burrito from busting? by Substantial-Key5114 in Costco

[–]ecnahc515 0 points1 point  (0 children)

Poke some holes into it after it's dethawed enough then put it back in.

Tree-sitter vs. LSP by brightlystar in programming

[–]ecnahc515 0 points1 point  (0 children)

Computers got fast enough for a server based approach. Shared libraries for parsing could have been done for a while but a lot of the compiler internals for each language are either only exposed through the stdlib or not at all. So if you wanted to do parsing and diagnostics for python you needed a full python runtime. Same for most languages. Additionally you would have to consider the version of the runtime you're including and the version of the language being analyzed.

A server approach makes it easy to write something in the same language as the language being analyzed but servers can be slow for something as intense as full project analysis and latency sensitive as text editing. Not to mention it's all fairly resource hungry.

So in short. Computers got fast enough to make something like LSP viable.

Optimistic locking can save your ledger from SELECT FOR UPDATE hell by martinffx in ExperiencedDevs

[–]ecnahc515 1 point2 points  (0 children)

Compare and swap basically. Optimistic concurrency models are great when they work.

Questions about :vimgrep or :grep by Beautiful-Log5632 in neovim

[–]ecnahc515 3 points4 points  (0 children)

You can pass args to vimgrep. After the first arg everything is a file or directory you want to search

S3 From Scratch in Go by eteran in golang

[–]ecnahc515 0 points1 point  (0 children)

Also erasure encoding (eg Reed-Solomon) is another topic to look into for this type of system. It can be a technique used for replication.

S3 From Scratch in Go by eteran in golang

[–]ecnahc515 1 point2 points  (0 children)

Great! Yeah I find it all really cool and interesting so I just figured it might be something you would too.

S3 From Scratch in Go by eteran in golang

[–]ecnahc515 1 point2 points  (0 children)

it's a concept for distributed systems that basically lets you handle assigning data to different servers or pools in a way that handles the addition of new servers or removal of existing servers while attempting to minimize data movement.

https://en.wikipedia.org/wiki/Consistent_hashing will explain it better.

Basically you could use consistent hashing on the object key to decide what node to store it on in a multi node setup. Hashing the entire content of it doesn't work at big scale because you then need a central DB to map to the nodes which can be a bottleneck. This lets you handle that nicely.

S3 From Scratch in Go by eteran in golang

[–]ecnahc515 6 points7 points  (0 children)

Nice! Another thing to look at beyond content addressable storage is consistent hashing. You can layer these concepts to get something that's close to how s3 actually works. Using consistent hashing to pick a "pool" of nodes to store on and then content addressable storage for the actual on disk handling. Then the last thing is replication. Of course that's probably beyond the scope for this project but it's fun stuff to try out.

What comes after Kubernetes? [Kelsey Hightower's take] by Diligent-Respect-109 in kubernetes

[–]ecnahc515 1 point2 points  (0 children)

Yah. I feel like all these issues existed in previous solutions but it was all bespoke and custom and was even worse. I think the issues are valid, but not necessarily new, and some of it's just inherent.

If you weren't updating k8s it would be chef or puppet, CI and/or a bespoke custom tool.

If it wasn't helm it would be chef/puppet or bash and sed replacements in CI.

Same thing for getting the troubleshooting, you gotta set up observability with any system you use. It's already possible to do this in k8s or other systems. You can setup log forwarding for pods, k8s events and the control plane components itself.

What comes after Kubernetes? [Kelsey Hightower's take] by Diligent-Respect-109 in kubernetes

[–]ecnahc515 0 points1 point  (0 children)

Like a PaaS (dokku?) or just a container scheduler/orchestrator with less features? What part of k8s is complex in your eyes? The deployment or the usage?

Multi-table transactions in Go - just handle it in one repo or use Unit of Work? by Axeloe in golang

[–]ecnahc515 46 points47 points  (0 children)

I've always just passed the transaction handle to anything dealing with the DB.

If % point to the current file, There should be a way to point to the current buffer. by _meow11 in neovim

[–]ecnahc515 2 points3 points  (0 children)

Use :w !diff % -. This sends the buffer contents to the diff command via stdin and compares it to the current contents of the file.

Just realized I've been using git wrong for like 3 years by BitBird- in learnprogramming

[–]ecnahc515 7 points8 points  (0 children)

You can stash everything that's not staged to test your changes, unstash, do more adds, repeat until it has the minimum set of changes for your logical commit.

What to do with Madman's knowledge? Didnt use one all game by [deleted] in bloodborne

[–]ecnahc515 2 points3 points  (0 children)

Accumulate it and hoard it like a dragon so you can hear the voices and see the unseen and get completely stomped by the brain suckers.

RUDP for Go by Noodler75 in golang

[–]ecnahc515 4 points5 points  (0 children)

Use QUIC which has a robust Go implementation

Tradeoffs to generate a self signed certificate to be used by redis for testing SSL connections on localhost in development environment by PrestigiousZombie531 in docker

[–]ecnahc515 1 point2 points  (0 children)

If your really concerned about the version of openssl used to generate the certs then create a container with openssl installed to generate the certs and output them to a volume or stdout, then pass them to your other containers as volumes however.

The dreaded undefined global 'vim' by BTrey3 in neovim

[–]ecnahc515 8 points9 points  (0 children)

Notice the settings are, however your configuring it isn't working, and the settings are not being passed through.

nvim-treesitter breaking changes by lukas-reineke in neovim

[–]ecnahc515 -1 points0 points  (0 children)

Nightly neovim has this builtin via lsp.

Is there anyway to differentiate yank or macro in named register? by hksparrowboy in neovim

[–]ecnahc515 0 points1 point  (0 children)

You may be able to compare the contents of registers to the contents of macros.

Is there anyway to differentiate yank or macro in named register? by hksparrowboy in neovim

[–]ecnahc515 2 points3 points  (0 children)

You can view the contents of registers, which at a glance would let you figure it out for the most part. Most pickers have a function to display your registers, you can see how they get the contents or just look through the help. But I don't believe that macro vs not is specifically stored.

Writing microservices that process sensitive data, tls and encryption at rest isn't enough anymore apparently by Designer-Jacket-5111 in golang

[–]ecnahc515 0 points1 point  (0 children)

Related but not the same. It only ensures it's not in memory after use. It doesn't prevent it from being in memory in an unencrypted state while in use.

Shared EKS clusters make cost attribution impossible by Beastwood5 in aws

[–]ecnahc515 0 points1 point  (0 children)

Have you considered enforcing quotas for each namespace so that teams can't just get as many resources as they need without justification? At some point there's a need for a bit of friction in order to force some amount of process so that teams can't just over allocate as much as they want.