Showing posts with label DITA. Show all posts
Showing posts with label DITA. Show all posts

Tuesday, October 13, 2015

Why Open Source Operating Systems: Commercial-Free Developer Support and Technical Documentation

Perhaps one of the greater draws about software development with free/open source operating systems -- such as GNU/Linux, FreeBSD, Open Solaris, or the most of the Google Android and Samsung Tizen platforms -- perhaps, one of the greater draws may be found of a simple estimate of technical developer support, such as might be estimated to be in greater abundance of and about free/open source operating systems. Although -- candidly -- the developer support resources available of free/open source operating systems may not seem to be as heavily marketed as with commercially licensed, closed-source operating systems -- such as of the Microsoft commercial presence behind the Microsoft Developer Network (MSDN), or the Oracle presence now backing the Solaris operating system, Solaris being originally a Sun Microsystems product -- but with a certain amount of attention and of simple resourcefulness, it may be possible to locate and to utilize some many of the resources as may be available for developer support about free/open source operating systems.

Developer Support in Free/Open Source Operating Systems

Towards developing a manner of a topical overview about developer support resources as may be available about free/open source operating systems, a simple outline:
  • Documentation
    • Tutorial Documentation
    • Reference Documentation
    • Software Distribution Service Data
  • Software Development Support Tools
    • Compiler Toolchains
    • Integrated Development Environments
    • Developer Utilities
    • DevOps Tools
      • Software Configuration and Change Management (SCCM) Tools, as a subset of Software Distribution Support Tools
      • Build Automation Tools
      • Software Distribution Utilities
      • Issue Tracking Systems
      • Whiteboard Tools
  • Developer Forums
    • Mailing Lists
    • Bulletin Boards
    • Social Networking
  •  Source Code
It would be beyond the scope of this simple article, to develop any manner of a comprehensive reference manual about these topics. In so far as of the simple process of developing an outline of these topics, there -- in itself -- could be an outline towards beginning to develop a reference manual, as such. The media and format of such a reference manual, however -- secondly, the topical scope of such a reference manual -- may be behooved of some specific consideration.

Reference Documentation - Towards the Core of Software and Systems Literacy

In regards to reference formats and reference media, the author of this article can denote a small number of topics offhand -- variably of media types and media distribution services
  • Wiki
    • Concept: Web-based topical discussions
    • Contents:
      • Wiki Pages, formatted as HTML
      • Topical Taxonomies, representative of wiki page linking structures
    • Availability: Public Internet, typically
    • Corresponding Concepts
      • Bibliographies
      • Resource References
      • Web-Oriented Peer Review
        • See also: Wikipedia - Articles - 'Talk' Section
  • Project Reference Documentation
    • Concept: Reference documentation developed of single projects
    • Availability: Variable
  • TeX Info
    • Concept: Narrative and Technical Reference Documentation
    • Availability: Typically available via shell command line, 'info' shell command, such as may be available on any single operating system; may be available in alternate media formats (PDF, HTML)
  • Manual Pages
    • Concept: Technical Reference Documentation
    • Availability: Typically available via shell command line, 'man' and 'apropos' shell commands; may be available in alternate media formats
  • Academic Dissertations
    • Concept: Philosophical Overviews and In-Depth Studies of Technical Topics
    • Availability: Variable
  • Technical Journals
    • Concept: Market Information and Technical Overviews
    • Availability: Journal publishers; libraries
  • Tech Books
    • Concept: Friendly overview literature about technical topics
    • Availability: Books sellers; book services; libraries
  •  Tech Encyclopedias
    • Concept: Topical reference surveys about technical topics
    • Availability: Books sellers; book services; libraries


Introducing DITA, Obliquely

Towards a manner of applications of a single reference documentation format, it may be possible to develop an application of the Darwin Information Typing Architecture (DITA) in a context of any one or  more of those topical categories.  DITA is a standard format for technical documentation, standardized in publications from OASIS [DITA 1.2]. In a simple estimate, it may seem that DITA may be most often applied for developing documentation about products of individual commercial enterprise institutions. However, DITA may find an application furthermore in documentation about free/open source products. DITA may be juxtaposed, functionally, to the DocBook technical documentation format [DocBook.org]


Web to DITA - XSLT and Semantic Wikis

With regards to a Wiki as a manner of a reference model, it may be difficult to represent all of the depth and meaning of DITA markup within a Wiki markup language. Certainly, some of the DITA schema bears a close resemblance to HTML -- such as with regards to DITA inline markup elements broadly for specifying an italics, bold, or underline markup, and DITA structural markup elements for ordered lists and itemized lists, juxtaposed to any functionally similar markup elements in HTML. Such "HTML-like" elements in DITA might be easily transformed both to and from any conventional, typically HTML-oriented Wiki markup language.

The  more semantically specialized DITA elements may not seem meaningful in a Web Media model, until having been processed, mecahnically -- as in a publication process proceeding from DITA source code to web presentation -- processed with such as an XML Stylesheet Language Transformation (XSLT). Conversely, if to transform a Wiki markup into any of the more semantically specialized DITA markup elements -- as in a process proceeding from Web-based Wiki to DITA source code, in any manner of a converse directionality juxtaposed to a DITA-to-Web process -- in order to transform Wiki content to DITA content, it may be feasible to begin with a semantically specialized Wiki markup, such as may be available of the Semantic MediaWiki [Help:Editing - Semantic MediaWiki]. Of course -- as like in order for Wiki editors to become editorially familiar with a semantically specialized Wiki markup language -- there may be an additional burden for documentation, if not training, in applications of a semantic wiki markup.

If it may be feasible to develop a "Round trip" DITA-to-Wiki publication model, clearly there are some "Existing works," such as may be adapted to lend, functionally, to a DITA-to-Web and a Wiki-to-DITA publication process – a DITA-to-Wiki process being functionally subsumed of a DITA-to-Web process, in an application of XML stylesheets for transforming DITA markup into a semantic Wiki markup, and a procedural system for publishing the generated Wiki markup, juxtaposed to any more media-centric (HTML, PDF, EPUB) DITA-to-Web publication model.

(Ed. Note: The following section of this article's text was originally edited with the Blogger web-based editor, in the Firefox web browser -- in Firefox' distribution on the Android platform. Presently returning to the desktop web browser, the author of this article will endeavor to study the availability of Wordpress mobile apps, as perhaps Wordpress may be more well supported than Blogger's Google-based blogging experience, on Anrdoid)

DITA Markup - Presence in Free/Open Source Software Projects

  • DITA Open Toolkit
  •  …

The author of this simple blog article, presently, will return to a study of software development tools

Sunday, September 27, 2015

Thoughts - Nomenclature and Taxonomy

As a topic that I've found some concern about: Even in so much as developing my own set of notes at Evernote -- and marking such notes in any ways meaningfully, with labeled tags -- I've begun to develop a sort of an ad hoc taxonomy about a number of concepts in computing.

Though I've not lately been refreshing my own study of the bibliography of taxonomy, it's a topic that I'm aware of as it existing, with potential applications in a number of theoretical contexts, including: Topic Maps, as in reference to the XTM topic maps format and Ontopia; the Simple Knowledge Organization System (SKOS), as in reference to RDF, RDF Schema, and the Web Ontology Language (OWL); the Darwin Information Typing Architecture (DITA) as in reference to types of DITA topic elements. In an applications sense, I've observed that a concept of taxonomy may be relevant in regards to web services for content curation, web content annotation, and web content development, as in reference to both of Evernote and Diigo.

Both of Evernote and Diigo allow for annotation of web content. Evernote might seem to provide something more of a container view of web content, juxtaposed to Diigo. Diigo might seem to be more readily usable, at desktop PCs, for web content annotation. Evernote and Diigo both provide services towards content development – Diigo, with Diigo outliners, and Evernote with Evernote articles.

Focusing on the "Content tagging" features of each of Evernote and Diigo -- with a momentary reference to the original Annotea project of the World Wide Web Consortium (W3C) -- Evernote allows for hierarchical organization of content tags. This evening, I've noticed one simple example in which that occurs to a particular highlight: Annotating a concept of instruction set architecture, as of any of a Complex Instruction Set Computing (CISC), Reduced Instruction Set Computing (RISC) or other species of instruction set architecture developed into a tangible microcontroller platform. Orthogonally, there's a concept of instruction set architecture denoted in MARTE 1.1.

To denote each of a concept of CISC and a concept of RISC as being subsumed by a concept of instruction set architecture, it may not seem all of ideally like a perfect taxonomy, but I think it suffices for my own personal notes, in my own Evernote notebooks. That there are any number of instruction set architectures that may not be immediately denoted as either CISC or RISC architectures, there's a whole history of computing that was developed before those terms became en vogue. Some of the literature of the earlier computing might seem particularly clear in developing concepts as with regards to logical microcontroller design, moreover.

I think, the classification of CISC and RISC concepts as being subsumed by a concept of an instruction set architecture, it provides both of a semantically meaningful construction and a flexible construct allowing for later description of instruction set architectures, such as may not be immediately identified as either CISC or RISC architectures -- however anyone may endeavor to define exact limits to a definition of either of those concepts, as implemented in any single, tangible microprocessor.

Of course, a concept of RISC and of CISC may likewise be subsumed of a concept of microprocessor architecture -- as by way of a concept of instruction set architecture.

This article -- which I had wanted to write, originally, about taxonomy -- it is, by now, also an article about concepts of instruction set architecture. The reader might notice that this article, moreover, is absent of any cross references to a Wiki. That's not to snub the WIki editor community, simply the reader may Google any number of these concepts. Personally, I think that my own study is better served with my own application of Evernote, Diigo, and towards a DITA model for content development, not to lead too much into any singular Wiki narrative.

This web log I keep, I think this is just a forum to be a little more chatty about some concepts, essentially outside of any specific social channels, online. I've been trolled, here, exactly once -- therefore, would expect anything similar again. Though I've yet to be trolled here any more than once, I now understand I must understand that I may be trolled, here, at any time. So, I'm naturally going to be a little more edgy-terse in writing at this, my tech web log -- might learn to be more cheerfully natured about the overall "Troll potential" of this supposedly anonymous Internet, though in no immediate sense of warmth for trolling. It sure makes it difficult to write about any cheerful concepts, here. I've a sense, that's by no means "Only Online," either. However momentarily flexible the Internet media might seem, of course, any single page with a comment section might become an instant forum for mud-slinging.

Why is anyone so ad hominem online? I honestly cannot imagine. I'm not one to escalate or deter anyone's own fantastic ideas, as such, either. Does that make me an easy target, online, or just a subtle observer of semantics, though? So sure, maybe sometimes I draw fire from an Internet troll. Big loss, huh?


Further than defining a correlation between a concept of CISC architectures, and a concept of RISC architectures, with both concepts being subsumed of a concept of Instruction Set Architectures -- and this, being represented simply in a set of Evernote 'tags' -- that concept then being subsumed of a concept of Microprocessor Architecture, I notice that all of these concepts may seem to fit well in an overall taxonomy of nomenclature about computing.  My being a student not so much of the nomenclature as much as of concepts denoted of the nomenclature, in computing, I wouldn't want to be tedious about nomenclature. I think, it's an idea towards keeping so much as my own webliography well organized -- not to say of any broader sense of bibliography, and how to integrate a bibliography system, and Evernote, and Diigo.

Of course, in thinking furthermore of developing a topic repository model onto DITA, I'm not thinking anything "Like FOLDOC", as FOLDOC is far too friendly a media for such a serious demeanor as I think I must have to keep, in most of communications immediately in the modern world online.  Sometimes, I can't help but have an impression that some lot of the readership might be just waiting to reach out and take a swipe at something -- judging only by previous experiences, no more wishful thinking from me for how people apparently are, online.

FOLDOC publishes a number of reference pages, itself, mostly in a colloquial reference. It's a manner of a topic-oriented reference base, about computing, alternate to Wikipedia.

So, there's already FOLDOC, no rush to develop any excess of an additional topic repository about contemporary concepts in computing -- any repository about information science, the physical sciences, mathematics, logic, and marketing, and anything else that may be defined about computing, including: Concepts of human-computer or human-machine interface design (HCI or HMI, respectively), HCI/HMI accessibility, or plain novelty.

FOLDOC exists, great thing.

Wednesday, September 23, 2015

Towards Developing a DITA Editing Platform on FreeBSD

Having developed a certain sense of interest with regards to writing technical documentation, I've been studying periodically about the Darwin Information Typing Architecture (DITA). There are a number of things that I would like to highlight about DITA, as in a sense of a thesis document – I've tried to collect my notes, as such, with Evernote. Thus far, I have been unable to write any single thesis document about the topic, rather developing only a series of itemized lists of notes, and a small bibliography.

Presently, I think it may be as well to begin writing some narrative text about DITA. Although I may not feel as able to write fluidly, in a digital media – as juxtaposed to a media of graphite and paper, with clipboard, to an older style of desktop writing appliance – but it is surely easier to share a work of writing produced in a legible digital font – here juxtaposed to my own cursive handwriting and ad hoc visual layout approaches, as when writing with pencil on paper.  Sure, I have begun to sketch out an idea for a more fluid style of sketching in a digital media, but it would need some work in regards to ergonomic presentation and editing of vector graphics, and therefore may depend on software not yet developed for the Common Lisp Interface Manager (CLIM). Presently, I am more preoccupied of developing a workflow towards DITA editing with free/open source software (FOSS) tools. Though I have looked at both of the XXE XML editor and OxygenXML for a DITA workflow, I would like to start writing DITA with a platform more familiar to me. Personally, I'm comfortable with Emacs and pSGML.

In regards to any manner of perhaps esoteric features of DITA – such as, DITA linking, DITA content replacement, and any broadly semantic qualities of DITA's  topic element classes – it might not seem that a baseline Emacs + pSGML environment could be completely sufficient, If applied primarily as a DITA editing enviromment. The Emacs + pSGML platform, of course, can be extended with Emacs Lisp. Although Emacs, in turn, may not seem like a very rigorous programming enviromment,  as when juxtaposed to the Eclipse IDE or IntelliJ IDEA platforms – both of which are developed, primarily, in the Java(R) programming language – but I think there is a manner of an incentive in the simple convenience of the interactive, functional command interface of Emacs + pSGML. It may seem to be enough that I might not be excessively distraught about the absence of programmatic rigour in the Emacs Lisp programming language, juxtaposed to Oracle's Java(R).

So, but in that I would not wish to develop an manner of an ivory tower of this concept, and I will be writing with Emacs on a FreeBSD desktop, I think it needs a a sense of a project, in itself. I propose that a FreeBSD port can be developed of each of: The DITA 1.2 Document Type Definition (DTD) files, there integrating with the XML entity resolver's configuration on FreeBSD; the DITA Open Toolit, likewise to be integrated with the host's XML entity resolver, moreover to be applied with the user's own ASF Ant configuration. If anything analogous to the Comprehensive PERL Archive Network (CPAN) may be developed, moreover, as to provide a software distribution service for extensions to the DITA DTDs and DITA Open Toolkit (DITA OT) XML stylesheets, perhaps such a thing may be anyhow designed onto CORBA services, moreover the CORBA Component Model (CCM), if not Java(R) and OSGi services. Of course, from an end user's perspective, that might be secondary to the availability of a FreeBSD port for each of those two existing components, respectively the DITA DTDs and DITA OT.

Fourthly, as towards a concept of applying DITA in an open documentation system, there is a simple concept of a topic repository model that may be developed, in a manner of writing DITA as like for a sort of an – albeit not primarily web-based, and insamuch not web-editable – Wiki-like format. Though it may seem to loose something of a popular incentive, for it not being a web-editable format, but inasmuch as that a DITA editing platform may serve to provide a manner of editing support not easily provided altogether with a web-based interface environment, then perhaps there may be an adequate "up side" to the design decision, as such.

Immediately, I am somewhat distracted of the tedium of making a complete Git clone of the WebKit source code repository – perhaps this is referred to as multi-tasking. It seems that the initial Git fetch must be run incrementally, onto that same source code repository. It's presently at `--depth=20000`, in no small detail. I have referenced only a couple of forum topics [Matthews 2010][midtiby2011], to try to resolve that a complete `git clone` onto that source code repository has consistently has failed. Proceeding to to a `git fetch` at `--depth=60000`, the Git incremental-clone procedure succeeds, so far.

Ed. Note: There's also something to write about `git gc`

Monday, September 21, 2015

Sunday, September 20, 2015

Introducing GRANITENET and the FELDSPAR Platform Agnostic Object System.

As the author of this article being someone who has developed a distinct sense of interest about the logic and the existing body of work in regards to concepts of operating systems design -- moreover, a sense of interest as with regards to the effects of specific design choices in operating systems design, as of design choices ultimately resulting in discrete effects with regards to operating system applications, in any single common domain of computing, including software development, and effects in regards to application system maintenance --  the author of this article, though for some time familiar with the Debian GNU/Linux operating system, the author of this article has lately become more a fan of the FreeBSD operating system. It is this author's candid opinion that FreeBSD presents a markedly less cluttered development environment than the GNU environment of GNU/Linux systems. Not as though to meanly criticize either the Free Software Foundation (FSF) or its supporters, the author of this article is aware that operating system distributions such as Debian GNU/Linux are systems that have evolved, over time, initially from relatively small-scale origins. Considering a conceptual paradigm in which GNU tools are developed as to be modular, moreover portable with other GNU tools, moreover in which the Linux kernel itself and applications of the Linux kernel have been shaped with developments in operating system standardization -- broadly, under a heading of a colloquial definition of UNIX systems, more specifically as under the headings of international standards such as the versions  of POSIX and specifications published by the Open Group and later X/Open company, moreover as with regards to standards published by the Internet Engineering Task Force (IETF) -- the author of this article is aware that it may entail no manner of a trivial work, to develop any single, working computer system out of so many individual software components and software systems standards.  Perhaps there has been a certain degree of centrally managed organization, in the development of the FreeBSD operating system -- if not, moreover, a greater degree of flexibility as with regards to distinctions of the BSD licenses, juxtaposed to the GNU Public License (GPL) or derivatives of the GPL -- such that may result in an impression -- as to the author's opinion -- that FreeBSD is a really well organized, really uncluttered operating system, moreover very easy to apply in begining software and systems development. Certainly, such an impression is aided with the availability of so many centrally managed reference documents about FreeBSD, as in regards to the FreeBSD base system and the FreeBSD kernel.

The author would not wish to abridge any introduction about FreeBSD. This article, presently, is developed not insomuch as to make an in depth study of the FreeBSD operating system, but rather to begin to develop a set of concepts that the author has found occurring to the author's own sense of consideration, during applications of the FreeBSD operating system. The author has been operating a local area network (LAN) with FreeBSD on the the LAN gateway host, on the software build host, and on the author's primary notebook laptop, on the LAN, for a small number of months. The author has begun to develop a concrete concept of the configuration of the same LAN, referring to it then as GraniteLAN. In an architectural sense, GraniteLAN may be integrated moreover with hosts configured of software defined networking (SDN) services -- there under the heading GraniteSDN -- as to develop an overall systems development network -- with the full network under the heading, GRANITENET. Presently, the author does not wish to develop any length sidebar about the architecture of the GRANITENET design, or the design philosophy of the same. It's basically a concept for a scalable DevOps network, and a small office/home office (SOHO) network, such that may be utilized not only from GRAITELAN, but moreover that may be utilized from a mobile appliance not immediately connected to but configured for connection to GRANITESDN. In its architecture, GRANITENET would apply a distinct number of common UNIX networking services, such as LDAP, NFS, NIS, Kerberos, and -- furthermore -- RADIUS.  Though it may seem relatively easy to write about, as such, but -- in order to develop a manageable framework of so many network services, as such, and for it to be relevant in regards to applications on contemporary operating system architectures -- it may not ultimately be as easy to "Glue together," in application of so many software components. At least, it may be easy to "Put together" the concept of GRANITENET's design -- initially, as it representing a manner of a paper machine, as to apply an older phrase to the  matter -- as it entailing a design of an effectively multi-homed application of the FreeBSD operating system.

In regards to the manageability of the design and applications of GRANITENET, of course there must be a manner of a design incentive thought to exist. The author might not believe that every reader would share the author's sense of appreciation about the logical design of each of Common Lisp the Language, 2nd Edition, and CORBA systems, furthermore the Object Management Group's concepts of Object Management Architecture and Model Driven Architecture -- moreover, the portability of systems developed onto CORBA and, separately, the portability of applications developed onto the Common Language Infrastruture (CLI), the latter as popularized of the Microsoft Dot-NET and the Xamarin and Mono platforms, furthermore as standardized onto ECMA-335.

Insofar as it representing a concept of a paper machine,  the author has certainly expended some paper and graphite, in putting together a number of offline notes about the design of GRANITENET, moreover the design of a system the author denotes as FELDSPAR. FELDSPAR would represent an application of Common Lisp, CORBA, and the Common Lisp Interface Manager, as to create a bundled application development kit of free/open source software for applications of the same software and systems components. In that regards, perhaps it might seem like overmuch of an aspiring goal -- as to apply GRANITENET in developing the FELDSPAR framework, while GRANITENET is not even completely constructed, in itself, as yet. However, in retaining a sense of focus about the logical qualities of the design of each of GRANITENET and the FELDSPAR framework, it therefore remains a manageable set of concepts, at least to the author's own sense of consideration.

In beginning to describe these discrete concepts to the Internet audience, it must naturally entail a development of a literal body of documentation. Thus -- in focusing about the Darwin Information Typing Architecture (DITA) -- there is a sense of a topic repository model developed in the FELDSPAR systems design, insofar as of the present paper machine edition of the FELDSPAR systems design. The topic repository model -- in some regards, semantically -- it might resemble something of a concept like of a Wiki. Though a FELDSPAR topic repository would be published to the Web, but -- in it utilizing DITA,l in its content source model -- it would not be immediately managed "on the web". The FELDSPAR Topic Repository model would allow for managing the body of content of a topic repository, as in application of so many DITA editing tools, multimedia content development tools, and changeset management tool such as Git -- without HTTP interverning between the editor and the filesystem. As such, perhaps it may not seem to be an immediately enterprise friendly framework, but perhaps it may be scalable outwards from its initial SOHO friendly design.

In beginning to document this design, in a digital format of text, the author of this article wishes to make reference -- immediately -- reference to MARTE, specifically MARTE 1.1, furthermore to make reference to the DOAP RDF schema. Surely, it may be possible to develop a great amount of semantic sugar, in application of such normative specifications. Presently, the author wishes to recommend a concept of software platform, in an abstract sense, as may be extended to subsume concepts both of operating system platform and of toolchain architecture, furthermore as to provide a sense of structure about application components commonly referred to as libraries -- then to include the DOAP RDF schema, as to develop a documentation framework with which software developers may be able to make consistent, ostensibly convenient reference to all points of upstream software distribution, for any single software component.

Towards developing an initial usage case to this sense of structure in software and systems: The author of this article has begun to write a small series of notes, in the author's own Evernote notebook, as to begin to develop some normative documentation towards an application of the Enlightenment Foundation Libraries (EFL) and the EFL WebKit integration, namely towards developing an EFL port for the Common Lisp Interface Manager (CLIM) as well as extensions for CLIM, in regards to web appliations, such that would be developed as for application at least onto FreeBSD, Linux Desktop, Android Mobile, and Microsoft Windows Desktop operating system platforms.  Perhaps it aspires as towards a comprehensive design, to be thorough in regards to development and support of operating system applications.

Though the author is furthermore interested about some concepts of microcontroller design, reprogrammable computing, and the history of the infamous Lisp Machine, but perhaps it may turn out to be a manner of a fortuitous effort, to begin with regards to applications of existing microprocessor achitectures and existing operating systems, specifically beginning at the manner of a colloquial UNIX-like framework developed of the FreeBSD Project -- furthermore, as FreeBSD being extended in a small number of by-in-large domain-special FreeBSD distributions.

So, that would be towards an unabridged introduction.

In focusing immediately towards applications of the EFL toolkit, there is immediately a concern that occurs as with regards to illustrating the toolkit's software components and software component depencencies, as towards any single distribution of the EFL toolkit -- in a sense, as towards any single distribution of a bundled set of EFL toolkit components, whether immediately with or without the EFL WebKit integration, and finally in a distribution to any single operating system platform, in application of any single toolchain architecture. This would be essentially orthogonal to -- but, in a sense, essential to -- the development of a CLIM port for EFL.

The author proposes to develop a model for each of the following concepts, in extending the MARTE 1.1 Profile for the UML metamodel:
  • Concrete Computer Machine Architecture --  immediately, perhaps extending of the Detailed Resource Model defined in MARTE 1.1
    • e.g. as in reference to:
      • The FreeBSD sysctl property, `hw.model`
      • Compiler optimizations as may be specified in FreeBSD /etc/make.conf and/or FreeBSD /etc/src.conf
      • Machine architectures in Debian GNU/Linux
      • Machine architectures in the GNU Compiler Collection
  • Abstract Software Platform -- likewise, perhaps extending of the Detailed Resource Model defined in MARTE 1.1
  • Concrete Operating System Platform
  • Concrette Toolchain arhitecture
    • e.g. MINGW 
      • Subsumes: MINGW x86-64
  • Abstract Software Application and correspondingly, Abstract Software Distribution, in a noun sense of the latter term
    • Software Distribution/Application model on a FreeBSD operating system
    • Software Distribution/Application on a Linux operating system
      • Software Distribution/Application on a Debian or Ubuntu GNU/Linux operating system
      • Software Distribution/Application on an Android Operating System
    • Software Distribution/Application on a Microsoft Windows operating system
Orthogonally, it is the author's hope that the resulting UML profile models will be compatible onto the CORBA Component Model -- such that, in a sense, may complemented with a UML profile model extending of the concept of abstract software application, if not moreover integrating a manner of a system for software distribution in regards to CORBA components, there certainly making reference to OSGi and also Maven.

That being so, then how may the author propose to publish a UML profile model, in any vendor-compatible regards? The author proposes to apply Modelio, and to publish the UML profile models finally as serialized XMI. The author furthermore proposes to apply the respective UML profile models, in development of a manner of a component metadata database, there integrating the DOAP RDF schema and some manner of a web publishing model for presenting the metadata database, in any managed manner, online. The DOAP RDF integration, in itself, may entail a development of an extensional RDF schema, moreover an application of some existing tools for RDF graph modeling in Common Lisp.

Of course, there is a sort of a boostrapping dilemma, in such design. The author proposes to address the bootstrapping dilemma, in -- albeit, perhaps in something of a expressly nolinear sense -- but in an overall iterative sense, however. In such a sense, the author does not propose to specify that the design of the RDF application would wait on the design of the project-oriented management information system (Project MIS). The RDF application must wait, however, for the design of the final component metadata schema.

Towards such an application of RDF, the author wishes to comment towards a sense of applying Common Lisp as a data system feature, within a data programming system, there closely and comprehensively integratred with the underlying operating system. The author proposes to limit this specific design to the FreeBSD operating system,  moreover to focus about a small number of individual, concrete components such as already developed as and for individual Common Lisp implementations. The goal of this aspect of the design, to the author's opinion, the goal is to support software systems development with software systems development and documentation. In such a regards, perhaps it might seem like a manner of a DevOps concept, however developed of a popularly unconventional framework

The RDF application, specifically, it may be developed as to extend of an XML Schema Datatypes implementation. As in a manner across the XML Schema Datatypes Implementation, it may be integrated onto a data persistence model for RDF, there to apply a HypersonicSQL service as a data storage service.

If there may be a rhetorical question, such as, "Where to begin, next?" the author prpoposes to continue with the development of the UML profile models, as denoted herein.

Friday, September 18, 2015

FreeBSD Base System Upgrade - How To - and a question, DITA and FreeBSD ?

The FreeBSD Handbook is a really helpful resource. It contains a lot of really well organized information -- certainly, information that may be useful for FreeBSD system developers and system maintainers -- clearly, in a format of documentation written by authentic experts about the FreeBSD Kernel and broader FreeBSD Base System -- no imitations about UNIX expertise, in the FreeBSD handbook.

Towards rebuilding a FreeBSD operating system on a local area network -- such as for compiler optimizations, viz a viz /etc/make.conf, and for upgrading the operating system to a newer version, as for instance in upgrading from FreeBSD 10.1-RELEASE to 10.2-RELEASE -- there are a few references that would be useful, in the FreeBSD handbook.

As to augment the existing documentation, I'd like to add a few small annotations -- to highlight a small number of concepts addressed in  the conceptual topic repository of the FreeBSD handbook, and in an annotations sense, to add some augmentative information -- as follows
  • Building and Installing a Custom Kernel 
    • Concept: Kernel configuration
    • See also
      • Shell command:  `sysctl -n kern.conftxt`
      • Manual page config(5)
    • Ed. Notes - Misc
      • TBD: Cross-compiling the FreeBSD kernel (see documentation)
      • TBD: HOWTO FreeBSD Kernel Configuration GUI
        • See also: GNU/Linux kernel - `make menuconfig`, `make xconfig`, ...
      • TO DO: Produce an index of all kernel configuration parameters noted in the FreeBSD handbook
  • Rebuilding World
    • Concept: FreeBSD Base System
    • Ed. Notes - Misc.
      • See also: Previous link, as with regards to FreeBSD kernel configuration
      • TBD: Configurable parameters of the FreeBSD base system build
      • TBD: FreeBSD Base System Configuration GUI
        • See also: Poudriere; Augeas
        • Note: Licensing terms of FreeBSD base system components 
        • Note: Concepts, Licensing and Software Distribution
      • TBD: Cross-compiling the FreeBSD base system
      • TBD: Issue tracker integration
        • See also: Debian `reportbug`
  • Tracking for Multiple Machines
  • Ed. Notes (add'l)
    • TBD:  Handbook-wise documentation about files /etc/make.conf and  /etc/src.conf
      • Concept: Toolchains
      • Concept: Machine-specific optimizations 
        • e.g utilizing SSE machine instructions on later Intel architectures
      • See also: 
        • LLVM
        • Manual pages
          • make.conf(5)
            • Context: all system builds, including ports, kernel, and base system
          • src.conf(5)
            • Context: kernel and base system (?)
        • /usr/share/examples/etc/make.conf
        • /usr/src/share/mk/bsd.cpu.mk

Orthogonally: Though I cannot believe I'll ever be able to sell the FreeBSD project about using DITA, but it's "A thought," though.

The FreeBSD Handbook, by in large, already serves as a topically focused -- and very usefully detailed -- reference manual about the FreeBSD operating system. As a knowledge resource, the FreeBSD handbook very much "Holds its own," as furthermore a manner of a reference manual.

The Handbook is published in a format like of a set of thesis documents about individual components of FreeBSD. In a DITA format, each article-like section in the FreeBSD handbook could be rendered as a DITA Topic. That, in itself, might not exactly serve towards further development of the FreeBSD handbook. However, perhaps it might serve as an aid to users and developers, as towards a manner of extensibility about the FreeBSD handbook -- at least, then, to authors whom would be both familiar with the DITA format, and familiar with the "Internals" of FreeBSD.

The overlap, in that proverbial set -- perhaps it might not seem to be any very broad kind of an overlap, at least outside of an ideal estimate, as of a hypothetical universe in which DITA is something anyone would voluntarily learn, beyond the small community of technical documentation geeks, and those of us somewhere in orbital space to the same.

The FreeBSD Handbook, in its original format, is developed onto the DocBook toolchain -- a long tried and trusted toolchain for technical documents. The DocBook toolchain is comprised, essentially, of the DocBook Schema -- in any single format, such as of a Document Type Definition (DTD) or a RELAX-NG schema -- and the DocBook modular stylesheets. The DocBook stylesheets, in turn, are available in both of DSSSL format -- for application onto SGML DocBook documents -- and in XSL format, for application on to XML DocBook documents.

Though there is a mapping -- as commonly available of the DITA Open Toolkit (DITA OT) -- for transforming DITA documents onto DocBook, but presently, there might not be an inverse mapping for DocBook onto DITA. It might be a fairly trivial matter, to semantically invert any much of the DITA-to-DocBook transformation module, from DITA OT, in defining a DocBook-to-DITA transformation. However, the question of whether and how that may be pragmatically worth it might remain to be addressed.

There's a topic that the author of this article is not willing to venture to address, in any offhand regards, at the FreeBSD forums: "Anyone else wants to use DITA to document FreeBSD?" Though the author of this article might fancy himself to be sufficiently familiar with SGML, XML, DocBook, and DITA formats, sufficient to be able to manage such a project by himself, but the social incentive of such a matter might seem to be fairly much "In doubt," as it may seem to be fairly much "Non-trivial," as a prospective effort, in numerous independent points of view.

In a manner of a rhetorical question: How would a "Proof of concept" be regarded, for a DITA transform of the DocBook format of the original FreeBSD Handbook?

It might seem to need some kind of a "Run-up time," such a project, if it could ever be a project that might be any furthermore adopted by the FreeBSD developer community. Though the author of this article, in particular, fancies DITA to be as simple as push-button editing -- except for all of the visible markup of it -- but not everyone might quite agree.

In a further juxtaposition of DITA to DocBook: In DITA, there are also the matters of content inclusion and seperately, of linking, each of which such concepts does not occur exactly in such a manner, in DocBook, not in exactly as it occurs in the syntax and semantics of DITA. Furthermore, in DITA, there is the topic 'class' attribute -- probably a very much interesting features, to those of us whom may be, furthermore, object oriented programming (OOP) geeks.

Ed. Note: ...and then there's something about "How to avoid arbitrary topics," as towards, orthogonally, towards a manner of a Wiki model for DITA or -- contrarily -- towards a centrally edited topic repository model for DITA 

It would definitely be a project applying the Java(R) programming language, to document FreeBSD with DITA. DITA OT uses ASF* Ant, for instance, in DITA OT's own build automation framework. ASF Ant is a tool developed in Java(R). Whether or not all persons editing DITA documents may prefer to use editor platforms also developed in Java(r) -- such as the commercially licensed Oxygen XML product -- and the author of this article would rather prefer to use Emacs and PSGML, candidly -- but for so much as building the finally formatted documentation, it would definitely need to use Java(R), such a project. It may be at least a convenient thing, then, that FreeBSD is really good at running Java(R) applications.**

Is that enough of an incentive, in itself? Most probably, it is not. DITA is not the hottest kewlness online, and -- candidly -- all of this amounts to anything very much unlike a hot rod sports car view of FreeBSD. It doesn't exactly become easily to a metaphor about Minetest, either -- not to game around about operating systems design. This article describes some concepts of documentation, as in or towards a manner of a developer's view.


* ASF: The Apache Software Foundation.

** It could seem almost like a kind of Digital Magic -- the efficiency at which FreeBSD runs Java(R) applications, even on the desktop. Perhaps it's rather a matter of the operating system design in FreeBSD.

Thursday, July 23, 2015

Towards a DITA OT Port for FreeBSD -- But First, The Larch

Corresponding to a beginning of a development of a personal business plan, formally starting today, I've set aside my  own edition of the [plug start] Samsung Galaxy S 8.4 Tablet -- an Android tablet -- and its seat-friendly, tabletop-friendly, all-around outdoors-friendly Griffin All-Terrain case [plug end] -- furthermore, leaving aside the Evernote app -- likewise, to sit down at my FreeBSD notebook -- for a short time -- indoors. It's a kind of a "Pivot day," in my own small, individual corner of the world. I've subscribed to Safari Books Online, and have begun to develop an ongoing books list.

In beginning to read one item in that list, I've queued up what is my first book to read about the Darwin Information Typing Architecture (DITA), in my own Safari books queue, namely the text: DITA Best Practices: A Roadmap for Writing, Editing, and Architecting in DITA.

Corresponding to that new books subscription, yesterday I'd begun developing a draft edition for another 'blog article -- that article, focusing about DITA, as in developing a concept of DITA architecture and DITA in applications. That was in using the Blogaway app (Pro edition), on my tablet.  I'm afraid it may as well remain in an unpublished draft edition, that article. Candidly -- in no short time after I've signed up with the Safari Books subscription service and begun reading about DITA -- presently, it's developed from an academic pursuit into a project idea. Likewise, it's such that I'd like to share about, as a project idea.

Of course, a project would not be able to take up a life of its own, in such short time. Beside the introduction that I'd tried to develop, in that unpbulished 'blog article, yesterday, but in a shorter sense of overview: Personally, I have some albeit limited knowledge about technical writing -- as namely with regards to a small number of document formats, such as the DocBook SGML DTD and DocBook 5 RELAX NG XML schema. I'm fairly well familiar with XML, more broadly, as a markup format.

Previous to yesterday, I'd read a little bit about DITA. In a sense, I'd thought it seemed like a kind of a cheerful little ray of sunshine about narrative XML documentation formats, in broad -- a topic that there might not seem to be too many rays of sunshine about, typically.  Candidly, on reading only some little about applications of the DITA schemas -- furthermore, in my being familiar with a style of hypermedia markup conventions as developed in DocBook -- I was a little put-off about some of the conventions of XML syntax developed in DITA. Mainly, there are the syntax and semantics of linking, in DITA information sets -- more specifically, a small number of elements and attributes in DITA, such that those elements and attributes may serve to provide "hooks" for content replacement in DITA processing models, as I've now begun to understand-- in a sense, those confuse me otherwise. I think there's a substantial difference in how DITA develops a concept of hypermedia linking, contrasted to the primarily ID/IDREF oriented hypermedia linking model in DocBook. I don't personally find myself able to "Leave it all to the editing platform," either -- my not being able to assume any manner of an opacity about the DITA markup format -- as I'm fairly certain that I may be editing a DITA markup file in a console-based text editor, at some point in time.

So, although those features of the DITA markup schemas may be such that I may find difficult to understand -- at least, at either of a first or second approach, in study -- now that I've found more of a friendly documentation about DITA and reviewed a couple of DITA document source trees, I'm fairly certain that I should be able to learn to proactively adapt my own hypermedia knowledge to adjust to the DITA document formats, even inasmuch as with regards to extending DITA.

 It's on that note, then, that I am still trying to write around the "Long leap" of the following tasks, as I can forsee in my own "Next nine yards" about DITA:
  1. Installing Java on my own FreeBSD notebook, with work-log, notes, and documentation references correspondingly
  2. Installing the DITA Open Tooolkit Tools onto the same notebook, likewise with a set of corresponding notes and references
  3. Likely beginning at least a local project for creating a FreeBSD port of DITA Open Tooolkit. This task, ultimately may entail a communication and further coordination with the FreeBSD Java(R) Project. As such, it's nothing I may approach in any of a too casual regards. Not to say overmuch about my own opinions of Oracle's style in commerce or software development -- however contrasted to the novel goodwill style of approach, as originally developed by Sun Microsystems -- I think Oracle's left me with a little bit of a bad impression, as to Oracle's position reportedly ever disfavoring developments in free/open source software (FOSS) namely in defense-oriented projects, and perhaps Oracle's own lack of information, as such, candidly. 
So, personally, I'm not a big fan about Oracle, and I'm not altogether certain if there is any broad Java developer community, any more, outside of Oracle ... and  FreeBSD, and a small number of enterprise web portal projects. The vibrant community that had developed around Java, during Sun Microsystems' management of the development of the Java programming language -- would it be too naive, to draw a metaphor of fracking, as for how that changed when Oracle acquired Sun?

The Oracle Java(R) launcher thing on Microsoft Windows 8.1 -- though it's cute, certainly -- it doesn't really change that impression, so much, not to my own point of view. Candidly, I still expect Oracle to be the monolithic corporation largely focused about a database platform, such that I've -- for a long time -- estimated of Oracle as a company. I don't think it makes any less of an Atlas-like shadow, with Oracle having acquired Sun. With Oracle now having demonstrated their own obvious lack of information with regards to FOSS and defense systems software, I might wish to trust Oracle to be moreover a Blind Atlas -- very worrisome, I think, worrisome if Oracle would set about to "Make New The Things."

So, knowing of a particular manner of a corporate monolith as such, looming up a little ways northward in California, and with some much of a knowledge of a broader world, I'm afraid I'm unable to join in the local Cool Team Parties. Even in avoiding any manner of a too locale-centric manner of a perspective about software development, but it still kind of "Creeps me out," about Java(R), if Oracle is really all the Enterprise as may I candidly estimate it to be.

If it may be possible to limit one's owns views to a sense of plainer principles, however -- inasmuch, to not make overmuch of a consideration as with regards to superstitions -- sure, Oracle might not be  all of the scarily opaque commercial software institution that I might think of it as. Focusing if simply on the ongoing free/open source licensing of any products previously developed or adopted by Sun Microsystems -- such as Berkeley DB, for instance, in its free/open source licensing options -- there's a matter of software licensing, orthogonal to any company's own apparently political positions with regards to software development models.

Thus, there's a foot I can find, in my own sense of knowledge about software now licensed by Oracle -- a foot, at which I may be able to disembark from my own concerns with regards to Oracle's policies. If it could seem as though Oracle could become such as, "Like Old Microsoft, but a thousand times worse," there's what I'm worried about. Regardless, the free/open source licensed by Oracle as free/open source software, that much of software might endure any such shift -- as much as of any free/open software licensed originally by Sun Microsystems.

So, in something of a sense of an organizational view,  maybe the goodwill "Vibe" that Sun developed could be just enough that it may endure even the acquisition by Oracle -- however far any developers and managers who would've been the parties directly developing such goodwill, and about a programming language moreover, however far "The Java Original Team" in and beyond Sun, may  have been put off and away from Oracle.

If I'd thought as though the film TRON: Legacy may have been all of a metaphor about Apple, perhaps it could as well be a film interpreted as if about any other Silicon Valley empire of an enterprise -- Oracle, perhaps as like a CLU character nearly making Java break out so much that it would break apart?

I don't find myself able to ignore the apparent social implications of Sun's acquisition by Oracle -- it seeming even more worrisome, after Oracle tried to toss some mud to the US DoD, as denoted in an article once reported to Slashdot, mud as if about free open source software. The "Old Microsoft 2.o?" theme, thusly, it began in my own simple point of view about Oracle.

Clearly, Oracle "Owns" Java(R)  as a trademark, today, but -- not even after the acquisition of Sun -- Oracle certainly does not own the history of the Java programming language. Thus, there's a broader sense of context, and nothing radical, about not looking too far into the Oracle.

So, maybe there's any plan for Java integration in LLVM. I'll have some research to develop, before I myself may develop any further work about Java(R) on a FreeBSD(R) operating system. The Brand Wars not begun again, they have not.