I do like the picture, too.
Option 1:
echo 1
Option 2:echo 2
Option 3:echo 3
I have a feeling how it came up with that 3
… 🙃
I do like the picture, too.
Option 1:
echo 1
Option 2:echo 2
Option 3:echo 3
I have a feeling how it came up with that 3
… 🙃
Ah, thanks. Good to know that the metadata is there, it might just be a missing feature in Discover.
I did just poke around in Discover and couldn’t find a way to filter that…
Well, this was a while ago. I do know that Discover now at least shows whether an application is from the normal package repository or from FlatHub. They probably also show the license somewhere by now.
But yeah, it being obvious isn’t really good enough for me, in the sense that I currently simply have FlatHub completely disabled, because I do not care for having the proprietary noise in between. It makes Discover worse for me, because it becomes harder to find software I want. And then, yeah, I just figured I’d ask, because I do think it’s silly for me to shun a whole technology due to some presentation issue…
Is there a way to filter FlatHub for open-source software? I tried it a while ago involuntarily, because it got automatically enabled in the KDE package manager UI, and then I immediately nuked it when I realized, I had accidentally installed some proprietary software off of it…
Huh, @-ing makes a lot of sense. I was about to tell the tale that the !remindme
syntax is incredibly wasteful, because the bot needs to read every comment to be able to detect that. But yeah, just making it a mention instead resolves that very elegantly.
Puppy Linux is what I usually see recommended for such low specs. It’s also available with a Debian base.
In a struct, you typically want only owned data types. If you’re passing something as a parameter to a function, you typically want only references.
In a sense, that pushes your program to be very tree-shaped. Your data is initialized and held at the root of the tree (or a sub-tree) and only temporarily passed down as a reference.
In my experience, following this rule gets you there for 80% of programs. Only really more complex programs or libraries may need to deal with lifetimes and the various cop-out mechanisms.
If you’re hurting your brain, that’s probably because you’re experienced in other languages and have design patterns in mind that don’t work with this model.
You can also selectively circumvent it without dipping into unsafe
, by wrapping a type in an Rc
or Arc
(“reference-counting” and “atomic reference-counting”). This will allow you to handle an object largely like you might expect from garbage-collected languages. (Reference-counting is not able to free circular dependencies. If you need those, then use WeakRef
.)
Having said that, I would certainly not recommend constantly doing that for a beginner. It needs some time to get used to the way Rust works, especially if you’re already experienced in other languages, but when it clicks, then you stop breaking your brain.
I still don’t get why the backslash is on keyboards to begin with. I don’t think I’ve ever seen anyone write a slash backward with a pen. And even if folks do, you could’ve had only one slash anyways. Like, people are going to understand what it means, whether it’s /
or \
.
I guess, it not being used for much else, does at least make it useful for escaping stuff and for Windows to use as path separator.
You might be seeing posts from the 196 community, which recently split up (personally, I had the old ones blocked and then due to it splitting, the new 196 community showed up in my feed).
The 196 community is very much about quantity-over-quality, when it comes to posts, and as such reposts do happen often, too.
No shade on that, but it’s also not for everyone, so yeah, you might want to just block those communities.
It’s only really Windows that doesn’t use LF these days. All the Unix-based ones (Linux, BSD, macOS, iOS, Android etc.) use LF…
I need something without understandable lyrics (unless I’ve listened to that song many times before) and something that pumps me up, but doesn’t cause headaches. So, 8-bit music and cheesy / ‘epic’ cinematic scores work well.
Well, unless it’s 4 o’clock in the morning. Then nothing beats classical music. I’m never as productive as I am at 4 AM, listening to Beethoven and friends.
Oh yeah, we did find out right then and there how to set it like in GNOME. But well, you know how it is, if there’s potentially dozens of these tiny differences, then finding the correct customization does become tedious and there is a chance of some things just not being configurable in quite the same way.
Is that the default on GNOME? I happen to have the same workflow configured on KDE, except I use WASD instead of arrow keys. 🙃
Yeah, I specifically wrote “the key above tab”, because on our German keyboard the ^ is there, but it’s still the same keybinding, so presumably GNOME determines it based on key location rather than the produced symbol.
Alternatively, the less proper tool: Record your screen, cropped to the SVG.
GIF, MP4 and such, they’re just a bunch of pixel grids. They don’t care where those pixels came from.
I have a colleague, who’s super deep down the Linux rabbit hole and he always ran GNOME. I was never quite sure, if he actually prefers it, or if he just does not care, because he’s doing most things in a terminal anyways.
Recently, our IT department made a change, which accidentally switched him over to KDE. He could easily switch back, but he’s been checking KDE out instead, and yeah, it’s been super interesting.
He definitely has some of that GNOME workflow baked into him. For example, under GNOME you can use Alt + the key above Tab to switch between windows of the same application. In KDE, that shortcut exists, but the default keybinding isn’t exactly usable.
Another minor complaint was, for example, that using Meta + arrow-keys doesn’t move windows between screens automatically when you press it repeatedly. That’s a separate shortcut under KDE, with Meta + Shift + arrow-keys.
EDIT: Apparently, I misunderstood him, his complaint was that Meta + Shift + arrow-keys moves the window between screens in a weird way. It just picks some kind of order for the screens and then goes between them as previous/next, even though you press the left/right arrow keys. There even is the more appropriate shortcut key for left/right, but it’s just not the default binding.
Meta + arrow-keys does work for moving windows between screens.
He’s aware that he may need to relearn some of his workflow, but yeah, will have to see, if he sticks to it. His emotions are nigh impossible to read, unfortunately. 🙃
I was kind of thinking that yesterday when looking at a Rust library. Rust is competent with line numbers, so you don’t really have an incentive for splitting files from that angle, but sometimes, folks just seem to keep adding to their files ad infinitum.
Well, specifically that library has a few files with more than 1k lines. And I hope this one’s the largest at 4k lines: https://docs.rs/git2/latest/src/git2/repo.rs.html
What also needs to be said, is that this library is actually maintained by the Rust language team. Really makes me want to open an issue to tell them that Rust has a pretty cool module system. 🙃
Apparently, a dev on the customer side estimated that he’d need two weeks to implement the whole project (which thankfully our customer representative also laughed at).
First option for small codebases. Second option when you know your codebase will grow large enough to break things apart into multiple packages.
The thing is, you typically need dependencies for de-/serialization. You only want those dependencies in the parts of the codebase that actually do the de-/serializing. And your model will likely be included in pretty much everything in your codebase, so the de-/serializing code should not be in there.
Well, unless your programming language of choice supports feature flags with which the de-/serializing code + dependencies can be excluded from compilation, then you can think about putting it into the model package behind a feature flag.