AernaLingus

joined 3 years ago
[–] [email protected] 5 points 1 month ago* (last edited 1 month ago) (4 children)

Might help to know where you found this, if possible. The character you pasted is in Unicode's Private Use Area, so it's not a standard character, and that's why it's not rendering properly on Hexbear—no standard font is going to have a corresponding glyph to represent it. It could be an archaic form or even a neologism, but I'm by no means an expert in either PUA usage nor hanzi/kanji so I'm just spitballing here.

edit: the specific codepoint is U+E00E, for what it's worth

[–] [email protected] 2 points 1 month ago

TIL that GitHub search only indexes the main branch! Didn't need it this time because you told me what branch to look in, but now I know how to efficiently search across branches for future reference thanks to this StackOverflow post; for instance, I could have found the file I was looking for using the following command

# Search all files and folders in all remote branches
git branch -r | awk '{print $NF}' \
    | xargs -P "$(nproc)" -I {} git --no-pager grep -n 'setupTagline' {}

Here's the relevant file, if anyone's curious:

https://github.com/hexbear-collective/lemmy-ui/blob/0ad34285aa653fc438af475afc927f48b2032612/src/shared/components/home/home.tsx#L1124-L1133

[–] [email protected] 5 points 1 month ago (2 children)

Since you've worked on the site before, maybe you can point me in the right direction:

The function that actually creates the tagline (replacing CURRENT_YEAR, MOSCOW_TIME, and so on) seems to be hexbear_setupTagline, which is fed a random tagline from the taglines array):

Code block

return a.state.tagline = a.hexbear_setupTagline(
  null == (
    tagline = 0 === (
      taglineList = null != (r = null == (i = a.state) || null == (i = i.siteRes) ? void 0 : i.taglines) ? r : []
    ).length ? void 0 : taglineList.at(Math.floor(Math.random() * taglineList.length))
  ) ? void 0 : tagline.content
)
n.hexbear_setupTagline = function (e) {
  return e.replace(
    '<MOSCOW_TIME>',
    (
      o = new Date,
      r = o.getTime() + 60000 * o.getTimezoneOffset(),
      new Date(r + 10800000).toLocaleString().split(', ') [1]
    )
  ).replace(
    '<CURRENT_USER>',
    null != (
      t = null == (n = Nr.Instance) ||
      null == (n = n.myUserInfo) ? void 0 : n.local_user_view.person.name
    ) ? t : 'Someone'
  ).replace('<CURRENT_YEAR>', (new Date).getFullYear().toString()).replace(
    /<RANDOM:(\d+):(\d+)>/,
    (
      function (e, t, n) {
        return '' + (o = t, r = n, Math.random() * (r - o + 1) | 0);
        var o,
        r
      }
    )
  );
  var t,
  n,
  o,
  r
}

It's not necessary to understand this particular snippet, but I was wondering where the corresponding non-obfuscated code can be found (if it's publicly available). I checked the Hexbear GitHub but couldn't find it in the JS client repository or anywhere else, which seemed odd. Is its absence related to this open issue?

Not that it matters, but if you do end up playing around with any of this logic, you could replace the fiddly time math with the more elegant code used for the sidebar clock (to be fair to whoever wrote said fiddly math, the features used literally hadn't been implemented in Firefox yet when the site was born):

var date = new Date;
var moscowTime = Intl.DateTimeFormat(
  void 0,
  {
    timeZone: 'Europe/Moscow',
    timeStyle: 'medium',
  }
).format(date.getTime());

Thank you for your service (which, if I understand the changelog correctly, includes upstreaming taglines and custom emotes)! Open source development can be thankless work at times, but I appreciate the effort everyone puts in to keep this site running, rat-salute

[–] [email protected] 2 points 1 month ago

Mega mega THREAD THREAD comrade-raccoon

[–] [email protected] 2 points 1 month ago (6 children)

Gave it a listen—I'd call it G minor, which is the relative minor of B♭ major, so it has the same key signature of two flats (meaning you're not wrong in a sense!) except with G as the tonic ("home" note) instead of B♭. The way to suss it out is to figure out what note feels like "home" or "at rest." If you continuously play a B♭ over the chord progression, you'll hear that it's pulling down, and if you follow that tug down the scale to G, you'll hear that it feels at rest, so you can just keep playing G over and over and it won't need to move anywhere. Another hint that it might be G minor is that the opening chord is G minor and the opening melody note is G. That doesn't guarantee anything, but starting on the tonic chord is pretty common, and the most conventional notes to start a melody on are probably the first and fifth scale degrees.

One thing that might've led you to B♭ major is how in the middle ~third of the song a new motif is introduced which IS in B♭ major. I think it would be fair to call this section B♭ major; if you try that same trick again, you'll notice that G no longer feels like home, while B♭ does. In fact, returning to that hint about melody scale degrees, the melody starts out by walking up the B♭ major scale from the first degree (B♭) up to the fifth degree (F)—again, not a given, but something to listen for! After that motif goes away, it returns to G minor, which is why I'd feel confident in calling it G minor overall.

It's always fun to just vibe out and jam to a nice chord progression! A favorite of mine is the Grover Washington & Bill Withers classic "Just the Two of Us" (the recording is maddeningly a bit sharp from A=440 Hz, but thankfully you can usually compensate for that on an electric piano). Besides being a great progression in and of itself, it's also pretty handy to learn because it's a chord progression you hear all over the place; three examples off the top of my head are "My Boo" by Ghost Town DJs, "Moonlight Sunrise" by TWICE, and the main theme from Spirited Away, "One Summer's Day" by Joe Hisaishi (yes, seriously...if you focus on the bass line of the "chorus" it should help to hear it!).

[–] [email protected] 1 points 1 month ago (1 children)

"Bomb Iraq" was one of the first songs I downloaded on Napster (a mislabeled song, as was the style at the time)

[–] [email protected] 23 points 1 month ago

The love of the game

[–] [email protected] 8 points 1 month ago* (last edited 1 month ago)

Yup, looks like my Twitter feed in the weeks and months following every anime convention doomer

edit: I saw someone post a CO₂ reading from the recent Anime Expo's Artist Alley which had a sustained peak of over 3600 ppm...for reference, clean outdoor air has a CO₂ ppm of 420. At 3600 ppm, 8.5% of every inhalation comprises other people's exhalations. It's even approaching OSHA's 8-hour occupational safety limit for CO₂, which is 5000 ppm...like, not even to do with infection control, but because high levels of CO₂ are in and of themselves unhealthy. We could have had a new Clean Air Act for the indoors, but instead the Biden Administration manufactured the end of the pandemic and here we are doomjak

[–] [email protected] 7 points 1 month ago (1 children)

I don't miss the live-updating WebSocket stuff at all, it was so goddamn disorienting monke-beepboop

[–] [email protected] 13 points 1 month ago (1 children)

I'm Team KuroXppi on this one peltier-laugh

[–] [email protected] 1 points 1 month ago

I've never played any of their games (I've sworn off gacha permanently...just eats up too much time), but the recent Uma Musume global release seems to be pretty well received—they even commissioned a proper English adaptation of Umapyoi Densetsu. And I would have figured they were more dynamic than the legacy publishers, being a younger company. But all I really the know about Cygames is that they make fat stacks of cash off of gacha

view more: ‹ prev next ›