DEV Community

algorhymer
algorhymer

Posted on

The Evil Spellbook of Sasslery and Teaseomancy

Hi there Me' Lord!

I have been challenging you - in comment sections under your articles - into doing lil' puzzles... for a while now.

Mods keep pushing that delete button on me' comments.

I keep ringing that Dreamphone hard, Jon, nonetheless.

hi

How about the Me' Lord? Did you like it?
I mean it is better than Senior Ex-* Engineer.
Have you ever heard Senior Movie Director George Lucas?
Me neither. That title sounds like it is from a kid's show.

Also, Ex-*?

Who would do an introduction like:

Hi I am Mark, Ex-Judith, Ex-Martha, Ex-Karen.

That triple X sort of feels like a chain of unprocessed breakup stories, am I right, Jon?

01-ai

You know, I've been running around dev.to like a little puppy.

Reading articles from you, liking articles from you.

Sometimes I leave praise, constructive criticsm, but...

Most of the time I tried sassing you into really simple programming puzzles, as I stated in the intro.

Oh, My Gracious Lord, can you solve this problem, please-pretty-please, for me' pretty eyes?

02-question

But a lot of my comments have been banhammered, shadowdeleted, lost to rogue AI filters, maybe overzealous mods with God complex. Who knows?!

Anyways, I have 0 submissions. At least it cannot get worse. Well... as natural numbers are ints in most languages... I think if I give it a day or two, and throw some Scrum Masters, POs and 4 teams of us devs onto it... I'll have -69 submissions in no time.

Whatever... I figured I was being too tomboyish for the highly esteemed anime waifu era of 2026, so I toned back my tone just to fit these PC, HR Karen, LinkedIn-level adult kindergarten vibes of dev.to.

I pulled back the sass and tried to be more nicer, like:

Would you please attempt to solve this interesting puzzle, Hero?

03-would-ya

Well - just as I imagined - this didn't help, because devs are by nature really complacent, because IRL they hide behind EULAs.
Devs rarely have to face actual angry end users in a room/parking lot, or go to class action lawsuits.
Also, most devs simply ignore QA and treat them basically like human garbage.
So... if you use lenient language... devs will ignore you.

Also... if there's a way for a dev to ignore an issue, the dev will find some route to ignore the problem.

There are a lot of mansplainings in the techbro-o-sphere.
Sometimes devs don't do something because:

  • It is not about time complexity.
  • When it turns out it is about time complexity, then suddenly they shift the goal post, that it is not a real world thing.
  • When it turns out it is a real world thing, they shift the goal post that it is too complex, so it should be simplified into a time complexity level problem.

Yup, we established the invariant, but this loop does not make progress.

I think this is what happens if you do too much SCRUM.

Have you ever heard of that? Agile, Kanban, daily, 4 billion meetings rings a bell?

04-ignore

We devs have a tendency to write shoddy code due to time constraints, then somehow we mansplain later why it is really cool in public forums, and we never really fix it.

We do say in private that the code is bad, and it was a nightmare, but outside the kitchenette, we are really PR spin-doctor girls and boys though.

I really don't like to gawk at libraries, frameworks, since I have to sift through ten thousands of lines of abstractions for hours, before I uncover the 30 lines of core code, which actually does The Stuff™.

This is why I prefer small algos. Really self-contained problems.
The problem is tiny, so we cannot dependency inject ourselves out of it.

We can't really pull any kind of Design Pattern trick to delay solving the problem.

This is why I prefer tiny codes.
It takes away our weapon of hiding under layers upon layers of abstractions.

05-defang

For example, Uncle Bob, Peter Norvig and other Big People wrote solutions for Advent of Code (I like AoC because it does not have that foot smell that LeetCode has).

Uncle Bob wrote it in Clojure. It is a 2024 day 2 problem. Not giga science.

Take a looksie down below!

06-real

07-uncle-bob

Yup that is basically 1 hour of regular-joe wall clock time.

(I measured it from inside, because I didn't want to include JVM spinup. Heh.)

As you can see, it took a pretty long time, so I watched Eric Andre while this beauty was doing Clean Code wizardry instead of computation...

What was Bob doing there? What was the Boblery?

08-bob-what-are-you-doing

But devs didn't really have a problem with it... Norvig did the same for example.

Here on dev.to it wasn't a problem either. I asked it a bunch of times, but nobody cared.

Maybe the reason is that due to socializing in the gig economy and bootcamps...

you don't like me anymore, but only Uncle Bob?!

Maybe... Uncle Bob and his Clean Code is living in your heart, rent free, occupying all the RAM there?!

08-uncle-bob

I have no place in your heart, only Bob and his Clean Code, which makes me sad.

Also there seems to be no big GC pause coming to clean the Clean Code up, so I think I'm forever cast out of your heart, Jon.

Another thing during this 1 year period on dev.to and 2 year period in other platforms taught me that...

You guys seem to look at the world through the eyes of a DBA.

Record Oriented Programming. Dog, Cat, User.
You rarely talk about things like bijections, or modeling the problem as solving constraints.
Everything is about:

  • Jon Arbuckle
  • His Cat
  • His Dog

Not deeper notions like, sequentiality, or equivalence classes. Everything must be a simple noun, a touchable, edible, smellable real world object... and we only talk about attributes like 'email'. Never about:

Why does this Microsoft library do a handrolled manual recursion over the dependency graph, via OO private methods?
Enter fullscreen mode Exit fullscreen mode

This is the course of Record Oriented Programming, also called as OOP.

Yeah, yeah, Oh oh pee.

I know why you are doing it. Because when you are starting with a blank slate, writing down the attributes and neatly grouping stuff into records gives a sense of 'work done' on Monday.

It never helps with the actual problem of complexity, but it is too addicitve, because it starts off too good, and in the beginning - as you are making progress- it feels like this layman's way of thinking can actually deliver.

Well... then it always devolves into the same exact legacy nonsense.

Isn't that right?

OO

09-oh-oh-pee

Okay okay. I get it! Some people do a sort of dumbed down OO.
Aka people who are not DBAs prefer for example Rust.
Well, matter of fact is I've been asking another puzzle, because...

You can beat optimized Rust from cringe script language Python, using simple elementary school math (it isn't 2021, simply dev forgot to maintain the toml or whatnot, and I ain't doing laundry nor dishes for Ex-Netflix devs).

10-rust-bad

I get that you don't care about how it can be done.
But... in basically 2 years not a single dev was able to beat the Rust?!?!?
I mean... if you don't do it.

I have to do it myself.

11-me-do

12-py

Do you seriously think that I'd cook up a puzzle for sloppo Uncle Bob, zero-coder Fowler, or any of the pampered guys who never had to stay up till dawn to help out Ops in need, just to get mass layoff-ed by a MBA? Pfff those Bobs know nothing.

I brew that 86 366 lines long Advent of Code input FOR YOU!

inputpeek

brew

I did this mess TO HELP YOU!

Those Bobs, Norvigs and the entire Boomer Central in their shiny armor have more PR than you.
You cannot become the King of Clean Code or whatnot, since those noob-codey boomers decide what is nice and what isn't, based on non-engineering, subjective consultant level HR terms.

So, for example here, I did something to give you a fighting chance against those big knightly armored Lords.
You cannot become the King of Clean Code or Norvig code or ThePrimeagen code or Google interview code or whatever.

So, just for you, I made it rain, King of England, to catch em' Big Boys in the deep mud, so you and your favorite lang - whatever it is - has a fighting chance.

Why did I do it?

Because I'm awaiting your code, because HONESTLY...

I'm getting tired of Big Boy code.
Jon, look below at Norvig's.
He's popping like a gone-rogue AI popcorn machine throwing a skynet tantrum.

15-norvig

def rearrange(diagram, moves) -> dict[int, list[Char]]:
    """Given a diagram of crates in stacks, apply move commands.
    Then return a string of the crates that are on top of each stack."""
    stacks = {int(col[-1]): [L for L in reversed(col[:-1]) if L != ' ']
              for col in T(diagram)}
    for (n, source, dest) in moves:
        for _ in range(n):
            stacks[dest].append(stacks[source].pop())
    return stacks
Enter fullscreen mode Exit fullscreen mode

Even if he did slices, you'd still be able to beat him, imo.
Aka I am not entirely amazed, and I think you might be able to do much better.

But most importantly...

You are probably:

  • Not a stock-optioned dev
  • Not a jumped-ship let-it-rot millionaire
  • Not a well-fed consultant
  • Not a tenured cozy prof
  • Not a mega genius
  • Not a walking God
  • Not a perfect 10x dev
  • Not a Twitch streamer
  • Not a Nobel prize/Fields medal winner

Maybe you live from paycheck to paycheck.
Maybe you are even a contractor.
Maybe you even have to pay for your sibling's tutelage.
Maybe you have to pay the rent that those passive-income-maxing boomers nuke society with (also known rentiers by Piketty).
Maybe you have been laid off, simply because a pampered ivy league boy did a typo in an Excel formula in another continent.

So in summary: you are not exactly a Tony Stark.

Yeah yeah, you are not exactly a Stark.
You are just a Snow.
Agus is toil leam sin.

i-like-snow

Boo, Mr. Anderson!

boo

Top comments (9)

Collapse
 
algorhymer profile image
algorhymer

@sloan so once you are done deleting comments, grab a pen, grab a paper, and let your mind run free with the problem. Use your fantasy and the math you have learned! Good luck!

Some comments may only be visible to logged-in visitors. Sign in to view all comments.