Things I'm Working On & All That Yesterday Stuff, Too

I need a job.

Meanwhile, I keep writing, because what's the point of saying you can write code if all you're doing is reading job descriptions, writing cover letters (barely), and sending resumes (barely, too)?  I spent years sending letters and applying for all kinds of jobs. Strangely with literally no response. Ever. I work. It's been a strange 7 years since getting assaulted by that guy who came close to tearing my head off.

Today I'm working on and writing a few things:
  1.  Class definitions. With Awesome Sauce Java, you'll be able to create
    1. class definitions like Java
    2. defclass definitions like Lisp.
  2. One of the things I'm exploring is merging class definition into a new form that's like a combination of both the Java and Lisp methods. If this comes to fruition, it won't obviate class or defclass, just be another way to create classes.
  3. Concurrency
    1. Oh boy was I thinking about concurrency last night and this morning. Will write a separate article on it. Now that I'm online, I need to do a little research, but this morning I wondered if it makes sense to say concurrency is the quantum physics of computing. You want immutability when you want immutability, but you want mutability when you want mutability, and there's some kind of mystery transitional state that can allow both to exist, but we haven't observed it or proven the math, we just know it's kind of there.
  4. JavaFX
    1. Might wait to work on JavaFX tomorrow, but I'm wrapping my head around not being able to create instances of controls, like Button, outside of an Application instance.  I don't understand. I mean, I do. But I don't.
    2. May build a small application today, but will have to see what time allows. It won't take long and all the code is in place. I might want to combine a few JavaFX things so I can maybe do something more than open a window and add a few UI elements.
  5. Names, names, and more names
    1. I've been annoyed by packages, classes, methods, variables, and how we name things for a while now.  Not only is a lot of how we arrive at naming elements of software randomly arbitrary, if well-defined, the amount of thought devoted to avoiding name and namespace collisions is, imho, a significant drag on programming speed.  Will write an article on what I've been looking at and, more importantly, what I'm doing about it.  I've been working on a solution that looks promising, if totally discovered by accident.
  6. Will be writing a separate article on the shape of Lisp code.  Paul Graham wrote about the shape of code helping to understand function and that's so true and essential, I'm going to riff on that, but for the purpose of starting to highlight how I'm addressing the editor.  Whatever I write will attempt to extend what I wrote about yesterday. Will add a link to whatever that was here in a little while. I'm just getting warmed up.
  7. Might post some sample macros, but first I'm going to give some thought to extending my testing model.  It's time to set up automated testing and using ASJ as the language to drive the quality movement here at...I don't have a company name yet. Maybe I'll set that up today.
  8. Going to spend a few hours today, or maybe ten or twenty minutes, starting my expedition to rewrite Java.  One of the things I'm going to highlight with ASJ is how it's possible to alter the shape of both Java and Lisp.  Not to redefine the language and lose Java and Lisp, but to evolve the language to offer the everything both Java and Lisp offer, but where possible, streamline the names and start evolving both languages.  Maybe. Hopefully. Maybe I'll write about this today. Because this is going to be a two-pass optimization:
    1. Rename elements of the JDK and Lisp for readability and expressiveness:
      1. Cleaner, shorter, more expressive names
    2. Rewrite classes, especially when a class is mutable or otherwise not thread-safe.  While I'd like to build a concurrency model within ASJ (and will), it's clear that there are areas of the JDK/JVM that aren't capable of supporting concurrency, even if ASJ was.  Might as well start to get a sense of the scope of the work and where the potholes are.
  9. I did some work yesterday that's going to make standalone apps possible.  So I'm going to do a little work building one and write about the experience.  The first app will probably be the calculator that's already built using Swing.  This is actually one of the more important things I've done in the last few months and I'm really excited to finally have taken the time to set things up so I can start really exercising ASJ.
  10. I've been thinking about concurrent and parallel processing. If time allows, I may write about some things I've been thinking about.  I have to make sure they make sense before I write about them.  Was trying to describe what I'm thinking about and trying to design, but I'm not sure it makes sense.  There are issues regarding code/compiler output and concurrency.  There are also issues about parallelism that are higher level.  Might just read about this today.  Will have to see how it turns out.
 That's a partial list of what I've been thinking about and working on since last night.  I wrote an article, too.  But I have to reread it.  I find I make far more sense in the morning than at night. Not only that, but I'm funnier in the morning than at night. I get way more done in the morning than at night, too.  It's good to know, but the first sentence of this article defines why I have trouble sleeping at all.

Have a great day!

Michael
2/27/18

Comments

Popular posts from this blog

I Was Studying Exceptions, But Got Confused, So I Luckily Designed The Code Editor Instead

Just a Short Update

A Day Away From a Glowing Screen