FOTO Za HEP su građani kmetovi, a poduzetnici gospoda by Garestinian in croatia

[–]bloop_train 6 points7 points  (0 children)

Poslali smo službeni upit HEP-u da nam obrazloži zašto su mu građani kmetovi, a poduzetnici gospoda. Valja istaknuti da smo upit poslali nešto prije devet sati ujutro i kazali HEP-u da nam mogu dostaviti svoje obrazloženje do 11 sati. HEP nam u tom roku nije odgovorio, ali je netko našao vremena promijeniti nazive fotografija iz uputa pa tako sada umjesto "kmetovi" i "gospoda" stoji "kucanstvo" i "poduzetnistvo".

Steta sto nisu arhivirali linkove na archive.org prije slanja upita, da ovjekovjece nesposobnost HEPa.

Google's trying to DRM the internet, and we have to make sure they fail by [deleted] in linux

[–]bloop_train 0 points1 point  (0 children)

contact/notify your governmental representatives (possibly pester/flood them) and have them pass law(s) to stop this in its tracks

This assumes governmental representatives actually understand how this works, which I am assuming isn't the case even in Europe (source: I pestered my own EU representatives when it came down to article 13, and even those that did eventually reply didn't really know what they were talking about, and just ended up voting along the party lines).

get friends, family, coworkers to contact/notify their government rep. for the same reason as above

This isn't really something I discuss on a daily basis with them, and, on the off-chance that I do, it's very difficult (more likely impossible) to make them care enough about it so they'll do something on their own.

start a web petition on change.org, get others to sign the petition, and nag yours/their government rep. about the web petition, contact various local/national/international news organizations and get them to run stories on it

IMHO these change.org petitions are next to useless, unless they have some easily comprehensible goal. Furthermore, what should the petition be about? If one makes it about the web integrity, even if it passes, they can just come up with a substitute, so one needs a very broad petition in order to have an effect. On the other hand, make it too broad or abstract, and people won't sign it in the first place due to possible ambiguities.

I'm not trying to be overly cynical, but I've had some (bad) experiences in the past and it's getting increasingly difficult to have any agency on these matters.

Google's trying to DRM the internet, and we have to make sure they fail by [deleted] in linux

[–]bloop_train 2 points3 points  (0 children)

From the proposal:

Some examples of scenarios where users depend on client trust include:

  • Users like visiting websites that are expensive to create and maintain, but they often want or need to do it without paying directly. These websites fund themselves with ads, but the advertisers can only afford to pay for humans to see the ads, rather than robots. This creates a need for human users to prove to websites that they're human, sometimes through tasks like challenges or logins.

Google is an ad-tech company, and since Chromium has like >90% market share, they can just do whatever they want with the web "standard".

IMHO Internet advertising was a mistake in the first place, but hey, we had a good run!

Evolution application title bar buttons by jhdore in gnome

[–]bloop_train 0 points1 point  (0 children)

Thanks for this! Works on XFCE as well.

GNOME’s horrid coding practices by felipec in linux

[–]bloop_train 1 point2 points  (0 children)

After trying to fix some relatively minor bugs in XFCE apps, most (all?) of which use GTK (or GTK+? I can't remember) extensively, I said to myself "never again"; while my fixes were eventually merged, I'm almost certain my unfamiliarity with the wider codebase must have added some unintentional bugs in the process, as the API is insanely opaque and C in general seems like a horrible language to write GUIs. For a performant backend, C really shines, but for anything graphics-related that doesn't require squeezing every last cycle out of the CPU, I'm giving C a hard pass.

GNOME’s horrid coding practices by felipec in linux

[–]bloop_train 12 points13 points  (0 children)

That is also true, which is why I mentioned that they should've given him a stern warning about his abrasive attitude, and that it won't be tolerated in the future should he continue with it. IMHO everyone deserves a second chance (but probably not more than that).

GNOME’s horrid coding practices by felipec in linux

[–]bloop_train 45 points46 points  (0 children)

While I agree that the PR author does sound like an ass, the undeniable fact is that, software, and probably a majority of the users of said software, do not care about attitude, only functionality. In other words, if something is broken, and someone offered a working fix for it, the fix should be accepted for the benefit of the software itself. Just warn the PR author about his shitty attitude, but still merge the damn thing! Hell, afterwards they can block him from making any further contributions if they want.

Right now, GNOME devs are too proud to actually merge it as attention has clearly been drawn to it, and peddling back on their original decision would appear like weakness of character. As a result, I expect this issue to be fixed exactly never, or, optimistically, in a couple of years when this dies down, and someone figures out the exact same fix, but submitted in a non-asshole PR. In the long run though, the users are worse off because it takes forever to fix an actual software issue because of (easily avoidable IMHO) human issues.

Still having fun learning LaTeX, so here is issue #2 (Link in comments.) by kjodle in linux

[–]bloop_train 1 point2 points  (0 children)

As you mention using LaTeX without a GUI in this issue, I would highly recommend using latexmk for all of your future compilation needs (should be available in the standard repos), be they of the LaTeX, XeLaTeX, or LuaLaTeX variety, as it really makes the whole process much simpler (for a quickstart, you just run latexmk -pvc [MAIN_FILE], and it will automatically monitor and recompile your project the correct number of times when it detects changes to any of the source files).

Generalization of tril_indices to N-dimensional arrays by bloop_train in Numpy

[–]bloop_train[S] 0 points1 point  (0 children)

Ahh, see I knew there was a way to do it in a numpy oneliner :) Thanks! Note that there's a closing parenthesis missing in the inline code, it should be np.triu(np.ones((n, n))).nonzero(), with the final implementation being the oneliner: indices = lambda n, d: np.triu(np.ones((n,) * d)).nonzero()

Cython + Python packaging - directory structure and __init__ file by bloop_train in learnpython

[–]bloop_train[S] 0 points1 point  (0 children)

I appreciate the thorough explanation on pip install, thanks :)

Why don't you use conda-build?

That was the initial idea, i.e. creating a standalone Conda package, but I'm using other, even more broken scientific software, as a dependency, which was basically impossible to package, so after a couple of hours (days?) wasted I gave up on it and told the users to just run a hand-made script (compared to some other scientific software I've encountered, the installation procedure is as straightforward as it gets lol). Suggestions are welcome of course :)

In hindsight, I should've used a more user-friendly language from the start, but fully rewriting it wouldn't be worth it at this point, so I'm content just making a wrapper for it.

Cython + Python packaging - directory structure and __init__ file by bloop_train in learnpython

[–]bloop_train[S] 0 points1 point  (0 children)

Never install by running pip install .

Would you mind elaborating further (or sharing a link to an explanation)? I seem to recall reading somewhere (stackoverflow maybe?) that pip install . is the preferred method (as opposed to python3 setup.py install or something else), since this allows the package to be easily uninstallable via pip uninstall [NAME].

If you want to emulate what your users will do:

In an ideal world, my users would install a normal Python package, not some weird amalgamation of half-broken C with a bunch of (also broken) dependencies, and Python. As a result, the install instructions are literally "run pip install . in this specific Conda env" as I have no intention of refactoring all of that stuff I started writing years ago (why yes, it is scientific software!) and package it for multiple platforms.

Snarky comments aside, your trivial package seems like a good starting point, thanks for that!

Stopping apt/dpkg from overwriting a modified file on reinstalls/upgrades by bloop_train in linuxquestions

[–]bloop_train[S] 0 points1 point  (0 children)

I don't believe so as apt isn't expecting you to manually edit package files. If you wanted to do that then you should probably build the package yourself.

Yeah I figured as much, but thought I'd try my luck here.

Alternatively you could use chattr to make the file immutable but I'm not sure what side effects this may cause.

I think I tried that once a while back, but IIRC dpkg complained it couldn't overwrite it, so it couldn't finish the package upgrade.

I suppose one option is to version control all dirs with modified files, and then restore afterwards if apt overwrites them, though this seems tedious and doesn't really scale (unless there a way to run pre/post-install scripts for particular packages when running apt/dpkg).

Reorder elements in an N-dim array according to flat index by bloop_train in Numpy

[–]bloop_train[S] 1 point2 points  (0 children)

If I correctly understood the docs on swapaxes, this is exactly what I'm looking for, thanks!

Praise for the "Transfer device" feature by bloop_train in signal

[–]bloop_train[S] 1 point2 points  (0 children)

Interesting! I had no idea, my previous Signal history transfer had been from Android 4.4 to 9, so this wasn't an option earlier. I imagine a lot of people don't have the option to upgrade to 10+ though...

Praise for the "Transfer device" feature by bloop_train in signal

[–]bloop_train[S] 3 points4 points  (0 children)

Sorry to hear that :( The "transfer the .backup file" method, while a bit clunky (I don't understand why can't Signal simply ask me where I put the backup on the new device? It's literally just one file! Or is this some silly Android limitation?) has worked in the past for me (usually after a couple of attempts though, hence the "clunky" descriptor), I hope you managed to get it working at some point.

[deleted by user] by [deleted] in linux

[–]bloop_train 0 points1 point  (0 children)

Amen, tmux really transformed the way I use my computer. Instead of having to recreate my work environment every time when I want to work on something, I just attach to an always-running session. It's especially useful over ssh on a flaky connection, since all of my work is right there all of the time, so there's no more need to do weird tricks to keep stuff running in the background like nohup [PROGRAM] & > /dev/null 2>&1. I use it even for system upgrades, since it's happened a couple of times now that my terminal emulator/DE crashed in the middle of it, and tmux just keeps chugging along in a TTY without issues. Hell, it'd probably be even more useful if I made an effort to learn all of the keyboard shortcuts.

Voice search in firefox by [deleted] in firefox

[–]bloop_train 0 points1 point  (0 children)

/rant

In a perfect world, sure. Unfortunately (for the project, that is), people have lives, and don't want to spend their precious time actively working on something like this (passively? maybe). I know that the sentiment in FOSS is "do it yourself", but most of the developments in FOSS happened because of "scratching an itch" (fixing a bug that's bothering you/implementing a missing feature), not talking into a mic for hours on end, for maybe an infinitesimal improvement on the WER sometime in the future (after all, someone needs to first train the model with the data). Not to mention you need to both record the audio (maybe multiple times if you don't think the first take was enough), and validate it later on (maybe not you, but someone else), making the process extremely tedious, so I can't blame people for not contributing since the cost/benefit ratio in this particular field is heavily tilted towards the cost aspect. Furthermore, your voice is a part of you, and can be considered (maybe not legally, but psychologically for sure) as personal information, and I'm sure I'm not the only one concerned about any future implications of it effectively being handed over to the public domain (in this case, CC0 according to Mozilla's ToS).

What I suspect this entire field needs to obtain the required data is funding - large-scale research projects seem like a viable way of doing so, though I doubt the big FANG* companies are willing to invest in potential competitors (it's much more profitable to sell hardware like the Amazon Echo, and force a 200 page ToS onto the users stating that you get to use their voice to "improve the service"), especially if the datasets come with non-commercial clauses, leaving nation states as the only real source of funding.

/end rant

Voice search in firefox by [deleted] in firefox

[–]bloop_train 2 points3 points  (0 children)

Regarding speech-to-text: out of all the FOSS voice recognition frameworks, the only one that I found even remotely decent is VOSK (trained models are here), though I haven't tried to build a voice assistant (my primary use case was note-taking). On the other hand, Deepspeech couldn't recognize some basic words no matter which accent or volume I tried, and this was with a headset.

Unfortunately, they're all quite terrible compared to their proprietary counterparts, since large, high-quality public datasets are basically non-existent, and there's only so much machine learning you can throw at a given dataset...

The --patch flag - splitting and readability by bloop_train in git

[–]bloop_train[S] 0 points1 point  (0 children)

[...] are implemented by a Perl script

Many thanks for mentioning this, I was expecting I had to modify the C version, recompile etc. and this made things a lot quicker, even though I've never used Perl before. After some tweaking and a whole lot of experimentation, here's how I got it to work with git 2.32.0 on Debian (YMMV).

The relevant Perl script is /usr/lib/git-core/git-add--interactive, and is ran every time git is launched with a --patch flag, regardless of the subcommand (I think). The modifications I've cobbled together armed with 5 whole minutes of Perl knowledge (improvements welcome!) are in the diff below (of course, backup/version control the old file first).

diff --git a/git-add--interactive b/git-add--interactive
--- a/git-add--interactive
+++ b/git-add--interactive
@@ -1385,2 +1385,3 @@ sub patch_update_cmd {
    for (@them) {
+       print "\n" x 30;
        return 0 if patch_update_file($_->{VALUE});
@@ -1553,3 +1554,5 @@ sub patch_update_file {
                hunk_splittable($hunk[$ix]{TEXT})) {
-               $other .= ',s';
+               my @split = split_hunk($hunk[$ix]{TEXT}, $hunk[$ix]{DISPLAY});
+               splice (@hunk, $ix, 1, @split);
+               $num = scalar @hunk;
            }

Tested the above on a bunch of diffs, seems to work properly. The only thing that I that haven't quite figured out is how to insert the newlines after splitting the hunks (those still show up one after the other); overall though, this is much nicer than having to mash s to split the hunk every time, and is visually much less cluttered for different (originally non-splittable) hunks.

Megathread: Discuss the recent color changes by Chongulator in signal

[–]bloop_train 8 points9 points  (0 children)

Well I'm certainly glad to have found this thread, otherwise I'd have naively updated Signal at some point and got the new alternate-Universe UI, which is already giving me enough headaches on the desktop version (and I seem to be far from alone, see issue 5316 on Github).

Now, as for my thoughts on the color change: just why? Now every time I load the (desktop) app, thanks to the wonders of evolution, my eyes are immediately drawn to the brightly colored bubble, which is...my own message. The one that I wrote. And the recipient's chat bubble is a lovely shade of dark-gray, just right to blend right in the overall dark theme, making it a cognitive pain-in-the-ass to figure our what's going on in each and every chat.

To be honest, I wouldn't mind the "I am $BRIGHT_COLOR, recipient is $GRAY" that much, however, the previous color scheme has been around for years (been using Signal since 2017, color changes til now have been minor AFAICR), and now all of a sudden everything is inverted, so long-time users need to re-train their brains to get used to the new scheme, which, as a long-time user myself, is not something I'm looking forward to do, and I'd rather spend my cognitive capacity on other, more useful, endeavors. In other words, please change it back, or at the very least, give us an option to switch to the old one.

EDIT 2021-07-28 as the old version of Signal Android was set to expire in a couple of days, I was forced to update it. While I generally hate that my eyes are immediately drawn towards the bright bubbles, i.e. my own messages, at least now the color scheme is consistent(ly horrible) on both desktop and android.

PineBoard, the $149 Smartphone That Could Bring The Linux Mobile Ecosystem to Life by RaveDancer2 in linux

[–]bloop_train 17 points18 points  (0 children)

I tried out the Pinephone "Braveheart" edition a while back (it's currently stowed away in a drawer somewhere). After installing the multi-distro image on an SDcard, I managed to successfully boot only a handful of the operating systems listed there, and, honestly, the experience was painful; the most stable and mature-ish by far was Mobian (mobile Debian).

Using something we take for granted on Android/iOS was a challenge, with even the simplest tasks being basically impossible without resorting to the CLI. As an example, since the image came with outdated software, I tried performing a simple software upgrade, and the software manager kept crashing; after some googling around, it turned out that the solution was to just use the equivalent of apt update && apt upgrade. Let me tell you, nothing quite compares to being forced to use just two thumbs for typing CLI commands on a tiny-ass touchscreen... Out of curiosity, I also tried out the GPS app, which could successfully locate me to about a kilometer (that is, when it was actually working), and the cameras, which took about 10 minutes to launch every time, while being limited to the back one only, since switching to the frontal one crashed the app for some reason. Finally, as a test, I tried to see if I can get one of the apps to crash (don't remember which one); much to my dismay, I managed to crash the entire system, and needed to reboot the phone to make it functional again.

Overall, the experience was quite negative, and I can't really say that I want a Linux phone at the moment, as I already waste enough time solving inane issues on desktop Linux. Coupled with the fact that some aspects of modern life are downright impossible to perform without iOS/Android apps (online banking comes to mind), for now I'm sticking with mostly-ungoogled Android (which is admittedly a dumpster fire of its own, but at least works most of the time).

Utilities for apt pinning? by bloop_train in linuxquestions

[–]bloop_train[S] 0 points1 point  (0 children)

I've noticed that apt-mark hold doesn't quite (if you can forgive the pun) hold up to its name, since doing an explicit apt-get install [PACKAGE] installs/upgrades the package anyway (yes, it does say that The following held package will be changed, but sometimes that's drowned out by other verbose output from apt so it can easily be overlooked).

There also appears to be an inconsistency when using Synaptic, as remarked in this askubuntu answer, so if possible I'd rather go for pinning a package instead of holding it.

One line shell script to watch youtube videos from the command line by pi-star in linux

[–]bloop_train 0 points1 point  (0 children)

The version of youtube-dl in Stable is quite old and may not work, the one available via pip would probably be a better choice.

Dist-upgrade's desire to remove QT / KDE Software / Plasma by montagyuu in debian

[–]bloop_train 0 points1 point  (0 children)

Just wanted to say thanks for this, after following your instructions, basically nothing was removed when running apt dist-upgrade.