Skip to content
DevMeme
1168 of 7435
The Irresistible Urge to Add ASCII Art to Every Program
CLI Post #1303, on Apr 13, 2020 in TG

The Irresistible Urge to Add ASCII Art to Every Program

Why is this CLI meme funny?

Level 1: Stickers Everywhere

Imagine you and your friend each have a notebook. You like to keep your notebook neat and only want writing in it. But your friend loves to decorate every page with big, goofy stickers and doodles. One day, you see them slapping a huge glittery sticker right in the middle of a homework page. You throw your hands up and yell, “Noooo! You can’t just put stickers on every single page!” – you’re upset because now the homework looks messy and it’s harder to read. Your friend, on the other hand, just grins mischievously and keeps peeling off stickers and plopping them everywhere. They even make a silly “brrrrr” noise like a sticker machine running wild. To them, it’s all in good fun and the pages look exciting with art on them. To you, it’s frustrating because the original work is getting buried under sparkly unicorns and dinosaurs. The whole scene is funny because of how over-the-top both of you are: you’re acting like the world is ending over a sticker, and your friend is merrily covering everything without a care. In the end, it’s a playful way to show two attitudes: one person wants things plain and tidy, and the other just wants to have fun and make everything a little more colorful – even if it’s not necessary. This meme is just like that, but with programmers arguing about decorating their text programs with fancy art instead of kids with stickers.

Level 2: Drawing with Text

This meme shows two cartoon-style characters made out of text (ASCII characters) arguing about putting artwork in code. ASCII art is basically a picture or design created using the characters from the ASCII character set (like letters, numbers, punctuation). Think of drawing a picture, but instead of using paint or pixels, you use text symbols arranged in a grid. In programming, especially in old-school or CLI (Command Line Interface) programs, people sometimes include ASCII art as a fun decoration – for example, printing a big company logo or a quirky image in the console when a program starts. It’s like when a terminal application greets you with a stylized text banner saying “Welcome!” in big block letters made of # and * characters. Some developers love these little artistic touches, but others find them annoying or messy. That clash of opinions is exactly what’s being caricatured here: one developer is upset and yelling that you “can’t just put ASCII art in every program,” meaning they believe code or program output should stay clean and professional. The other developer is basically shrugging and saying, “I’ll do it anyway because it’s fun,” which is summarized by the meme-y phrase “haha printf() go brrrr”.

Let’s break that phrase down. printf() is a common function (in C and many languages that borrowed its name) used to print text to the screen. If a programmer is an ASCII art enthusiast, they might literally write a bunch of printf statements (or the equivalent in their language) to output each line of a text picture. For example, if they wanted to display a fancy banner, their code might look like:

printf("   ____              _    \n");
printf("  / __ \\____  ____  (_)___\n");
printf(" / / / / __ \\/ __ \\/ / __ \\\n");
printf("/ /_/ / /_/ / /_/ / / / / /\n");
printf("\\____/ .___/\\____/_/_/ /_/ \n");
printf("    /_/  CLI App v1.0      \n");
// The above prints a stylized ASCII art banner "CLI App v1.0" in the console.

Each printf here prints one line of an ASCII picture (with \n marking line breaks). A printf enthusiast might fill their program with dozens of lines like this to create a big ASCII logo or image. So when the meme says “printf() go brrrr”, it’s joking that the programmer is rapidly printing lines of text art like a machine gun (the “brrrr” mimics a rumbling, continuous sound). This phrasing “X go brrrr” became popular in internet memes to imply using something without restraint – here it means “haha, I’m going to keep using printf to spam ASCII art, no matter what you say.” It’s a very DeveloperHumor way to portray someone ignoring a rule and doing their own thing with code.

The characters in the meme come from the Wojak meme family. The left side is a detailed ASCII-art rendering of a crying Wojak (often used to represent someone upset or complaining). The text under him basically transcribes a panicky scream: “NOOOO!!! YOU CAN’T JUST…”. This dramatizes the serious developer who cares a lot about CodeQuality and perhaps has seen one too many scripts cluttered with unnecessary decorations. On the right is a simpler ASCII-drawn face (blurred but smiling) with the caption “haha printf() go brrrr.” This figure is like the carefree coder who just loves a good ASCII art and isn’t bothered by formalities. It’s essentially a snapshot of CodingCulture where one person is the stickler for clean, efficient code (no superfluous stuff), and the other is the playful hacker who enjoys little creative hacks (even if it means embedding an ASCII cat in every output). Both are developers, but they have different ideas of what good Developer Experience (DX) means. For the serious one, good DX might mean quick, uncluttered output and code that’s easy to maintain. For the playful one, DX includes having fun and giving the user a bit of visual joy in a text-only world.

To a newer developer or someone learning coding, this scenario might seem exaggerated, but it’s relatable once you’ve worked on projects with others. Early on, you might have tried printing something cool with text – like making a little Christmas tree of * characters using loops, or using a tool like figlet to generate big ASCII letters spelling your name. It’s exciting to discover you can create art with just text output! Many beginners have that phase of playing with ASCII art or fancy printf tricks. However, as you start collaborating or writing bigger programs, you learn why sometimes less is more. For example, if your program’s output is meant to be read by another program (say you’re writing a script that outputs data to be parsed), having a giant ASCII unicorn in the output could actually break things. Or if you store an ASCII art in your source code, it might make the file very long or trigger weird encoding issues (imagine someone viewing your code in a different font or if the text editor doesn’t handle a certain ASCII character well). That’s why some experienced devs groan when they see “console_output_art” in every tool — it can feel like the author cared more about cute art than robust code.

CLI stands for Command Line Interface, which is basically programs that you run in a text-only environment (like using the Terminal or Command Prompt). Since they don’t have graphical interfaces, any "visual" appeal has to come from text itself – hence ASCII art becomes the “graphics” of CLI programs. Some famous examples: the old-school text adventure games or installer wizards that show a logo or progress bar made of text. A little ASCII art can give a CLI program character. But there’s a balance to strike: a splash of art versus walls of it. CodeQuality is a term referring to how well code is written (readable, maintainable, efficient, etc.). Stuffing a lot of non-essential code (like dozens of print statements for art) can lower readability, especially for someone maintaining the code later. They might scratch their head scrolling through a big ASCII owl in the source file, thinking “Is this functional code or a comment?” On the flip side, from a pure fun standpoint (and in DeveloperExperience terms), seeing a creative ASCII banner when you run a tool can make it feel more polished or welcoming. It’s similar to how some applications show a graphical splash screen on launch – except here it’s all text.

In summary, this meme is a relatable humor snapshot of a common situation in programming teams or open-source projects: one person insists on keeping things plain and straightforward, while another can’t resist adding a personal artistic touch using code. Neither is totally wrong – it’s a matter of context and opinion. The meme just makes it comically black-and-white. The tags like ascii_art_banner and embedding_art_in_code literally describe what the calm character is doing (using printf statements to insert a banner made of ASCII art into every program’s output). And the upset character embodies the voice of many a code reviewer or project lead who has exclaimed, perhaps not in all caps, “Please don’t put a giant ASCII logo in the startup logs.” The humor resonates with developers because it turns a nuanced discussion about code aesthetics into a silly, almost childlike argument: one crying “Noooo!” and the other going “Haha! Can’t stop me!” If you’ve ever felt proud of printing a little ASCII design, or conversely, if you’ve ever had to delete one of those from a serious codebase, you’ll likely smirk at this meme. It’s the CodingCulture version of a debate between form and function, playing out in plain text.

Level 3: ASCII Art Invasion

In the command-line interface (CLI) world, there's a long-standing tug-of-war between minimalism and terminal flair. This meme exaggerates that conflict with a classic Wojak showdown: on the left, a panicked developer avatar wails "NOOOOOO!! You can't just put ASCII art in every program you make!!" and on the right, an unbothered figure deadpans "haha printf() go brrrrr". It’s poking fun at how one dev’s idea of fun (sprinkling ASCII art banners everywhere) can be another dev’s nightmare from a CodeQuality perspective. The humor hits home for many senior engineers because we’ve all seen that one project or colleague who insists every script needs a 200-character-wide dragon drawn in text at startup. The combination of the hysterical "Nooooo!!1!" (complete with the classic accidental 1 in the exclamation for extra meme cred) and the indifferent “go brrrr” response is an absurd distillation of countless code review threads and internal debates. It’s absurd, yet painfully familiar: someone yells about clean code and best practices, while someone else gleefully keeps printing their beloved art as if nothing can stop their printf machine gun.

On a deeper level, the meme highlights an anti-pattern that experienced developers recognize: embedding art in code or console output. The left side’s horror – “You can’t just put ASCII art in every program” – echoes what a strict lead dev or a linters’ voice might say. There are practical reasons behind that frustration. Massive ASCII banners can clutter logs and terminal output, making it harder to spot real information. Imagine grepping through production logs at 3 AM and hitting a giant block of text that turns out to be someone's elaborate ASCII logo – not fun. It’s reminiscent of legacy enterprise apps that would print a full-page company logo in text on startup, which devops folks promptly disabled because it messed up batch scripts expecting clean output. From a maintenance standpoint, having a hundred-line string of ASCII art in your source code is basically technical debt masquerading as a unicorn: it doesn’t add functionality, but you have to carry it around and ensure it prints correctly on every machine (monospaced font and all). Senior devs might joke that ASCII art in code is like graffiti in a database – oddly charming, but definitely not in the requirements doc.

Yet, the right side of the meme – the carefree printf enthusiast – represents the equally real developer archetype who lives for these quirky touches. They’ll cram a multi-line ASCII logo into the app’s startup sequence and genuinely think it’s the best part of the user experience. In their eyes, a CLI program without a little ASCII soul is just plain boring. And truth be told, lots of us have a soft spot for these things. Many frameworks and tools (looking at you, Spring Boot) print snazzy banners when they launch. For example, Spring Boot’s default banner is an ASCII art Spring logo that pops up on run – purely aesthetic, and indeed one of the first things performance-minded engineers turn off in production (spring.main.banner-mode=off, anyone?). But why does it exist at all? Because it creates a bit of DeveloperExperience (DX) joy – a small, friendly signature saying “hey, your app started, and it has personality!” This meme perfectly captures that dichotomy: the purist complaining “This is not professional!”, and the pragmatic prankster thinking “It compiles, it runs, it prints a cool dragon, ship it.” One side invokes the sacred name of Code Quality (implying that output should be minimal and code should be lean), while the other side, by saying “printf() go brrrr,” basically invokes the hacker mantra of “I do what I want; it works; life’s short, have fun.”

There’s also an undercurrent of coding culture history here that seasoned devs appreciate. ASCII art has been around since the earliest terminals – it’s the original digital fan art. In the days of teletypes and green-screen terminals, graphics were a luxury, so creative programmers used text symbols to draw images. It became a tradition: from README files with decorative ASCII logos, to BBS (Bulletin Board System) welcome screens decked out in elaborate text art. Even today, open-source projects sometimes include ASCII art as a signature in their source code comments or startup logs as a nod to that heritage. Many of us recall stumbling upon a huge ASCII waving bear or a star wars crawler in code and thinking it was both ridiculous and awesome. So when the meme's crying Wojak screams about "ASCII art in every program," seniors chuckle because we've seen exactly that enthusiasm in newbies who just discovered printf or in startups that want their console app to have branding. There’s an inside joke among veterans: “Is it a microservice or did someone just want to show off their ASCII art skills?” – said when a tiny script has more banner code than business logic. It’s funny because it’s true.

From an engineering perspective, the trade-offs are very real and that’s why this is relatable humor. The ASCII-art-loving dev isn’t wrong; printing art doesn’t break the app (usually). But it does have side effects: increased output noise, potential issues with parsing outputs (if another program consumes the output, an unexpected Pikachu ASCII can throw it off), and even performance if taken to the extreme (imagine printing thousands of lines of art – the CPU and I/O usage isn’t free, especially if your program runs in a tight loop!). The terrified CLI dev in the meme is basically upholding the Unix philosophy of “print only what’s necessary” and imagining all the ways this could go wrong – from messed up CI/CD logs to annoyed users on slow terminals. The chill printf() character, on the other hand, exemplifies the hacker ethos: “It’s my code, I’ll add a cowsay here if I want to. If it brings a smile or a bit of identity to my app, so be it.” We’ve all read code where we see something crazy like a full ASCII sword marking the comment section of a function, and while part of us eyerolls, another part quietly admires the dedication.

Ultimately, the meme’s irony lies in how both sides are over-the-top. The crybaby on the left is acting as if ASCII art is a war crime against coding standards, while the right side is happily comparing printf to a money printer spewing cash (go brrrr originates from a meme about printing money indiscriminately). The phrase “go brrrr” in developer humor now basically means “I’ll just run this process non-stop and I don't care about the objections.” It’s a senior-level wink to how developers sometimes knowingly violate best practices for the fun of it. In real engineering teams, this issue usually ends in compromise: keep the art for development builds or give users a --no-banner option. But in meme land, it’s funnier to imagine the stalemate: the quality-conscious dev screeching into the void while the ASCII art lover just keeps calm and carries on printing. The end result? A comically exaggerated reflection of a very real developer experience, where neither side is entirely right or wrong – and both are laughing at how ridiculous the whole thing can be.

Description

This image uses the 'Haha, go brrrr' meme format, rendered entirely in ASCII art against a white, dotted-grid background. On the left, a detailed, multi-colored ASCII art character, representing a distressed Wojak figure, exclaims, 'NOOOOOOO!!! YOU CAN'T JUST PUT ASCII ART IN EVERY PROGRAM YOU MAKE!! NOOOOOO!!'. On the right, a simpler, grayscale ASCII art character, representing a calm and smug Wojak, calmly replies, 'haha printf() go brrrrr'. The meme humorously pits a developer who adheres to strict, professional coding standards against one who finds joy in adding personal, decorative touches like ASCII art to their console applications. For experienced developers, it's a nostalgic and relatable joke. It references the common practice of including ASCII banners in command-line tools for branding or as a fun Easter egg. The use of 'printf()', a classic C function for printing to the console, grounds the joke in foundational programming, while the 'go brrrrr' punchline perfectly captures the simple, unapologetic satisfaction of making the computer do something fun, regardless of professional norms

Comments

7
Anonymous ★ Top Pick The fastest way to start a holy war in a code review isn't tabs vs. spaces; it's debating whether the ASCII art banner should be fetched from a remote config or hardcoded for faster startup time
  1. Anonymous ★ Top Pick

    The fastest way to start a holy war in a code review isn't tabs vs. spaces; it's debating whether the ASCII art banner should be fetched from a remote config or hardcoded for faster startup time

  2. Anonymous

    After a decade of evangelizing JSON logs and OpenTelemetry, the only line everyone refuses to delete is Phil’s 896-byte ASCII dragon in main(); apparently it’s our most battle-tested health check

  3. Anonymous

    The same engineer who rejected my ASCII art banner in code review has a 47-line regex that nobody's touched since 2019 because we're all afraid it might be load-bearing

  4. Anonymous

    The eternal conflict between 'clean code' evangelists and developers who believe every CLI tool deserves a 500-line ASCII banner. One side argues it violates SOLID principles and increases binary size; the other side knows that `figlet` output in production logs is the only thing keeping them sane during 3 AM incidents. Bonus points if the ASCII art is dynamically generated and cached in Redis

  5. Anonymous

    Add ASCII art with printf to every service and watch your JSON logs turn into multi-line poetry, ELK stop parsing, alerts vanish, and leadership proudly declare the SLO met

  6. Anonymous

    When your 'temporary' debug print loop renders a 10k-line ASCII dragon that tanks Splunk ingestion

  7. Anonymous

    Ship ASCII via printf; SRE calls it unstructured logging, Finance calls it Datadog ARR

Use J and K for navigation