I very much appreciate the sentiment - and agree that random crap (particularly some of the insane dependency chains that you get from NPM, but also Rust) in which you go to install a simple (at least you believe) package - and the Rust/NPM manager downloads several hundred dependencies.
But the problem with only using the OS package manager is that you then lock yourself out of the entire ecosystem of node, python, rust packages that have never been migrated to whatever operating system you are using - which might be very significant.
How do you feel about Nix? It feels like this is a nice half-way measure between reliable/reproducible builds, but without all of the Free For all where you are downloading who-knows-what-from-where onto your OS?
Solved with direnv. Also - in my .bashrc in all of my (many) clients:
$ type uvi uvl uvv
uvi is a function
uvi ()
{
uv pip install $@
}
uvl is a function
uvl ()
{
uv pip list
}
uvv is a function
uvv ()
{
uv venv;
cat > .envrc <<EOF
source .venv/bin/activate
EOF
direnv allow
}
I've used python for roughly 15 years, and 10 of those years I was paid to primarily write and maintain projects written in Python.
Things got bearable with virtualenv/virtualenv wrappers, but it was never what I would call great. Pip was always painful, and slow. I never looked forward to using them - and every time I worked on a new system - the amount of finaggling I had to do to avoid problems, and the amount of time I spent supporting other people who had problems was significant.
The day I first used uv (about is as memorable to me as the the day I first started using python (roughly 2004) - everything changed.
I've used uv pretty much every single day since then and the joy has never left. Every operation is twitch fast. There has never once been any issues. Combined with direnv - I can create projects/venvs on the fly so quickly I don't even bother using it's various affordances to run projects without a venv.
To put it succinctly - uv gives me two things.
One - zero messing around with virtualenvwrappers and friends. For whatever reason, I've never once run into an error like "virtualenvwrapper.sh: There was a problem running the initialization hooks."
Two - fast. It may be the fastest software I've ever used. Everything is instant - so you never experience any type of cognitive distraction when creating a python project and diving into anything - you think it - and it's done. I genuinely look forward to uv pip install - even when it's not already in cache - the parallel download is epically fast - always a joy.
All of them (well - no HPUX in 15+ years, and I've never used uv in Solaris, or AIX) - but the major two client side environments that I use 'uv' in would be WSL2+Ubuntu/ext4 (work) and macOS/APFS at home.
But - neither the speed nor constant issues with pip/virtualenvwrappers are really a function of the OS/File System.
A frequent theme in this thread (probably most clearly described in https://news.ycombinator.com/item?id=47444936) is that relying on your Python Environment to manager your Python Environment - always ends up in pain. Poetry had this issue as well.
One of the key architectural decisions of Astral was to write the Python Environment Management tooling in rust - so that it could never footgun itself.
I'm thoroughly enjoying this thread by the way, between someone who is clearly informed and educated in platform research, and pretty enthusiastic and interested in the field, and yourself - an deeply experienced engineer with truly novel contributions to the conversation that we don't often see.
Looking very forward to more of your insight/comments. Hopefully your NDA has expired on some topic that you can share in detail!
Thank you for your comment. I started this thread just as a simple "job well done" to the authors. I didn't expect to be told that my work doesn't exist. ;-)
No one ever notices plastic surgery when it is done well. The same can be true for obfuscation. But, as I indicated, no amount of obfuscation is foolproof when dealing with experienced, well-funded attackers. The best you can do is make their task annoying.
Up to roughly 100 bills it's pretty much bang on - even with a cheap $10 scale (American Weigh Scales Digital Pocket Scale has a bunch of different options). Each bill weights roughly 1 gram. So - accurate to within 1% - and presumably the banks have better scales.
I suspect at scale (moving either a lot of batches or large batches), you also need to take variance into account more. Some bills might be dirty or have stuff stuck to them, some bills might be damaged and have bits missing? And other things that occur in practice that I can't think of from the comfort of my armchair in 30s.
I think it goes without saying that ones the systems are reliable, fully-autonomous weapons will be unleashed on the battlefield. But they have to have safeguards to ensure that they don't turn on friendly forces and only kill the enemy. What Anthropic is saying, is that right now - they can't provide those assurances. When they can - I suspect those restrictions will be relaxed.
US military cannot even offer those assurances themselves today. I tried to look up the last incident of friendly fire. Turns out it was a couple hours ago today, when US military shot down a DHS drone in Texas.
LTO9 is like 45TB for <$100 (I got a bunch for €55 a piece), so 4.5TB for <$10 is being generous. And even if you didn't think they lasted 30-40 years and made copies every 3 years, it's still cheaper, not to mention you have fewer tapes to manage.
Also: I don't have a bd/dvd player in my house today, so even if there are the most tremendous gains in medical sciences I'm almost certainly not going to have one in 100+ years, so I'm not sure m disc even makes cost-sense for smaller volumes.
Maybe if you want to keep your data outside for sunshine like the author of the article, but that's not me...
> so even if there are the most tremendous gains in medical sciences I'm almost certainly not going to have one in 100+ years
Never say never. People of today are building "90s entertainment center" setups for nostalgia, complete with VCRs. Given how many generations of game consoles had DVD drives (or BD drives that supported DVDs) in them, I would fully expect the "retro gaming" market of 100 years from now to be offering devices that can play a DVD.
> Also: I don't have a bd/dvd player in my house today
You have just stumbled on the inherent problem with any archival media.
You really think you will have a working tape drive after 40 years?
Hell, in my experience tape drives are mechanically complex and full of super thin plastic wear surfaces. Do you really expect to have a working tape drive in 10 years?
As far as I can tell there is no good way to do long term static digital archives, And in the absence of that you have to depend on dynamic archives, transfer to new media every 5 years.
I think to have realistic long term static archives the best method is to only depend on the mark 1 eyeball. find your 100 best pictures, and print them out. identify important data and print it out. Stuff you want to leave to future generations, make sure it is in a form they can read.
I do think LTO is a common enough format, and explicitly designed to be backwards-compatible, that it is very likely to be around in 10 years. The companies that rely on it wouldn't invest in it if they didn't think the hardware would be available. 40 years, harder to say, but as someone who owns a fair bit of working tape equipment (cassette, VHS, DV) that is almost all 25+ years old, i wouldn't think it'd be impossible.
That said, i imagine optical drives will be much the same.
It is only backwards compatible two generations, occasionally something slips at the LTO trust (or wherever those things are designed) and you get three generations. But if I have a basement full of LTO1 tapes no currently manufactured drive will read them. I would have to buy a used drive and the drives were never really made all that well. Better than the DAT drives one company I worked for used for some of their backups. But still mechanically very complex with many many small delicate plastic parts that wear out quickly. Those DAT drives were super delicate and also suffered from the same generational problems LTO does. We had a bunch of DAT1 tapes somebody wanted data from but had no working drives to do so. All our working drives were newer DAT3 and 4
That was always the hard part to justifying tape backup. the storage is cheap. but the drives are very expensive. And never seemed to last as long as their price would warrant.
Lot of places that I see AI disrupting - I'm not buying that SaaS is going to be a significant one.
Reading through the article:
> They were paying $30,000 to a popular tool3
Couple things we needed to understand here:
- How large is the client company
- Is that $30,000/month or day or hour....
If it's a technology company of > 1000 employees - then $30,000 month doesn't even get Finance's attention. And there is next to zero chance that anyone is going to vibe-code, deploy, support and run anything in a 1000 person+ company for $30,000 a month. SaaS wins hands down.
Any product/service that people care about comes with a pager rotation - which is 6-7 employees making > $200k/year. If you can offload that responsibility to a SaaS for < $1mmm/year - done deal.
Yeh but in a company of 100 employees for software of 30k a year, it's more than worth it to take your standard 50k (GBP) dev and have them replaced it. It's a one time cost, and the support time will certainly be less than 50% of their time every year so it saves money.
There are many companies that operate like this all over the world. Outside of the hyper-growth tech VC world cutting costs is a very real target and given how cheap Devs are outside of America it's almost always worth it.
I can't imagine it would ever be worth, under any scenario, trying to write/build/support any $25/seat SaaS software for any company I've worked at in 25+ years.
Another thing to keep in mind - very little of the cost of a SaaS license is the time it takes to build the software. Security, Support, Maintenance, Administration, backups/restores, testing/auditing said backups/restores, etc, etc.. and then x-training new SREs on how to support/manage this software, ...
Even as someone who spend 10+ hours a day churning out endless LLM applications, products, architectures from my myriad of Cursor/Codex/CC interfaces and agents - I'm dubious that LLMs will ever eat into SaaS revenue.
I'm sure (lots of) people will try - and then 1-2 years in someone will look at the pain, and just pull the ripcord.
I'm intrigued - as tmux has been my window manager for my desktop for 10+ years now ( I typically have 80-100 different windows/panes in play by the end of any given week, where I take time to close down all sessions that aren't still in progress).
I'm wondering what the difference is between this and just tmux basic environment - which already has a lot of pane / window management. What's the key distinction between using tmux and dwm.tmux?
<5 minutes later> - Ah - this is just tmux with some custom config. The window manager is tmux - I would suggest changing the title a bit - maybe something like, "DWM.TMUX - dwm inspired tmux configs. "
<Further review - note the "10 years ago" timestamp - ahh.. This has been gestating for a while>
I think the key distinction is the consistent layout (main pane + stack) along with keyboard shortcuts to manage. To me it's similar to running vanilla X{11,org} vs using a window manager (hence the name). A vanilla configuration will work just fine but sometimes a constrained or opinionated environment gets more out of your way and better fits your preferred workflow.
If you already have a robust tmux workflow with a desired layout (or lack of layout) and custom keyboard shortcuts then this may not work for you. It's just one way to manage panes/windows in tmux that I hadn't seen before and different from the usual ad hoc methods.
Like most window managers, I think it's all preference. What're your current preferences for pane layout, window management, etc? Do you always create/layout panes in the same way or is it situationally dependent?
It's not just configs though, as there is some logic implemented via shell that could not be handled entirely in configs. "Window Manager" was chosen as it the logic imposes a specific layout without necessarily preventing you from using other configuration options. It's almost solely layout management and keyboard shortcuts to assist.
But the problem with only using the OS package manager is that you then lock yourself out of the entire ecosystem of node, python, rust packages that have never been migrated to whatever operating system you are using - which might be very significant.
How do you feel about Nix? It feels like this is a nice half-way measure between reliable/reproducible builds, but without all of the Free For all where you are downloading who-knows-what-from-where onto your OS?
reply