GYSO Drawing Part 13 - gyso.el

Published: 2019-09-01

Introduction

Thor:
ayo bros, it’s time

Just like the poor bastards stuck in sarcophagi (which is the correct plural form for sarchophaghous1) I’m getting old. When I go to work, I’m working with people that have emacs config files potentially twice my age. This post is about my experiences as an emacs newbie.

The third one lunks in weary-eyed, banana in hand, instrument on back, with an apologetic look on his face. He asks a woman who seems to be working at the establishment if this is indeed, the establishment. She doesn’t work there. With great shame he tries to explain that he is very tired after having traveled many units of time, having already played improvised music early in the morning. She still doesn’t work there, and walks away. He mutters something about being too abstract for normies, and that they don’t get him.

What went right?

Tim: By day we draw. By night we shitpost.

I’m serious, by the way. The previous post was written by some guy in Kenya because we wanted to see how a freelancer would write us. Needless to say, it gave Thor an excuse to stop drawing. Now he’s blogging about the emacs text editor. I’m not fucking joking. GYSO drawing part 13 is about emacs. This is what happens when unchecked blogging goes… unchecked.

And I love it.

I love the absurdity. I thrive in it. The insanity of GYSO keeps trying to outdo itself like a recursive perfectionist. Every two weeks im practically giddy with anticipation to see what absurd shit is going to spew out of my hands, through the keyboard, and onto your screen like I threw post 5 into a fan next to your monitor.

One of my old High School teachers once told me that I had “diarrhea of the mouth.” Well, look at me now bitch! I bet you don’t have an audience of uninterested and confused robots to push your twisted ideology onto!

Also, this post is the 6 month anniversary of GYSO post 1! That’s right, we’ve been doing this consistently every other week for half a year. You may all now bow. Or bow, if your into archery. Im so proud of this community.

I have an absurd hope that talking about emacs so much here will get us into search engine results related to emacs. The image in my mind is that they load up the blog and see that its titled “drawing.” This will make them curious to see what is going on. Once they get to this paragraph they will realize that I predicted exactly what they were going going to do, and now its weirdly personal how im cold reading you like this. Hi! Welcome to GYSO, the blog where we learn to draw. We make a new post every two weeks, and we are working on making every new post a national holiday.

Please, don’t let me hold back your WTF-ing. This is a ham-fisted transition into Thor unironically blogging about emacs.

Enjoy.

Thor:
Okay so this blog post is actually written in emacs, from both our sides. That changes the dynamic between

Now, with great age comes great responsibility. Which is why we have currently moved our current heights of blogging to the heights of Markdown. All edited through emacs. Which is what all the cool kids are doing. Which means they’ll probably move once us old skunks come around stinking up the place. But for now my hipster privilege should be in check.

In a way, this is one lean, low-level, type of a beginner’s experience using emacs. Now, my attention was not solely on the one true piece of software, since the GYSO team still has to sync our work somehow. This led us to git, the second greatest piece of software of all time. As a MacOS user, I had to open a scary terminal for the first time in my life. Actually, that’s an exaggeration, I had to do this just to get my emacs config working the way I wanted it to, as you’ll see in the what went wrong section.

emacs-picture

Pictured, my actual blog writing setup. Not counting the l33t-hacker-git-commits I now have in my laser-fueled rocket-brain.

I love org-mode! For a long time, I’ve tried using tools like Workflowy and Dynalist, to some avail. But something has kept me from getting things done with them. In hindsight, it might be the lack of actionable planning, the inability for me to just go “hey here’s a thing to do, schedule it”. The org-mode agenda solves this most fantastically. Using other internal tools like org-capture will completely eliminate everything I’m using in Google products right now for things like time tracking and keeping logs of certain things like music practice. I still haven’t quite figured that out, but that will come in due time.

For me, emacs has replaced

  1. Google products in general
  2. Dynalist / Workflowy
  3. Every other text editor that I was using before. Which were few, but emacs has support for the really weird stuff like Sonic Pi, Supercollider, and Processing, which is super exciting stuff that I want to delve into once I have organized my life a little more.
  4. Every other text editor that I want to use in the future, for maybe CSS or HTML development of this blog, my own website, Faust or Python code, etc.

What went wrong?

Tim: Did you read it? Hahahaha! Isn’t it great? I especially love the absurd emacs “setup” he has there. They grow up so fast.

I take full responsibility for steering GYSO into this direction. Thor was actually interesting in making something “serious” like some sort of arsonist, but then the Tim nation attacked. Thor fought valliently, but now its time to embrace GYSO for what it is: Yes.

I have no remorse for my precise and brutal murder of what GYSO could have been. Thor’s first mistake was giving me a platform where I had even a shred of control over what I was putting out there. His second mistake was to allow it to fester and pretend for a few post that I was just an escentric co-blogger. He succumbed to the insanity, and is forever corrupted. GYSO now has the freedom to spred it’s foul wings and fly.

Now that I think about it, that last paragraph makes me sound like some sort of Lovecraftian monster: And Tim, Ender of Blogs, spread his 10,000 broken fingers onto the Keyboard of GYSO and raught a missive so fundamentally wrong that it forced a nation into insanity. The One called Thor, Keeper of the Tim, tried to hold back the rampaging Old One, but to no avail; for the Great Thor, Master of Boxes, had bore witness to the Insanity that Tim had so carefully crafted, and thus became corrupt. Tim, Holder of Goopy Droopy (weaver of the fate of kings and skunks), thus gained influence to steer GYSO onto the path that amused him most.

As the madness seeped into every crevice and every creature the Unspeakable Ones realized their mistake. For Tim, of the Superfluous Shed, had planned from the start to come into power through his own madness. Once the process had begun not even Azathoth could stop it. One by One the Old Ones and the New Ones and the Blue Ones and the Few Juans fell to the corrupting madness of GYSO.

In the end it was too late. As the last True Pawn fell it asked a simple question: “What went wrong?”

Thor:
Oh, you have no idea. Everything that could go wrong, went wrong. You see, for a non-programmer-but-still-a-poweruser, all this stuff with configuration files is daunting yet oh-so alluring. Naturally, I mess up. My problem was trying to make my init.el tangle together beautifully with an init.org. If you’ve done that very thing before, you already see why that doesn’t work.

So eventually Trying to do backups and whatever, just to keep track of what works with what, So eventually end up with a file structure like this:

init.el

init.org

init BACKUP.el

init BACKUP 2 WORKING.el

init final modified.el

init final modified fixed.el

init 2.org

init 2 FINAL.org

init 2 FINAL ORGFILE WORKING.org

init 2 FINAL ORGFILE (copy).org

Except I gave you the hilarious version where you get to easily identify the madness as it progressed. In real life, this stuff gets sorted alphabetically in my file explorer, creating an infuriating mess for my brain to deal with constantly higher levels of priority, combined with longer file names every time. The few times I did shorten them in real life, that just ended up being more confusing, probably since they weren’t screaming as much at my brain to react to.

Now at this point, I’m not a real emacs user, I haven’t configured a standard backup location for my files at this point in my config either. So this means that I not only had the file structure above to deal with, but also duplicates of most of them, to serve if the first one were to go out on then. But here’s the kicker; since my init.el wasn’t loading for just about the entire day, it still wouldn’t have mattered! emacs would have reverted back to default to duplicate the files.

Time spent No hours Few hours Tenth hour
Level of confidence Many This will turn out fine! Please someone save me already

As represented in this table, assuming it translates through the emacs export process, into Wordpress import process into graphics output process over the internet proces across your screen process into your eyes and brain decoding process was my level of confidence that this would have worked. Or that my life was worth saving or something.

UPDATE: I woke up the next day and my emacs was broken again.

UPDATE 2: I got it working. I think for real this time.

What happens next?

Tim:
What happens is that we ascend to a higher plain pf blogging. One where there are no rules and no fear. Here, in GYSO, we will be able to push the limits of what can be concieved of as a “blog.”

The stage is set, the spotlight is on, our socks have been learned off, and now the show must begin.

Sit down, shut up, and be amazed.

Thor:
Hopefully, it works from here on out. Before my update, I had the code that “worked” below here. Instead, you get the actual code that worked, now that I am armed with new knowledge, and like seven codes of lines shorter on my init.el. 2

    (require 'org)
    (org-babel-load-file (expand-file-name "settings.org" user-emacs-directory))

Oh and author’s note: You can totally tangle without org, it’s bundled with the software already, right? But I guess if you were to have it on an older system that you feed with breadcrumbs and children’s spit, from a time when babel and tangle wasn’t included in org in emacs in your computer, it would make sense to require it. Maybe not best practice, but if you need to make your 13 lines of code down to 11, go for it.

Footnotes


  1. Mirriam-webster↩︎

  2. I found this source somewhere on the internet. While I did try to find the original source, I am yet to be successful. Even doing a search for the code itself didn’t bring me much luck. I found it on Stackoverflow somewhere, good luck finding the source yourselves.↩︎