![](/static/253f0d9b/assets/icons/icon-96x96.png)
![](https://lemmy.ml/pictrs/image/a64z2tlDDD.png)
“Select where you heard about typst”
-> Fediverse
Finally somewhere that actually has Fediverse as an option, this must be a good app.
“Select where you heard about typst”
-> Fediverse
Finally somewhere that actually has Fediverse as an option, this must be a good app.
Just commenting here to ping you that I found a new major alternative! I’ve edited the comment but TLDR; search “.NET Avalonia” and see what you think
The “front page” of most instances are not interesting to average people or to professionals (e.g. local gov that wants to go open source, like those switching to Mastodon).
Part is lemmy’s hot-sort is basically broken as a ranking, another part is bad language filters, another part is that major communities here (fediverse, Linux memes, star trek memes, science memes, etc) are off-putting to out-of-group people because of so many in-group jokes. Its a hard fix.
This is pretty cool. I’ve got a couple repos that Microsoft uses for VS Code. I switched one of them to GPLv3, but maybe I’ll switch the other to this license.
Same haha.
I’ve already started it twice for lemmy, but didn’t put in heavy effort yet. I’ve got a wrapper for nix that helps with common issues, but its on the messy side.
There are so many small GUI apps I want to make but I refuse until I can get Tauri to build an appimage and macos app within nix. It was more than a year ago since I put a lot of effort on that though. If you’ve got any tips/pointers or examples for tauri I’d be happy to hear them.
Sadly it still causes system instability even if you NEVER need the feature.
You might not need numpy at all, but Pandas needs numpy and Opencv needs numpy. Sometimes pandas needs one version and Opencv needs a different version. Well… python only allows one global verison of numpy, so pandas and opencv fight over which one they want installed, and the looser is forced to use a numpy they were not designed/tested for. Upgrading pandas might also upgrade numpy and break opencv. That causes system instability.
Stable systems like cargo coupld upgrade pandas, have pandas use numpy 1.29 without touching/breaking opencv (opencv would still importing/using using numpy 1.19 or whatever). That stability is only possible if the system is capable of having two versions of the same dependency at the same time.
And FYI to OP, if you can’t install two versions of the same library at the same time (ex: numpy 1.25 and numpy 1.19) then the answer to “has its dependencies under control?” is generally “no”.
deleted by creator
The more reliable/reproducible the container is the more pain/effort it is to setup. If you don’t need reliability, then you don’t need containers.
For standard notes, its got an auto-export plaintext file option on desktop. Were you wanting two-way editing of plaintext? (e.g. Auto export and import)
When you’re editing yaml, why not just always write JSON?
Almost all nix attr keys are unquoted strings. Maybe I’m missing the point list, but I kinda wouldn’t expect it to be on the list.
Despite my love of yaml. I actually think he has a small point with unquoted strings. I teach students and see their struggles. Bash also does unquoted strings and basically all students go years and years without realizing
cat --help
cat "--help"
# ^ same thing
cat *
cat "*"
# ^ not same thing
cat $thing
cat "$thing"
# ^ similar but not the same
To know the difference between special and normal-but-no-quotes you have to know literally every special symbol. And, for example, its rare to realize the --
in --help, isn’t special at a language level, its only special at a convention level.
Same thing can happen in yaml files, but actually a little worse I’d say. In bash all the “special” things are at least symbols. But in yaml there are more special cases. Imagine editing this kind of a list:
js_keywords:
- if
- else
- while
- break
- continue
- import
- from
- default
- class
- const
- var
- let
- new
- async
- function
- undefined
- null
- true
- false
- Nan
- Infinity
Three of those are not strings. Syntax highlighting can help (which is why I don’t think its a real issue). But still “why are three not strings? Well … just because”. AKA there isn’t a syntax pattern, there’s just a hardcoded list of names that need to be memorized. What is actually challeging is, unless students start with a proper yaml tutorial, or see examples of quotes in the config, its not obvious that quotes will solve the problem (students think "true"
behaves like "\"true\""
). So even when they see true
is highlighted funny, they don’t really know what to do about it. I’ve seem some try stuff like \true.
Still doesn’t mean yaml is bad, every language has edge cases.
Its easy for me to say “just start writing JSON in the yaml. It doesn’t get more simple than JSON”, but actually I do think there’s a small point with the unquoted strings.
Back before I knew programming, I was trying to change grammar settings sublime 2, which uses yaml. I had no idea what yaml was. The default setting values used unquoted strings fot regex. I knew PCRE regex and escapes, but suddenly they didnt work, and when I tried to match a single quote inside of regex that also didn’t work. I didn’t know I was editing yaml file (it had a .tmLanguage
extension). Even worse, if I remeber correctly, unparsable settings just silently fail. Not only did I have no errors to google, I didn’t have any reason to believe the escapes were the cause of the problem (they worked in the command line). Sometimes I edited the regex and it was fine, and other times it just seemed to break. I didn’t learn about quoting in YAML until years later.
For me that was an unfortuate combination, which was exacerbated by yaml unquoted weirdness. But when you’re talking about “did you read the spec” that’s a whole other story. .nan
for nan, tabs vs spaces, unquted string weirdness, etc should just be one error message+google away. I think they’re a small hiccups with what is overall a great format.
For context, Tea (the cli tool) was created by the author of homebrew. But for some reason he changed the name to pkgx and made tea into the crypto thing: From the creator of Homebrew, Tea raises $8.9M to build a protocol that helps open source developers get paid
He’s probably interested in blocking these kinds of PR’s.
I have read the 1.2 spec (I’m trying to make a round trip parser for JS, and I do maintainance on a fork of the rumel yaml python package). I actually think its very well thought out, with things I hadn’t considered like future extensibility, streaming applications, and data-corruption detection.
The diagrams, color coding, and less-formailty of the spec was much appreciated. Especially compared to something like the ECMA Script spec, which reads like a math textbook had a child with a legal document.
I’m not saying YAML is perfect; round trip (the thing I’m working on) is nearly impossible because it wasn’t a design goal. It has a few too many features (I’ve never seen a declaration in the wild), but it does a good job at accomplishing the creators goals, and the additional features basically only slow down parser-implementers like me. I often pick it because of the tag support, which I’ve struggled to find an equivalent for in other serialization languages. I use anchors in recursive data structures, and complex keys for serializing complex data structures (not human readable). The “document end” marker has been nice when I’m worried about detecting partial-writes. And the merge key is nice for config files.
The application/perspective matters. Yaml might be bad for you but its not bad for everyone.
Also
I’ve exhausted every EXE-generating option I could find [for python]
Unfortunately software is one giant mess right now. You’d think things like compiling to an EXE for python would be standard. They’re not. One day, maybe 15 years from now, we will have Nix be user friendly, a single line installer for everything, and have it all “just work”. But until then, almost everything is hacked together.
I believe Flutter, React Native, and Android studio are the only major ones I don’t have experience with.
EDIT! (2024-4-30) .NET Avalonia seems like a great modern option that I have not gotten to try. Its C# and fully cross platform. It could be a real game changer compared to the options I’ve listed below
My perfect setup would be Tauri (with all security disabled), with Deno accessible on the front end, all installed/setup by Nix. But alas, that doesnt exist yet. Even with +3 years of nix experience I can’t even get Tauri running in Nix.
I’d like directions on how to set up a software project with dependencies, so that future contributors can pitch in with the least amount of set-up required when they clone the repo
Unforunately that kind of task, with our current tools, is not a junior level task. I have worked on automating project setups for almost a decade; creating a single command that is cross platform install of all dependencies, project ENV setup, and in a way that doesn’t break the users existing system(s), or causes the project to bitrot. The only real way at the moment is through Nix (nixpkgs), which is unfortunate because Nix is very difficult to setup and use. If you start a small project in nix its not too bad, but adapting an existing project often is, especially anything with graphical tooling.
I made Deno gulliotine to help with first step of cross-platform setup, but once the setup begins to install packages/languages it all needs to be done with nix to be reliable.
Also FLTK is miserable. I’m not a huge fan of QT, but it is at least definitively better than FLTK. Wx Python is also miserable, avoid it like the plague.
Thing is, for repos of any typical size, its going to take a lot more than a glance to know.
For example the Atom Editor codebase is immaculate, best formatting/commenting I’ve ever seen. But getting it to build is a nightmare, so its too hard to contribute to/hack.
Lots of times you just have to dive down the rabbit hole
Wow, most of these were new to me. I’m testing them for a few minutes and so far they’re working great. I’ve been avoiding Google’s voice to text for a while, and hadn’t found a good maps app either.
This could actually be a pretty big deal