function: mode of ROLL:s {
MAX: 0
MODE: 0
loop N over ROLL {
P: [count N in ROLL]
if P > MAX {
MAX: P
MODE: N
}
}
result: MODE
}
ROLL: [highest 2 of 2d10]
output [mode of ROLL] named "Mode of highest 2 of 2d10"
ROLL: [highest 2 of 3d10]
output [mode of ROLL] named "Mode of highest 2 of 3d10"
ROLL: [highest 2 of 4d10]
output [mode of ROLL] named "Mode of highest 2 of 4d10"
ROLL: [highest 2 of 5d10]
output [mode of ROLL] named "Mode of highest 2 of 5d10"
After watching a gazillion "The Fall of Pirate Software" videos tonight... over all the events of the last 2 weeks, I felt like doing some writing tonight:
### The Self-Destruction of Pirate Software: Ego, Errors, and the Internet’s Wrath
Pirate Software. The name once conjured images of a talented, if smug, figure in the gaming world—charismatic enough to command a following with his natural deep yet soothing "made for radio" voice.
Today, however, his name is synonymous with hypocrisy, selfishness, and a five-act play of public humiliation that could rival a Greek tragedy.
Yes, Pirate Software is entitled. Yes, he embodies the worst of nepotistic privilege. And yes, his fall from grace has been entirely self-inflicted. But as much as I want to revel in the Schadenfreude, I find myself grappling with an unexpected feeling: pity. The internet has united in what can only be described as a collective takedown of his ego, and while the criticism is warranted, the sheer scale of it is unnerving.
So, how did he get here? Let’s examine the five missteps that turned Pirate Software from internet darling into a pariah.
---
#### 1. The Raid That Sank His Credibility
In *Ashes of Creation*, a botched raid set the stage for Pirate Software’s downfall. Someone pulled the boss too early, resulting in a catastrophic wipe. Fueled by frustration and self-righteousness, Pirate Software declared, “Whoever pulled the boss is kicked from the guild.”
Enter irony. The postmortem review revealed that the culprit was none other than Pirate Software himself. Confronted with video evidence, he didn’t apologize. Instead, he doubled down on deflection, conveniently forgetting his earlier promise to exile the guilty party (which, in this case, was himself).
It was the kind of blunder that leaves an indelible mark, not just for its hypocrisy, but for its sheer refusal to acknowledge reality.
---
#### 2. Ratting Out in WOW Hardcore
If the raid fiasco was a stumble, his actions in *World of Warcraft* Hardcore were a full-on faceplant. In a high-stakes situation where death is permanent, Pirate Software chose to prioritize his own safety at the cost of two player's characters (and this is Hardcode mode - which means death is permanent). Pirate Software just ran like a rat, effectively ensuring their demise.
It wasn’t just cowardly—it was downright Machiavellian. He could have intervened, lent a hand, or at least gone down swinging alongside his comrades. Instead, he opted for self-preservation, leaving the internet to label him as the very antithesis of a team player.
---
#### 3. The Deflection Heard 'Round the Internet
Rather than issue an apology or take responsibility for his actions, Pirate Software resorted to his favorite defense mechanism: denial. When the internet came calling for accountability, he met them with deflection, blame-shifting, and an air of entitlement so thick it could choke a dragon.
It was a masterclass in ego-driven damage control, except for one small problem: it didn’t work. Instead of quelling the flames, his refusal to admit fault poured gasoline on the fire. The internet smelled blood, and a hate campaign was born.
---
#### 4. Striking Out at Critics
When backed into a corner, some seek redemption. Pirate Software, on the other hand, opted for retaliation. He began reporting fellow Twitch streamers who dared to criticize him, attempting to silence dissent by weaponizing moderation tools.
This move was not just petty—it was career suicide. His actions led to his expulsion from the *Only Fangs* guild, a collective of content creators and streamers. The message was clear: even among his peers, his behavior was unacceptable.
---
#### 5. The “Roach” Monologue
As the backlash reached fever pitch, Pirate Software released a video announcing that he would no longer play *WOW Hardcore*. What should have been a moment of humility turned into a spectacle of self-pity, prompting viewers to dub him a “roach”—a metaphor for his ability to scuttle away from responsibility.
The nickname stuck, and the video became the final nail in his reputational coffin. Instead of garnering sympathy, it reinforced the public’s perception of him as a man incapable of self-awareness.
---
### The Anatomy of a Fall
Pirate Software’s descent isn’t just a cautionary tale of ego run amok—it’s a case study in how not to handle public criticism. His actions reveal a pattern of hypocrisy, selfishness, and an almost pathological inability to own up to his mistakes.
And yet, as justified as the criticism may be, one can’t help but feel uneasy about the internet’s collective glee in tearing him apart. The online mob is an unrelenting force, and while Pirate Software has certainly earned his share of ridicule, the scale of the backlash raises uncomfortable questions about how we, as a society, handle public figures who stumble.
Will Pirate Software learn from his mistakes? Can he rebuild his reputation? Or has he cemented his legacy as a cautionary tale for streamers and gamers alike? Time will tell. But one thing is certain: in the game of public opinion, he’s lost more than just a raid—he’s lost the trust and respect of his community.
I OCR'ed the 2014 DMG down to a text file and then grep'ed out '1d3' to see how many times '1d3' is actually referenced in the 2014 DMG, and the answer is 17 times.
13 of those involved regaining expanded charges for magic items.
Was bored.... so I updated my anyflip downloader script.
It does this:
1- downloads each of the pages as raw .jpgs 2- combines all the raw jpgs into a PDF 3- then takes that PDF and runs it through OCR software to create a new OCR'ed version of the PDF (so you can search for text inside the PDF, instead of just having a PDF of images)
I updated the script to download everything into a randomly created temp dir.
Simple terms resolves a domain name (URL) into an IP address.
In actual terms:
First DNS checks cache to see if the name is locally configured (via /etc/hosts) or is already in the local DNS cache. If it is, it checks the Time To Live (TTL) and sees if the time is valid. If it is, it uses that.
Otherwise, the operating system reaches out to a thing called a Resolving Name Server. Again, it checks if the resolving name server already has the name in cache first. If not, then the resolving name server points to the root domain for the address.
The root domain server knows where to find the Top Level Domains (like .net, .com, .edu, etc..) and the root domain server will point the request to them. The resolving name server puts this information in its cache so it doesn’t have to do this step again later.
The Top Level Domain server will not have the answer either, but will know where to find the domain name itself for the primary name. For example, if we are using example.com, then the TLD would know where the DNS server for example.com lives, and will point the resolving name server to that IP address. Again, the resolving name server puts all this information into cache so it doesn’t have to do this again.
This next set of name servers are called “Authoritative Name Servers.” When the domain is registered, the authoritative name servers for this domain are registered with the TLD.
At this point the Authoritative Name Server will reply with the IP for that domain name.
At each step in this process the information queried for is cached into the resolving name server. This is why DNS is so fast. Everything that can be cached is cached.
How to calculate the width of an image (with black side bars) for Instagram.
Assume you have a vertical image with current height= 2048, and you want to know the new width so that Instragram will not try to resize it and cut off parts of your image.
So from terminal (or your favorite calculator) run this:
bc <<<"2048*1080/1350"
Again 2048 is the current HEIGHT, and the number returned will be the new WIDTH.
And that will return the new width of the image (larger than your current image) to be filled with black. I just use canvas size in photoshop and let it auto fill with black bars.
So, last week my Wells Fargo checking account got robbed for nearly $10,000 because Wells Fargo has ZERO SECURITY.
Note: My account was not hacked. Rather the criminals used "social engineering" against Wells Fargo employees to rob my account.
Here's how it all happened: 1- At 12:57 PM a bad actor called up Wells Fargo Customer Service, and successfully had the phone number on my account changed. He simply told the worker that, "I lost my phone and got a new one." Which right there should have been suspect enough, because when you get a new phone, YOU TYPICALLY KEEP YOUR OLD PHONE NUMBER.
This was the point at which all security broke down.
I got retested on Tuesday. There were about 100 people in line this time. The week before there was NO ONE in line. Now, over 100+ people.
The week before I got tested on Monday only because I was not feeling good and I was at the City Hall paying my taxes, so I decided to go ahead and test myself, since there was a Test Tent right there. I was shocked, given I'm triple vaxed, to see the POSITIVE results the following day.
Again, my symptoms were really just a very very bad sore throat. One day of nasal congestion (like a head cold) and half a day of fever/chills (which was when I got tested). So I got tested right when it was hitting me.
A week later, I got tested on Tuesday, no fever in over 5 days and no longer feeling symptoms, and got the results back on Wednesday. COVID: NEGATIVE.
So, I'm pretty sure this was the Omicron Variant given that it was mainly just a very bad sore throat which is a signature of the Omicron Variant.
I did 10 days of isolation from my first symptoms, and I'm gonna wait an additional 5 days past my negative test just to make sure I'm safe to be around before going back to being social again. Just to be on the safe side.