#100DaysToOffload

Evangelion Finally

While I’ll talk a bit on this album, Evangelion Finally, this also covers the vinyl version of this album. So, a bit of a story here. I really don’t plan to collect up a ton of records for my recently activated vinyl hobby, but I really could not resist this one when I came across it. I was originally looking into albums at Best Buy, because I had some credit, and went to do some price comparisons, then this one, and another came up as recommended. Which has spawned a bit of a new angle of interest for my vinyl buying. Anime Albums, and to some extend, Video Game albums.

I already have a plan to build a narrow wall shelf over my record player space, and this album, will look so nice propped up on the wall. I almost wish I had a good way to also show off some of the records themselves in the display because they are often quite nice looking. This album included, it has two records, both a nice splattered hot pink color. The cover has this very vibrant image of Rei Ayanami on it.

I should probably rewind a bit more on why I care about this album. I am not currently a particularly huge Anime fan, but I used to be one. I really can’t stand a lot of modern Anime, but still like a lot of those old, 90s, early 2000s classics. Evangelion is up there as one of my favorites as well. I re-watched it recently on Netflix and it’s still really good. The soundtrack is also pretty good, though this album is not the complete sound track. It’s mostly just, all the vocal tracks, minus a few dozen versions of Fly Me to the Moon.

Back around the time I was in college, I listened to the complete soundtrack pretty regularly.

While the whole album is pretty good, assuming you are fan of Evangelion and music in Japanese, I find most of the “meat” of this album is front loaded in the first 5 tracks. As one would expect, it opens with the opening track from the series, A Cruel Angel’s Thesis. The second track is a nice version of Fly me the The Moon. Yes, the same song often associated Frank Sinatra. For those who may be unaware, this song was played during the end credits of each episode of the series, though each episode also featured a different take and version of the song.

The third and fourth tracks are from the two movies, Soul’s Refrain and Thanatos-If I can’t Be Yours-. Both tracks are good, but the fifth track is the fan favorite from The End of Evangelion, Komm, Süsser Tod (Come, Sweet Death). This track plays during the Third Impact event as the world ends during the movie, and it’s probably the most upbeat sounding song about death that you’ll ever find. It’s also a bit of an odd juxtaposition of language, the title is German, it’s from a Japanese show and sung by a Japanese woman, but the words are all in English. There is also a Japanese version of this song at Track 12, though it’s a different mix for the instrumentals.

A lot of the rest of the album I don’t immediately recognize, aside from Track 11, Shiawase wa Tsumi no Nioi. This kind of tracks with my experience with Evangelion as a whole. The one track I do recognize was from a Dreamcast game, and while I have never played the game, it would have ended up in my soundtrack pile of Evangelion media back in the day. Most of the other tracks seem to come from the more recent V2.0 Remake anime. I have, sort of watched, parts of this, but I couldn’t get into it as much as the original series at all.

While I admit, I mostly bought this album on vinyl because I want to to hand up among my wall display, it is a good collection of music from the series.

Dead Memory Cards and Using Docker

More often that it feels like it should, something in technology breaks or fails. I find that this can be frustrating, but often ultimately good, especially for learning something new, and forcing myself to clean up something I’ve been meaning to clean up. I have a Raspberry Pi I’ve been using for a while for several things as a little web server. It’s been running probably for years, but something gave out on it. I’m not entirely sure it’s the SD card or the Pi itself honestly, because I’ve been having a bit of trouble trying to recover through both. It’s sort of pushed me to try a different approach a bit.

But first I needed a new SD card. I have quite a few, most are “in use”. I say “in use” because many are less in use and more, underused. This has resulted in doing a bit of rebuild on some other projects to make better use of my Micro SD cards. The starting point was a 8 GB card with just a basic Raspbian set up on it.

So, for starters, I found that the one I have in my recently set up music station Raspberry Pi is a whopping 128gb. Contrary to what one might thing, I don’t need a 128gb card in my music station, the music is stored on the NAS over the network. It also has some old residual projects on it that should really be cleaned out.

So stuck the 8GB card in that device and did the minor set up needed for the music station. Specifically, configure VLC for Remote Control over the network, then add the network share. Once I plugged it back into my little mixer and verified I could remote play music, I moved on.

This ended up being an unrelated side project though, because I had been planning on getting a large, speedy, Micro SD card to stick in my Retroid Pocket. So I stuck that 128GB card in, the Retroid and formatted it. This freed up a smaller, 32GB card.

I also have a 64GB that is basically not being used in my PiGrrl Project I decided to recover back for use. The project was fun, but the Retroid does the same thing 1000x better. So now it’s mostly just a display piece on a shelf. Literally an overpriced paperweight. I don’t want to lose the PiGrrl configuration though, because it’s been programmed up to work with the small display and IO Control Inputs. So I imaged that card off.

In the end though, I didn’t end up needing those Micro SD cards though, I opted for an alternative option to replace the Pi, with Docker on my secondary PC. I’ve been meaning to better learn Docker, though I still find it to be a weird and obtuse bit of software. There are a handful of things I care about restoring that I used the Pi for.

  • Youtube DL – There seem to be quite a few nice Web Interfaces for this that will work much better than my old custom system.
  • WordPress Blog Archives – I have exported data files from this but I would like to have it as a WordPress Instance again
  • FreshRSS – My RSS Reader. I already miss my daily news feeds.

YoutubeDL was simple, they provided a nice basic command sequence to get things working.

The others were a bit trickier. Because the old set up died unexpectedly, The data isn’t easily exported for import, which means digging out and recovering off of the raw database files. This isn’t the first time this has happened, but its a lot bigger pain, which isn’t helped by not being entirely confident in how to manipulate Docker.

I still have not gotten the WordPress archive working actually. I was getting “Connection Reset” errors and now I am getting “Cannot establish Database connection” issues. It may be for nothing after the troubles I have had dealing with recovering FreshRSS.

I have gotten FreshRSS fixed though. Getting it running in Docker was easy peasy. Getting my data back, was… considerably less so. It’s been plaguing me now when I try to fix it for a few weeks now, but I have a solution. It’s not the BEST solution, but it’s… a solution. So, the core thing I needed were the feeds themselves. Lesson learned I suppose, but I’m going to find a way to automate a regular dump of the feeds once everything is reloaded. I don’t need or care about favorited articles or the articles contents. These were stored in a MySQL database. MySQL, specifically seems to be what was corrupted and crashed out on the old Pi/Instance because I get a failed message on boot and i can’t get it to reinstall or load anymore.

Well, more, I am pretty sure the root cause is the SD card died, but it affected the DB files.

My struggle now, is recovering data from these raw files. I’ve actually done this before on a surver crash years ago, but this round has lead to many many hurdles. One, 90% of the results looking up how to do it are littered with unhelpful replies about using a proper SQL dump instead. If I could open MySQL, I sure as hell would so that. Another issue seems to be that the SQL server running on the Pi was woefully out of date, so there have been file compatibility problems.

There is also the issue that the data may just flat out BE CORRUPTED.

So I’ve spun up and tried to manually move the data to probably a dozen instances of MySQL and MariaDB of various versions, on Pis, in Docker, on WSL, in a Linux install. Nothing, and I mean NOTHING has worked.

I did get the raw data pulled out though.

So I’ve been brute forcing a fix. Opening the .ibd file in a text editor gives a really ugly chuck of funny characters. But, strewn throughout this, is a bunch of URLs for feeds and websites and well, mostly that. i did an open “Replace” in Notepad++ that stripped out a lot of the characters. Then I opened up Pycharm, I did a find and replace with blanks on a ton of other ugly characters. Then I write up this wuick and dirty Python Script:

# Control F in Notepad++, replace, extended mode "\x00"
# Replace "   " with " "
# replace "https:" with " https:"
# rename to fresh.txt

## Debug and skip asking each time
file = "fresh.txt"
## Open and read the Log File supploed
with open(file, encoding="UTF-8") as logfile:
    log = logfile.read()

datasplit = log.split(" ")
links = []

for each in datasplit:
    if "http" in each:
        links.append(each)

with open("output.txt", mode="w", encoding="UTF-8") as writefile:
    for i in links:
        writefile.write(i+"\n")

Which splits everything up into an array, and skims through the array for anything with “http” in it, to pull out anything that is a URL. This has left me with a text file that is full of duplicates and has regular URLs next to Feed URLS, though not in EVERY case because that would be too damn easy. I could probably add a bunch of conditionals to the script to sort out anything with the word “feed” “rss”, “atom” or “xml” and get a lot of the cruft removed, but Fresh RSS does not seem to have a way to bulk import a text list, so I still get to manually cut and paste each URL in and resort everything into categories.

It’s tedious, but it’s mindless, and it will get done.

Afterwards I will need to reset up my WordPress Autoposter script for those little news digests I’ve been sharing that no one cares about.

Slight update, I added some filtering ans sorting to the code:

# Control F in Notepad++, replace, extended mode "\x00"
# Replace "   " with " "
# replace "https:" with " https:"
# rename to fresh.txt


## Debug and skip asking each time
file = "fresh.txt"
## Open and read the Log File supploed
with open(file, encoding="UTF-8") as logfile:
    log = logfile.read()

datasplit = log.split(" ")
links = []

for each in datasplit:
    if "http" in each:
        if "feed" in each or "rss" in each or "default" in each or "atom" in each or "xml" in each:
            if each not in links:
                links.append(each[each.find("http"):])

links.sort()

with open("output.txt", mode="w", encoding="UTF-8") as writefile:
    for i in links:
        writefile.write(i+"\n")

Raffaella – Ballerina

Raffaella feels like a bit of an interesting oddity in my list of “artists I like to listen to”. For the most part, to be frank, she feels like kind of a nobody level musician, though not for not trying pretty hard to get somewhere. Though Wikipedia says she was dating Justice Smith for a while and she got a set on Vevo Discover, which is pretty sweet. I’m not really here to gossip though. My first exposure was when she opened for Sigrid in 2019. Before the show I started listening to this album just fro the sake of having some idea of who she was.

I’ve been a fan since then though. I actually listen to more Raffaella these days than Sigrid, which is also amusing. It actually feels like a bit of a shame that she doesn’t seem to be making a ton of traction in her career, because she has a really interesting and varied sound and a lot of clever lyrics going on in her tracks.

The opening track of her first EP, Ballerina, is Sororicide, an airy jazzy track that follows a little story about a girl who seems to both wants to reject and embrace the whole concept of being part of the popular crowd, and how ultimately it’s all kind of a big fake sham. This is a bit of a running theme throughout this album’s tracks. A desire to be part of the cool crowd while trying to reject it for individuality. I really like the use of vocalizations as part of the backing track to the lyrics, with the oooohh and the little do do do that pop up.

It’s followed by Bruce Willis. On a side note, I really like how this is one of those rare songs where the title isn’t just the chorus line. It has a lot of the same feel and themes of Sorocicide, though it has a much fuller sound to it. I like how the hook breaks out the way it does each time from the calmer lyrical sections.

The third track on this EP, NASA’s Fake, has a more upbeat and poppy sound to it, which a much more prominent drum line to it and a bit more synth effects to it. It also has a lot more interesting variety to it’s melodies then the first two tracks with it’s bopping chorus and it’s little break out quiet interlude near the end. It’s one of my favorite tracks on the album.

The album takes a low key turn for a bit with Hell Yeah (yeah yeah yeah yeah). The airy and light feel returns for this track as well. The title track, Ballerina, picks up the pace a bit and has a nice little inspiration, autobiographical feel to it, but keeps the more light feel up with it’s pleasant piano melodies. There are actually quite a few nice little underlying piano melodies all throughout this album. It gives it a nice light Jazzy feel overall. In the case of Ballerina, it certainly evokes the feel of a ballerina dance. Based on when I saw her on stage, and some of the videos I’ve watched, Raffaella also seems to do a lot of her performance on her barefoot tip toes.

The last track is probably my favorite track, with Balaclava (like the ski mask). It really feels like a nice culmination for the album as it takes a lot of the elements of the previous tracks and stacks them all up for one last hurrah. It also tells a little story about breaking and entering into rich people’s homes, which I find amusing.

I’ll probably do future posts on her second album, but in general, I really enjoy Raffaella’s music, and I really hope she can get somewhere bigger in the future.

Aurora – All My Demons Greeting Me As a Friend

Released 2016.03.11

I don’t know exactly when my first exposure with Aurora was, but I can say my exposure of actually becoming a fan, was through Sigrid. Which is kind of funny because I feel like it more often would go the other way. I don’t know that Sigrid and Aurora are “friends” exactly, but they have, I dunno, been in the same room together, and re both originally from Norway. Though Sigrid seems a bit more based in England, Aurora is decidedly Norwegian.

I’m sure overtime my music tastes will evolve again, but for the time being, Aurora is definitely my top pick for favorite artist. I can’t really articulate exactly why, but there is just something, quote magical and wonderful about every track she has done. Like, seriously, solidly, every track. Her musical style reminds me a lot of Björk or Enya.

I’m not here now to write about every track, though in time, probably, I will. I am here to talk about her first album, All My Demons Greeting Me as a Friend, or, for my own sanity, simply All My Demons. Similar to the case with CHVRCHES, Aurora is an artist that I am sure I heard before becoming a fan, I just didn’t really put much into it. Her first album, is also my top most listened to album, at least, according to last.fm. I’ll be running through the Deluxe version of this album.

There is a lot of variety to have here, but all of them share a sort of, primal energy. Aurora incorporates a lot of traditional Norwegian sound and vocalizations along with modern electronic music and methods. It creates an incredibly powerful vehicle which Aurora uses to push her message. Oddly enough, while her message have a clear, “love everything and everyone” sort of motif, she has mentioned before that a lot of her songs are left to “personal interpretation” by the listener.

The album itself is up and down on it’s emotion and tones as well. Almost all of the tracks are underpinned by a sort of lingering sorrow, but other push it to the forefront. Some tracks like Runaway, Winter Bird, and Lucky, which are hopeful but sad. Others are much more sorrow and sadness, like Under the Water, I Went to Far, and of course, Murder Song. Murder Song is particularly interesting in it’s two versions, the less often heard album version has a much larger and forceful push to it, while the more commonly heard acoustic version bonus track is much much more low key.

But there is also plenty of emotion from the upbeat tracks, which are some of my favorites on the album. Warrior is the commonly known classic. Running with the Wolves is very full of primal energy and builds to a fantastic climax. Conqueror has a great beat and tune, though Aurora has mentions she dislikes the track. I don’t know, but I suspect because it has a bit of a, subservient theme, which feels like it pushes against her otherwise fully independent spirit personality.

Probably my favorite song on All My Demons… is Black Water Lilies. It feels a bit less complex than a lot of the other tracks on the album but I really like the running melodies and overall sort of, happy lyrics with a sad-ish sound it has throughout, though it’s mostly positive energy. It wasn’t a song that was initially my favorite, but its one that grew to be so after digging deeper into Aurora’s overall sound.

I can’t really say I can give an unbiased overall opinion here, but i can say it’s my favorite Aurora Album and it’s also one of my favorite, overall albums.

Code Project – JavaScript Pixel Camera

Sometimes I do projects that end up being entirely fruitless and pointless.

Ok, maybe not entirely fruitless, but sometimes I get caught up in an idea, and end up essentially just sort of, reinventing the wheel, in a complicated way. For starters, I got caught up with this little tutorial here: https://thecodingtrain.com/challenges/166-image-to-ascii . It uses JavaScript, to convert the input from your webcam, into ASCII art. It’s a nice little step by step process that really explains what is going on along the way so you get a good understanding of the process.

And I got it to work out just fine. I may mess with it and add the darkness saturation back in because it helps bring emphasis to the video but the finished product is neat.

I then decided I wanted to see if I could modify the code to do some different things.

Specifically, Instead of ASCII characters, I wanted it to show colored blocks, pixels if you will. I managed to modify the code, and the output is indeed a pixilated video, but it’s not video, it’s constantly refreshing text. The problem is, it’s writing out a page where every block, is wrapped in a <font> styling tag, which means it’s writing out a ton of extremely dense HTML code and pushing it out, so it’s a little weird and laggy and pretty resource intensive to run.

I also image, there is a way to simply, downsize the input resolution, and upscale the video, to achieve the exact same effect.

One variant I made also just converts images to single page documents of “pixels”. but, ugly font based pixels, to achieve an effect you can get by resizing an image small then large.

Like I said, kind of fruitless and pointless, but I got caught up in the learning and coding part of things.

I also may go ahead and do some additional modifications to the code to make things a bit more interesting. I could try using it to make my own Game Boy Camera style interface, for example. Then make it output actual savable pictures. I found a similar project to that online but it would be cool to code my own up and give it an actual interface.

Anyway, here is the code for the jankey video JavaScript, sketch.js first then index.html after. Also a Demo is here, though I may remove it int he long run, especially if I make an improve project.

let video;
let asciiDiv;

function setup() {
  noCanvas();
  video = createCapture(VIDEO);
  video.size(48, 48);
  asciiDiv = createDiv();
}

function draw() {
  video.loadPixels();
  let asciiImage = '';
  for (let j=0; j < video.height; j++) {
     for (let i = 0; i <video.width; i++) {
      const pixelIndex = (i+j * video.width) * 4;
      const r = video.pixels[pixelIndex + 0];
      const g = video.pixels[pixelIndex + 1];
      const b = video.pixels[pixelIndex + 2];
      const pixelColor = "rgb(" + String(r) + "," + String(g) + "," + String(b) + ")";
       // console.log(pixelColor);
//      const c = '<font color=rgb('+r+','+g+','+b+')>'+asciiShades.charAt(charIndex)+'</font>';
      const c = '<span style="color: '+pixelColor+';">&#9724;</>';
      asciiImage += c;
    }
    asciiImage += "<br/>";

  }
  asciiDiv.html(asciiImage);

}

index.html:

<!DOCTYPE html>
<html lang="en">
  <head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.6.0/p5.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.6.0/addons/p5.sound.min.js"></script>
    <link rel="stylesheet" type="text/css" href="style.css">
    <meta charset="utf-8" />

  </head>
  <body>
    <main>
    </main>
    <script src="sketch.js"></script>
  </body>
</html>