Monday, January 25, 2016

A Lisp Mind, Trapped in a Java World

You know how it is.  Slogging names like SomethingReallyLongWithItsTypeAtTheEndDialog.  Groveling through docs endlessly while trying to remember how to make the widget work right, but the names and the choices are so similar, you have to try a bunch of them before figuring out the right one, which might turn out to be the wrong one for some configuration or target system, but the docs are so light and confusing, they don't tell you that, you have to find out for yourself while the pressures of life squeeze like a vice and HURRY UP AND SHIP IT is all anybody ever says to you along with I THOUGHT YOU WERE DONE?!  Madness.  As if that's not enough, endlessly waiting for the build to finish and launch before you can agonize over the slow-motion rumblings of a debugger spitting out insane volumes of meaningless crap for an indication of what really went wrong that got set to null for you to find like buried treasure somewhere up there after scrolling around.  Again.  And again.

I wrestled with a simple math problem in Java for a while yesterday.  For far longer than it should have taken.  I was progressively more sure my brain injury was slowing me down.  Or I did think it, because I couldn't believe I couldn't solve a simple trigonometry problem involving a handful of variables.  I spun over it in Java, editing, thinking, compiling, waiting, building, testing as time flew by.  I started thinking I needed to get out of programming and accept I was old, broken, and rapidly losing intelligence and vitality.  I paced the room waving my hands as each held variables and my mind creaked and groaned under the strain and I felt the desire to overcome a simple problem rapidly diminishing.  I never quit, but quit was all I heard in my head, screaming like a Siren into every fiber that was me.  I was almost seduced, but then I remembered...Lisp.

I fired up Clisp.  I wrote an equation and fed it variables.  Then, I wrote a loop with an equation and the output got me... thinking.  Where my mind had been a wildly vibrating pile of gelatin about to implode only minutes earlier, it was suddenly calm, focused, and coming to life.  In two minutes I had carefully considered each step, then prototyped, considered some more, realized, and, eureka, solved what took hours to only confound me in Java.

For a moment, life was good again.

One day, I hope to be able to go forward into Lisp for good and the onto construction of some of these crazy ideas I have, and not get dragged into hell and halfway back to C++ ever again.  Amen.

Wednesday, January 20, 2016

Just Venting

I can't wait to get back to Lisp development and soon.  So many tools to build and Android/Java just keeps getting me down...

It's not Lisp the language that excites me.  It is.  But it's not.  It's the opportunity to experiment and try things out and do real rapid thinking that Lisp offers.

It's more than just fun to do real R&D and define ways to do things just to see how they work and what kind of structures they require and what kind of tools they need and see real things develop as fast as I can think, as opposed to as fast as I can type, compile, test, and repeat.

What I enjoy about Lisp isn't that it's the be-all-end-all of languages, but the beginning of exploration.  And an exploration anybody can pursue.

Wednesday, January 13, 2016

Early January Update

I really need to work on coming up with better titles for articles.

I've been working on Android apps.  It's keeping me from writing my pending Java-based Lisp-thing.  It's not keeping me from working on it at all, because it's the next app in the queue.  I just had to get some apps out of my head and get the flow going - for personal as well as professional reasons.

The last Android app is in the final stages.  Hopefully, not more than a couple of more days.  Then it'll be on to the Lisp thing I'm working on, because I have plans to make it the foundation of a Java-based Common Lisp on every platform kind of thing.  With a slammin' interface that *does things* that'll blow your mind.

I hope, I mean, I really hope so.  But don't hold me to it.  My kind of cool might not be your kind of cool.  Though I'm pretty sure I wouldn't work on it if it wasn't some kind of cool.  It's Lisp, how could it not have some kind of maximum inherent cool in it?

After all this Android coding, I'm looking forward to getting into a Common Lisp groove.

Monday, January 4, 2016

Plans Are What Happen In Between Distractions

I'm trying hard to steer back to work in Common Lisp, but with the writings about the Bible/Torah, and parasites, and health, along with the Android Development on normal apps, it's taking some time.

Here are some plans I have to write about.  The articles will come along with code on Github.  I'll be adding detail as time allows, in hopes that putting my eyeballs here and on my Lisp environment will allow me to rip through problems in that special way only Lisp makes possible.  To me.  You go ahead with your php and java, yo.

Articles, topics, and tools:
  1. Lisp editor with some kind of layer that will be like m-expressions.  It's still on paper, but it looks quite promising.
  2. New package system.  Also on paper (and if it works.  I'm pretty sure it'll work.  I'm just trying to build tension.)
  3. Language concepts that will use the m-expression layer.  Concepts?  Might be concept.  Singular.  It's been a while, I have to check.  Oh, I remember, there's at least two or three things.  There are plural concepts.
  4. Code and concepts I've dinked with over the years in Lisp:
    1. Charting package
    2. Poker game
    3. A different way to do polymorphic methods
    4. Accounting system...maybe.  Accounting is so very boring
    5. Tools for generating Java code
    6. Tools for generating Android Java code
    7. An editable operating system with simple apps and interfaces that's faster than fast, but maybe the editable part will be too confusing.  And the interface is too simple.  And the debugger needs to be normal-human-readable.  I'm not sure it's really workable, but it'd be fun to share and joke about, at the least.  I liked it when I had it running, but I never know if my bias as author affects my desire to believe things are as super-awesome as they seem and the math proves me a fool.
It seems the brain damage I contracted so very long ago gummed up the works with amnesia and aphasia-ed me up to the point I'd write things and then couldn't figure out how to get them out of my head and off my computer.  I can definitely correlate the head injuries to the abject poverty, so if any of this helps me find work?  Whoot!  That'd be a good day.

[Note to potential future investors and/or employers: the diet (Biblical section above) has made recovery from severe brain damage possible.  Leave an engineer alone for 20 years and they're going to figure some kind of problem out...eventually.]

Not sure how much of the list above is relevant anymore, but I think some of the concepts are still pretty slammin'.  But I'll share what I can and you can maybe tell me what you think as vociferously as you like.

My hope is that the editor and package system with m-expressions works as well as it seems it could.  I know I sound skeptical or even hesitant, but until things are done and coherent, it's easy to lay an egg.  Look at me, I'm hedging to software engineers.  You get it.  Marketing peeps are the dweebs that over-promise and demand miracles.  I've always felt that engineers just want things to work well with some modicum of efficiency and within a reasonably normal work-day.

My real hope is that something here gets me hired to slog lisp code, even if it's based on sales of a product I build.  That way I can build my super-OS on top of mobile devices and make those things fast and easy to use, so people put their devices down once in a while and look around a little.