freenode/#clim - IRC Chatlog
Search
4:10:19
nyef
And I had to do it in a fresh codebase, because, as I said, my then-current machine literally couldn't run the existing C++ codebase. Scary kernel messages because of the failing disk and all!
4:11:25
nyef
A couple of hours in, and I packaged what I had and posted a rant to the list. Basically, "here's how hard it isn't, get off your asses and make this happen".
4:12:11
nyef
But by that point I had some momentum on execution, and couldn't leave alone. A couple days later I packaged up a second version and announced it.
4:12:43
beach
I think the lesson here is to avoid creating the excitement, hoping this excitement is enough to get others to do the work for you.
4:13:47
beach
So I meant, if you have no intention or no means of taking on that responsibility, then do not create the excitement.
4:17:20
nyef
The thing is, it took basically less than three hours to show more progress on a fresh start than the existing project had shown in a year. There were people capable of doing the work, but for whatever reason, they were all telling themselves and each other that it was "too hard", and not even investigating to see if it really was.
4:17:36
nyef
And the other thing is that after I posted that second version, I got a patch submission within a couple of days.
4:18:47
nyef
Two or three of us basically ran with my new codebase, new releases every few days, until we literally ran into a lack of information.
4:20:24
nyef
So, they had sold themselves on doing this emulator, but then also sold themselves on it being too hard to actually implement.
4:26:00
nyef
So, my little toy there was called "exploiter", and it killed Explorer III. Once it ran into the wall, as it were, I decided to gather more information by writing a microcode disassembler for the machine, and that became "nevermore", which was written in CL (originally CMUCL, but eventually SBCL).
4:27:10
beach
What are your current plans, if any, for some participation in a project that will move things forward?
4:27:58
beach
You were talking about the "failure of free Common Lisp implementations" the other day, for instance.
4:29:23
nyef
But I'm thinking that there's a sort of "next level" beyond having a solid base implementation (SBCL, CCL, whatever), and a curated software installation system (Quicklisp).
4:31:39
nyef
So I'm simultaneously trying to figure out an overall metastrategy, this vision-sales-execution thing, and trying to figure out what using CL should be like *as a concrete experience*.
4:32:20
nyef
One of the provocative questions that I'm using is "what do I not do because even the thought of making the attempt is too painful to contemplate?"
4:33:58
beach
But it is usually when trying to debug some problem, and I find that my tools are not up to the task.
4:34:50
nyef
Here's one main thing: I don't do UI work, because none of the toolkits are particularly usable.
4:37:07
nyef
Part of the problem is that many of them are FFI based against a moving target of a library.
4:38:35
beach
And they are related as you pointed out: "just look at the C documentation and replace underscores by dashes".
4:38:46
nyef
Having used my MacIvory for less than an hour, I'm already wanting to hit Select-D on my Linux box.
4:40:33
nyef
I don't know that it's entirely appropriate for a modern environment, but at least it's there.
4:42:12
nyef
Every so often, we find out about some lone hacker or small team that has put together a phenomenal amount of software, sometimes with documentation, but nobody else uses it but the originators.
4:43:08
nyef
Probably at least partly because it's stacked several dependencies deep, and has its own worldview which isn't exactly compatible with how anybody else does things.
4:44:58
nyef
Right, and that's fair. But it means that if he *does* start writing stuff that you're interested in, it's probably on top of this huge pile of weird.
4:45:56
beach
But I am willing and able to read documentation, as long as it doesn't mean I have to understand some C++ code or similar.
4:47:45
nyef
Basically, it had a fairly substantial chunk of reference material available as hypertext, with example programs.
4:48:32
nyef
These were the days where, if you were selling a compiler, it was a *product*, and it had *documentation*.
4:51:00
nyef
Having the same environment, as near as possible, over *all* the ways of running your product.
4:52:13
nyef
If it's in a GUI system, it's a separate window with whatever. But in a terminal window environment, it still behaves the same, same input gestures (except possibly for the mouse), same editing keystrokes, and so on.
4:54:15
nyef
So, I think that what I want is that level of "product" thinking applied to a Lisp system.
4:56:34
nyef
Which means that, aside from a base implementation and quicklisp, it needs a UI framework, some sort of story for documentation (possibly both a lisp-side documentation browser and something to export to a web browser), an IDE (both code editor and debugging tools), and some *good* technical writing.
4:57:29
nyef
Which is enough work to keep a team of programmers (and technical writers) busy for some time.
5:00:18
nyef
We even sortof need *three* UI stories. One for a "lisp-like" UI, one for a "normal, but possibly ugly" UI, and one for "just like a native application on your host machine".
5:04:29
nyef
Well, yes-and-no. The "lisp-like" UI is CLIM, exemplified by the classic Listener window. The "normal, but possibly ugly" UI is still CLIM, but configured to look more like a standard application, rather than something with a command prompt.
5:05:11
nyef
And the "just like a native application" possibly involves some of the CLIM theming machinery, or even straight-up switching backends.
5:06:10
nyef
Part of the problem with #3 is that "just like a native application" often means interfacing with an FFI-based toolkit.
5:08:01
nyef
And, worse, OpenGL is an important use-case, so we may need to either find a way to use host OpenGL libraries with a Lisp CLX without needing two X server connections, or we may need to use xlib / xcb via FFI.
5:09:54
nyef
There's also the bit where macOS and Windows don't use X11, and there's even efforts to move Linux away from it as well.
5:12:57
beach
I have also been thinking about a kind of intermediate library for drawing things so that one could use either X11 or something else behind it. But this is not really my domain, so I often don't get very far.
5:15:32
nyef
It's just coming up on quarter past one in the morning here, so I'll probably be off soon.
5:18:13
nyef
Basically, though, while I know that I want something in terms of a better Lisp experience, and I have a vague notion of what that something might be, I don't have a specific enough vision that I can plan it out, sell it (to myself first of all), and see to arranging for execution.
5:21:52
nyef
I think that this is a good start, though. I'm going to have to copy this into a document for further editing.
9:57:44
MonsterHesh
shka_ vydd smokeink oleo scymtym Reinisch phoe DougNYC terpri brucem Faed red-dot paroneayea slyrus payphone jackdaniel jdz mood fiddlerwoaroof ecraven loke``` nyef groovy3shoes nicdev TeMPOraL mood__ PuercoPop eschatologist Colleen jurov gko p_l knobo splittist ChanServ christiansen`