5 ms·
I remember writing a Foobar2000 plugin to emulate the Winamp API so my mIRC song spam scripts still functioned. It was buggy as hell as I was still new to C++ p
by r1ch 5y ago
I remember writing a Foobar2000 plugin to emulate the Winamp API so my mIRC song spam scripts still functioned. It was buggy as hell as I was still new to C++ programming and it eventually got added to a hard-coded blacklist in the app for causing stability issues.
I ended up open sourcing it and it still lives on 19 year later, about three forks deep and a lot more stable and functional. The power of open source!
- galdosdi 5y agoOMG, "writing a Foobar2000 plugin to emulate the Winamp API so my mIRC song spam scripts still functioned" is such a nostalgia packed sentence for those of us of a certain age. Some of the most fun I ever had was trying to make the utterly ridiculous mIRC script programming language do things it was not meant to do. Pretty sure I recall someone I know writing a primitive web server with it IIRC
- stavros 5y agoWhereas ICQ already came with one.
- hug 5y agoI wrote a reeaally primitive SMTP server in mIRC's scripting language. The reasoning, of course, was that there was an IRC server that I frequented that required a web sign-up, so I wrote mIRC script that screen-scraped the sign-up page, solved the "captcha" (an unobfuscated type-in-this-number field solved by using an open source OCR library) and then used a random local-part and a host-part of a dotted quad -- think "jh412ec@[12.34.56.78]" -- that was a hosted my box at home that was running mIRC. The SMTP server just literally reponded with 354 to the DATA command and a 250 to everything else, which was more than enough for my needs. It then read the body of the email and "clicked" every link it found in order to verify the email, and logged me into the IRC server with the auto-generated credentials... and some time later I'd inevitably be k-lined, because of course the kind of kid who did this was the kind of kid who got k-lined. Being k-lined wasn't an issue though. Reset the dial-up for a new IP, run the command, and you were back in within a minute. Being a dick on IRC was how I learned to program. What a blast.
- galdosdi 5y ago> Being a dick on IRC was how I learned to program. What a blast. AWESOME memory you describe there. OMG, fond memories of the day me and my IRC friends in high school somehow figured out that there was a bug in our network's ircd that allowed us to cause the server to segfault simply by setting a strange combination of a large number of modes on a channel. The ops were pissed but they got less pissed after I submitted a patch, after I went looking in the C source code and figured out it was probably a buffer overrun.... Something like maxing out an undersized buffer by using every zero argument mode possible, duplicating modes and as many one argument modes with long nicknames... like MODE #channel +mmmvv LongNickGuy1asdfasf LongNickGuy2skldjfaklsjd ...and that was my first non toy experience with C!
- cobalt 5y agothere was an entire website (picwin.tk) devoted to demos (demoscene) and games doing some really wild shit
- Handytinge 5y agoIt was definitely my intro to socket programming. I wrote entirely mIRC script based IRC services - NickServ, ChanServ, the lot. I c:lined it (is that the right flat? I don't recall), then wrote my own little set of slash commands to perform various fun raw commands - e.g getting ChanServ to message someone and ask how their day is going. IRC was a way cooler world than the current internet.
- chronial 5y agoAh, good times – I was the one who initially continued development after you left off. Thanks again for open sourcing it back then :).
- dpark 5y agoOh, man. That’s hilarious. I remember another guy getting blacklisted because he was writing plug-ins that mucked with the menu and whining because Pawlowski started changing the menu ids in every minor release out of spite. I had my own learning experience when I accidentally deleted all my plugins’ sources and couldn’t recover it. That was an important lesson on the reason for backups and version control. I burned a ton of time on those plugins.