The art of throwing exceptions that turn stack traces into beautiful images
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Experiments
Source
.gitignore
CHANGELOG.md
LICENSE
README.md
nuget.config

README.md

Stack Trace Art

Stack Trace Art is the art of throwing exceptions that create beautiful drawings on callers' stack traces. You can find more about it in my original blog post on Stack Trace Art and Daniel Temkin's essay on Esoteric.Codes.

AppVeyor GitHub release

Selected Pieces of the Finest Stack Trace Art

The pieces of the finest Stack Trace Art exhibited below will give you an idea of what Stack Trace Art is. They also demonstrate current capabilities of stackTraceangelo - the World's first Stack Trace Art editor.

To enjoy more of Stack Track Art drawings visit the stackTraceangelo's Art Gallery.

Лулу и как се прави дъга

A nostalgic childhood image inspired by Petya Kokudeva's beautiful book Lulu.

Лулу и как се прави дъга

Keeping My Fingers Crossed

My preferred way of saying "I am keeping my fingers crossed for you!"

Keeping my fingers crossed

Let's Meditate Together

Let's meditate together on the sacred sound of ऊँ (Om).

Nested Om (ऊँ)

Good Job!

Thumb up! Good Job!

Good Job!

Be Careful The Cat

Some pieces of wisdom are worth repeating over and over again. Be careful the cat!

Be careful the cat!

How Does Stack Trace Art Work?

Are those exceptions genuine exceptions or some clever fake? In my experience, programmer's first reaction on Stack Trace Art, and I witnessed it many times, is disbelief. "These cannot be real method calls. You rewrote the stack trace information somehow." I did not. Stack Trace Art exceptions are genuine, regular, real programming exceptions. No tricks of any kind.

The "magic" behind the Stack Trace Art exceptions is fully revealed in this blog post: His Majesty, Hangul the Filler.

The inner mechanics of the stackTraceangelo is explained in detail in this blog post: Clarke's Third Law Exception - Step by Step.

Rekindle Your Artistic Soul

Stack Trace Art is all about rekindling our artistic programmer souls. Although (still) being in an early proof-of-concept stage, stackTraceangelo is already mature enough to help you draw your own pieces of Stack Trace Art. In other words, to help you rekindle your artistic soul. So, download it, create some beautiful pieces of Stack Trace Art and inject them into other programmer's code!

You still do not feel ready to start creating your own Stack Trace Art? Don't worry. Every true artist experiences the Artist's Block. To overcome the block, you can seek for inspiration within the drawings exhibited in the stackTraceangelo's Art Gallery. Injecting some of its pieces of Stack Trace Art into your colleagues' code is a great way to overcome the Artist's Block.

Known Limitations

The first release (0.1.0) of the stackTraceangelo is just a proof of concept. Here are the major known limitations:

  • The edited Stack Trace Art can be neither saved nor opened.

Release Notes

All notable changes to stackTraceangelo are documented in the changelog. Below is the excerpt from the changelog that lists only the major changes.

0.1.0

  • The first usable prototype that offers basic art editing.

License

stackTraceangelo is licensed under the MIT license. The images in the stackTraceangelo Art Gallery are licensed under the Creative Commons CC BY 4.0 license.