Y u no Mamaleek

  • 27 Posts
  • 144 Comments
Joined 29 days ago
cake
Cake day: November 3rd, 2025

help-circle














  • There’s a problem that it seems to use a lot of memory, because it’s a web browser in disguise. As a consequence, any time another app needs memory, Voyager is killed by Android and starts again from the main page, forgetting what I was doing. Oftentimes it’s enough to switch to the actual browser and back again for Voyager to restart, which is ironic for a link-aggregator app.

    Its animations are janky for the same reason, and get in the way of some functionality like collapsing comments.

    Voyager’s UI is great, mainly because it’s not flashy, but a native app with that UI would be a lot better. RedReader for Reddit is much smoother to use.




  • I had a somewhat shitty youth, and music was one of a very few things that gave me enjoyment — I’d say it did a lot for my mental health. I thought I was ambivalent or even disliked most music, until I discovered proper alternative music, both electronic and rock, instead of what my parents and grandparents listened to, and what played on the radio. With the advent of internet access in my part of the world, something was playing on my computer pretty much 9-to-5. I read Wikipedia and other sources about artists and music in general, and know the difference between deep house and Balearic house.

    Perhaps the fact that Nurse With Wound and Black Vomit were my favorites for long night walks through the city for a while, illustrates my attachment to music quite graphically. I’m also not irritated by the sound of MRI machines.

    I used shitty headphones, treating them as expendable, until buying Sennheiser by chance for office work because they reportedly isolated external noise (which was untrue about that model). That’s when I learned how the bass guitar actually sounds and that there are good bassists besides Bill Laswell and Jah Wobble. Consequently, I try to use decent headphones and speakers now.

    I try to discover new (to me) music more-or-less constantly, although I’ve finally gotten old and don’t really know what’s been happening in alternative scenes in the 2020s. Since I’ve heard plenty of musics, new stuff doesn’t quite catch the ear that easily anymore, but once in a while I add something to my personal collection.

    I don’t use algorithmic recommendations, aside from Last.fm in the past and Bandcamp’s ‘people also like’ now. Mostly I have a long list of artists I’ve read about, or flip through recommendations in topical communities.

    I thought I’ve heard most genres and tricks and would just be rifling through them back and forth, until I randomly came across Mamaleek. Not only they have amazing atmosphere and effortlessly combine disparate genres, but they switch up the sound on every album while somehow retaining the signature mood. This was like hearing good music for the first time again. No one else is like them.

    Do you ever listen to music just to enjoy it and nothing else?

    Don’t really know what else I could be doing with music. The exception is when I’m looking for something to recommend to others.


  • My motivation to use Ansible is fueled by disdain for manual non-scriptable configuration. I’ve had to use Windows for a couple years lately, and the absence of programmatic access to many things annoyed me to no end.

    Now, I get up in the morning and look to the east. I salute the sun and thank the fate for the chance to do proper configuration again. I don’t wade through dialogs for hours anymore. I don’t lose track of things that I’ve changed somewhere sometime. I’ll learn what the hell the difference between dconf and gsettings is, just to use one of them for all my desktop settings forever. I will have this config for years to come, and I will put more things in it bit by bit.

    Now, if Ansible’s config language wasn’t a naive reinvention of Lisp, that would be great.





  • This here is the implementation of sha256 in the slow language JavaScript:

    const msgUint8 = new TextEncoder().encode(message);
    const hashBuffer = await window.crypto.subtle.digest("SHA-256", msgUint8);
    const hashHex = new Uint8Array(hashBuffer).toHex();
    

    You imagined that JS had to have that done from scratch, with sticks and mud? Every OS has cryptographic facilities, and every major browser supplies an API to that.

    As for using it to filter out bots, Anubis does in fact get it a bit wrong. You have to incur this cost at every webpage hit, not once a week. So you can’t just put Anubis in front of the site, you need to have the JS on every page, and if the challenge is not solved until the next hit, then you pop up the full page saying ‘nuh-uh’, and probably make the browser do a harder challenge and also check a bunch of heuristics like go-away does.

    It’s still debatable whether it will stop bots who would just have to crank sha256 24/7 in between page downloads, but it does add cost that bot owners have to eat.


  • I mean, I thought it was long dead. It’s twenty-five years old, and the web has changed quite a bit in that time. No one uses Perl anymore, for starters. I used Open Web Analytics, Webalizer, or somesuch by 2008 or so. I remember Webalizer being snappy as heck.

    I tinkered with log analysis myself back then, peeping into the source of AWStats and others. Learned that a humongous regexp with like two hundred alternative matches for the user-agent string was way faster than trying to match them individually — which of course makes sense seeing as regexps work as state-machines in a sort of a very specialized VM. My first attempts, in comparison, were laughably naive and slow. Ah, what a time.

    Sure enough, working on a high-traffic site taught me that it’s way more efficient to prepare data for reading at the moment of change instead of when it’s being read — which translates to analyzing visits on the fly and writing to an optimized database like ElasticSearch.