• 4 Posts
Joined 3Y ago
Cake day: May 31, 2020


Yeah, I’m often thankful to people building these frontends, because ultimately a lot of human information is in those corporate silos and accessing them via a frontend is better than directly.

But at the same time, I would never build such a frontend myself, for the reason you mentioned.
All it takes, is a bunch of profiteering dickwad investors, to make your efforts go poof.

If you’re viewing this post from the Lemmy webpage (lemmygrad.ml, in your case), you can click on the rainbow-colored Fediverse icon to see how it looks like from their end.

Oh, on openSUSE, you don’t need to configure anything. Just install with the default partition setup and it will automatically take snapshots of your operating system (/home/ is excluded) whenever there are changes.

It uses incremental snapshots, so they won’t take up infinite space…

BTRFS snapshots like openSUSE and now also Fedora has it. I don’t want to use a distro without them anymore. Unfortunately, configuring them yourself is a bit more involved than just installing a package…

Single-click makes a lot more sense to my parents. They’re using either a browser or a smartphone all day long, so it was only when they left their browser on their desktops that they suddenly entered the world of double-clicks.

But yeah, I do get it. Most new users come from Windows, macOS or other DEs, where double-click is the default, as archaic as that may be.

Eh, this fork was born out of an unwarranted shitstorm (disagreement over a trademark policy proposal which was literally made public to collect feedback). So, I don’t see this fork gaining popularity.

It’s easy to declare a fork, but you need to build up infrastructure, an own ecosystem and ultimately actually be a better language.

I would also definitely recommend hierarchical sorting. So, at the top would be a type typically used when calling your API or the aggregate type holding your internal state etc. and then right below each of these, the types they are composed of.

Reading code requires sifting through tons of complexity and it requires not-sifting through irrelevant complexity. So, I want to know that I need a type before I care about its precise definition.

For multiple, not hierarchically related types, I try to put the most important, most frequently used type at the top.

And I usually put types above functions, as functions can entail a lot of code + details, so I don’t want them ‘displacing’ any relevant types.

But yeah, I’m not a fan of hard rules and there’s definitely exceptions to these.

In a codebase at $DAYJOB, we often have Configuration types, which are just boilerplate to read out part of a config file and make it easily accessible to the code in this module.
No one cares how those Configuration types look, so we place them below all the functions.

And sometimes, you’ll have a module with many types and not really a reason to deem one more important than the other. Then just sorting them alphabetically can be more readable.

I usually sort them like this and feel like that’s roughly what most people are doing:

  • Imports from third-party libraries
  • Imports from std
  • Imports from own crate
  • mod statements and respective (pub use) imports from sub-modules
  • pub types & functions
  • private types & functions
  • Unit tests

Generally, the logic is public API at the top, internals at the bottom, so that other devs using your module find everything they need at the top.

One exception to that are the imports. Aside from pub use, those would be better placed at the bottom. We just seem to put them up top for reasons of We’ve Always Done It This Way™.

by making it clearer about what an “Ubuntu experience” is.

The user experience will be worse, because they can’t use Flatpaks without jumping through extra hoops.

So, I guess, a “Ubuntu experience” is a bad experience. Not going to argue with that.

Oh yeah, that is also why it is developed by committee. If it gets through the committee, there’s an expectation that Google/Blink, Mozilla/Gecko and Apple/WebKit implement it in the near future.

Why it’s not in the JS standard library, is because JS is developed by committee. It takes significant effort to get anything into there. And leftpad wasn’t important enough, plus there was the substitute of that NPM package, so no one bothered writing up a proposal and getting it through the committee.

Was this KDE under X11 or Wayland? It should work better for this type of stuff under Wayland.

It is also possible to get a virtual keyboard. Not sure, if that one is tied to Wayland or needs to be installed/enabled in some way…

Yeah, I’m quite fond of the Scala syntax:

val a: Int = 1
val b = 1
val c = {

def foo(x: Int): Int = x+1
def bar(x: Int): Int = {

Yeah, in inline functions, you have to use implicit returns, whereas in regular/named functions, you have to use explicit returns.

Although, there is yet another special case to that rule in that you can use labeled explicit returns in inline functions like so:

list.map { value ->
    return@map value*2

Yeah, at work, we (regrettably) elected to use Kotlin for a project instead of previously Scala and those braces are definitely something I miss.

Kotlin does support basically the same thing with the run { } function, but Kotlin is so incredibly inconsistent with when implicit returns are allowed and when not, that it seems to confuse colleagues rather frequently…

I’m on board with the message, and to reach a wider audience I can definitely humor it being delivered with some snark. But this is mostly just snark without a solution in sight.

No, it’s absolutely not great that GNOME, Mozilla et al have ties in that way. But, while they might have some leeway to do things better, ultimately they need a big chunk of money to fill the role that they have.

Not taking the money and not filling that role isn’t particularly useful. Everyone could be using Xfce right now. And everyone could be using Dillo or hell, a fork of Google’s browser, right now.

Even the author himself is using GNOME over Xfce, which I don’t care to attack, but chances are that the GNOME Foundation is doing something with that Google money to make it preferable to him.

Doesn’t surprise me, honestly. Most devs either target Linux for backend stuff, develop for web or Android in terms of frontend (which works just as well on Linux), or could at least benefit from their application building and running on their CI/CD Linux server.

And once your application runs on Linux, you only need the dev stack to do the same, which probably works better on Linux than Windows already.

With macOS, unless you’re extremely specialized in graphics work, iOS or macOS development, chances are you can’t run all dev tooling or the application you’re developing without jumping through hoops.

I don’t even get how they came to place that folder in the home-directory. Was that just a lazy developer entering any folder at all during the earliest prototypes and then they never changed it?

And why did they never change it? Just give ~/snap priority, if it exists, but use ~/.local/share/snap/ otherwise.

Like, it’s Ubuntu that we’re talking about. The distro once lauded for it’s polished and intuitive desktop experience. And now they have a confusing and useless item in one of the most user-visible places, on every single installation.

Genuinely my biggest reason to not use them, is that snap/ folder in the home-directory. That is my periodic reminder to uninstall any Snap apps + Snap as soon as I can.

I also don’t like the added layer of indirection. I’ve had to use a proprietary, exclusively-Snap-distributed program for $DAYJOB and unsurprisingly, it stopped working within two weeks of having set it up.
I don’t know, if the Snap-layer caused it to stop working, but it made debugging harder. I couldn’t just start the binary from the CLI or look at the file-tree. There’s probably Snap-commands to do these things, but then I still can’t rule out Snap being at fault.

And Web MIDI could be interesting. It seems to just pass the MIDI interface to webpages: https://developer.mozilla.org/docs/Web/API/Web_MIDI_API

So, that means web-based audio production software, like for example BassoonTracker, could receive input from MIDI keyboards and the like.

Not sure, it’s going to be viable for professional use, though. Audio stream routing+mixing seems to be quite complex, even outside of a browser.

Another interesting change is in the bookmarks toolbar as the default “Only show on New Tab” state has been improved to also work correctly for blank new tabs.

Neat. I had to use the about:newtab page, customized to be empty, to use this feature, which always seemed like a waste of CPU cycles.

Oh yeah, when I wrote “download”, I was actually simplifying. DCSS can be played in the browser and there’s folks hosting servers for free. On the server I’m on, you can choose from any version since 2012. Just one click and you’re playing antique DCSS:

Screenshot of a DCSS server, showing a whole array of different versions, between 0.10 and 0.29.

I was also simplifying when I wrote that the LibreOffice dialogue was buggy. I don’t remember what bothered me with that dialogue, nor what particular dialogue I’m even talking about.
I’ll stumble over it again, I’m sure, but yeah, it must’ve been some petty thing, for which I would have contributed a fix, if I could have managed that, but which wasn’t actually necessary to fix…

First one was an open-source game, Dungeon Crawl Stone Soup, which I thought I knew like the back of my hand.
I wanted to try out a small tweak to how trees affect line of sight, but when looking through the codebase, I realized, it wouldn’t just require adding a flag to the tree entity, I’d need to make potentially bigger changes.

So, I asked in their IRC channel whether my suspicion was correct and within a few minutes, they told me the game actually used to behave that way until 2015. I had started playing the game in 2017 or so.
And yeah, I downloaded an old version and that was behaving like I wanted it to, and I quickly understood why it was changed.

Second program was LibreOffice. There’s a dialog somewhere in the settings, which is a bit buggy and I figured that couldn’t possibly be that hard to fix.

So, I downloaded the source code and tried to find that dialog in there. Their repo has 150+ folders top-level. I don’t even have a guess which folder could contain such a dialog. I also couldn’t manage to compile the repo.

Here, too, I probably should’ve asked for help, but yeah, I realized this simply wasn’t going to happen, even with tutoring, so I didn’t want to steal anyone’s time.
A bit frustrating, since I work with large repos on a daily basis and that codebase still slamdunked me without a problem, but yeah, least thing I learned is where to place my confidence.

I take advantage of it by having tried and failed to make a miniscule change in two separate programs. AMA. 😎

In the village I grew up in, there’s this family business where I’ve seen it more than once that a 5-year-old was skillfully operating a machine larger than anything I’m allowed to drive.

And, of course, they were usually told to take over when their dad or sibling had to get up onto the fork/bucket of that machine to unload whatever they were transporting.

And in case you need the A key for whatever reason, here’s the appropriate keyboard: https://f-droid.org/packages/io.github.dkter.aaaaa/

There’s Framadate, developed and also hosted on that webpage by the French non-profit Framasoft.

There’s also an instance hosted by the German non-profit DigitalCourage: https://nuudel.digitalcourage.de

As a tuba player, I can confirm this. Especially the bragging part is great. Sometimes I’ll do the exhausted-exhale-thing, but keep it going for 10+ seconds until eventually someone notices and then they get really irritated, because they’re not sure I actually exhaled for that long or their senses are betraying them.

I guess, it’s not just about bragging, but also about getting on people’s nerves. They should add that advantage to their card.

It was the cables leading up to the WiFi card. Here’s a screenshot:

Instructions for removal of WiFi card. It says "Disconnect the two wireless LAN cables".

I guess, it doesn’t say “WiFi cables”, but rather “wireless LAN cables” which is even better.
They didn’t even capitalize the “wireless”, so I guess, those cables really must be just empty rubber tubes. 🙃

The manual of my previous laptop specifically mentioned “WiFi cables”…

The manual of my previous laptop specifically mentioned “WiFi cables”.

Aside from potentially wasting too much of your own time, this may also be why trolls flourish so much on the internet.
The anonymity removes the repercussions from saying garbage and then if you’re looking for attention, saying garbage is clearly the way to go. That will get you a lot more interaction than normal comments.

But yeah, these days I also think it’s better to correct this stuff. There seems to be a solid number of people that actually believe the garbage spread by trolls and will appreciate the correction.
Just make sure you give them room to own their mistake. So, don’t insult them and if you know this is a common misconception (because it is often spread by trolls), then mention that, too.

That strategy also works with actual trolls. You correct their garbage and you bore the hell out of them, because you’re not getting worked up over their misinformation.

Well, nothing, because it doesn’t exist. I’m saying they’d get a headache, because force and energy are two different physical concepts.

Using Natural Life Force Energy

It may be questionable whether it reduces ‘chronic severe pain’ in normal people, but it most definitely increases it among physicists, particularly in the head region.

Assuming that’s German (also my native language), I would say the difference is that German has far fewer recent influences from other languages and also had relatively recent standardization efforts on spelling, so there’s usually a unique spelling for a given pronunciation.

And when we do have unusual pronunciations like in “team”, “garage”, “handy”, you can’t really mix them up with another word.

The thing is that native speakers and people who are very fluent, will start to write how they would say it, without really thinking about it. And then, because the pronunciation is identical, they’ll mess up there.

You forgot Steve Jobs in this list of people that are 100% dead inside.

That is not a basic fact. Most people will not simply know that, nor be able to verify it.

That is also not a basic fact, as it’s saying that Russia should kill Ukranians, because Ukraine has presumably killed Russians. At most, Russia should take out the Ukranian artillery to prevent further killing. They should not kill even more people.

You’re also getting downvoted (much like the meme itself), because this is a fucking meme sub. Memes are for low-effort humor, not deeply-invested political discussions.

I’ve been thinking that with the emoji skin color palettes (👍🏿👍🏾👍🏽👍🏼👍🏻👍). The nazis would’ve loved this. Just sack anyone who’s on record using non-white emojis.

These are certainly a tradeoff. You reveal some amount of information to achieve representation. Because well, if you don’t show this stuff, people will just assume that you belong to the majority. And if they rarely encounter certain minorities, chances are much higher that they become *-phobic towards those.

I’ve been considering just throwing in random bits of entropy to confuse trackers and aid representation of minorities. So, in one post I might be 💁🏾‍♀️, in the next I’d change to 🤷🏼‍♂️ etc…

Plasma 5.25 Can Sync Accent Color with Wallpaper
From the release announcement: https://kde.org/announcements/plasma/5/5.25.0/

Hi, I created a community for the game Dungeon Crawl Stone Soup. It's an open-source game, so would've also fit onto [!opensourcegames@lemmy.ml](https://lemmy.ml/c/opensourcegames), but I wanted a place where I can post things which will only make sense, if you've actually played DCSS. So, this is quite a niche interest. I might be shouting into the void here, but that's okay. Of course, anyone else is welcome to shout with me. :)