|
25jul07
¶
virtual ski resorts
from: Zooko Wilcox-O'Hearn « zooko/zooko/com »
subject: three ring binder business model ¶ I saw [name] on LtU, clicked, and found briarpig.com. Hooray! LtU is the main link between briarpig and my name; I leave it to ensure a link's not hard to find. (On this site my name only appears when I quote myself as I quote others, because I don't want to be a public person.)
Maybe I'll find time for some relaxed reading. Right now, it's off
to my other stuff, of course. I get paid to hack on Free Software!
Thanks for the enthusiasm. :-) I'm unsure there's much relaxed reading here; don't feel obligated to read. It's very cool you're paid to hack free software, though. That's a good deal when it comes your way. I poked around in the wiki and found architecture.txt, which has a nice high level description I haven't studied closely yet. But so far I like what I see in terms of clean model. I like versioning large graphs of data by versioning individual immutable pieces replaced with new immutable substitutes. It's a nice standard functional technique. You used a good way to get non-progamming language links on my site: show me what you're doing if it's a topic I've pursued before, and avoid asking what I think of it so I don't feel put upon. There are web app architecture aspects in there relevant to my interests. (Other folks might be surprised when I use [link] to replace less relevant links in email. I hope no one thinks I'm a good source of web traffic lately — not right now.) I see the code looks all Python, which is on my list of languages I'd like to implement, albeit third. If I get a Python implementation done enough to test, your system might be a good one to try as a challenging test bed. Only gnarly applications are very convincing proofs of concept to me. I've no idea whether my (future pie-in-the-sky) version of Python will run fast enough to be a draw; it's one thing I plan to discover. If it's not especially fast, it might only be useful as a bridging mechanism from other languages (write in some other language but still use Python based libraries).
Paid well, too. And check out the licence. It is my own invention
and I love the idea. No pudding yet to taste for proof (e.g. a
cooperator/competitor who would use our source code and thus be
obligated to share theirs with us after profiting).
Getting paid is excellent! It's hard to write software if you don't make enough to stay alive. (Staying afloat is harder with parasites siphoning off most after tax income.) Your GPL license with twelve month delay in obligation to publish is very inventive and suggests similar good ideas I might try. I'm unlikely to use GPL in anything myself except code bridging to GPL based systems as alternatives for parts. It'll be interesting to see if I can make a license that plays with GPL; I suspect that'll be hard. Since my goal will be to repress forks and GPL is pro-fork, there might be no way to dovetail code written to both. I don't see it as much of a problem, since I won't want my code pasted into GPL systems.
I remember chatting with you about C and arithmetic overflow years
ago. Recently, after years of struggle, I finally wrote a C macro
which evaluates to true if and only if adding the two integer
arguments would cause an overflow. :-)
Yeah, we started that discussion in the context of error checking inputs to database routines, when the addition of offset and length might exceed max integer size. I still worry about overflow in things like text to integer conversion routines. I might write about that in my log. When I had such an overflow macro in C, it checked for a sum less than either input, judging this result as overflow. It's simplest to add the two integers then use a macro taking all three values to make an overflow call or not. Of course I wonder how your macro reads. :-) My Lisp reader has a piece of code I wrote around 1993 or so which checks if adding one more digit in base B to an existing value might overflow the max integer representation. (Big integer format is adopted if it occurs.) It's made complex when generalized for any base B chosen dynamically. The technique involves calculating max new high bits that can appear when adding a digit, then subtracting that much from max int to find an overflow test threshold. I support Smalltalk syntax letting you choose an arbitrary radix, even for floating point. |
Email appears in reverse chronological order.
Persistent copies of letters are linked by permalink
(¶). Clearly, to link
anything, you'd best link a permanent copy. Please remember:
email is almost always lightly edited at briarpig's discretion.
address obfuscation ¶ Harvesting resistance includes replacement of both at and dot with slash, so foo at bar dot com becomes foo/bar/com. subject edits ¶ Starting with email from Bill Seitz (first post!) I may replace email subject: headers with funny or merely strange subjects, especially if the original means hello or howdy. To avoid this running joke yourself, just ask me not to do it. |