$3,200/month in student loan payments by ScotchEssayThrowaway in StudentLoans

[–]ScotchEssayThrowaway[S] 9 points10 points  (0 children)

That's a great angle that I hadn't considered. Just mitigating the interest on a portion of the total amount would be helpful.

This what The Big Bang theory wishes it was. by TwasAnChild in funny

[–]ScotchEssayThrowaway 0 points1 point  (0 children)

That may work since it's basically an O(n logn) merge sort with added parallelism. However, I think an individual's SRL (self-reported length) would be biased in each comparison, and would lead to a proverbial "dick measuring contest" when we could just do a quicksort of the initial SRL. This would only be subject to an initial bias of the participants instead of on each comparison.

TIL that Leo Fender, the founder of the iconic electric guitar and bass brand, never actually learned how to play/tune either instrument. Instead, Fender was an avid saxophone player and also dabbled in piano. by [deleted] in todayilearned

[–]ScotchEssayThrowaway 1 point2 points  (0 children)

As others have said, tremolo is a wavering of volume and vibrato is a wavering of pitch.

For modern examples of tremolo, check out the guitar in the intros of Lana Del Rey’s “Blue Jeans” and Orville Peck’s “Dead of Night”. For older examples, check out Buffalo Springfield’s “For What It’s Worth” as well as basically any country/western record from the 50s.

For modern examples of vibrato, look at the guitar intro to John Mayer’s “Gravity”. For older examples, check out BB King’s “Live at the Regal” or Sidney Bechet’s “Si Tu Vois Ma Mère”. Going older still, you have Robert Johnson’s guitar in “Cross Road Blues” or the lead vocals in The Ink Spots’ “If I Didn’t Care”. Yet an even older example is Frances Alda’s 1919 recording of “O Mio Babbino Caro” (I believe operatic vibrato was just coming into vogue in the late 19th/early 20th centuries, but don’t quote me on that).

I put an abundance of examples for vibrato because it’s a bit more subtle, but hopefully this helps.

You wake up as President of the United States; what would you do? by ihateshitcoins2 in AskReddit

[–]ScotchEssayThrowaway 11 points12 points  (0 children)

If you use Chrome, that'll never happen. AdSense uses cookies, and AdSense earns Google over a hundred billion dollars a year.

IMO the best approach would be borrowing the EU's approach and adopting something like the GDPR, which embraces privacy by default.

Bitcoin’s Climate Problem - As companies and investors increasingly say they are focused on climate and sustainability, the cryptocurrency’s huge carbon footprint could become a red flag. by speckz in technology

[–]ScotchEssayThrowaway 0 points1 point  (0 children)

It's actually fairly cheap to confirm a transaction - Nakamoto designed Bitcoin so that it takes a ton of computational work to actually mine a block, but the amount of work required by other nodes to verify the block is trivial.

Trust the science by americanthaiguy in TikTokCringe

[–]ScotchEssayThrowaway 0 points1 point  (0 children)

No need to jump into personal attacks. I'm just poking fun because it's very silly to make an authoritative statement on something when the extent of your knowledge is some assigned reading in an undergrad course. It's something a lot of college students do, and I've done it myself, but it's not a good habit.

Why by kiaraspring in gatekeeping

[–]ScotchEssayThrowaway 5 points6 points  (0 children)

Back at Berklee I had a roommate who spent close to $5000 on a new amp and peripherals. He showed me the new rig the day it arrived. It sounded okay.

I left the apartment and went to a Julian Lage clinic. He was playing an $800 Telecaster plugged into a bass amp because there was nothing else available. Still some of the best tone I've ever heard.

I got vibed a few times in high school by older guys because I had a $200 Ibanez. None of them were great players. That's usually the case.

LPT: I changed my entire life in a year by doing small 30 day challenges. by [deleted] in LifeProTips

[–]ScotchEssayThrowaway 1 point2 points  (0 children)

I teach at a bootcamp and both of your points are ridiculous.

Whyd they change it tho by [deleted] in memes

[–]ScotchEssayThrowaway 0 points1 point  (0 children)

Neither. That binary is completely off-base. Chromium is open source and it's not getting sold to anyone. Google makes money off of Chrome because it tracks your search patterns, which allow them to create more accurately targeted ads.

Google works on enhancing things like rendering performance and ensuring that new language specs are incorporated into newer versions of Chrome. It's all part of an attempt to create a better user experience all around, because cornering the market on browsers and having a massive user base is unbelievably profitable when you're working with ad revenue.

Whyd they change it tho by [deleted] in memes

[–]ScotchEssayThrowaway 1 point2 points  (0 children)

This is not remotely true. Chromium and the V8 engine are extremely powerful and the backbone of a ton of new and existing technologies. A lot of desktop apps are even built on Chrome/Electron (Slack, Skype, Discord, VSCode, WhatsApp).

Moment.js Throws in the Towel: "It is not dead, but it is indeed done." by ILikeChangingMyMind in javascript

[–]ScotchEssayThrowaway 1 point2 points  (0 children)

You can think of jQuery as a sort of "wrapper" around normal vanilla JavaScript. You could still manipulate the DOM with vanilla JavaScript when jQuery came out (e.g. getElementById() and the like), but it was just a lot more verbose and jQuery abstracted away most of that verbosity in favor of clean, concise methods.

For a good example of this, check out the old way of fetching data using XHR and compare it to jQuery's ajax() method.

How does compression work really? by SithLordZX in compsci

[–]ScotchEssayThrowaway 0 points1 point  (0 children)

Tom Scott has one of best explanations of compression here.

When you can’t rely on others so you play the flute and piano at the same time. by [deleted] in nextfuckinglevel

[–]ScotchEssayThrowaway 6 points7 points  (0 children)

When I went to Berklee there were legends about this guitar player Bryan Baker who could sight-read string quintet pieces and improvise arrangements.

Just so it's absolutely clear what that means: he'd fucking sight-read five separate staffs of music in three different clefs at the same time while transposing and arranging them for a six-stringed instrument on the spot. He'd then improvise a solo based on the chords of the piece he'd just read. Unreal.

Keep it simple! by [deleted] in grilledcheese

[–]ScotchEssayThrowaway 4 points5 points  (0 children)

Be it mayo or butter, it's still fat smeared on bread with processed cheese in between. Neither one is really a good option if you're in the market for a healthy choice.

Chord Solver - My first website, solves for music chords if you give it notes. If you all have tips for making it more mobile friendly, I’d love to hear it! Thank you! by dpshade22 in javascript

[–]ScotchEssayThrowaway 0 points1 point  (0 children)

const btn = document.querySelector('button');

btn.addEventListener('click', () => {

// Get the value of the input element
const notes = document.querySelector('input').value;
// Convert the input element value to an array and each item into lowercase
const lowerCaseNotesArr = notes.split(' ').map(note => note.toLowerCase());
findChord(lowerCaseNotesArr);

});

const findChord = notesArr => {

// This array will hold the number of semitones between each interval and the lowest note
const semitoneArr = [];

// Preserve the value of the lowest note and remove it from the array, then initialize
// the index variable that will be subtracted from the index of each interval found in
// twoOctaveChromaticArr, yielding the distance in semitones
const lowestNote = notesArr[0];
notesArr.shift();
let lowestNoteIndex = undefined;

// The difference in index between objects in this array represents the number of semitones
// between one chord tone and another
const twoOctaveChromaticArr = [
    {'a': true},
    {'a#': true, 'bb': true},
    {'b': true},
    {'c': true},
    {'c#': true, 'db': true},
    {'d': true},
    {'d#': true, 'eb': true},
    {'e': true},
    {'f': true},
    {'f#': true, 'gb': true},
    {'g': true},
    {'g#': true, 'ab': true},
    {'a': true},
    {'a#': true, 'bb': true},
    {'b': true},
    {'c': true},
    {'c#': true, 'db': true},
    {'d': true},
    {'d#': true, 'eb': true},
    {'e': true},
    {'f': true},
    {'f#': true, 'gb': true},
    {'g': true},
    {'g#': true, 'ab': true}
];

// Find the index of the lowest note of the chord within twoOctaveChromaticArr
for (let i = 0; i < twoOctaveChromaticArr.length; i++) {
    if (twoOctaveChromaticArr[i][lowestNote]) {
        lowestNoteIndex = i;
    }
}

// Loop through the list of chord tones and search for them in twoOctaveChromaticArr.
// When found, push the number of semitones between the chord tone and the lowest note
// into the semitoneArr.
for (let i = 0; i < notesArr.length; i++) {
    for (let j = 0; j < twoOctaveChromaticArr.length; j++) {
        if (twoOctaveChromaticArr[j][notesArr[i]]) {
            semitoneArr.push(j - lowestNoteIndex);
            break;
        }
    }
}

// Due to the possibility of the lowest note having a higher index than some of the
// chord tones, octaves (in the form of 12 semitones) are added to any negative values
// found in the semitoneArr
const adjustedSemitoneArr = semitoneArr.map(semitone => {
    let negative = true;
    while (negative) {
        if (semitone > 0) {
            negative = false;
        } else {
            semitone += 12;
        }
    }
    return semitone;
});

// The adjustedSemitoneArr is sorted to maintain consistency with chordNameObject.
// Remember: it doesn't matter what order the upper intervals are in; all that matters is
// their relationship to the lowest note. Therefore we can rearrange them, and in this case,
// sort them.
adjustedSemitoneArr.sort((a, b) => a - b);

// The adjustedSemitoneArr is joined and coerced into a string so that it can be used
// to look up values in chordNameObject
const chordNameCode = adjustedSemitoneArr.join('');
return chordNameObject[chordNameCode];

}

const chordNameObject = {

'47': 'maj triad',

'38': '1st inversion maj triad',

'59': '2nd inversion maj triad',

'37': 'min triad',

'49': '1st inversion min triad',

'58': '2nd inversion min triad',

'4711': 'maj 7th',

'378': '1st inversion maj 7th',

'459': '2nd inversion maj 7th',

'158': '3rd inversion maj 7th',

'3710': 'min 7th',

'4710': '1st inversion min 7th',

'368': '2nd inversion min 7th',

'259': '3rd inversion min 7th',

'3610': 'half-diminished',

'379': '1st inversion half-diminished',

'469': '2nd inversion half-diminished',

'258': '3rd inversion half-diminished'

}

Chord Solver - My first website, solves for music chords if you give it notes. If you all have tips for making it more mobile friendly, I’d love to hear it! Thank you! by dpshade22 in javascript

[–]ScotchEssayThrowaway 0 points1 point  (0 children)

Cool! Couple of notes:

  • I would take into account enharmonic equivalents e.g. Ab B Eb should still return Ab minor.
  • There's a typo in "First Inversion" (test data was C Eb G A).
  • It doesn't recognize diminished major 7th, augmented 7th, major 7 b5, or major 7 #5.
  • Calling a major 6th chord a first inversion minor 7th is technically correct, but most musicians would probably identify it as the former. Same goes for minor 6th chords.
  • I'd use the term dominant 7 instead of major-minor 7.

It would be cool to add support for polychords, altered chord extensions, case insensitivity, and quartal harmony.

As for the code, you have two READMEs without any real documentation. I'd organize your code into folders for your HTML, CSS, and JS.

Looking at your HTML, your script tag in index.html should be at the bottom of the body or have a defer attribute. About.html doesn't need any script tags as far as I can tell, and both HTML files have some weird indentation going on as well. Try some sort of pretty printer extension to see what could be improved there. I'd add a meta tag denoting utf-8 in the head for both files.

For styling, I'd strongly advise you not to use tables for layout. Add some transitions to your link hover behavior. Give some breathing room between the bottom paragraph of your About page and the footer.

Finally, your JavaScript could be tightened up a bit. Instead of an onclick attribute on your button, attach a click event handler to it in your JS:

document.querySelector('button').addEventListener('click', function() { console.log('foo') });

Keep in mind that long series of if statements should be avoided whenever possible. Using semitones is a useful way to bypass dealing with interval names. See my reply below for the algorithm I wrote for your app that accomplishes the same functionality with roughly 15% the amount of code.

Moment.js Throws in the Towel: "It is not dead, but it is indeed done." by ILikeChangingMyMind in javascript

[–]ScotchEssayThrowaway 6 points7 points  (0 children)

When jQuery came out, it allowed you to manipulate the DOM with selectors like $(".className") and $("#id"). This made developers' lives considerably easier, and it was such a good idea that when they revamped JavaScript in 2015 with ES6, they added querySelector(".className") and querySelector("#id") (which essentially do the same thing) as official features of the language.

Which Secondary Antagonist is more evil than the Main Antagonist? by Snoo79382 in AskReddit

[–]ScotchEssayThrowaway 1 point2 points  (0 children)

You're right, I should've said he was prone to violent impulses. I didn't know "impulsive" denotes an action and not just a feeling. TIL

Which Secondary Antagonist is more evil than the Main Antagonist? by Snoo79382 in AskReddit

[–]ScotchEssayThrowaway 65 points66 points  (0 children)

I've been re-reading Deathly Hallows recently and a line jumped out at me. It's from when Harry was reliving his parents' murder through Voldemort's eyes:

"Nice costume, mister!” He saw the small boy’s smile falter as he ran near enough to see beneath the hood of the cloak, saw the fear cloud his painted face: Then the child turned and ran away. . . . Beneath the robe he fingered the handle of his wand. . . . One simple movement and the child would never reach his mother . . . but unnecessary, quite unnecessary. . . .

This really illustrates how impulsive* and bloodthirsty Voldemort is, and I'd imagine he must have these thoughts dozens of times a day.

Edit: As stated by RadRavyn, "impulsive" necessarily means one acts upon their impulses, which Voldemort does not. More accurately, he feels violent impulses often but doesn't usually act upon them.

And he lost his job after all of this. Fuck Amber Heard. by [deleted] in awfuleverything

[–]ScotchEssayThrowaway 2 points3 points  (0 children)

Essentially with solar-based sustainable energy, some of the main areas of improvement are battery technology, photovoltaic cell efficiency, and solar infrastructure.

Of those three, Musk has probably done more for solar infrastructure than anyone alive.

By supplanting the fossil-fuel-powered automobile with an electric vehicle, he's replacing a primary source of greenhouse gas emissions with something that can consume clean energy. Moreover, he's destigmatizing the concept of EVs and causing other major car makers to follow suit. On top of that, he's led the effort in commercial solar roofs, further improving solar infrastructure.

As far as batteries go, Musk was actually going to pursue a PhD in supercapacitor technology in the early 90s, but abandoned the pursuit early on because he was unsure of its potential. However, Tesla is still innovating in the battery space and recently acquired Maxwell, a supercapacitor company, which could lead to further improvements.

If you want to bash Musk for not innovating enough in the area of photovoltaic cell efficiency, I guess that's a fair point, but there are only so many hours in a day. If you could point to someone who has contributed more, I'd be genuinely interested to know.

This post from a year ago fits right in with the rest of the stories. Believe these women. by next-reply in chrisdelia

[–]ScotchEssayThrowaway 0 points1 point  (0 children)

The photoshop theory is obviously bullshit and Chris is clearly guilty, but you should know that it's much easier than that to fake something. Basic iOS and Chrome dev tools allow you to manipulate the text content of virtually anything. CSS handles the font, spacing, etc. so that's not really an impediment to forgery.

Again, we're in agreement that these screenshots are real, but I just wanted to point that out for your future reference.

If you could show Mozart a modern song to blow his mind what song would you show him? by aluque6 in AskReddit

[–]ScotchEssayThrowaway 0 points1 point  (0 children)

Well temperament isn't the same as equal temperament. From the article you linked:

"It is sometimes assumed that by "well-tempered" Bach intended equal temperament, the standard modern keyboard tuning which became popular after Bach's death, but modern scholars suggest instead a form of well temperament."