A Little Background About the Guy Building Awesome Sauce
I was giving a demo to my son the other day. And it was awful. I've been working so hard on just exploring and framing out enough of Awesome Sauce Java with Hot Sauce, that it's a developers dream, but an "elevator pitch" nightmare.
Fortunately, it'll be easy to fix. Once I get macros implemented, I'm going to finish a configuration I started the other day that will make it possible to manage the state of all the parts of everything related to showing what makes ASJ w/HS special. I mean, I'm supposed to say it's cool. But, since you don't know me, you might think I'm just hacking on something because I think it's cool.
Truth is, I can only work on things that are measurably "better" with respect to some meaningful metric. I've been working on software continuously since 1980. The weird part about my career, is that it tanked after a savage head injury. At the time, I was at Apple. They had just made a job for me, opened the gates of a sort of "tech heaven" and said, "do whatever you think we need." I'd save a project by applying technology and in a way that empowered all projects to go faster and improve quality.
After the injury, I mostly forgot who I was. I'd spent 5 years trying to learn enough to just get noticed to get a job at Apple. Then I spent about 2.5 years slogging in test on the Mac OS team and then on the MacDraw Pro team. I probably had the amazing job where I got to modify real estate to accomodate a computer lab, write and teach classes, hold special interest groups, and along with four other people, learn how to read and apply budgets from the CFO so we could "run a division or the company".
The injury was bad. The doctor was worse. My life tanked as I blindly wandered the country without even being aware I was broken. Brain injuries are the worst, because they turn the lights out and you don't even get to know what's missing. It's just gone. My family basically shrugged and accepted I was gone, I guess. Everybody had their own battles to fight.
I grew up in wild extremes. My dad did design work on Apollo. He was beyond extreme just being him. Apollo gave him the opportunity to beat the insanely stringent requirements of the project into me along with his belief that life was far less forgiving. He only left me with a handful of teachings, but "one mistake everybody dies", is one he literally beat into me with visual aids. I'll share that experience in a separate article.
We live in a cocoon of great good fortune. Life is filled with peril that comes in an instant. Disease, war, famine, and a million other potential devastating events can wreak havoc with us and our exceptionally fragile earth and ecosystems. I tend to view software from the same stringent requirement. So while Lisp is my favorite language, it suffers from glaring issues. Without the time away from gainful employment, I wouldn't have had the opportunity to learn not only what the issues with Lisp (and Java) are, I wouldn't have had the opportunity to see if they could be made to evolve. Or, more specifically, if I could evolve the language in any meaningful way.
While that might look good on paper, if you're aware of the Lisp community, you'd know that was like desiring to climb the K2 on top of K2. The Lisp community is prolific and the language is out there. I've known some smart programmers, but the Lisp programming world is out there. So the notion of improving Lisp, while easy to vocalize the idea, has an air of Don Quixote, tilting at windmills, to it.
But a bad head injury provides context. I described what it's been like to be injured in mind, how to view it, to my family: imagine sitting at at table, on a stage in total darkness. The only light is a small cone light over the table. The only thing illuminated is whatever is on the table. What's on the table? Software designs. Programming language ideas. Inventions. How could that be? Did I mention dad and Apollo? He invented things. He taught me to invent things. Mom studied patents for fun. It's a family thing, I guess.
What I lost in the head injury was 99% of what I'd learned relative to time. The 1% left was from childhood and so much of that was invention, it enabled me to not only keep writing software, it empowered me to focus solely on it, free of all distractions. Distractions like where my next meal was coming from, how much $3 is in the grand scheme of things (a cup of espresso and a bunch of hours writing software/inventing), and any relationship to another human being. Except my son.
I have an awesome son, but he's probably tired of me and my broken. I've had the opportunity to not only taste abject poverty, but really explore software from the inside out. Because, while wandering blind, I've always written and in my favorite programming language: Lisp. What I've learned is how to interact with software and human-computer interfaces. Not that what I've discovered is earth-shattering. It's not intended to be. What I'm working on, is building language and interface tools that work for the people it works for.
I'll go into more detail about the evolution of the software and some insight into what I've been going after and why, so you know that I'm not just building another language to make another language so my language is out there. I'm really looking to build tools that are measurably faster, more stable, and expressive, so the people who enjoy using them do so because they help them get more done in less time, learn more, and empower them to explore in ways they might not have been able to.
More to come...
Have a nice day!
Michael
Fortunately, it'll be easy to fix. Once I get macros implemented, I'm going to finish a configuration I started the other day that will make it possible to manage the state of all the parts of everything related to showing what makes ASJ w/HS special. I mean, I'm supposed to say it's cool. But, since you don't know me, you might think I'm just hacking on something because I think it's cool.
Truth is, I can only work on things that are measurably "better" with respect to some meaningful metric. I've been working on software continuously since 1980. The weird part about my career, is that it tanked after a savage head injury. At the time, I was at Apple. They had just made a job for me, opened the gates of a sort of "tech heaven" and said, "do whatever you think we need." I'd save a project by applying technology and in a way that empowered all projects to go faster and improve quality.
After the injury, I mostly forgot who I was. I'd spent 5 years trying to learn enough to just get noticed to get a job at Apple. Then I spent about 2.5 years slogging in test on the Mac OS team and then on the MacDraw Pro team. I probably had the amazing job where I got to modify real estate to accomodate a computer lab, write and teach classes, hold special interest groups, and along with four other people, learn how to read and apply budgets from the CFO so we could "run a division or the company".
The injury was bad. The doctor was worse. My life tanked as I blindly wandered the country without even being aware I was broken. Brain injuries are the worst, because they turn the lights out and you don't even get to know what's missing. It's just gone. My family basically shrugged and accepted I was gone, I guess. Everybody had their own battles to fight.
I grew up in wild extremes. My dad did design work on Apollo. He was beyond extreme just being him. Apollo gave him the opportunity to beat the insanely stringent requirements of the project into me along with his belief that life was far less forgiving. He only left me with a handful of teachings, but "one mistake everybody dies", is one he literally beat into me with visual aids. I'll share that experience in a separate article.
We live in a cocoon of great good fortune. Life is filled with peril that comes in an instant. Disease, war, famine, and a million other potential devastating events can wreak havoc with us and our exceptionally fragile earth and ecosystems. I tend to view software from the same stringent requirement. So while Lisp is my favorite language, it suffers from glaring issues. Without the time away from gainful employment, I wouldn't have had the opportunity to learn not only what the issues with Lisp (and Java) are, I wouldn't have had the opportunity to see if they could be made to evolve. Or, more specifically, if I could evolve the language in any meaningful way.
While that might look good on paper, if you're aware of the Lisp community, you'd know that was like desiring to climb the K2 on top of K2. The Lisp community is prolific and the language is out there. I've known some smart programmers, but the Lisp programming world is out there. So the notion of improving Lisp, while easy to vocalize the idea, has an air of Don Quixote, tilting at windmills, to it.
But a bad head injury provides context. I described what it's been like to be injured in mind, how to view it, to my family: imagine sitting at at table, on a stage in total darkness. The only light is a small cone light over the table. The only thing illuminated is whatever is on the table. What's on the table? Software designs. Programming language ideas. Inventions. How could that be? Did I mention dad and Apollo? He invented things. He taught me to invent things. Mom studied patents for fun. It's a family thing, I guess.
What I lost in the head injury was 99% of what I'd learned relative to time. The 1% left was from childhood and so much of that was invention, it enabled me to not only keep writing software, it empowered me to focus solely on it, free of all distractions. Distractions like where my next meal was coming from, how much $3 is in the grand scheme of things (a cup of espresso and a bunch of hours writing software/inventing), and any relationship to another human being. Except my son.
I have an awesome son, but he's probably tired of me and my broken. I've had the opportunity to not only taste abject poverty, but really explore software from the inside out. Because, while wandering blind, I've always written and in my favorite programming language: Lisp. What I've learned is how to interact with software and human-computer interfaces. Not that what I've discovered is earth-shattering. It's not intended to be. What I'm working on, is building language and interface tools that work for the people it works for.
I'll go into more detail about the evolution of the software and some insight into what I've been going after and why, so you know that I'm not just building another language to make another language so my language is out there. I'm really looking to build tools that are measurably faster, more stable, and expressive, so the people who enjoy using them do so because they help them get more done in less time, learn more, and empower them to explore in ways they might not have been able to.
More to come...
Have a nice day!
Michael
Comments
Post a Comment