I agree, KDE is actually pretty amazing these days. Bizarre that the Linux ecosystem is focused around Gnome when there's another option available that so much better.
Hmm I think just using SQLite or DuckDB with normalised data would probably get you 99% of the way there...
Config should be pretty flat.
Why? I don't see any reason for that.
TOML rocks precisely because it nudges you into making simpler configs.
This is just "you're holding it wrong".
In most cases you don’t, and when you do, it’s possible and not unreasonable.
Really. Here's the first Gitlab CI example I could find:
lintDebug:
interruptible: true
stage: build
script:
- ./gradlew -Pci --console=plain :app:lintDebug -PbuildDir=lint
artifacts:
paths:
- app/lint/reports/lint-results-debug.html
expose_as: "lint-report"
when: always
Let's see the TOML:
[lintDebug]
interruptible = true
stage = "build"
script = [
"./gradlew -Pci --console=plain :app:lintDebug -PbuildDir=lint"
]
[lintDebug.artifacts]
paths = [ "app/lint/reports/lint-results-debug.html" ]
expose_as = "lint-report"
when = "always"
Gross. The tool I used to convert even added extra indentation because otherwise it is unclear.
IMO JSON5 is the best:
{
lintDebug: {
interruptible: true,
stage: 'build',
script: [
'./gradlew -Pci --console=plain :app:lintDebug -PbuildDir=lint',
],
artifacts: {
paths: [
'app/lint/reports/lint-results-debug.html',
],
expose_as: 'lint-report',
when: 'always',
},
},
}
This is much clearer than TOML and less ambiguous than YAML. It could do without the outer {}, but overall it's still better.
It's not really messaging that's the differentiator here - it's scale (specifically write scale). If you can't have a single master database then sure you might need NoSQL. But you almost certainly aren't anywhere near that scale. Giant sites like Stackoverflow and Shopify aren't.
Looks interesting. Linux ABI compatibility is a herculean task though. Probably on the order of writing a web browser or a MS Word compatible word processor.
Would you rather build from wood or tissue paper?
What glue is better: 2 part epoxy or pritt stick?
Do you prefer soap or ash as a cleaning agent?
Think of it from the company's point of view. If you're hiring a new employee then the options for a good candidate are a) move jobs and work for you, b) move jobs and work for someone else. You're competing with other companies.
If you're reviewing an existing salary for a good employee their options are a) do nothing and accept the shitty raise, b) move jobs and work for someone else.
Moving jobs has significant cost for most people - it's time consuming, stressful, might involve moving house, etc.
That downside gives employees who haven't proven they are looking for a new job a significant negotiating disadvantage.
If you really want you can tell your boss you are actively looking for new jobs. That will increase your chances of getting a bigger raise, but of course it has other downsides so most people don't do that.
Modern AI (LLMs etc) is definitely a revolution. Anyone that has tried ChatGPT can tell that, just like the only people saying the iPhone was a fad were the ones that hadn't used it.
The thing that is hyped around AI is companies just trying to shove it into everything, and say stuff uses AI when it is totally inappropriate. That doesn't mean AI itself is nonsense though. The same thing happened with the iPhone (everything had an app even if it made no sense).
Haven't tried Rye but I have used uv (which Rye uses to replace pip). Pip install time went down from 58s to 7s. Yes really. Python is fucking slow!
I think he's being downvoted because he's one of those "who needs type safety?" fools. And because of the general rambling nonsense. Yeah JSON works fine for 99% of use cases but that isn't what he said.
Why is that a hard pill to swallow? Longevity doesn't imply goodness, especially in software. Same for Bash, C and gnu utils.
It also doesn't mean it's a good idea to use it. I would strongly recommend... basically anything else over Jenkins.
Maybe I missed your point there.
FizzyOrange
0 post score0 comment score
It's definitely a growing problem with Rust. I have noticed my dependency trees growing from 20-50 a few years ago to usually 200-500 now.
It's not quite as bad as NPM yet, where it can easily get into the low thousands. Also the Rust projects I have tend to have justifiably large dependencies, e.g. wasmtime or Slint. I don't think it's unreasonable to expect a whole GUI toolkit to have quite a few dependencies. I have yet to find any dependencies that I thought were ridiculous like leftpad.
We could definitely do with better tooling to handle supply chain attacks. Maybe even a way of (voluntarily) tying crate authors to verified real identities.
But I also wouldn't worry about it too much. If you a really worried, develop in a docker container, use a dependency cooldown, and whatever you do don't use cryptocurrencies on your dev machine.