2020-10-03
2020-10-02
Chaining mistakes
2020-09-25
Vaporware 2020-2021
So far, I “have” few chess engines which are pure vaporware, with the only exception of one, which did play against itself, but it was a mess already and then it was scratched away.
|
|
|
By そらみみ (Soramimi) - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=47231683 |
2020-08-30
Ada 2020 target syntax (at)
I’ve already talked a little bit about Ada++ — just a waste of time, in my opinion.
Somebody once told me that he liked C because you can write
where other languages require
I don’t see the problem, but imagine that the variable to be incremented is longer:
Well, in Ada 2020 you can write
(Yes, Ada 2020, not in Ada 2012… GNAT already support -gnat2020 and this feature, but I suppose you must check what else is supported before embracing anything in Ada 2020.)
Let’s say it again: Ada++ syntax is a silly idea
Silly to say the least.
Now I’ve stumbled on A Modern Syntax For Ada and had goose bumps and thrills along my spine.
Before spitting on that job of Adacore’s core members, luckly I’ve read that it’s just a April Fool Prank.
Now I feel better.
But let’s compare the idea of this prank with Ada++…
Ada++ embraces part of those ideas scolded in the april fool prank!
isbecomes:- pointless shortening (here
returnbecomesret,functionbecomesfn… Ada++ hasprivinstead ofprivate…) beginbecomes{andend}
So, I hope I am not alone when I say that Ada++ is a horrible idea and hopefully I won’t be the only one rage rejecting it.
2020-08-29
Top 10 highest paid programming languages
I don’t think one should learn a programming language just because it is well paid. A programming language is just a tool, you can use it well or bad, to build or destroy, to make life great or miserable to your future self and your collegues — and your employer, I forgot to mention it…

But real life, alas, works like this: you choose your tools not just because they are the best to do what you want to do: you choose them because there’s someone willing to pay you to use them, even if they aren’t the best tools for the job — but, you know, everybody’s using this, or that, or that, or that…
Maybe that explains the success of certain languages and their ecosystems: nobody thinks to ask if they are the right tool anymore… At least, that’s so when the product isn’t, indeed, critically bound to such a technical choice, and hence market- and money-induced blindness don’t waste everything… Apparently…
Anyway, if I were you, I wouldn’t enrich my skillset just looking at boring lists of most paid this or that. It’s a dangerous path (maybe not for the wealth, but for the health of the consultants’ built digital world, it kind of is.)
Articles with titles like “Top N something” are almost click-bait. Be prepared to read BS — which doesn’t mean there isn’t some research and value in those words.
Well, do you really want to become rich programmer? Then, maybe the article Top 10 highest-paying programming languages in 2020 appeals to this secret desire.
Let’s see…
2020-08-15
Absurd dependencies
Writing something in texinfo, it happens that I can’t use @subentry for the index. It seems Ubuntu 19.10 has an old texinfo. So I downloaded the latest and wanted to purge the old one. But:
$ sudo apt-get remove texinfo
[sudo] password for user:
Reading package lists... Done
Building dependency tree
Reading state information... Done
...
The following packages will be REMOVED:
cantor-backend-octave dynare liboctave-dev lilypond lilypond-data matlab2tikz octave octave-bim octave-biosig octave-bsltl
octave-cgi octave-communications octave-communications-common octave-control octave-data-smoothing octave-dataframe octave-dicom
octave-divand octave-doctest octave-econometrics octave-financial octave-fits octave-fpl octave-fuzzy-logic-toolkit octave-ga
octave-gdf octave-general octave-geometry octave-gsl octave-image octave-image-acquisition octave-instrument-control octave-interval
octave-io octave-level-set octave-linear-algebra octave-lssa octave-ltfat octave-ltfat-common octave-mapping octave-miscellaneous
octave-missing-functions octave-mpi octave-msh octave-mvn octave-nan octave-ncarray octave-netcdf octave-nlopt octave-nurbs
octave-octclip octave-octproj octave-openems octave-optics octave-optim octave-optiminterp octave-parallel octave-pfstools
octave-plplot octave-psychtoolbox-3 octave-quaternion octave-queueing octave-secs1d octave-secs2d octave-secs3d octave-signal
octave-sockets octave-sparsersb octave-specfun octave-splines octave-statistics octave-stk octave-strings octave-struct
octave-symbolic octave-tsa octave-vibes octave-vlfeat octave-vrml octave-zenity octave-zeromq texinfo texlive-full
Why? Why removing texinfo should bring down the whole texlive-full and whole pieces of octave and… WTF. Idiotic, nonsense dependencies.
So I will keep that old texinfo. And Ubuntu has one more angle to push me towards their personal nightmare (I mean, snaps).
2020-08-09
Old times news
Weeks ago I digged into one of my dad’s hard drive on his Microsoft Windows office machine, searching for interesting stuffs he could have left there. Since I hadn’t the time to cope with all the amount of data found there, I did a simple
dir /s ... >a_file.txt
(or something like this) to have a list to check against the content of other hard drives at home. Likely what’s there was already copied here.
2020-07-31
Ada++ what?
Not very much time ago I commented on a post on LinkedIn. The post promoted the “Ada++” language as some sort of better Ada. As an Ada hobby newcomer who began to like the language very much (and who started to consider C++ acceptable in its modern revisions, and yet continues to think not very much of that really important and powerful language), I felt horrified. Ada isn’t perfect, nothing is perfect, but the comment made me think it was almost all because of the syntax. What’s wrong with Ada’s syntax? According to me, nothing; and on the other side there’s C++, which to me is a syntax nightmare.
One month later or so, I stumbled on that comment again and took a look (again!) to the Ada++ website. Looking around… again… I confirmed my first impression that the idea is horrorful, even if it would about syntax only.
Do we want a C++-syntax-like language? What’s the value in this? Will C++ developer feel more comfortable? Why not a C++ada language where C++ imitates Ada’s syntax, just to make Ada developers more comfortable with C++…?
2020-06-21
Golfrun reloaded in lisp?
Currently I’m mainly trying to learn more about electronics and hardware, beyond the basic things I already knew (also opened a new Italian blog to dump whatever related — everything indeed begins from my dad’s death and his stuffs). But I never stop to try and learn other things, especially in the software field where I feel more comfortable.
2020-06-20
Snap the back of those snaps
I’ve already said how annoying Ubuntu is getting. Already said something about that crappy things they call snaps, that idiotic insane attempt to replace the honorable and mostly working and easy enough (from the users’ point of view) usual package system used by Debian and other “.deb” distros, with the “.rpm” as competing school (and few others in other distros).
Leaving apart the fact that snaps are old (already) ideas rebranded, likely modified a little in details the common users don’t care about… but anyway… And leaving apart the fact that if I want something like that, I can AppImage or flatpack, and even docker at last. So, nobody needed snaps.
Let’s fake I forget the fact that this change is pushed in a microsofterish way, and let’s fake there could be some kind of merit in whatever snaps do and how they do it…
No wait, I really can’t fake this. And for some reasons.
There are several ways this CRAPPY CANONICAL THING called snaps is polluting my system with unwanted, annoying artifacts.
- A new folder,
snap, in my home; because it seems I’ve already 4 snaps which needed that: gnome-calculator, gnome-characters, gnome-system-monitor and shotcut - 2.9 Gbyte taken in
/var/lib/snapd— I guessaptwould get as much for the same amount of software installed…?
Ok, you can leave with those, can’t you?
And what about the pollution of mount points? It’s unbearable.
$ mount |grep -c snap
26
And the whole system isn’t converted to snaps yet. What would it be when almost everything will be a snap? Moreover, a single snap produces several mount points; e.g. gnome-characters has two, and also gnome-calculator has two. Then there are mount points taken for snapcraft (part of the snap system, I suppose); and core appears 4 times.
var/lib/snapd/snaps/core18_1705.snap on /snap/core18/1705 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/core18_1754.snap on /snap/core18/1754 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/core_9289.snap on /snap/core/9289 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/core_9066.snap on /snap/core/9066 type squashfs (ro,nodev,relatime,x-gdu.hide)
Nice, isn’t it? So, once I did mount to take a look at few more interesting things; now I have to filter those shit out.
There’s still more noise I used to remember, and it can be also because of that shit, again. For instance1,
When hardware is assigned to the snap, a device cgroup is set up with default devices
and that can explain partly the explosion of cgroup lines when I do mount.
Ok, it’s nice that for your security they are polluting that too. No big deal. (It’s shit but who cares?)
Then the other day I was playing with loop devices; it’s hard I didn’t find one available at the second try… This time, no luck. Why? And so I’ve found another by-product of that shit:
$ losetup -l
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO LOG-SEC
/dev/loop1 0 0 1 1 /var/lib/snapd/snaps/gtk-common-themes_1474.snap 0 512
/dev/loop19 0 0 1 1 /var/lib/snapd/snaps/gnome-characters_539.snap 0 512
/dev/loop17 0 0 1 1 /var/lib/snapd/snaps/shotcut_64.snap 0 512
/dev/loop8 0 0 1 1 /var/lib/snapd/snaps/gnome-3-28-1804_116.snap 0 512
/dev/loop25 0 0 1 1 /var/lib/snapd/snaps/gnome-logs_93.snap 0 512
/dev/loop15 0 0 1 1 /var/lib/snapd/snaps/gnome-characters_550.snap 0 512
/dev/loop6 0 0 1 1 /var/lib/snapd/snaps/gnome-system-monitor_145.snap 0 512
/dev/loop23 0 0 1 1 /var/lib/snapd/snaps/gnome-3-34-1804_33.snap 0 512
/dev/loop13 0 0 1 1 /var/lib/snapd/snaps/kotlin_43.snap 0 512
/dev/loop4 0 0 1 1 /var/lib/snapd/snaps/gnome-system-monitor_148.snap 0 512
/dev/loop21 0 0 1 1 /var/lib/snapd/snaps/gtk-common-themes_1506.snap 0 512
/dev/loop11 0 0 1 1 /var/lib/snapd/snaps/core18_1754.snap 0 512
/dev/loop2 0 0 1 1 /var/lib/snapd/snaps/snapcraft_4892.snap 0 512
/dev/loop0 0 0 1 1 /var/lib/snapd/snaps/snapcraft_4862.snap 0 512
/dev/loop18 0 0 1 1 /var/lib/snapd/snaps/gnome-calculator_748.snap 0 512
/dev/loop9 0 0 1 1 /var/lib/snapd/snaps/gnome-calculator_730.snap 0 512
/dev/loop16 0 0 1 1 /var/lib/snapd/snaps/core_9066.snap 0 512
/dev/loop7 0 0 1 1 /var/lib/snapd/snaps/shotcut_61.snap 0 512
/dev/loop24 0 0 1 1 /var/lib/snapd/snaps/gnome-3-26-1604_100.snap 0 512
/dev/loop14 0 0 1 1 /var/lib/snapd/snaps/gnome-3-34-1804_36.snap 0 512
/dev/loop5 0 0 1 1 /var/lib/snapd/snaps/gnome-logs_100.snap 0 512
/dev/loop22 0 0 1 1 /var/lib/snapd/snaps/kotlin_42.snap 0 512
/dev/loop12 0 0 1 1 /var/lib/snapd/snaps/gnome-3-28-1804_128.snap 0 512
/dev/loop3 0 0 1 1 /var/lib/snapd/snaps/core18_1705.snap 0 512
/dev/loop20 0 0 1 1 /var/lib/snapd/snaps/gnome-3-26-1604_98.snap 0 512
/dev/loop10 0 0 1 1 /var/lib/snapd/snaps/core_9289.snap 0 512
Really. Are you all serious about appreciating this shit on your daily desktop system?
Let’s say it again and loud:
Snap sucks
I’m going to leave Ubuntu because of this new level of shiny shit, hoping other distros won’t follow it. This is a strage world: the other day I’ve also read that new version of Nautilus removed the ability to split the view in two panes. This means that it once could do it. Why would you remove such a feature? Maybe because a bunch of developer of Nautilus didn’t use it… So, let’s remove it?
Other things disappeared long time ago, because GNOME is going crap too (slightly better now but still, not so good as it used to be). For example in GNOME Terminal I was used to set the tab title. No more of this. And there are other small things missing because of the “progress” of the GNOME desktop. Each time one has to adapt to a new level of silliness: apps are stripped of features they once had, and the real reason of this is… I don’t know, but I call idiots programmers responsible for some of those crappy changes.
It’s still kind of a shocking memory the “feature” a programmer decided for the move to trash behaviour — too dangerous… if you moved your files in the trashcan by error, it’d have been really a problem! (Already insulted that programmer; luckly the change was later reverted and GNOME’s file manager now behave normally)
Ok, it’s about the
coreproduct; but I suspect the song is almost the same for usual desktop.↩︎

