in other news, I've been writing some rust today and despite some frustrations, it makes me happy by how much sense it makes.
despite the weird memory model, I have been fighting mostly my skill and not the language itself. so far anyway.
compare and contrast to vue.js (and webpack) which is generally awesome, but in many places I'm fighting the way the thing is designed to work.
maybe comparing a language to a framework isn't entirely fair, but...
when the instagram app wants to play a video with sound, it pauses my music.
THEN IT RESUMES WHEN IT IS DONE
android devs, take note!
⌁BREAKING NEWS⌁
The community in Berne, IN was rocked last night when a pack of wild millennials stalked and brutally murdered the antique furniture industry.
"I don't understand why they hate antiques so much!", said the mayor
The town's militia is coordinating with police to form a hunting party, with almost all of Berne's citizens joining in. Local officials are petitioning the government to send in aid in the form of tanks, air support, and emergency funds.
More as the story develops.
When people say "but how do I explain <gayness, transness etc.> to my kids?!", they don't mean the concept is difficult.
What they mean is: "how do I explain to my kids that I lied to them their whole life?"
For the record, you can still change keyboard shortcuts by editing GTK-standard config files.
Not sure how to find them in general or if they even exist in general. But they live in ~/.config and you can go look for "gtk_accel_path" string.
aw
as technology becomes more accessible, power user features are lost.
Today's example: GTK custom shortcuts. Used to be you hover over a menu item, press a key, that key is assigned as a shortcut.
Not anymore, because apparently it's a "break my application, my
documentation, and the GtkMenu code" kind of feature.
Which, tbh, it probably is.
Also a very useful feature when you need it.
how in the world do you specify that you want bootstrap 4, without knowing which of the alphas or betas or whichever.
i thought "bootstrap@^4" would do it, apparently not.
Packager's eternal question:
a) spend a couple hours to make a package's test suite pass, patch out the tests that can't run in our environment, etc
b) or deem the package insignificant enough and leave the tests to fail silently?
And today is Option B time for reportlab.
i should write my own tutorials. https://octodon.social/media/3gVNlqC0vbee4PIbFFI
This right here is the problem with learning new tools. I spend hours bumbling around accomplishing the simplest setup before even getting into the part of the code that I care about.
Well, *some* new tools.
Rust and Cargo, for instance, are nicely straightforward.
oh, so one's supposed to require it. as in, require("bootstrap/dist/css/bootstrap.min.css")
well, that would honestly not occur to me
also what if it isn't webpack and I want it as a static asset?
ugh
i want to build a small vue.js app "the right way", with vue-cli and webpack and all that jazz
and after two hours I'm stuck at getting a bootstrap css into this contraption.
Sure, I could just drop the css file into static/ and be done with it.
Or! I could mess with bower! And expect it to happen magically, somehow, because isn't that the whole point?
...apparently not.
I'm in Netherlands on holiday and I'm amazed at the biking infrastructure. It's just so much friendlier than cars. More space-efficient, more personal, and probably way greener too.
Of course this is helped by the fact that Netherlands are flat as a pancake. But you could build a bike-based city anywhere. Esp. if the bikes are electric. Ideally, cheap pieces of electric junk, so that nobody is motivated to steal them.
I want to live in a city like that.
also, did anyone before me think of making a federable tumblr clone? because that seems like a neat idea.
wait what, is birdsite cw-worthy? what happened?
bad news: it cares.
well it doesn't, but will replace my very pretty expansion with "MACRO", which is, uh, not what I want.
holy fuck what a hack.
now to see if that other spec parser cares.
(it's this one: https://github.com/openSUSE/obs-build/blob/master/Build/Rpm.pm#L194 )
I *could* get to 2 levels per python, if i didn't mind that the recursion never stops....
...which doesn't actually matter in RPM. It's some sort of error somewhere in the log, but the output is the right thing.
my current solution:
%python_module_iter(a:) %{-a*}-%{args} %{expand:%%{?!python_module_iter_%1:%%{python_module_iter -a %*}}}
%python_module_iter_STOP stop
%python_module() %{expand:%%define args %{**}} %{expand:%%{python_module_iter -a %{pythons} STOP}}
At four pythons, this is 14 levels deep. 3 levels per python, 2 for setup.
now the question is: can I fit one more?
RPM's macro expansion has a maximum depth of 16.
I'm now playing a kind of code golf, to fit as much expansion into these 16 levels.
The problem: with "%define pythons python2 python3 pypy3", expand "%{python_module foo}" => "python2-foo python3-foo pypy3-foo".
This must fit into one line and can't use shell or Lua, because it also targets a non-RPM spec parser that doesn't have these features.
Fit as many pythons as you can!