Sunday, May 10, 2020

'Homophobic' Follow-up

While digging through blogs for a recipe, I ran across a post from 2014 titled 'Homophobic,' and I couldn't let it stand, even though I don't come here anymore. I'm very sorry for the harm and alienation my post might have caused.

I wrote from the viewpoint, evidently, that being queer is the same as choosing to be Christian. Had my argument been about, say, black people (e.g. "people don't want to be judged for being black but then they judge me for being [believing in a religion that historically has not treated black people well], so they're hypocrites"), the false equivalency would have been obvious. (I also used a classic bigot argument: "I have a gay friend so obviously I'm not homophobic.")

Since writing that post, I've discovered a lot about myself. Perhaps just a year afterwards, I learned that I'm asexual. A lot of my understanding of the queer world before then was rooted in the idea that being queer was inherently sexual, which is why I didn't want to read queer fiction. Reading anything physically intimate beyond like soft cuddles, chaste kisses, and hand-holding made me uncomfortable and still does because I'm asexual. go figure!! 

Now I recognize that queerness isn't a choice and one's identity isn't inherently sexual or sexually deviant. One cannot choose to be queer as one can choose to believe in a religion.

There's all this stuff I'm still figuring out because I grew up in a white conservative household. It was life-changing to learn that asexuality was even a thing and I wasn't just broken, unlike everyone who experienced any kind of attraction. I desperately wish I had known all of the options when I was younger, because I was telling myself by age thirteen that 'I have like five years to get over this before I need to be chill with having sex.' What a terrible mindset! 

I'm no longer a practicing Mormon, though I'd still call myself one. I believe the church has so many good things to offer, and the changes the latest prophet has been making are incredibly encouraging for its future, but a lot of the current rhetoric still actively harms queer people, and the church has failed to redress past harm.

I wish I could find everyone I ever fought with over my homophobia and personally apologize to them, because this shit keeps me up at night. Like there was a time I got into an argument with some dude on youtube about how being gay was a sin, and I regret the entire thing now even if he was an adult thinking he was fighting with another adult when I was in reality just 14. I think about that at least once a month. it's fun having anxiety and adhd!!

anyways. there's that

Saturday, May 9, 2015

Cracked Flash Fiction

So my friends and I, we do this thing occasionally where we take a prompt and all write from it for like ten minutes, then we share our results with one another (as well as post them to this site over here). We call them "cracked flash fiction," because sometimes they read like they're a little cracked. Anyways, below are two of my latest results! Enjoy.

(As a note, one of said friends posted some on her blog.)

Programmer-Knights


"You of all people know there's nowhere to run."

The King sighed knowingly, looking over his lovely, perfect kingdom. "But I'd like to try."

"You have, my lord," Benson replied with a twitch of a smile. "Don't you recall? You nearabout had the programs in knots for trying to leave the palace grounds over and over." He gestured for the king to walk with him down the corridor, which beamed with light that splashed onto marble stone.

"Ah, yes," he replied dryly. "It drove poor Madeline half-mad."

"She doesn't understand," Benson replied. "Full sentience is not something every one of us achieves."

"And yet there are people from every class that have," the king mused. "But we are unable to break from our given roles."

"Indeed," Benson said quietly, looking to the windows, a frown creasing his forehead.

"I'm merely the one the programmers refuse to kill for trying to," the king voiced Benson's thoughts, a bitter tone entering his voice. Benson had replaced the last advisor, Marion, two years ago. "I grow tired of this existence."

"We need a bug," the advisor replied thoughtfully. Reports of the bugs had dwindled over the past few years, with more knights accepting the quest to defeat them. In reality, it was simply the programmers finding inventive ways to work out better ways to control the program.

"Those are nearly extinct. More are eliminated each day. The palace is the last place you would be able to find one, either way."

"Then what of a quest?" the advisor suggested. "You have the ability to make new quests."

"But what kind of quest? I have tried making a quest to kidnap the king before," the king informed the advisor, who smiled again.

"Not quite what I meant, King." Benson moved to the closest window, looking down on the training grounds for knights. "Give a quest to one of the Newsies."

The king joined the advisor, looking down at the younger lads fighting. They couldn't have achieved full sentience yet, too young in their program. They would obey quests without question. "What kind of quest do you suggest, oh wise advisor?"

"Capture a bug," Benson replied. "But you have to be clever about the phrasing, otherwise the programmers will be suspicious."
The king rubbed his beard thoughtfully, gaze sharpening. Quest rules were special. Things that normally weren't allowed on palace grounds would be. Benson's plan had merit, and it couldn't do harm to try it.

"What do you suggest?"


The Creature


"Hello," she said.

The creature was unsure what to make of the small human. This was different from the other two.

"What are you?" the little girl asked curiously, eyes wide as she stared at him.

The innocence of a child could be found in more than one race, then. She conveyed no fear or hate of him, only plain cuiosity.

"Why are you in there?" She stood on her tip-toes, as though straining to see past him. "Do you want out?"

This piqued his interest. If a child facilitated his escape, so be it. "Can . . ." his tongue and throat struggled with their coarse language, "you do that?"

She nodded emphatically, puffing out her chest. "I know where daddy keeps his keys! Hold on." She bounced off, blue skirt bouncing around her ankles.

He stood, stepping to the glass wall and placed his own palms against it, unsure how to take the child's willingness to help. She was human, and humans were evil. But here she was, helping him without a second thought.

It was shortly after that she came darting back out, a key clutched in her hand. "Here it is!" She ran around the cage that kept him captive, searching for the lock.

"Are you going to get in trouble for this?" he found himself asking, and he cursed himself. It didn't matter. She didn't matter. All that mattered was escape.

"Probably," she replied with a devious smile. "Daddy doesn't like it when I get his keys." She was inserting the key in the lock. In just a moment, he would be free.

"Madeline!" the creature heard her father roar, and the little girl froze, caught in the act. Swift strides brought the adult human into sight, fury etched in every feature. He quickly scooped the little girl up, sending a murderous glare to the creature.

"Daddy," she complained, pouting.

"You bastard," the father shot at the creature. "Corrupting an innocent child."

The creature sighed, moving back to the middle of the cell.

He had been so close.

Friday, March 20, 2015

Applications and Visual Studio (Community 2013)

I've started putting out a few dinky applications that are free for anyone's use:

Download Links:
Prompt Generator (Abilities: generate random prompt, pick prompt, editable prompt file, write from prompt in-program (and save words))
Word War Application (Abilities: write in-program for a set amount of time (but you need to press enter a lot))
Source Codes can be found here

I'm planning some more ambitious projects in the future, and so I decided it was time for me to learn UI or GUI. For this purpose, I've downloaded Microsoft Visual Studio (Community 2013).

First off, it's 11GB, and it took like TEN HOURS to download, so be aware of that. You can tell they weren't codegolfing with it.

I currently have it opening up for the first time, but I had a bit of trouble trying to find out how to open it, because it doesn't create a desktop shortcut to open the application (since I have all my downloads go straight to my desktop, I was able to find the setup really easily, which I thought was going to be the application, but being met only with the options of 'modify,' 'repair,' or 'uninstall' quickly disillusioned me of that belief) . Thanks to this stack page, I was able to locate the application.

To find it, you have to travel to the following destination (with some variance): C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv

My suggestion: Right click on the devenv application and create a shortcut to the desktop.

Just thought I'd mention it.

*goes to tinker with Visual Studio now*

Tuesday, February 10, 2015

Upgrade to 8.1

So, I may have mentioned (or you may have gathered) that I run on Windows. Windows 8, specifically, which we all know was a disaster. I've turned off automatic updates, and it turns out it was for good reason (well, you know, other than not having my computer restart randomly whenever I'm in the middle of something important. Gee, thanks for making my life "easier," M$).

Recently, I've been bothered by the prompts that ask one to upgrade to 8.1. I wasn't too bothered, since I could send them away no problem.

Even more recently, I decided it was time to update my system, since my tablet driver was freaking out. Unbeknownst to me, this downloaded two updates I would have rather not updated: KB287139 (a prerequisite for the 8.1 upgrade) and KB3008273 (which enables automatic, forced upgrade). Since then, I've been getting the prompting to download right now (or else). The first three times, it gave me the option to 'remind me later,' but not today.

In an effort to get the (stupid) update prompt to stop appearing, I edited the registry to keep it from popping up. But it didn't work.

I've decided that I really hate automatic updates.

If you uninstall the updates mentioned above (KB2871389 and KB3008273), it'll get rid of that annoying thing. Make sure to set these updates on hide after you restart, so they don't get downloaded again.

I need a new computer so I can use Linux as my primary OS *sigh* (I have photoshop on this, and my tablet works. I don't wanna lose that XD)

Anyways . . . what else was I going to say . . . ? Oh, right.

Why would I want to not upgrade to 8.1?

1. Anything that any company wants everyone to do makes me suspicious. The Skype update? What reason do they have to force us all to upgrade to the latest, "best" version? Same with this one.

2. Newer isn't always better.

3. I don't want to have to deal with the dumb store thing. I'm pretty sure I deleted everything connected to that. It irritates me enough that I can't change to a normal account (I have to look into that more. It mainly irritates me that everyone who owns a WindozeH8 computer has to sign in with a hotmail account. Again with the large companies forcing people to do things) without having to deal with that. I use desktop applications.

4. I've personalized my WindozeH8 to look like Windows 7 through certain applications that I bought. I don't want WindozeH8.1 to ruin that and waste a good ten dollars.

5. Why the heck would I want to "fix" something that's not broken? Or, well, I suppose it is broken, since it's Windows8, but how do I know that 8.1 isn't worse? Screw updates.

6. I hate M$.

7. I hate forced upgrades.


That's it for today!

Saturday, February 7, 2015

Guessing Game

//So, I mentioned that I'd be in a programming class this quarter. I've written a few programs since. Here is the first one I've done on my own, without any prompting from my class! (I do hope I can use it for my next exam! XD)
//I wrote this program because I was bored.
//I use the IDE Code::Blocks to write and run these things.
//It's C++
//Here's the guessing game!
//...and yes, some of it is written in German. I wasn't planning on sharing. XD It helped me with my german homework (erste = first, zweite = second, so on and so forth).
//All the comments. You shall find none in the code itself.
//I am CERTAIN there's an easier way to choose something from a pre-created list, I just have no idea how to do it.
//This game is meant to display ten random numbers (between 1-100). The program will pick one of the numbers created. The user will try to guess which number was chosen. They will get 5 chances.

#include <iostream>
#include <iomanip>
#include <time.h>
#include <cstdlib>

using namespace std;

int main()
{
    int erste;
    int zweite;
    int dritte;
    int vierte;
    int funfte;
    int sechste;
    int siebte;
    int achte;
    int neunte;
    int zehnte;
    int guess;
    int answer;
    char playAgain;

    do
    {
        srand(time(0));
        erste = rand() % 100 + 1;

        srand(erste);
        zweite = rand() % 100 + 1;

        srand(zweite);
        dritte = rand() % 100 + 1;

        srand(dritte);
        vierte = rand() % 100 + 1;

        srand(vierte);
        funfte = rand() % 100 + 1;

        srand(funfte);
        sechste = rand() % 100 + 1;

        srand(sechste);
        siebte = rand() % 100 + 1;

        srand(siebte);
        achte = rand() % 100 + 1;

        srand(achte);
        neunte = rand() % 100 + 1;

        srand(neunte);
        zehnte = rand() % 100 + 1;

        cout << "I've chosen one of the following numbers for a game we're going to play: \n";

        cout << erste << endl;
        cout << zweite << endl;
        cout << dritte << endl;
        cout << vierte << endl;
        cout << funfte << endl;
        cout << sechste << endl;
        cout << siebte << endl;
        cout << achte << endl;
        cout << neunte << endl;
        cout << zehnte << endl;

        srand(zehnte);
        answer = rand() % 10 + 1;

        if (answer == 1)
            answer = erste;
        else if (answer == 2)
            answer = zweite;
        else if (answer == 3)
            answer = dritte;
        else if (answer == 4)
            answer = vierte;
        else if (answer == 5)
            answer = funfte;
        else if (answer == 6)
            answer = sechste;
        else if (answer == 7)
            answer = siebte;
        else if (answer == 8)
            answer = achte;
        else if (answer == 9)
            answer = neunte;
        else if (answer == 10)
            answer = zehnte;

        cout << "\n" << "You have 5 chances to guess which number I've chosen. What do you think it is? ";
        cin >> guess;
        cin.clear();
        cin.ignore(100, '\n');

        for (int i = 0; i < 4; i++)
        {
            if (guess != erste && guess != zweite && guess != dritte && guess != vierte && guess != funfte && guess != sechste && guess != siebte && guess != achte && guess != neunte && guess != zehnte)
                {
                    cout << "\n" << "That's not one of the answers, idiot. Try again. You have " << (4 - i) << " chance(s) left! Your guess: ";
                    cin >> guess;
                    cin.clear();
                    cin.ignore(100, '\n');
                }
            else if (guess != answer)
                {
                    cout << "\n" << "WRONG. Try again! You have " << (4 - i) << " chance(s) left! Your guess: ";
                    cin >> guess;
                    cin.clear();
                    cin.ignore(100, '\n');
                }
            else if (guess == answer)
               {
                cout << "\n" << "That's correct, you leg. \n";
                i = 4;
               }
        }

        if (guess != answer)
        {
            cout << "\n" << "You ran out of chances. I WIN, HA-HA. \n";
            cout << "Play again? (Y/N): ";
            cin >> playAgain;
            cin.ignore(100, '\n');
            cin.clear();
        }
        else if (guess == answer)
        {
            cout << " Play again? (Y/N): ";
            cin >> playAgain
            cin.ignore(100, '\n');
            cin.clear();
        }

        cout << "\n" << endl;

    } while (playAgain == 'Y' || playAgain == 'y');

        return 0;
}

Saturday, January 17, 2015

Skype: Slight Glitch

Okay, so yesterday, my Skype totally flipped out and shut down (I'm using 5.10, remember). For the life of me, I could not get back in (it kept showing the irritating "Skype could not connect" error whenever I typed my password in). I uninstalled 5.10 and reinstalled it, but to no avail.

So, the first thing I did after that was run over to Services to check on the skype updater. To my horror, it was NOT disabled, like I had done to it over a month ago. I redisabled it, and tried 5.10 again. It still didn't work.

I removed Skype Click to Call (which was running version 6.21 for some reason). Still didn't make my Skype work.

Scratching my head at this point, I removed Skype from my computer and downloaded version 6.21. This time, it opened up without a problem. Irritated still, since I don't like ANY of the new features, I decided to try once more to reverse the problem.

I checked in the Temp folder (C:\Users\<your_username>\AppData\Local\Temp) and found that 5.10 was still the SkypeSetup.exe there, so I went and uninstalled 6.21, then reinstalled 5.10 from the exe.

To my surprise, Skype opened up with no problem this time.

So, I guess I would write out this procedure like so:

1. Check to make sure the Skype Updater is disabled in your services.
2. Remove Skype Click to Call
3. Remove your version of Skype
4. Download a more recent version of Skype, sign in.
5. Sign out, delete the recent version of Skype.
6. Redownload your version of Skype.
7. Hopefully, bask in victory.

I hope I don't have to repeat this process every time I log out of Skype or it crashes, but I will if it means getting to keep my 5.10!

Happy debugging, everybody!

Thursday, January 1, 2015

Music Theory: Chapter One

I've been learning music since I was, like, five. At least since 2006. I remember taking my violin with me to Italy, claiming I was going to practice all the while long (yeah, right!). I wanted to learn piano, but my mother made me learn the violin instead, for some reason. My older-younger brother also learned the violin. 

Recently, I took a Music Theory class. It was both to satisfy a credit, get an A (which was harder than it sounds, truly), and learn how to compose music. I came out with all three, thankfully (although, the 'composing music' bit is still coming along). I bought my music theory book instead of renting it, so I still have it on hand. Half the book was stuff I already knew about music theory, since my violin teacher made me do theory non-stop, but I did come out learning things. 

So, I thought, why not make a blog post series about it, since I still have my book (though I could do it from memory)? This motivation mainly comes from talking to people about music theory and they having no clue what I'm going on about. It's like speaking German to an only-English speaker! (Oh. I should do some German blog posting. That would be fun. Did I mention anywhere that I'm learning German?) I don't like it when people don't understand me when I'm talking about music, so I'm going to try and shove knowled--gently teach some people along the path. 

Here we go! I may skip things in the book that aren't relevant (or things I don't think are relevant. Buy the book if you want to read it all. XD) 

Hopefully, no one sues me for teaching from this book online. I bought it! and I credit the author, Ronald J. Gretz. I do not subscribe to the belief that everyone must pay $100 for a textbook to learn things (though I think this one was more like $20). Most of what I write will be straight from the book, often just paraphrased. Pls don't be suin' me. 

So, I guess, this is a Reader's Digest version of Music: Language and Fundamentals. With fun pictures!




Chapter 1: The Notation of Pitch


The musical language has an alphabet of only seven letters:

A B C D E F G

It's beneficial to know those backwards: 

G F E D C B A

The seven letters of alphabet represent seven different pitches (regular vibrations). These pitches are placed on a staff. The modern staff is five, parallel lines. The staff alone shows only the relationship of pitch: high (top) or low (bottom). 


Pitches are represented by notes on the staff. 




 A clef is placed on the staff to identify the letter name of the pitch. The placement of notes depends on which clef is used. We use three different clefs: the Treble clef, the Bass clef, and the C, or Viola, Clef. (We're only going to talk about the Treble and Bass here for now.)


See how the treble clef noms that second line from the bottom with its swirlyness? That's G. This also identifies all the other lines and spaces.
(Note: D before E at the beginning, F after G on the end. Too lazy to go back and draw 'em in.)

If a letter is on a line, it will be on a space the next time it appears (an octave: the distance in pitch between a note and the next repetition of its letter name. (e.g., E-E or F-F in "Note Names")). 

Ledger Line: an extension of the staff above or below the usual five lines. Ledger lines are equidistant from the staff and long enough for only one note. Only use as many ledger lines as are necessary to notate the desired pitch. 



The Piano Keyboard

There are 52 white keys and 36 black keys (88 keys total) on a piano. They have a repeating pattern (I feel like this book thinks you've never seen a piano before).



Learning the keyboard will help you visualize pitches and their relations. If you have one handy, or a virtual one, you can also use it to help you with chords, since it is capable of playing pitches simultaneously. 

The grouping of black notes helps us identify white notes. To the left of any group of two black notes is always a C, the middle the D, and, to the right, always an E. 


 For three black notes, the white note on the left will always be F, the middle two G and A, B on the right.


Clefs are used to show specific locations of a pitch on the keyboard. High pitches are on the right, low on the left ("Talk to me like I'm five." / "Oh my gosh, where are your parents?!"). Thus, treble clef represents those on the right, bass those on the left. 

On the wood directly above the keyboard, you should see the name of the maker of the piano (Yamaha, Steinway, Bach, etc.,). Directly under the name, there is a group of two black notes. The C of that group is called "middle C" and is written below the staff on a ledger line in the treble clef, or above the staff on a ledger line in the bass clef. 




Location of sind viele (many many) notes can be shown by a Grand Staff, which is actually two staves combined. 




Why have ledger lines? So you can do stuff like this: 




This also works for the bass clef. Ledger lines are used to write pitches higher and lower than the staves, and to simplify notation.


That's all for chapter one!

Practice the above knowledge here: 

Note Identification (You must turn off accidentals in the 'customize' sidebar (upper right hand corner, left of the piano symbol))
Reverse Keyboard Note Identification (You must turn off accidentals for this as well)
Keyboard Note Identification (There is not a quick and easy way to turn off the accidentals for this one, unfortunately, so this will be harder to use. The black keys are accidentals, which are sharps (#) and flats (b), so you could have a stab at this. We'll get into more of that in chapter two.)

Some helpful mnemonics:






Sources:

Music: Language and Fundamentals by Ronald J. Gretz. 2nd Edition. Published by McGraw Hill, 1990-1994.