Thursday, February 27, 2014

The Metal Band Name Generator

After reading The 100 Most Overused Metal Band Name Words, I decided I must create a band name generator. The MATLAB code is below on the right 100 randomly generated band names are the left.
  1. Fire Shadow Steel
  2. Goat Ruin Torture
  3. Throne Lost Face Evil
  4. Burn Wind Circle
  5. Goat Demon Suffer
  6. Crypt Forest Night
  7. Circle Night Nocturnal Serpent
  8. Gore Raven
  9. Raven Devil Infernal
  10. Pain Child Stone
  11. Child Satan Fear
  12. Steel Night Fallen
  13. Stone Blood
  14. Gore Serpent Force Torment
  15. Serpent Wrath
  16. Ash Crypt Wrath
  17. Death Torture
  18. Winter Face
  19. Brutal Torment
  20. Force Murder Storm Ash
  21. Soul Doom Torment Demon
  22. Child Cross
  23. Moon Spirit
  24. Eternal Ash Anger
  25. Wolf Goat
  26. Evil Serpent Eternal Cross
  27. Forest Fire Cold Evil
  28. Torment Frost Forest Ancient
  29. Grind Brutal
  30. Head Stone Black Chaos
  31. Steel Infernal
  32. Wolf Doom Slave Wrath
  33. Wrath Hell Divine
  34. Moon Slaughter Cult
  35. Dark Grace
  36. Sorrow Heaven Forest Agony
  37. Torment Agony
  38. Necro Ruin
  39. Fuck Steel
  40. Rain Doom Iron
  41. Funeral Torment
  42. Steel Spirit
  43. Circle Sick
  44. Beyond Torture
  45. Grind Wrath Child
  46. Head Fire
  47. Death Brain
  48. Agony Fuck Dream
  49. Demon Fuck Hate
  50. Divine Grind Flesh Wind
  51. Soul Brutal Forest
  52. Noise Lord
  53. Throne Winter
  54. Cold Lord
  55. Dream Funeral Slave
  56. Death Serpent
  57. Frost Gore Fall Hand
  58. Ash Fear Death
  59. Gate Shadow Dead
  60. Dead Witch Thrash Ancient
  61. Thrash Fuck Raven
  62. Heaven Doom Fear
  63. Cross Night Shadow Steel
  64. Skull Hand Heaven
  65. Grace Storm
  66. Brain Winter Necro Dream
  67. Necro Goat Evil Storm
  68. Cold Soul
  69. Rain Raven Cross
  70. Brutal Slaughter
  71. Fall Rage Winter Cult
  72. Force Wolf
  73. Suffer Satan Nocturnal
  74. Brutal Lord War Grim
  75. Hate Night Brain Divine
  76. Night Fuck Serpent Rot
  77. Winter Fuck
  78. Stone Corpse
  79. Dragon Shadow Lost Slaughter
  80. Ritual Devil Agony Wrath
  81. Corpse Suffer
  82. Grind Torment
  83. Demon Soul Dream
  84. Funeral Satan Devil Ruin
  85. Torture Murder
  86. Morbid Dream
  87. Pain Rain Grind Torment
  88. Noise Burn Necro
  89. Rage Wind Lord Necro
  90. Brutal Dream
  91. Raven Slaughter Ruin
  92. Head Face Death
  93. Face Brain
  94. Dragon God
  95. Fire Christ Brutal Goat
  96. Beyond Satan
  97. Cold Ritual
  98. Fall Metal
  99. Chaos Circle
  100. Shadow Christ Morbid


NOTE: For this to work correctly, you must copy the numbered list from the article into a text file called "bandnames.txt". Also, at the time of this writing, there is no space between "43." and "Wolf". For Wolf to be used in your results, you must add the space in your text file.

function bandnames(varargin)
%By Timmortal, Feb 2014, http://nyarlathotim.blogspot.com
%
%Syntax: bandnames generates 1 band name
%        bandnames(number of band names to generate)
%          ex. bandnames(20) produces 20 bandnames
%
%Generates metal band names from the list of "100" most overused metal band
%names. (Actually 102.)

if length(varargin) > 0
    numBandNames = varargin{1};
else
    numBandNames = 1;
end

fid = fopen('bandnames.txt');
data = textscan(fid,'%s%s%s%s%s','delimiter',' ');
fclose(fid);

bandNames = data{2};

for ii = 1:numBandNames
    wordCount = randi(3,1)+1;
    
    wordNum = 0;
    go = 1;
    while length(unique(wordNum)) < length(wordNum) || go
        wordNum = randi([1 length(bandNames)],wordCount,1);
        go = 0;
    end
    
    outputFormat = '%s';
    for jj = 2:wordCount
        outputFormat = [outputFormat ' %s'];
    end
    outputFormat = [outputFormat '\r'];
    fprintf(outputFormat,bandNames{wordNum})
end
end

Friday, July 19, 2013

Confusing New NHL Divisions

So the new NHL Eastern Conference divisions are the Metropolitan Division  and the Atlantic Division:
Atlantic Division:
  • Boston
  • Buffalo
  • Detroit
  • Florida
  • Montreal
  • Ottawa
  • Tampa Bay
  • Toronto
Metropolitan Division:



  • Carolina
  • Columbus
  • New Jersey
  • NY Islanders
  • NY Rangers
  • Philadelphia
  • Pittsburgh
  • Washington
  • Yeah, I definitely think "Atlantic" when I think of such cities near the Atlantic Ocean like Buffalo and Detroit. Hell, Boston and Florida are the two that are actually on the Atlantic. As for the Metropolitan Division, all but 2 of them are in areas that are actually on the Atlantic.

    The make it stranger, the Metropolitan Division is basically the old Atlantic Division.

    Someone should buy the NHL a map.

    Tuesday, May 7, 2013

    Your Dodgeball

    I watched Dodgeball again recently. All was well until I noticed the sign to the left of the Average Joe's logo:


    "If your under 18?" How many people were there on that set? No one noticed? AGHAHGH.

    Saturday, May 4, 2013

    A Fraction of a Fraction

    I hate the phrase "a fraction of a fraction." A fraction of a fraction is another goddamn fraction. You're wasting my time and yours by repeating unnecessary words. And what if the fraction of your fraction is something greater than 1, like 9/2? Well that's several times more than your original fraction, so you have now said the opposite of what you're trying to say. Congratulations, you're an idiot.

    I recently heard someone say "a fraction of a fraction of a fraction of a fraction." Upon hearing this, my brain exploded, leaving only brain fractions all over the place.

    Tuesday, December 25, 2012

    The Santa Present Delivery Process



    Another guest post by Destruktikon the Elder.

    Last Christmas I wrote about Santa's sleigh configuration. This year, we're going to talk about the Naughty and Nice List. So first, let's examine what we know about the process: "He's making a list. He's checking it twice. Gonna find out who's naughty and nice..." So from this we can assume that Santa himself is the administrator of the list and the list is apparently managed in real time -- otherwise he would not have to check it twice. If there were a freeze date for list modification on say, December 22nd, the list at that date would be static and he could rely on its entries for delivery purposes. This also implies that Santa is getting real time data feeds as he's delivering presents so each child's aggregate score may be fluctuating even as Santa approaches his house or apartment. Clearly, though, once Santa is on your roof, he has to take the score as it's computed at that time. If you're doing something really, really naughty as he comes down the chimney, that won't count against you this year.

    The fact that he has to check it twice seems to indicate that Santa's memory is faulty or that there is a real possibility of the list changing while he's looking at it. Since Santa is really a wood spirit and wood spirits generally have good memories, we are pointed back to the probability of a highly volatile Naughty and Nice list.

    The determination of being naughty or nice appears to be a transactional process. For the sake of argument, lets call the atomic transactions "behavioral transactions" or B-trans. To have a positive or negative effect, the B-trans must therefor have a scalar value of either positive or negative character and that value must be proportional to the naughtiness or niceness of the behavior being assessed-- otherwise a really heinous act like burning down an orphanage could be wiped out but a relatively minor nice act, like not stepping on a petunia.

    Thus, there is an aggregate score a child must earn to be termed naughty or nice. Since we have all observed known naughty kids receiving presents and known nice kids getting squat, we must assume that either or both of two additional factors are considered: confidence intervals and trending.

    The confidence interval concept would allow a buffer zone for those whose aggregate score may be right around the naughty/nice boundary layer. How those children would be rated clearly must depend on additional factors. Probably the most reasonable is trending.

    Trending would allow weighting for those who while right on the line between naughty and nice but who have tended to be nicer recently to be given the benefit of the doubt that they are on the road to niceness and that even though they have an aggregate score that puts them in the naughty category, they are treated as nice. Or conversely, a child who is generally nice but has been trending naughty could be categorized as naughty despite having an aggregate score that would be considered as nice.

    For behavioral forecast accuracy, the most reasonable approach for trending adjustments would be an auto-regressive time series analysis -- that is, a child's behavior today is most likely influenced by their behavior yesterday, and less so by their behavior the day before, etc. Thus someone who was trending nice would probably continue toward nice, and one who was trending toward naughty should probably have the snot beaten out of them.

    Clearly, the influence of the confidence interval and trending would only affect those children who were marginally naughty or nice. Genuinely nice children would have to do something pretty horrible to tip the scale to the naughty side; and genuinely naughty children would have to do something way out of character on the positive side to get to the nice category.

    Given the above, it is probably safe to assume that by mid-year, your categorization as naughty or nice is pretty well sealed. So, by extension, for those solidly on the nice list by, say October, you'd pretty much have to turn axe-murderer to flip to the naughty side. And for those solidly naughty, you'd pretty much have to turn into Mother Theresa on steroids to get to the nice side.

    So to all you truly nice kids out there, it's too late to anything to make the naughty kids like you. And to the naughty kids, I can tell you where to go to buy beer.

    Saturday, December 1, 2012

    Fixing the Intonation on a Crappy Ukulele

    So I was in Hawai'i and I found myself in a ukulele shop, of course. I bought their cheapest, best ukulele. You can get them for $10 but they're really not meant for music. You'll have to pay several times that for one that will actually produce notes remotely close to what they should be. And when I say remotely close, that's what I mean. My ukulele (pictured below) is the cheapest playable one I could find. But of course the intonation was all sorts of wacky. Here's how I fixed it.


    The 'uke' in question.
    Check the Intonation

    DaTuner
    All you must do is open your eyes is tune your ukulele to a tuner. The easiest thing to do would be to get an app on your phone. I like DaTuner (which is free) for Android. If you have an iPhone, you should probably just chuck it into a creek (when your contract expires) and switch to Android since Apple can't do anything right now that Steve Jobs is gone. But I digress.

    First I tuned the open strings. From left to right if you are looking at the front of the ukulele, it should be G, C, E, A, and my mother tells me it should sound like "my dog has fleas" if someone said it at those notes. (Apparently I come from a long line of ukulele players, which explains my uncanny desire to own one.)

    Next I checked the tuning of the fretted notes. If your open strings are in tune but your strings are flat (too low), then stop reading and go find someone else to tell you what to do 'cause I can't help you. If the strings are sharp (too high) by 10-20 cents, then keep reading! (If they're way sharp, you may be fretting the notes too hard. Stop drinking coffee and have a beer or something then try again.)

    Jam a Toothpick Beside the Nut


    Sounds painful but it worked! All I did was extend the nut by the width of a toothpick using... a toothpick. Check the tuning again of the open notes (which will all probably be sharp now so you'll have to fix them) then fret some notes and check their tuning. It was damn close for me. If it's still way off, you should probably give up because at this point you have likely put too much effort into fixing this thing. Plus, since it's a tiny instrument you will likely never get them spot on unless you get a nice ukulele made by a brand people have actually heard of.
    Make Some Grooves

    I pulled each string (one at a time!) out of the nut and made an indentation in the toothpick with a flathead screwdriver so the string will have a harder time slipping out of the nut/toothpick combination. Then I slid the string back in place and repeated for each string.

    You're Done! Grab a Beer!

    It's okay. You've earned it.