Test results are in from yesterday. It’s official. I have ligma. I know, I know. But before you say goodbye, it actually is treatable - it’s just really expensive. So donate to my treatment? teehee

I sincerely hope anyone reading this isn’t pulling out their wallets (Kate. Put it the fuck down.) Ligma isn’t a real thing and this is a joke.

On to the song of the day:

Huge fan of this band by the way. I really don’t remember when I first stumbled upon TDWP, and if it was on YouTube or Lastfm; but it was over a decade ago, that’s for sure. It must have been around 2010/11 as I was pretty heavily listening to the Plagues (2007), With Roots Above And Branches Below (2009) albums and the Zombie EP (2010).

Before I actually get into what I wanted to get into what I wanted to talk about today:

Fuck you Chick-fil-a, and fuck people who support them. Of course it’s trending on Twitter, and of course it’s for shitty reasons.

Before going further let me make this absolutely fucking clear to any cishets who don’t seem to understand the concept of “support”. By spending a single dollar at Chick-fil-a, you are directly supporting their values, their stakeholders, the Salvation Army, and any number of entities they choose to donate such as the politicians in public office who work every day to destroy my rights as queer person; all of this does not exclude the owner/CEO’s personal donations based off his income.

To fully clarify - your lack of spending a dollar there is a drop in the barrel, yes. But it’s starting somewhere.


The ‘precious’ jesus chicken has lead to this

Trans Chick-fil-A worker told to be ‘honored’ by catcalls, suit says

….When she reported the abuse to the franchise restaurant’s owner, the complaint alleges, Taylor was not only outed to her harasser as transgender, but she also was told that, as a trans woman, “it should be an honor … that someone liked her enough to hit on her.”

What the franchise restaurant owner spurred up is absolutely dogshit. “…an honor”? Seriously? We’re women, and if you can’t control your dick getting hard maybe you shouldn’t have one. We’re not “lucky” for being catcalled or being hit on. We just exist, the same as any other person. It’s shitheads like you that make it harder.

But with a company culture such as CFA, I guess it’s expected. I grew up in church - everyone I knew thought that if they couldn’t work at a church or somewhere with their parents, they’d be best off getting a job at CFA; it’s the godliest business around! Get the fuck out.


Here’s a look at what Chick-fil-A actually does with their money

I will preface this with saying that every fast-food chain has a political agenda for one reason or another. Take McDonalds for example:

You start to notice a theme with these donations.

Now lets look at jesus’ disciples, the holy ones, the devout chicken flippers: CFA

First lets take a look at the donations made during the 2016 Election cycle.

donations from CFA owners/stakeholders/etc during 2016

There are a few surprising ones on there such as the $3,179 to Bernie - however a good amount of us know he wouldn’t have won, even without the campaign interference from some eastern ‘friends’ that are currently getting their asses handed to them by an infinitesimally smaller entity - but they’re quite obviously not weaker by any means.

Back to the point

The way CFA gives it’s donations is very roundabout. As an organization they currently do not specifically donate to anti-LGBTQIA+ organizations, as they have in the past. (Such as the Salvation Army, FCA, grants for various and specific christian related groups.)

Now they donate almost exclusively to political parties/politicians who work to restrict the rights of child bearing people, those in the BIPOC community, and of course those who support anti-LGBTQ+ legislation.


yep.

I’m on a ‘Republican Bad’ streak so:

I just wanted to share this in reference to the NATO decision today.

haha-rand-paul

Rand Paul is not, and will never be, the politician his father was. Not only is this man a Soviet shill but he has the worst fucking takes on any policy imaginable.

Not only did Rand Paul vote against this - but 17 other Republicans did as well. Is the Russian ruble worth that much to them, or is there something more under the rug? It’s whatever I guess. The United States - no, rather Reagan - made such a big deal of Communism way back when, yet no one plans to investigate a single one of these elected officials for potential ties to a foreign entity that seeks to harm our nation in every way; and I doubt that will ever change no matter who has the hot-seat.

I found this on Destiny twitter.

If I had to watch it, so do you

For my UK / EU friends

Damn I’m sorry. You’re having the rough of it.

image of london fire 2.0

I dunno what to do except say I hope you don’t burn or something. Love you all lol.

I’ll finally talk about my test

This is the real reason I wanted to make this blog post, but I got massively sidetracked by my other thoughts.

Last night I went to bed pretty soon after finishing my test, but as I’d mentioned in my post last night - It was very easy. However has I stayed up, I would’ve realized that he had graded it at 9:50pm. My professor has never graded assignments/tests that early, so I was caught off guard this morning - but pleasantly surprised.

So lets get into the specifics: Mortgage calculator, but you need two activity views for two functions.

  • A fixed rate
  • less than fixed rate

Very very easy.

MainActivity.kt (fixed rate)

I copied the gradient drawable that I used for the final project - a little flair doesn’t hurt.

image of main activity

So this is on a fixed 3% rate / 30 years. Calculation for that is as follows, in Kotlin of course:

val monthlyPayLoan = ((loan.text.toString().toDouble() * 0.03)+ loan.text.toString().toDouble())/360
                val formattedMonthlyPayment = String.format("%.2f", monthlyPayLoan)
                monthlyPayment.text = "Monthly Payment: $$formattedMonthlyPayment /month"

I’m sure there’s shorter ways to do that - but that’s what I did.

That calculation is wrapped in a calculate.setOnClickListener{} as well as a try catch. So the calculations are only performed when Calculate is clicked in the ui, of course.

If there is an error, such as an e: ArithmeticException, I created error toasts so that the user knows theres a fuck-up and it doesn’t simply crash.

}catch (e: Exception){
                toast.show()//display error message
            }finally {
                closeKeyBoard()//close keyboard
            }

Very simple as far as calculations are concerned - the second activity is much the same as well:

calculate.setOnClickListener {
            try {
                val loanAmount = morgage.text.toString().toDouble()
                val interestRate = interest.text.toString().toDouble()
                val years = years.text.toString().toDouble()
                val payment = ((loanAmount * interestRate / 100) + loanAmount) / (years * 12)
                monthly.text = "Monthly Payment: $%.2f".format(payment) + "/month"
            }catch (e: Exception){
                toast.show()
            }finally {
                closeKeyBoard()
            }
        }

I finished both activity classes sub-one hour. However the difficulty comes in with the Click for any rates...etcetc button, as that opens the second activity.

Opening the Second.kt activity itself isn’t difficult - infact it’s a trivial line of code.

buttoRate.setOnClickListener{
           val intent = Intent(this, Second::class.java)
            startActivity(intent)

        }

the issue is getting back.

Second.kt (modified)

So as mentioned - apart from a few additions, this activity class is very much so the same. The difference lies in that you can now adjust interest rate and years, but that’s no big deal - I already showed you that calculation above, it’s just more variables to keep track of - but I’ve had worse.

The part that sucked about this was back button, specifically returning to the main-activity. It took me a while to find exactly how, and as none of the methods I used worked.

Eventually what did work was this declaration in the initial onCreate function: supportActionBar?.setDisplayHomeAsUpEnabled(true);

Followed up by:

override fun onOptionsItemSelected(item: MenuItem): Boolean {
        when (item.itemId) {
            android.R.id.home -> {
                finish()
                return true
            }
        }
        return super.onOptionsItemSelected(item)
    }

    override fun onCreateOptionsMenu(menu: Menu?): Boolean {
        return true
    }

I spent a good 30 minutes googling this shit, and trying various things, re-working Java code, and finally found something that worked. It now goes back and forth seamlessly.


On the topic of code

Kate, the girl I’ve been “tutoring” in Python sent me her code for the latest assignment. It was pretty basic, the intention behind it was mainly to teach the fundamentals of:

Hey here is a non-standard Python library, download it, read the Docs a bit, and do some stuff with it.

It’s of course never that simple… 5-days later.

However, here we are after the mess of Pip.

Her code:

# This program is my first attempt at a YouTube video downloader

# This imports the module essential to our programme, pytube
import pytube

from pytube import YouTube


#This tells the user the premise of the programme
print("Welcome to my video downloading programme")


# This allows the user to select the video they wish to download
link = input("Please enter the link of your desired video")


# This allows us to use the module functions with the video link
vid = YouTube(link)

# This ensures the selected video is downloaded in the highest video resolution
res = vid.streams.get_highest_resolution()

# This downloads the video itself
res.download()

# This acts as confirmation to the user that the video has successfully downloaded
print("Video downloaded in the project file")

Which is nearly identical to mine:

import os

import pytube


url = input("Enter the URL of the video: ")

path = f"C:\\Users\\{os.getlogin()}\\Pictures\\Youtube"

pytube.YouTube(url).streams.get_highest_resolution().download(path)

print("Downloaded successfully!")

Hers is simple and rather clean - I especially like her choice to download to the project folder rather than some other folder, such as desktop. It’s very similar to what I did with my Fembot project and it’s music function, although I used a different library (rather extensively) altogether - but the basic function stays the same and works great.

This type of project can go deeper of course. In console you can always ask:

  • Would you like to DL as .mp3
  • Would you like captions on the .mp4
  • Would you like to DL to a different Dir/subfolder?
  • would you like to rename the file?
  • make it a GUI instead of console.

And it’s fun to expand on these little projects.

My only complaint is this: Kate PLEASE make your input requests more user friendly instead of: link = input("Please enter the link of your desired video") go with: link = input("Please enter the link of your desired video: ") an inserted colon at the end + a space. It’s just a personal gripe, but full points nonetheless.

Okay I’ve bitched a lot, and I’ve talked about code a lot - so i’m gonna end it here.

inb4 Val saying balls, and Kate raving about her streak.

Also idk if my boyfriend reads this, but i love you.


<
Previous Post
A Little Bit of Kotlin
>
Next Post
???aChallengerApproaches???