On frustrations...
Feb. 15th, 2008 01:41 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
I had an epiphany the other night regarding my research: it's hard. (So I'm slow to catch on.) When I see the full blown solution, end to end, in my head, and can see how it would strongly affect disparate realms of software production, from education to tools to governance, it's hard to remind myself that even though the small 'detail' I'm currently working on is just a detail in the larger tapestry, it doesn't mean it's trivial. I've been setting my expectations for myself, my schedules, and presenting same to others to set their expectations from, based on the assumption that 'it's just a detail'. These 'details' are still primary research... just because they're not the overarching solution doesn't mean they're not relevant, and worthy of attention and publication.
Last night it hit me what I've actually been writing (and re-writing, and re-re-writing, and re-re-re-... oy) all these years: a suite of semantic compilers. I'm compiling to semantics, not machine code. No wonder it's a pain in the ass... I'm writing a freaking *compiler*, and having to manipulate compiler internals that weren't designed for this direction of abstraction. If you look in gcc, edg, javac, etc, they try to strip out the semantics to make it as close to machine code as possible, and I'm having to reverse that, and then *extend* it further up the abstraction chain. This is exactly the opposite direction of a traditional compiler and while it has strong similarities with other static analysis tools, it's comprehensive in ways they're usually not. The final form is appropriate for all sorts of direct, fast, immediate analysis that has to be done ad hoc with the other tools... what previously were complex algorithms, are now simple queries.
*deep breath*
Perception -> expectation -> frustration.
The first link just changed for the first time since I started this project 10 years ago. I'm surrounded by riches of original research, and have been ignoring them in favor of the largest level goal. It doesn't help that I keep adding at that end too.
Edit: If I were ever to do the annoying auto-music/MySpace page thing, I do believe this would have to be the clip: It's just too perfect.
Last night it hit me what I've actually been writing (and re-writing, and re-re-writing, and re-re-re-... oy) all these years: a suite of semantic compilers. I'm compiling to semantics, not machine code. No wonder it's a pain in the ass... I'm writing a freaking *compiler*, and having to manipulate compiler internals that weren't designed for this direction of abstraction. If you look in gcc, edg, javac, etc, they try to strip out the semantics to make it as close to machine code as possible, and I'm having to reverse that, and then *extend* it further up the abstraction chain. This is exactly the opposite direction of a traditional compiler and while it has strong similarities with other static analysis tools, it's comprehensive in ways they're usually not. The final form is appropriate for all sorts of direct, fast, immediate analysis that has to be done ad hoc with the other tools... what previously were complex algorithms, are now simple queries.
*deep breath*
Perception -> expectation -> frustration.
The first link just changed for the first time since I started this project 10 years ago. I'm surrounded by riches of original research, and have been ignoring them in favor of the largest level goal. It doesn't help that I keep adding at that end too.
Edit: If I were ever to do the annoying auto-music/MySpace page thing, I do believe this would have to be the clip: It's just too perfect.
(no subject)
Date: 2008-02-15 07:20 pm (UTC)On the other hand, a heap of bricks, no matter how carefully baked they may be, is not a house. And if the bricks are poorly baked, they can't be assembled into your house at all.
It's particularly difficult when you know what the house should look like when it's finished, but you don't yet know the properties of the bricks. (Remind me to tell you sometime how the statement "it's only an implementation detail" affects my life these days.)
If it were easy, somebody else could do it. :)
(no subject)
Date: 2008-02-15 07:30 pm (UTC)The problem is, I'm building an acropolis, and trying to modify materials designed to build a ranch house.
"Okay, now I've got the bricks, and I can make a kiln to smelt the ore to make the tools to start working the steel, to...."
"What are you making?"
"A *city!"
"Uh, looks like you're playing with bricks."
"No, no, no, this is just..."
"Uh huh."
"Look, this is a new way of using bricks, and..."
"I thought you said you were making a city?"
"I am! This is just a detail!"
"Uh huh."
"No, really! It's all steel and glass and green spaces and efficient and..."
"Those, those are bricks."
"Yes, but... City!"
"Bricks."
"YOU HAVE NO VISION!"
"You're a nutter."
(no subject)
Date: 2008-02-15 08:27 pm (UTC)Which in no way changes the fact that you *are* a nutter.
(no subject)
Date: 2008-02-15 08:49 pm (UTC)"They called me mad! MAAAAAAAAD!"
(no subject)
Date: 2008-02-15 11:48 pm (UTC)(no subject)
Date: 2008-02-15 08:03 pm (UTC)Good luck. :p
(no subject)
Date: 2008-02-15 08:49 pm (UTC)(no subject)
Date: 2008-02-15 09:25 pm (UTC)(no subject)
Date: 2008-02-15 10:09 pm (UTC)The first link just changed for the first time since I started this project 10 years ago.
Excellent.
(no subject)
Date: 2008-02-15 10:34 pm (UTC)(no subject)
Date: 2008-02-15 11:00 pm (UTC)I can see that you're thinking, and read the results, and I can pretend that it makes sense, but it's gonna take a different man than I to say whether they're true or not. Or instead just the ramblings of a dude whose ponytail band is too tight so it's cutting off the circulation to his brain!
(no subject)
Date: 2008-02-15 11:02 pm (UTC)(no subject)
Date: 2008-02-15 11:47 pm (UTC)(no subject)
Date: 2008-02-15 11:54 pm (UTC)*cue violin music* (http://fozzy42.com/SoundClips/Movies/YngFrank/violin.wav)
(no subject)
Date: 2008-02-15 11:47 pm (UTC)(no subject)
Date: 2008-02-15 11:50 pm (UTC)