(sorry, I don't know if this belongs on-list or not...).
On 6/10/2011 1:44 PM, Max OrHai wrote:
Well, INTP here, so at least we have /some/ common ground.
yeah... I think I generally get along well enough with most people, in
general...
well, except "Q's", which are basically people who act sort of like Q
from "Star Trek" and generally start being all condescending about how
"stupid" I supposedly am, ...
well, and females... things are just not generally prone to go well in
this area... nothing immoral, mostly just they just tend to either be
scared off, or things quickly get really awkward, so things tend to go
nowhere...
well, me and "working with people", sadly, doesn't usually go well...
although I guess, as great as the idea of "people working together for a
common goal and a common good" may seem, cooperative projects soon turn
into lots of arguing and people stepping all over each other.
so, it has often usually just been me by myself, mostly doing my own
thing...
For me it was:
Apple II BASIC -->
"Classic" Macintosh with HyperCard -->
BASH / C / Python on Linux -->
disgusted with computers entirely and more or less Luddite
for about 5 years -->
Blackberry OS on my phone -->
Smalltalk, Scheme, Haskell, and JavaScript/HTML on
slightly better Linuxes -->
Same stuff on Mac OS X, mostly. Also, NetLogo.
I write this from work, where I'm juggling Fedora and WinXP, neither
of which quite "just work" for the fairly simple tasks I expect of them.
yeah...
well, as noted before:
MS-DOS, QBasic, ...
I also ran Win 3.11 and Win32s, IIRC because I think for some reason I
didn't really like Win95, and Win32s ran many Win95 apps.
later on, I jumped ship to Linux, which generally forced a complete
switch over to C for coding (I could no longer use QBasic, being it was
Linux and all...).
later on, came across Scheme (late 90s), and at first used Guile, and
then ended up doing my own implementation, partly because at the time
Guile did stuff that I personally found really annoying (generally, it
was hard-coded to call "abort()" at the first sign of trouble, ...).
by a few years later (2003), this had turned unmaintainable (complex and
nasty code), and so I dropped the VM and most code which was built
around it. at the time, I had figured "well, I am just going to write
crap in plain C...".
then later (maybe at most a few months) was like, "doing everything in
plain C is lame..."
at first, I implemented a PostScript variant, then realized that it was
unusably terrible (trying to write code in PS, "OMG this sucks...").
basically, tokens were parsed and converted fairly directly into bytecode.
I also ran across JavaScript, and was like "oh wow, this is cool...".
so, I threw together a few things, and then had my own makeshift
JavaScript imitation (I first called it "PDScript", but later renamed it
"BGBScript"...). this was in early 2004.
actually, parts that went into it originally:
most of the machinery from the original PostScript interpreter (this
formed the lower levels);
a lot of XML-processing code (a DOM-like system);
a recursive-descent parser, doing a JS-like syntax (parsing directly
into XML nodes).
so, basically: BGBScript -> XML -> PostScript (sort of...)
the GC was also conservative mark/sweep with raw pointers.
it was also "teh slow" and spewed huge amounts of garbage, which was not
good with a slow conservative GC.
a later partial rewrite (in 2006) re-incorporated a number of parts from
the original Scheme VM (and made a number of language-level changes),
and switched over to using S-Expressions as the internal representation
for the ASTs, as well as re-using a variant of the Scheme-VM's GC
(precise mark/sweep with reference-counting and tagged references).
the 2006 VM also had a working JIT.
in 2007, a C compiler was written, which switched back to XML for the
ASTs (it was built more from code from the 2004 BGBScript
implementation). the initial motivation was mostly that
dynamically-compiled C could probably interface much better with native
C. but, the compiler was very slow and buggy...
in 2008, BGBScript was partly rewritten again, mostly switching back to
the other GC (conservative mark/sweep), mostly as the precise-GC was
painful to work with. sadly, this broke the JIT, and made it all a bit
slower, and I have not (as of yet) fixed it (the interpreter is fast
enough...). stuck with S-Expressions for the ASTs as well.
and, in early 2010, added a bunch of spiffy new FFI stuff (mostly to
eliminate most of the boilerplate needed to call into C code...). the
FFI is itself partly built on parts of the C compiler though.
late 2010/early 2011, tried to make a spiffy new VM and a new language
(BGBScript2), but this effort fell on its face (too much effort and not
getting working fast enough), and I later just reincorporated a lot of
the planned features back into BGBScript.
recently, have mostly been adding misc features, fixing bugs, ...
but, beyond this, I do a fair amount of other stuff (3D stuff).
sadly, none of it is terribly compelling, and none of this provides a
source of income (eventually needing a job is an issue, I don't know if
anyone will pay me for these sorts of things...).
or such...
_______________________________________________
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc