I didn’t mean that bash has no local variables, but rather that if you want to use a function as such without capturing stdout, you need variables that are scoped across your functions, which is usually global or at least effectively global.
I didn’t mean that bash has no local variables, but rather that if you want to use a function as such without capturing stdout, you need variables that are scoped across your functions, which is usually global or at least effectively global.
Bash has its upsides too, like the fact that it has arrays / lists and dictionaries / hashmaps. In my opinion, it gets iffy though when you need to do stuff with IFS; at that point one might be better off just using specialized tools.
Not saying working bash isn’t good enough, but it can break in very surprising ways is my experience.
Functions are definitely not subshells in Bash
You’re right, my bad, I got this mixed up with something else.
Not sure I’d call what bash has functions. They’re closer to subroutines in Basic than functions in other languages, as in you can’t return a value from them (they can only return their exit code, and you can capture their stdout and stderr). But even then, they are full subshells. It’s one of the reasons I don’t really like Bash, you’re forced into globally or at least broadly-scoped variables. Oh, and I have no clue right now how to find where in your pipe you got a non-null exit code.
It’s not a big problem for simple scripting, but it makes things cumbersome once you try to do more.
In all seriousness though, the core of the technical stack has become very robust in my opinion (DNS being the exception). From a hobbyist’s perspective, things work much better than when the Web was still young. I can run multiple sites (some of them being what are today called apps) on a domain with subdomains, everything fast, HTTP3-capable, secured via valid free TLS certs, reverse proxied, all of that running on a system deployed in minutes…
If you focus on the part of the Internet that you have control over, it’s a lot better than back in the simple days.


Not sure the term applies to MS Teams. It was always a rushed shitty product, pushed onto customers during COVID when companies like Zoom gained tons of users. Few people if any asked for it
Sounds like a combination would be ideal, but I’m not an expert.
You can actually invoke the binary inside a venv using πthon as an Easter egg as far as I know
Didn’t try it, but it’s discussed in an issue
Similarly here. Have an Odroid with that platform, it wasn’t cheap but it came with several advantages:
Very powerful machine for the power usage, I ran a really old Athlon before though (from 2010 or so that I retrofitted with 16GB RAM) that did most stuff just fine. But I wanted some transcoding and also possibly a smaller case.
I run everything bare metal though.


Luckily, it’s not the entire Internet, just the unfun part.


Don’t think I could watch through beans being thrown at him


Repo means repossessed, which is only applicable to items purchased under a credit (e.g. you take out a credit to but a car, can’t pay it, the car gets repo’d); also they only happen on unsecured loans, it’d be the security that would be transferred to the lender, which in this case is Russian, not Ukrainian.


The beauty of a loan secured against someone else’s assets is that it doesn’t harm you if you default. Russia could still leave Ukraine and propose how they repay Ukraine for damages, which would also cover these loans; in return, they’d receive their assets back.


The money in the end will most likely go to Europe, as in is given to Ukraine who use it to buy European weapons is my guess. At least until the war is over
The way the article is written is that Europe gives Ukraine a loan that is secured by Russian assets, meaning of Ukraine defaults, Russian assets are transferred to the EU.


Though you can also mount one directory under another, so it’s more like a directory hardlink in that case.
It sounds a lot like a bind mount at filesystem level


Renting is quite cheap in China because property investors traditionally don’t expect a ROI from rent, but from sale.
Absolute numbers I could find from last year:
As of August 2024, prices for new homes across 100 cities in China averaged 16,461 RMB per square meter, or about $2,318.50.
In the United States, the average price per square foot is around $233, according to May 2024 data from the Federal Reserve Bank of St. Louis. This equates to $2,508.01 per square meter.
This with a lower average income in China; it’s usually less than 1500 USD/month after conversion.


Junctions aren’t really the equivalent to symbolic links from my understanding because:
Symbolic links do actually exist: https://learn.microsoft.com/en-us/windows/win32/fileio/creating-symbolic-links
Interestingly, relative symbolic links can’t cross volumes, which kind of makes sense (“Relative symbolic links are restricted to a single volume.”) - volumes are namespaced anyways, so if you know you need to access another one, using an absolute symlink makes more sense.


Just that what a lot of people here would consider a home isn’t what a lot of Chinese people have. And the middle class is sometimes in way over their head for housing, with apartments going for insane prices even for Western standards.
https://www.sueddeutsche.de/wirtschaft/fotoserie-ueber-hab-und-gut-von-familien-china-wie-es-wirklich-lebt-1.2513551 for photos how a large part of the Chinese live, the photographer is Chinese himself.
The issue for China isn’t that nobody owns a home, but rather that the young and bright can’t afford one that’s up to modern standards, an issue shared with the West.
That doesn’t help you if you want to get the result of something that happened in the function without capturing stdout, does it?