What is the point?

Coding in obscurity

I’ve been working on some code lately. I desired the thing I created, but it is mostly art for me. The actual, initial purpose is not something I actually need or would use very often. I wanted it anywoy. I think it could be helpful to others. So I made it. I learned a lot, and I enjoyed the process. I also very much enjoy using the thing I created.

My code is, I think, beautiful even if very few people ever look at it. The way it works is delightful, and it is very helpful in the service it provides. This is enough, because my greatest desire beyond the creating is my desire to share. I hope people will like it and use it. That it will help them discover and learn and do. But really, in this world, my new package is destined for obscurity, buried in a huge library of other software, never to be seen again.

But who ?

Who will find my software? I have no illusions about who might see, and then want to use this particular software. It is automatically limited by its defacto audience. In reality some of them may use it, I do. In fact, I use it everyday at the core of my workflow. That suprises me.

New initiates to our world, is who I hoped to reach. But of course that is nearly impossible.

From the beginning this project was an attempt to open the doors to new people, such that they may discover this world that I am a part of. This code has grown much beyond that but I wonder if it is enough to escape obscurity.

The problem.

My software was created, and exists in a greater world of software. In a sense the way a Minecraft tower exists in Minecraft, or Zenie, my Tauren druid exists in the World of Warcraft.

Most people have vague ideas about this world in which I have made my art, they have often decided upon its nature from uninformed opinions or at least incomplete ones. It takes a bit of wandering before an opinion could be considered complete. Zenie is only a 32, her exploration of WoW is ongoing, and she’s decently powerful being in that world. She still has a long way to go before she can say that she knows what that world is.

This software world has earned a reputation over time, and like todays politics much of what is believed is a contortion of the truth. Because of it’s age, it may even have a reputation in the broader population outside of the technical world it lives in. Mostly, that opinion, is an unfounded ‘its not for me’.

It is also a bit of a chameleon, I use it my way, everyone else uses it their way, It can be vastly different from person to person. This fact makes it very difficult for people who have just entered the rabbit hole to understand what they are seeing. Everywhere they look the same things appear differently. My goal is to help provide a path which reveals the man behind the curtain by obtaining a variety of experiences. It is an adventure, there is lots to learn, and the more you see, find and learn, the easier the next rabbit hole adventure will be.

How ?

I’m not one to hold hands, or spell out the meanings behind my art. How and what you do with it is up to you. You will need to go down the rabbit hole to my room of doorways. Each leads to yet another small world that you may explore. I’ve given clues as to how you might explore each world you enter, I’ve given easy access to the instructions that each world provides, and of course you can exit anytime you like if you can figure out how.

There are still the usual suspects to be encountered, but everything you need is there behind each door, you can even read the instructions before-hand.

What is it ?

So what is it ? That is both easy and difficult to say. You can consider my software as a room of doors or a library. Perhaps as cave with many entrances, and you feel a draft.

Each entrance leads to another world, created by others, for their own purposes, or for the general public as a starting place to build your own. Unlike the game of Wumpus, the entrances are labelled so you might know their intentions.

It is also much more than that. But this is the original intention.

But this world, what is it?

Ok, I’ll tell you. But remember, words have power, they evoke unknown opinions, forgotten experiences, and the worst, internal fears and limitiations. Your self limiting thoughts and fears, or maligned point of view could prevent you from exploring these worlds and finding the gifts that they have for you.

Close your eyes, take a deep breath, imagine a world of unexpected things to be discovered, borrowed and used. A world full of paths leading to new places, new rabbit holes and more doorways. Doorways to the worlds created by others for you to explore and learn and borrow from for your own world should you decide to create one.

Keep that image in your mind, close your eyes again, take a deep breath.

This first image is 3 of the 4 modes plus an info report. On the left is Emacs configuration repositories, on the right is all other repositories, and below it the installed repository listing.

Here is a screenshot of the uninstalled repos, the installed repos and the categories-mode which is just a fancy verbose selector. Categories can be whatever you want.

Here is how I usually use it, I wanted to start another perspective to work on this post. I use the installed-mode to visit, search, investigate and create persectives on installed repositories. I happened to have just fixed a typo in the keymap at the time.

My software that I am so happy to give to the world. Which I think is beautiful from the inside out. It is beautiful in so many ways, from it’s parenthesis, its documentation, how it behaves, and finally the service it provides by creating easily accessible doors to other worlds. It is also great interface to all of my projects that I use daily.

It’s called Emacsn. Emacsn is a small piece of software within the vast world of Emacs. What do you have if you have many Emacs’ ? I think you have a herd of Gnu Emacsen. I’m just lazy and left out the e.

The careful obsever you might notice that Emacsn is actually, a small part of it’s its future self, Rrepo. I’ll get to that.

What ????

Ok, I can’t imagine what you think Emacs is. What is it to you? Is it some obscure tool that only techies use? Is it an editor ? A self contained LISP programming environment ? A coding environment for all programming languages ?

Is it a word processor, a publishing tool, a web blog system, or a news reader? Do you use it to write and publish music like I do ? Or are you a mathemetician who needs a live notebook, and publishing of equations ?

Is Emacs your journal ?

Is it your filemanager ?

Is it a task manager, a spreadsheet, a calendar, or a timeclock and invoicing system? Is it an accounting package ?

Do you use it for your presentations, writing papers and publishing pdfs ?

Do you use one of it’s javascript free browsers to traverse the internet?

Maybe you use it for communications with IRC, Mastodon, Slack or Org.social.

Is it your Email client ?

Is it your RSS and youtube channel reader/watcher ?

Is it your ebook and comic book reader ?

Is it your music player ? which player do you use?

So many things.

Emacs is many things, and really there is no limit as to what it can be, or how it can be for you. Everyone has different wants and needs, Emacs is here for us all.

Emacs is a completely malleable world where anything is possible. The possibilities are always growing.

Being all of those things, can be intimidating. It’s not intuitively obvious all of that and more is actually there, and the community is notoriously geeky. It’s founder is notoriously opinionated. I have to agree with him that at this point Free Software is the only way forward. It has always been the only way forward, it’s just really obvious now.

I use emacs for almost everything I use a computer for. If I am on my computer I am 99% likely to be using Emacs for whatever it is I’m doing. Writing this, or coding, or responding to emails, playing music, its all here.

That Emacs is such a chameleon is scary, and the tech community that embraces it can be formidable for non-techies. There are a growing number of non-tech people in the communities. Writers seem to be growing in number. Enough that Emacsn has, in it’s non-exhaustive list, 3 or 4 different choices for writers, and one of them has a a nice guide book.

My project Emacsn was created to give you access to the many other worlds people have created for themselves and others. Emacsn allows you to easily add and explore their Emacs worlds, discover, borrow, make them your own, or not.

On the path to obscurity

Emacsn is less than a month old, It has a limited audience within a somewhat less populated world to start with, and while I intended to bring it to Melpa and Elpa, there is no longer a reason.

Emacsn is destined for Obscurity.

The problem is that as soon as it was “done”, I wanted to misuse it. I wanted it for other things besides Emacsn. It begged to be abstracted.

It took very little time and just a couple hundred more lines of code, and Emacsn had become Remote Repo. A bit more abstraction and glue, Rrepo is now quite nice and almost 1000 lines longer. You know it’s right when features start popping out of your code. It works for all my repositories and it still has all the functionalities that Emacsn had and more. It’s organisation and use is much more universal and quite pleasant.

So Emacsn is headed for obscurity and given it’s audience Rrepo will probably go that way too. It stands a bit of a chance. I have no illusions about it’s potential popularity. I had fun making it, I learned a lot and I have a nice tool I can use, some beautiful code that I wrote, and it makes my days just a bit more pleasant.

  • Emacsn has no purpose but can still be accessed here.
  • Rrepo is just next to it, right here. Rrepo should make it’s way to Melpa and Elpa soon.

© 2018-2024. All rights reserved.