Ramen Junkie

Code Project – Python Flask Top Ten Movies Site

So, I mentioned dumping the Flask Blog a while back, but then I decided that since I had managed to get it all working, it would be somewhat trivial to get it working on a subdomain, instead of a main domain, which had been my original plan to start with.  I was never too excited about dropping this project because I have a few ideas for little projects that I wanted to build that would actually work pretty well in Python and Flask, since it essentially adds a direct path to running a back end style script and a front in interface.  Part of my frustration had come from trying to integrate OTHER Flask projects into the same website and Python code.  Specifically the Top Ten Films website.  

So I stripped out all of the work I had done on integrating the Top Ten movies site, and got the bare Blog running on smallblog.bloggingintensifies.com.  That’s not a link, don’t bother trying to go there, there is nothing there (More on that in a bit).  In this process, I got to thinking, I could run separate Flask Instances, one for each project, though I feel like that’s probably kind of super inefficient for server overhead.  I went and did it anyway, with the Top Ten Movies site.

Which worked fine.

At this point, I realized, I had a working copy of this website to work with and test.  A lot fo my previous frustration was adapting and merging two Python files, which share some redundancy, which share the same names on some secondary files and variables.  I could now, modify the Top Ten Movies code, and test it, to remove the problem duplication.  Satisfied, I shut off the Flask Blog, and merged the code again, and, it worked!  Worked as expected.  I did update the code a bit more again to add in the user/admin features of the Blog to the Movies page, so no one else can change the list.  

I also changed the subdomain from smallblog.bloggingintensifies, to flask.bloggingintensifies.com.  I mostly plan to use this sub domain to show off Flask Python projects, not just this blog I’m never going to fully utilize, so the name change makes more sense.

I also used some of the other HTML knowledge I’ve gained, well, the modern HTML knowledge, to reformat the Movie Site from how it was built in the class.  The class just had a long single column with ten movies.  I’ve changed it so number 1 is large and everything else is a smaller grid.  It’s much prettier looking now.  I doubt it changes much, if at all, but it’s a neat and fun project.

Dodie – Build a Problem

Released – 2021.05.07

I am not sure what first brought me to Dodie’s music, I know a lot of her fans came from her previous life as a regular YouTube Vlogger. I can say it was quite a bit before the release of Build a Problem. This is her first Studio Album, though she has released 3 previous EP albums, though the third one, Human, has most of her best known tracks, with Monster probably being her most well known. She also has a pretty large amount of additional “unreleased” tracks on YouTube and other channels.

This little bit of background is rather essential to some of what I want to talk about on this album, Build a Problem.

Anyway, I enjoy Dodie’s music enough that I had tickets to see her back in 2022, though things fell through and I could not make the show for a couple of reasons (COVID was ramping up again, and my wife had a medical procedure come up). Her music can probably be best described as modern emotional folk music. There is a lot of airy feel to a lot of her songs, and they incorporate a lot of more traditional acoustic style instruments along side some modern electronic mixing and layering. Most of the songs have a strong emotional push around relationships, loneliness, anxiety, depression, and being a bit of an “outsider” at times.

All of these themes are very much present in the themes of Build a Problem. The album open with a short interlude in Air So Sweet, before going into the first proper track with Hate Myself. It’s not the “title track” but it is where the album title comes from, where the phrase Build a Problem shows up as part of the opening lyrics:

Could it be different? Did I ruin the day?
Oh, do you look angry? Oh, what did I say?
Filling in the gaps, build a problem that
Neither of us need, something wrong with me

Hate Myself is one of the better tracks on this album, it’s showcases a lot of the strong parts of Dodie’s songwriting and layering in structure. I don’t know that it’s my favorite track, but it’s certainly up there. The theme of this track is basically the idea of being insecure in a relationship, and possibly overjudging one’s self based on the reactions of the partner. Essentially, building a problem, in one’s head, where a problem may not actually exist. Which only leads to more self hate and insecurity.

Though Hate Myself is a bit more upbeat and “poppy” sounding, things turn down and become a lot more reserved for most of the rest of the album. I’m just going to go over some of my personal highlights from the album with commentary on the rest after.

Probably my favorite track on the album, is Cool Girl. I just really like the way this song slowly builds over the course of the track from something relatively low key to something rather grand. I also really like the use of the stringed background instruments, which is also part of the overall build. The video is also a One Take, which is like my kryptonite for video media, so that pushes up my enjoyment even more.

The next few tracks, Special Girl, Rainbow, and Four Tequilas Down are all pretty good.

The two “bonus” tracks, Guiltless and Boys Like You round out my list of actual “top tracks” on this album. I believe they are “bonus” in that they have both been released for a while, they just, never had a proper album release. Guiltless has a lot of really fun and interesting structure to it. The lyrical sections are kind of quiet and quaint before dropping into this fuller chorus moments. It ends with this really fun little layered loop of some of the lyrics of from the track previously.

Boys Like You has a decidedly different feel than the rest of the album but it’s still a great track that does deserve to be on an album. It’s quite a bit more punchy in it’s melody than the previous tracks, and feels a bit like a different era of Dodie.

So, as for the other tracks. I have the ALOSIA (A Lot Of Songs In A Steam) Deluxe version of this album, but for now I’m just referring to the other tracks on the album itself. I really like the tracks mentioned above, I kind of really dislike most of the ones I didn’t mention. I do like this album, but it also feels like, another EP’s worth of tracks, with a bunch of half finished tracks intermixed in to pad it into an album. This isn’t really a criticism of Dodie by any means, and maybe it’s just that I just don’t resonate with these tracks for whatever reason.

It doesn’t really harm the album as a whole, especially since you know, we live in a digital age where it’s easy to pick out the tracks one most enjoys. It just feels like maybe there was some sort of behind the scenes deadline that came up too fast and things maybe could have felt a bit more complete in places.

Hard Drive Woes Part 2

This post is a follow up to my previous Dead Hard Drive post.

I used to hassle with PC hardware a LOT more than I currently do. I’ve kind of worked my way out of that gig honestly. I am at a point where I can afford shit for starters, mostly, so I’m not trying to cobble together workable machines from random parts. I also got tired of doing tech support for people, so I basically just, sort of hide that I can, because when people find out you can “fix computers”, now you’re vacuuming out 50 years of dust from a Pentium 1 in your backyard for a neighbor who refuses to just buy literally any cheapest machine at Wal-Mart for an infinite performance boost.

“Back in my day!” (fist shaking), you could pretty much just slap any drive with an Operating system in any machine and it would boot. Sometimes it would boot into an ugly driverless environment because it was ripped from another machine, but that was fixable. Things seem more complicated these days. I’m not blaming UEFI, and all that more secure BIOS stuff, but it’s a likely culprit. I think that better security is good, it just, is also part of why I can’t more conveniently fix my damn PC.

I say Conveniently, because that’s the core issue. I can still EASILY do it. It’s just… not convenient.

Shortly after messing with Linux a bit for troubleshooting, I did a bit of set up to use it as the main driver but, decided to just go back to Windows. I downloaded a fresh recovery image, sliced the Linux partition down to 500GB and reinstalled Windows.

I like Linux. I use Linux, almost daily, if not daily. It’s great for automation tasks and running server software and all that. It, kind of really sucks as a desktop OS. Don’t get me wrong, it’s usable, especially for simpler needs (literally anything not Gaming or Video/Photo Editing). I have run Linux as the sole OS on many machines, mostly laptops, and lots of Pis and Servers. I’ve used Linux off and on for over 20 years now. The problem here is, the main use case for my “Kick ass gaming rig” is well, gaming. Half the games I had slated “to play” from Steam are not available in Linux. I set up Hero Launcher for GOG and Epic, but like, my cloud saves didn’t work, and Fortnite doesn’t work and the whole thing felt a little off. Graphics also felt a little off, even though I did switch to using the official proprietary NVidia drivers.

Anyway, I went back to Windows. I spent an eternity downloading drivers and doftware and getting things set up properly. Unfortunately, the secondary drive I was now using as my primary, is just too slow to handle the needs of a lot of games as well. I had to roll Fortnite back to DirectX 11 for example, because it would take like 10 minutes to drop into a match because it would load shaders or some shit. For anyone not aware of how Fortnite works, it’s online, in an arena of players. If you drop in 10 minutes late, your character will have already landed in the map and probably be dead or dying.

So I bit the bullet and bought a new NVME drive. I planned to eventually, I just, did it sooner.

I went and downloaded Clonezilla to just mirror the Hard Drive to the NVME drive, which worked, but things would not boot.

There are plenty of possible solutions online, with recovery mode. I tried a few of them. But in the end, I have opted to just, reinstall Windows, again.

Which means redownloading drivers and shit… again….

I might be able to pull the Steam Downloads over before wiping the secondary drive, but I am not sure Epic will let me do that. Unfortunately, the larger games are from Epic, with Fortnite, Death Stranding and Final Fantasy 7R in that list.

It’s all, very easy.

It’s just all, very inconvenient.

Also, just because, and maybe for future reference, the install needs:

  • Network Driver – For some reason it doesn’t work on the generic.
  • TUF Gaming Amoury Crate – The motherboard seems to load this, and it find and installs all the drivers, which is nice, despite the cheesy name.
  • Windows Update
  • Color Scheme to Dark, no transparency
  • Firefox – Browser of choice, then log into sync and let it pull all my stuff in.
  • Steam
  • Epic
  • Visual Studio Code
  • Change One Drive settings to not sync everything but only some things.
  • Log into the Microsoft Account so One Drive and Office work, since no network driver means local account log in only at first
  • Share X – For Screenshots to folders
  • Display Fusion – For rotating desktop wallpaper
  • Synergy KVM – So I can connect to my other PC\
  • EVGA Flow Control – For the cooler
  • Remove all the cruft from the start menu, remove the apps list and recent files
  • Add a dozen network drives to File Exporer
  • Discord
  • Firestorm Viewer

A Progressive Journey Through Working With AI Art – Part 6 – AI Is Boring

A few months ago I started a sort of series on going through using Stable Diffusion and AI Art.  I had some ideas for some more parts to this series, specifically on “Bad Results” and another possibly going into Text based AI.  I never got around to them.  Maybe I’ll touch on them a bit here.  The real point I want to make here…

I kind of find AI to be boring.

That’s the gist of it.  On the surface, it’s a really neat and interesting concept.  Maybe over time it gets better and actually becomes interesting.  But as it is now, I find it’s pretty boring and a little lame.  I know this is really contradictory to all the hype right now, though some of that ype may be dying a bit as well.  I barely see anything about AI art, it’s all “ChatGPT” now, and even that seems like it’s waiting a bit in popularity as people accept that it’s just, “Spicy Autocomplete”.

Maybe it’s just me though, maybe I’m missing some of the coverage because I am apathetic to the state of AI.  I also don’t think it’s going to be the end all be all creativity killer.  It’s just, not that creative.  It’s also incredibly unfulfilling, at least as a person who ostensibly is a “creator”.  I am sure boring bean counter types are frothing at the idea of an AI to generate all their logos or ad copy or stories so they can fire more people and suck in more money not having to pay people.  That’s a problem that’s probably going to get worse over time.  But the quality will drop.

But why is it boring?

Let’s look at the actual process, I’ll start with the image aspect, since I’ve used it the most.  You make a prompt, maybe you cut and paste in some modifier text to make sure it comes out not looking like a grotesque life-like Picasso, then you hit “generate”.  If you’re using an online service, you probably get like, 20-25 of these generations a month for free, or you get to pay some sort of subscription for more.  If you are doing it locally, you can just do it all you want.  And you’re going to need to do it a lot.  For every perfect and gorgeous looking image you get, you’re probably getting 20 really mediocre and weird looking images.  The subject won’t be looking the right direction, they will have extra limbs, or lack some limbs, the symmetry will be really goofy.  Any number of issues.  Often it’s just, a weird blob somewhere in the middle that feels like it didn’t fill in.  Also often, with people, the proportions will be all jacked up.  Weird sized head, arms or legs that are not quite the right length.

You get the idea.  This touches on the “bad results” I mentioned above.  Stable Diffusion is great at generating bad results.

It also, is really really bad at nuance.    The more nuance you need or want, the less likely you will get something useful.  Because it’s not actually “intelligent”.  It’s just, “making guesses”.  

You do a prompt for “The Joker”, you will probably get a random image of the Batman villain.  “The Joker, standing in a warehouse” might work after 3 or 4 tries, though it probably will give you plenty of images that are not quite “a warehouse.”  

But you want say, “The Joker, cackling madly while being strangled by Batman in a burning warehouse while holding the detonator for a bomb.”  You aren’t going to get jack shit.  that’s just, too much for AI to comprehend.  It fails really badly anytime you have multiple subjects, though sometimes you can get side by sides.  It fails even ore when those two people are interacting, or each doing individual things.  If you are really skilled you can do in painting and lots of generation to maybe get the above image, but at that point, you may as well just, draw it yourself.  Because it would probably take less time.  

In the end, as I mentioned, it’s also just, unfulfilling.  Maybe you spend all day playing with prompts and in painting and manage to get your Joker and Batman fighting image.  And so what?  You didn’t draw it, you didn’t create it, you pay as well have done a Google Image search or flipped through Batman comics to find a panel that matches this description.  You didn’t create anything, you hit refresh on a webpage for hours.

Even just, manually Photoshopping some other images together would be more fulfilling of an experience.  And the result will probably be better, since AI likes to give all these little tells.

Then there is text and ChatGPT.  I admit, I have not used it quite as much, but it seems to be mostly good at producing truthy Wiki-style articles.  It’s just the next generation Alexa/Siri at best.  It’s also really formulaic in it’s results.  It’s very, “this is a 5th grade report” in it’s structure for anything it writes.  Intro, three descriptive paragraphs, an outro restating your intro.  

Given how shit the education system is anymore, I guess it’s not that surprising this feels impressive.

Another issue is that it’s so sterile in it’s responses.  There were some things going around about how to “hack” it into making it say dirty things, but most of that has been ironed out.  I mean, I don’t NEED my AI chat bot to swear, or say mean things, but it goes to such extremes to avoid this that it kind of sucks the fun out of things.  For example, i asked it “Who would win in a cage match battle to the death between Siri, Cortana, and Alexa” and it tells me it can’t answer that because it’s violent.

It’s AI constructs.  I just want to get a stupid silly response.  Please pretend that you’re talking about fictional entities having a fictional fight.  Meanwhile, on this site Character.ai, which lets you create AI bots with personalities of people, real and fake, I have antagonized a Tom Riddle bot into trying to kill me, repeatedly.

It’s funny as shit.  It’s way more compelling and fun than WikipediaBotGPT.

I also tried to make some code with ChatGPT.  It does, ok-ish, with popular languages like Java, HTML, Python etc.  I asked it to make some LSL (Linden Scripting Language) code and it made something that follows the proper structure, but does nothing.  I got similar results trying to get it to create Pong in NES Assembly that I could compile into a ROM.  I had a friend look over the code and help me follow it and it basically gave the 2nd paddle nothing to do.  It also didn’t seem to actually draw out any graphics anywhere.  Which is another issue with the code part.  It can produce single file responses.  It’s not going to produce base code, and some sprites to go with it, and maybe some imported files that do other things.  

(The code below does not do anything)

; Pong game for NES
; Written in 6502 Assembly

; Constants
P1_PADDLE_Y = $20  ; P1 paddle vertical position
P2_PADDLE_Y = $80  ; P2 paddle vertical position
BALL_RADIUS = $03  ; Ball radius

; Variables
P1_SCORE = $00      ; P1 score
P2_SCORE = $00      ; P2 score
BALL_X = $80        ; Ball horizontal position
BALL_Y = $60        ; Ball vertical position
BALL_DX = $01       ; Ball horizontal velocity
BALL_DY = $01       ; Ball vertical velocity

; Main loop
MAIN:
    ; Read input
    LDA $4016   ; Read controller 1 input
    AND #%00000001  ; Mask A button
    BEQ .P1_DOWN    ; If A button not pressed, go to P1_DOWN
    INC P1_PADDLE_Y ; If A button pressed, move P1 paddle up
    JMP .UPDATE_P1_PADDLE ; Go to UPDATE_P1_PADDLE
.P1_DOWN:
    LDA $4016   ; Read controller 1 input
    AND #%00000010  ; Mask B button
    BEQ .P1_STILL   ; If B button not pressed, go to P1_STILL
    DEC P1_PADDLE_Y ; If B button pressed, move P1 paddle down
    JMP .UPDATE_P1_PADDLE ; Go to UPDATE_P1_PADDLE
.P1_STILL:
    ; Do nothing

.UPDATE_P1_PADDLE:
    ; Update P1 paddle position
    STA $2003  ; Set PPU address to P1 paddle Y position
    LDA P1_PADDLE_Y
    STA $2004
    JMP .UPDATE_BALL  ; Go to UPDATE_BALL

.UPDATE_P2_PADDLE:
    ; Update P2 paddle position
    STA $2003  ; Set PPU address to P2 paddle Y position
    LDA P2_PADDLE_Y
    STA $2004
    JMP .UPDATE_BALL  ; Go to UPDATE_BALL

.UPDATE_BALL:
    ; Update ball position
    CLC
    LDA BALL_X
    ADC BALL_DX
    STA BALL_X
    LDA BALL_Y
    ADC BALL_DY
    STA BALL_Y

    ; Check for collision with top or bottom wall
    LDA BALL_Y
    CMP #%00000011
    BCC .NO_COLLISION_TOP
    SEC
    SBC #%00000100
    STA BALL_Y
    LDA BALL_DY
    EOR #%11111111
    INC BALL_DY
    EOR #%11111111
.NO_COLLISION_TOP:
    LDA BALL_Y
    CMP #%11111100
    BCS .NO_COLLISION_BOTTOM
    SEC
    ADC #%00000100
    STA BALL_Y
    LDA BALL_DY
    EOR #%11111111
    INC BALL_DY
    EOR #%11111111
.NO_COLLISION_BOTTOM:

    ; Check for collision with P1 paddle
    LDA BALL_X
    CMP #%00000100
    BCC .NO_COLLISION_P1
    LDA BALL_X
    CMP #%00000100+BALL_RADIUS
    BCS .NO_COLLISION_P1
    LDA BALL_Y
    CMP P1_PADDLE_Y
    BCC .

Like generating the Joker/Batman image, it’s just not that smart.  It’s auto-completing a response based on probabilities.  It doesn’t understand how to actually break down code into parts, or what other files may be needed to make the code work.

A lot of the problem in general I think, is the more you use these tools, the more the trick becomes glaringly obvious.  The repetition in results, both images and text, really how how completely unintelligent, the “Artificial intelligence” is.  It’s just regurgitating the same things, over and over, with slightly different phrasings.

Paramore – This is Why

Released – 2023.02.10

Paramore’s 6th album, This is Why is certainly a testament to the chaos and craziness that has enveloped society in the past few years. With 6 years since the previous album, there has certainly been a lot going on and it shines brightly through in the themes of a lot pf tracks on this album.

It opens with the title track, which sort of sums up the overall feel of what is about to be presented, This is Why (I don’t leave the house). With lyrics suggesting that the opinions of people in the world have gone off the deep end a bit and become just a bit scary hear.

It keeps up the theme with the second track, The News which tears apart the media a bit with its constant need to emphasize everything awful in the world and drive people to constant fear. It also keeps a bit of the thread from This is Why with its bit:

Far, I’m far So far, from the front line Quite the opposite, I’m safe inside But I worry, and I give money And I feel useless behind this computer

Where our hero is still keeping it safe, by not leaving the house. This theme of reclusive paranoia follows through on the tracks You First and C’est Comme Ça (It is what it is).

The 5th track on the album is one of the most amusing, tracks on the album Big Man, Little Dignity, which is themed around the idea that the “big man” thinks he is hot shit, but he is not as great as he thinks he is. Dignity is also used as an amusing euphemism, with the big man’s ” li-li-li-li-little dignity”.

I touched a bit on You First but I wanted to throw in there I find it amusing that it has the lyrics ‘I’m both the killer and the final girl” given the theme of CHVRCHES Screen Violence, which even has tracks called “Killer” and “Final Girl”.

From a purely sound and structure perspective, I think Figure 8 is one of my favorite tracks on the album. It sort of rebounds between flowing lyrics and a bunching chorus. I rather like how blunt that transition is and how the track just sort of keeps pushing along.

Liar takes a much more mellow tone from the previous tracks, which is a trend that continues along through Crave and Thick Skull to close out the album. Thick Skull being an interesting and dramatic ballad that serves as an almost self reflective song.

Overall, I enjoy the whole album, but think I enjoy the front half a bit more than the back half, even though the back half probably has the better songs, they just aren’t quite as “catchy”. Funny enough, because all fo the singles from this album come from the front half. I can’t really compare it too much tot heir previous albums as the only one I have any real listening time with is Riot!.