Friday, October 24, 2014

"FIXME" - A Screen with Tangents

Emacs, SLIME IDE, and Sourcegear Diffmerge (platform: MS Windows 8.1 w/ Classic Start Menu)
This week, in having completed a second semester of a formal college course, online -- a course focused, in much, about the electromagnetic properties of coils and the electorchemical qualities of dielectric materials, as well as the plain (?) geometry of AC circuit analysis, as if it was all so plain, but at least it is "Planar," in a sense -- I've begun developing a model for mathematics in Common Lisp.

As a sidebar: This is not to compete with the Maxima Computer Algebra System (CAS) and not to compete with ACL2, the latter being essentially a "proofing" system, applicable in a domain of formal mathematics -- both of which are implemented in the Common Lisp programming language, perhaps a "feat" in itself, that.

I'm calling it igneous-math. Perhaps, the name is not so much of the "Thing," but that's what I prefer to name that source tree, as pictured. Igneous-Math, so far, implements a "yet another" object model  for modelng of measurements, in Common Lisp. Presently, there's no support for derived measurements, and I've a few "FIXME" items to address with regards to the SI base unit of mass, "Kilogram".  Things that Igneous-Math does provide, in so far;
  • An object model for measurement domains and base measurements, extending of the Common Lisp Object System
  • An object model for decimal, i.e. "Base 10" prefixes for measurements -- as represented of the Systeme Internationale -- contrasted to the "Base 8" prefixes applied about quantities of digital information.
  • An, I think, "Novel" implementation of a decimal-shift system, developed as in effect to "Work around" some errors that occur of certain floating-point numeric implementations -- for instance, to work around an error that may occur in a certain formula, that 
    (* 10 4.159265358979312d0)
    => 41.592653589793116d0
    ...and although
    (/ 41.592653589793116d0 10)
    => 4.159265358979312d0
    However, one may ever find it difficult to accept that in the first evaluation, a digit is introduced, such that was not present within the input value.  In some calculations, the introduction of that digit may lead to a matter of inaccuracy, as well as the failure of a functional test, within a software system.
  •   ...and a whole lot of "FIXME" notes, in the source code -- many "FIXME" notes, all annotating some momentary concepts, at the time each "FIXME" note was added to the source code -- far too many "FIXME" notes to "Track" with any single, instantaneous approach, moreover, but that may be categorized within specific task domains, within the Igneous-RVE project.
One of the effective "FIXME" notes of the Igneous-Math project, at this time -- a "FIXME" note, but not expressly in the source code -- is that it needs a functional unit testing framework. Not insomuch conveniently, but there is a codebase for that, I call it AFFTA. In an interest of developing a policy for continuous systems deployment, I don't have any plans to publish the source code of Igenous-Math until when AFFTA would be applied, in the same -- effectively, then, becoming AFFTA's first real "Usage case", subsequent to so many inline test forms implemented in comments within the AFFTA source code and, similarly, in the Igneous-Math source code. One has begun to reconsider one's views of the adage, "Release early, release often." Candidly, one might rather prefer, "Release rarely, almost never," but that's perhaps more a matter of culture, in a contemporary mode.
Not to begin a sidebar as if to make a contrast of a view of "Monolithic design" and a view of "Agile design" -- in a simple sense: A mountain is a monolithic thing; a mountain climber may take an agile course, in proceeding up a side of a a mountain. Agile approaches and monolithic things may not all be mutually exclusive -- or how was the first mountain ever climbed up, in human history? Certainly, one may not need to be a member of a 1% to climb up a mountain. One would mind a way up a mountain, nonetheless -- there being not so  much of a safety net, at the bottom of most steep, rocky facades, though there would be trees and so on, and one's footwear gripping steadily to the rocky face. Certainly, one would not fall to eternity, if one would simply step a little askew, in such a place.

Perhaps one has seen the rocky faces of any tall, old mountains, from any angle, and it been such a sight as one might not wish to forget, at any time soon. In that regards, one recalls that a walking stick -- if one may ever find such a matter, of a broad woods -- a walking stick may be applied not only as a vertical resource. The long surface of a walking stick can be applied, horizontally, in creating a greater amount of friction between oneself and a rocky face -- as in times when friction would be a very good thing, ere one would learn instead of the velocity of an object accelerating due to gravity, on an inclined surface -- and that object would be oneself, on a rocky surface polished under long winds and snow. One treads lightly, in such locales, and perhaps the natural wood walking sticks are just as well.

So, I too would rather be out climbing a mountain, right now, but there's not much of an industry in mountain climbing -- just as well. Regardless, there are applications for mathematics and physics, too, in the mountains. One does not inquire of lone things and sounds, in light of such. There's the rocky face, the walking stick, and the singular view from the peak.

Mount Shasta, with Cloud
....and then there's the next mountain, and so on. It could sound so simple to comment to, if one is not too burdened with load.

Speaking of load, there's a concept to draw this linear narrative back to the electronics domain -- load analysis, in electrical circuits. Sure, I'd make a convenient illustration, right now, if it was only so easy to.  Somehow, one is at pains to make a schematic, make a screenshot, crop the screenshot, and then post it to this web log, for then be a far sidebar in regards to electrical circuit analysis.

Not to launch onto a whole dissertation, but if one may explain something of a sense of context, presently: There's a geometry to electrical circuit analysis. Personally, I'd not learned of that, until the second course in the solid state electronics track, at a certain online university, in this the 38th year of my life. Geometry has a real world application -- not only in structural architectural design, but also in structured electrical circuit analysis, "All the small things."

Presently, though, I'll try to avoid launching onto a childish sidebar, either. Certainly, Legos are simple enough to put together -- and circuits on breadboards, perhaps a little less simple to put together, but electrical circuits also work according to principles known in the material sciences, including the simplest principle of all: Safety.

I can see, from my own writing here, that I'd rather be out writing about mountains.

There's something about math and Common Lisp, also -- no too much a sidebar for SSE architectures and the VOPs in SBCL.