I have tried to write my own text editor. I succeeded, yet failed.
I mean really… who the hell, in this modern day and age, writes their own text editor?1 Additionally, when said text editor is written, who the hell writes one with separate interaction modes? Long story short: my editor was a lame clone of the EDT editor2 in vogue… well, never.
I would like to take this moment to write off my sinful ways to youthful numbskullery. That is, there was a time when I thought that I shat programmatic gold and anything written by hacker A could be improved upon by myself. Why the hell should I use Pico? I could do better than that! Nano? Gafaw! Emacs? Eight Megabytes and Constantly Swapping! LOL! What a human buttwipe I was.
I suppose it was a nice learning process to write my own editor and all of that noise3, but fruit of my labor has left me wanting… yearning4. That is, not only do I have a pile of C code that even Notepad scoffs at, but I have not taken it on myself to actually learn an editor that would happily urinate all over my sad effort. My life would have been better served had I ignored my inner dickweed and simply learned what the heck a Meta-key was.
My continual lameousity
I have since learned my lesson, scraped my horrible source code5, and attempted to pick up Emacs. There is one giant problem however; I am so corrupt with the ways of a thousand editors, that Emacs confuses the piss out of me. I get along alright I guess, but I have experienced that awe that most Emacs n00bs feel whenever they sit down with a true master. That is, my boss and I sat down recently to hack through some source and I was astonished to see the way in which he utterly tore through Emacs with the intensity of a 1000 ninjas on fire — I mean the guy has bucky bits coursing through his veins. I felt like crying.6 Think of it this way: he was fluently speaking Emacs, while I only know how to say “where is the toilet” and “I are American”. Perhaps this proficiency comes in time, but damn!
Where to go from here
They say you can’t teach an old dog new tricks. I’m actually not that old, but I am certainly mangy. Perhaps there is hope for me yet. However, I have to be much more systematic about my Emacs education:
Live in Emacs
There is a slight problem here. That is, I do 98% of my work on OSX boxen and my Emacs of choice is the lickable Aquamacs. The problem here is that it is too easy to fall into the old mousey habits7 this way. Therefore, it might serve to use the command line Emacs instead, or perhaps burn myself with cigarettes every time I hit Apple-S instead of Cx-Cs. Need a shell? Mx shell. Need a browser? W3.
Read about Emacs
My biggest problem with Emacs is that I have very little idea what it’s capable of. In the months that I have dabbled it appears that it can do anything. That knowledge is not extremely helpful however as I have some practical goals that need to be addressed (e.g. IDE-ness, notetaking, etc…). I have to really sit down and do some research these issues.
I had written a stupid little minor mode for my hobby language Broccoli and have found the available references on creating minor/major modes in Emacs much akin to drinking flaming Bacardi 1518… from a firehose. To a n00b, everyone seems like an expert.
A quick search on SF.net will dredge up tons of lame-ass editors. ↩
To be fair, I’m sure that EDT was a great editor at one time, but I grew up during the birth of ubiquitous computing and things like VMS seem akin to unicorns and elbow witches. ↩
Rolling your own gap buffer is something every first year CS student should do right? ↩
Sometimes I just sit and yearn. ↩
It stills sits in an old CVS repo… the bitwise equivalent of purgatory ↩
There’s no crying in Emacs. ↩
I feel that the amount of time that I spend moving my hand from keyboard to mouse accounts for 13% of my day. This is really ridiculously inefficient given that I already feel like I have ADD induced by the constant stream of Internets chattering. ↩
Bacardi 151 is for me the epitome of evil. Any brown liquor is evil, but 151 is like the gaping maw of Satan devouring my soul. ↩