The Story of nullpt.rs
My adventures in blogging began in 2007 at the age of eight. In typical veritas fashion, my first blog post reads:
If i made a promise sorrry i was out sick but anyways ill be posting now
My first ever blog post was an ode to procrastination and ADHD. Knowing I had zero readers at the time, I still felt an obligation to create the best Club Penguin guides an eight year old could possibly provide. All from the comfort of my shared living room computer.

And that I did. Well... sort of. My first guide detailed how to "exploit" the game in order to allow your avatar use special item animations without the item appearing equipped. (i.e. penguins with guitars equipped would be shown strumming their guitar when playing the dancing animation)

The title, bold and proud, "dance without the clothes". Uh... Cut me some slack, I was eight! The content wasn't any better. Void of any punctuation, images, capitalization, and structure, the guide goes as follows:
first open the player card then put ur gutiar on dont put anything else on close the player card open the player card take off the guitar dont close the player card then put on the tour guide hat still dont close the player card now dance. done
As terrible as this post was, it motivated me to write my next groundbreaking guide. Published on Jun 29, 2007, this guide teaches the reader how to glitch their penguin to equip two instruments at once (The game would normally remove one instrument when trying to equip another). The title you ask? "Under Construction!!!!!!!! 2 Things At One (not hacking)". Yep, the blog was definitely under construction alright. The one cool thing about this particular post is that it included images this time! The guide:
First open ur player card the put only ur guitar.After Close the player card.AfterWards open u player card again then take of the guitar and put the drum sticks on (DONT CLOSE UR PLAYER CARD) now dance note:THIS WORKS WITH ANY ANIMATION ITEM

Crossed out text indicated that this method was now patched. This post was a step up from my first two and I didn't stop there. A few more posts followed, up until Nov 30, 2008, with a post titled:
Appoligies
Sorry people i havent been posting in days So sorry i keep my promise i will start posting from now on On the bright side i joined a production owned by Mr artic 1 and is called bpp productions here are the updates on clubpenguin.

The blog comes full circle with an apology reminiscient of my first ever post. I mention joining a production. A term used to describe a group of friends who recorded, edited, and produced Club Penguin music videos. A video production team. Very impressive considering we were all younger than ten at this time. Below is a Club Penguin music video for Cascada's Evacuate the Dancefloor that I am featured in.
WARNING: This video contains flashing lights which may not be suitable for photosensitive epilepsy.I didn't know it at the time, but this would be my last ever post on the blog. On this particular blog. I never stopped blogging. I had over ten club penguin blogs that I've created over the years. Each iteration better than the last. Everything from the name, theme, content, images, and free .tk domains. Blogging was in my DNA. But as I grew older, my interest in the world of Club Penguin waned, and as a result, my blogging days came to a halt.
Supreme Enters the Ring
Supreme. A New York-based skate company turned billion-dollar clothing and lifestyle brand most known by their iconic bright red rectangle stamped in Futura Heavy Oblique. Some of their products are known to sell out in a matter of *seconds*. As a result, automation is often used by those who want to either: (a) purchase products for themselves or (b) resell them for an absurd markup.
The problems I now faced were larger than my eight-year-old self could have imagined. At this point (2017), the logic behind bots was not publicized. Bots having features such as being able to retrieve early links could be the difference between bots that could purchase hundreds vs bots that were a few seconds too late. This "exploit" is exactly what gained me my notoriety in the e-commerce automation scene. Many bot developers were not fond of me publicizing what was once considered a valuable private resource.
related content: Anatomy of a Supreme Bot (Pt 3)The drama that ensued was not my intention, although I must say it was at times fun. My goal was to end the gatekeeping by demystifying the lucrative field of "sneaker botting". This required me to first learn about how these tools were built.
My first posts covered how bots work on an HTTP request level. Pretty elementary level stuff for new bot developers. As time went on and e-commerce automation grew, companies began catching onto these tactics. As a result, these anti-bot companies employed more vigorous bot detection techniques. My content now shifted toward more advanced reverse-engineering topics. Mostly combatting obfuscation techniques used in these anti-bot scripts. As the topics become more advanced, the balance between being easy to follow for beginners and engaging and informative enough for those more advanced becomes harder. A long-winded blog post explaining how to achieve a very specific goal covering A-Z may be too niche for anyone to follow. This causes the reader to become disengaged. I've received much praise for nullpt.rs blog posts but I knew I could make it better.
Equipped with a beautiful WYSIWYG editor only second to Medium, nullpt.rs previous blogging platform, Ghost, allowed the ability to write and preview blog posts quickly. This wasn't enough. The posts needed to be interactive to fully capture the reader. As a result, nullpt.rs now uses a forked version of Alistair Smith's blog project. Blog posts are now treated as a playground instead of a textbook.
Now, readers can interact with custom components created to help demonstrate the purpose of the reading.
Let's see it in action.
Below is a snippet of code that uses Babel on user input and reverses any StringLiteral present inside the code. The transformed output is updated underneath.
const ast = parse(code);
traverse(ast, {
StringLiteral(path) {
path.node.value = path.node.value.split('').reverse().join('');
}
});
setTransformedCode(generate(ast).code);
const ast = parse(code);
traverse(ast, {
StringLiteral(path) {
path.node.value = path.node.value.split('').reverse().join('');
}
});
setTransformedCode(generate(ast).code);
console.log('Try editing me');
console.log('Try editing me');
Pretty neat, right?
A big thank you to all nullpt.rs readers. I've received great feedback over the years. Blogging has allowed me to explore my curiosity in ways unimaginable. It has introduced me to some of my now closest friends. It will take me some time to migrate all old posts to fit this new format as I'd like to reimagine them instead of copy-paste. You can still read them here.
