Main
Main
Artwork
Artwork
Books
Books
Donate
Donate
Licenses
Licenses
Shorts
Shorts
Software
Software
Source
Source


"Every Day, I'm Hackin'"

2026-04-12

Aside from Insanely Thoughtful Articles, some art I'm considering, and the PHP code I'm toying with to convert the site entirely to ASCII art-- I have not been active on Insanely Witty Stupidity projects AT ALL for the past six months or so. It's nothing personal. I've just been trying to pay off my house (DONE, btw!), install swamp coolers, and get my secret side hustle up and running. I wrote a nifty daemon for BASH (ita_reporter.sh) that checks for Insanely Thoughtful Article introductions and publishes them for me (then updates the site's changelog, bottoms of pages' html modified dates, etc). If you've noticed an uptick in the number of articles I share, that's why (lol). It makes a huge difference in what you're willing to comment about when you don't have to jump on your server, craft several files, and update your changelog. Pretty nice. ;)

I finished the two stories I envisioned to entice advertising on a separate site more than two months ago (seriously). But, it took me a while to work out a "format" for the site and decide how things should work (I have every intention of expanding to cloud servers if I feel the need-- and wanted everything to be basic html and a little PHP to check browser features before sharing data, etc). I also developed this clever "content classification" system, and it took me several attempts before I felt like it was working the way I wanted (something I've thought about doing for Insanely Witty Stupidity for a while but never committed to). The real bitch of my side project was the advertising situation. Do you have any idea how hard it is to share advertisements on a webpage in 2026? NO-body has any interest in your site if there's any controversy of any kind, low traffic, etc.

I tried the big dahhgs: Google AdSense and TrafficStars (you know-- XHamster and PornHub's old sponser??) Google's bitch-ass couldn't even be bothered to verify the site (and at least share an explanation of what they would like changed, what amount of traffic they would like to see, etc). TrafficStars got back with me less than a day after I applied-- only to tell me "no". For them, descriptions of violence are a deal-breaker and they whined about the lack of traffic. I mean, I'm not sure what people expect-- I just STARTED the fuckin' thing. There's not any traffic, yehhht. wtf?

I learned about PropellerAds (and several other options) courtesy of the many sites Google's so-called "A-I" scrapes. And, I gave *them* a try (technically: PropellerAds publishers sign up via publishers.monetag.com). And Jeeeez, man-- I signed up and copied links and had ads going RIGHT AWAY. To me it's not rocket science, ya know? A publisher would like to try out advertising, which gives YOU (the advertiser) a place to host ads and possibly make money. What exactly is the problem, here?? I'm just a drooling Neanderthal, I guess. Anyway, PropellerAds doesn't provide banners (which, well-- are what I REALLY WANT). Those are more what I had in mind for my advertising site. I just wanted to host a story in its entirety and have ads scattered among the page (between so many paragraphs and whatnot).

From what I've read online, the best way to generate profit with PropellerAds (and the statistics I can collect from PropellerAds' monetag interface confirm this) is to just share an ad every time a user clicks a link (the dreaded "popup ad" as people used to call it-- what people are now trying to soften as a "pop-UNDER ad", lol). I had no intention of embedding ads in every link on the site. So, what I settled for instead was splitting the stories into "pages" (kinda like a *normal* book or short story). And, any links to pages trigger an ad in a tab below the story page that opens. Clicks don't earn much. But if you get enough visitors, you can rack up the bucks. It's pretty interesting. And, I'm finally happy with the design-- although still somewhat skeptical of browsers actually launching ads as intended.

I spent yesterday writing a PHP script that writes a cookie and Javascript to a user's browser (and shares an "appeal" message if they don't work). Javascript is (unfortunately) baked in to my popup design choice. And, cookies are a convenient way to determine if a user's browser has Javascript enabled-- then report that information to my server. The script continues by using Javascript to check if my advertisers' links work before retrieving actual site data and writing it on a page. I'm a bit wary of linking the site URL on Insanely Witty Stupidity (or the author "pen name" I chose, lol). But, I hear my good friend "Oliver Graves" is hosting a very similar setup on panicpages.net (although, you didn't hear that from ME).

My plans for Insanely Witty Stupidity (oh-- haven't forgotten about the Eye-Dub-Ess and its many projects) is to pick up with _Hailey's Comet (brutally dissected edition)_ and edit the first five chapters (pretty sure a fiver was my original plan). And then, I'm gonna write the first chapter of _McKayla's Spice Box_ (which I am VERY EXCITED to break ground on). After that, I might (perhaps) publish another short story on that *other site* of mine before coming back for more _Hailey's Comet_ (rinse and repeat). I've also got these c-rayy-zy ideas for a couple of new covers for _Hailey's Comet_ and _Ghosts of Glory High_. I've been making art like mad, lately. And, I finally got some ideas (and they're fuckin' great!) I don't wanna say too much-- we'll see how things turn out. ;)

If you're paying attention, you've noticed Insanely Witty Stupidity has gone-- https?!? :o Honestly if I'd known it was so easy to implement, I would've done it years ago. But, key companies pushing for (essentially) union dues continue to hold myself and other hackers hostage. And until people spread the word about Let'sEncrypt, that'll continue to be the case. Five years ago, I would've never urged maintainers to employ encryption on *any* website (if you're not taking credit card information, then what's the point really??) But when I visit my own site using an Android shitphone and find my GSM provider is scraping the data (and intermittently fuckin' up my code)-- see I know we're experiencing some severe privacy issues.

My response to this (which I've been doing for a while-- perhaps you poked around with a magical script and noticed??) was to try mirroring the site on NON-standard port 1104. And apparently, AT&T isn't *scanning* data on that port? I'm not sure why?? And so when I set up SSL via Let'sEncrypt (which I intended to do for my secret side project anyway-- and certainly was going to do for the Eye-Dub-Ess if it wasn't too much trouble), I naturally left port 1104 traffic unencrypted. So if you're trying to use Insanely Witty Stupidity without SSL, you can still do that! Simply substitute "http://insanelywittystupidity.com" with "http://insanelywittystupidity.com:1104", and everything should still work fine for you (explicitly writing "http" seems to be pretty important, although I may implement a workaround that *checks* the requested port number). ;)

If you browse by external IP (uh-- MINE changes any time my ISPs decide to be dicks and randomly go up on the monthly rate), then that won't work for you anymore. Since I'm SLYLY hosting another domain now (lol), browsing my IP will give you some alternate code as well (I mean-- give it a try if you know how). I got my SSL intel from ol' AlienBob (original article here). And honestly, it's not a terribly complicated process. But if you know AlienBob, you know he's a lazy, European ass-hole who doesn't know how to write (and makes everything a hundred times harder than it needs to be). So, I decided to discuss Let'sEncrypt and SSL myself (and the simple, technical changes that are required-- wtf??) The setup involves basic software any GNU/ Linux server is already running. The oddity is using dehydrated (included with Slackware-15.0) to interface with ACME.

Suffice to say: "/etc/dehydrated/config" contains "acme-v02" and "acme-staging-v02" URLs that need appropriate comments (the "staging" URL is used for setting up for Let'sEncrypt and you switch to the other when you're ready to automate). I changed "PRIVATE_KEY_RENEW" to "no" like AlienBob suggested (because, this saves my server and a key host's server extra work). And, I set "CONTACT_EMAIL". I added a "WELLKNOWN" folder and a "HOOK" script (all it does is restart Apache: "/etc/rc.d/rc.httpd restart"). You don't really need to worry about any of that other shit (AlienBob has his server set up so that a user account is doing the key maintenance-- I just left the default settings so that user "root" can do that, wtf??) List domains you want encrypted in "domains.txt" in that folder (I don't even have an extra line at the end of that file, so probably JUST YOUR DOMAINS).

You'll also want to add "accounts", "certs", and "chains" folders to "/etc/dehydrated" (not sure why they're not already there??). And, you gotta add *this* stupid shit to your Apache port 80 VirtualHost blocks:

<If "%{REQUEST_URI} !~ m#/\.well-known/acme-challenge/#">
Redirect permanent / https://DOMAIN # "DOMAIN" is *your* domain ;)
</If>

And then, you gotta add port 443 VirtualHost blocks (and open port 443 on your router):

<VirtualHost *:443>
ServerName DOMAIN # *your* domain w/o "https://"
ServerAlias www.DOMAIN
DocumentRoot "folder"
Alias /.well-known/acme-challenge /mic/lab/www/dehydrated
<Directory dehydrated_folder> # WELLKNOWN folder in /etc/dehydrated/config
Options None
AllowOverride None
Require all granted
</Directory>
SSLEngine on
SSLCertificateFile /etc/dehydrated/certs/DOMAIN/cert.pem
SSLCertificateKeyFile /etc/dehydrated/certs/DOMAIN/privkey.pem
SSLCertificateChainFile /etc/dehydrated/certs/DOMAIN/chain.pem
SSLCACertificatePath /etc/ssl/certs
SSLCACertificateFile /etc/ssl/certs/ca-certificates.crt
</VirtualHost>

You'll want to include ssl ("Include /etc/httpd/extra/https-ssl.conf") and restart your Apache server ("/etc/rc.d/rc.httpd restart"). Switch to the acme-v02 staging domain (remember: "/etc/dehydrated/config") and try dehydrated ("dehydrated -c"), then follow instructions (it *tells* you what to do). When the dipshit is set up, you gotta DELETE THE KEYS that were just created (wtf??): "rm -r /etc/dehydrated/certs/DOMAIN" ("DOMAIN" is whatever your domain is, btw). And then, switch to the *real* ACME domain and set it up ALL OVER AGAIN.

When you're done, add a regular Cron job (like: "/usr/bin/dehydrated -c") to check your keys and update them when needed. *I* chose to run this daily, at midnight (like a NORMAL person). AlienBob decided he'd like to do that weekly (not sure why??). And, that's how the https game is played. :D Don't forget to check out my "good friend's" boss, new website. And, be looking for a _Hailey's Comet (brutally dissected edition)_ update some time in the next three months.

Back

______________________________________________

Random Fact: The name "Insanely Witty Stupidity" is a sarcastic homage to William Shakespeare's pretentious (and completely confusing) application of poetic literature in character dialog. After all-- the lack of realism portrayed by Shakespeare character interactions makes it difficult for people to take the work seriously.

html revised 2026-04-09 by Michael Atkins.

The maintainer of insanelywittystupidity.com does not care if people duplicate this page or any part of it-- as long as this notice remains intact.