Life is a Challenge, but it's FUN!
My life has been fun, but at times quite challenging. Drought, earthquakes, crazy numbers of cats and at the same time, bugs, head injuries I watched from 15 feet away from my body, bad doctors, and a whole lot of bad characters.
But I keep going because it keeps getting better. I've been poor a long time, but I know money will come. How do I know? The drought ended. Nothing lasts forever. Bad people might try to make us look bad, but the truth always comes to light.
Which brings me to Awesome Sauce Java with Hot Sauce. Awesome Sauce is the language. It's dynamic and fast and puts Java in a format that works for me. I've learned more Java with it than ever before. But it kicks my butt a lot and frustrates me.
Like today, while working on the HTML generating code, I realized I implemented macros in a weird way. Or I'm not understanding how I implemented them. That happens sometimes when I haven't worked with a set of logic, block of code, or mode of operation. It takes a day or two to sort things out and get my head into the logic.
While that sounds like a pain, or even makes the language sound fragile, it actually is the way I work since the injuries, and the stability of the language is what allows me to make so much progress. And the design, but I'll cover the design in a separate post. I have a kind of blindness that forces me to iterate over things. I normally would have anyway, but I think I used to be a lot faster.
The thing I like about iterating through the logic of modules and units of the code is it gives me reason to tear things apart, rework them, streamline, and make them solid. Other programs are different. I can't convey how much different, except there's really never a sense of making things so stable I don't have to worry about them. With Awesome Sauce, I've found that once the logic is stable, it's pretty much stable forever.
That's a function of building on the lambda calculus. It's a very stable concept. Plus the way the language is implemented, everything inside and out is either an Atom or a Cons. What that means? Internally, it means that once all the cases are accounted for and all error conditions are handled, the code works.
It took a long time to realize that was the case with Awesome Sauce Java. But now that I get it? I get less tension in my belly when a bug crops up as I expand the language. Because the bugs tend to be in new code. Or they tend to be in really old code. If the old code breaks, it means I missed a case.
I'm hoping this gives you a sense of confidence in what I'm building. Because I'm not just doing what I've learned from three plus decades of writing software. I'm doing what my dad taught me when he did design work on the Apollo Space Project. He iterated over and over and over to make sure everything he looked at was 100% provably going to make it to space and back. His metric was stringent beyond belief: "One mistake, everybody dies." He said it over and over.
It's why I love having the opportunity to go into macros and see what I've built and how it's different than how Lisp defines macros. Because it's possible that there's an implementation detail worth hanging onto, or the design might offer a mode of working that provides functionality to special cases. While a lot of people like making code work, I really enjoy having the opportunity to learn new things while making them work.
I may be slow since getting hit in the head 7 and 26 years ago (those are the really bad ones). But it's nice to know the brain recovers with diet and learning. I can't wait to write about the diet I designed that made Awesome Sauce Java with Hot Sauce possible. I really hope the next crowd funding campaign helps you see why it might be a compelling piece of software at a very reasonable price, so we both benefit by having the tools we need to get more done in less time.
I hope I can keep working on Awesome Sauce Java with Hot Sauce for the next 150 years, it's so much fun. That's what I hope others think, too!
Have a great night!
Michael
But I keep going because it keeps getting better. I've been poor a long time, but I know money will come. How do I know? The drought ended. Nothing lasts forever. Bad people might try to make us look bad, but the truth always comes to light.
Which brings me to Awesome Sauce Java with Hot Sauce. Awesome Sauce is the language. It's dynamic and fast and puts Java in a format that works for me. I've learned more Java with it than ever before. But it kicks my butt a lot and frustrates me.
Like today, while working on the HTML generating code, I realized I implemented macros in a weird way. Or I'm not understanding how I implemented them. That happens sometimes when I haven't worked with a set of logic, block of code, or mode of operation. It takes a day or two to sort things out and get my head into the logic.
While that sounds like a pain, or even makes the language sound fragile, it actually is the way I work since the injuries, and the stability of the language is what allows me to make so much progress. And the design, but I'll cover the design in a separate post. I have a kind of blindness that forces me to iterate over things. I normally would have anyway, but I think I used to be a lot faster.
The thing I like about iterating through the logic of modules and units of the code is it gives me reason to tear things apart, rework them, streamline, and make them solid. Other programs are different. I can't convey how much different, except there's really never a sense of making things so stable I don't have to worry about them. With Awesome Sauce, I've found that once the logic is stable, it's pretty much stable forever.
That's a function of building on the lambda calculus. It's a very stable concept. Plus the way the language is implemented, everything inside and out is either an Atom or a Cons. What that means? Internally, it means that once all the cases are accounted for and all error conditions are handled, the code works.
It took a long time to realize that was the case with Awesome Sauce Java. But now that I get it? I get less tension in my belly when a bug crops up as I expand the language. Because the bugs tend to be in new code. Or they tend to be in really old code. If the old code breaks, it means I missed a case.
I'm hoping this gives you a sense of confidence in what I'm building. Because I'm not just doing what I've learned from three plus decades of writing software. I'm doing what my dad taught me when he did design work on the Apollo Space Project. He iterated over and over and over to make sure everything he looked at was 100% provably going to make it to space and back. His metric was stringent beyond belief: "One mistake, everybody dies." He said it over and over.
It's why I love having the opportunity to go into macros and see what I've built and how it's different than how Lisp defines macros. Because it's possible that there's an implementation detail worth hanging onto, or the design might offer a mode of working that provides functionality to special cases. While a lot of people like making code work, I really enjoy having the opportunity to learn new things while making them work.
I may be slow since getting hit in the head 7 and 26 years ago (those are the really bad ones). But it's nice to know the brain recovers with diet and learning. I can't wait to write about the diet I designed that made Awesome Sauce Java with Hot Sauce possible. I really hope the next crowd funding campaign helps you see why it might be a compelling piece of software at a very reasonable price, so we both benefit by having the tools we need to get more done in less time.
I hope I can keep working on Awesome Sauce Java with Hot Sauce for the next 150 years, it's so much fun. That's what I hope others think, too!
Have a great night!
Michael
Comments
Post a Comment