Fixpoint

2019-11-29

Introducing Gales Linux, a cross-bootstrapped, do-it-yourself, fully-static, discriminatory distribution

Filed under: Software — Jacob Welsh @ 20:57

Motto: Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary.(i)

Gales Linux is a new operating system distribution, navigating the stormy seas of software since 2017 and to be released shortly. While composed mainly of existing components, their selection, the build and install processes and glue are of my own design and implementation, not derived from existing distributions though certainly informed by them. It provides a bulwark against the seemingly uncontrollable growth of accidental complexity and technological churn that characterizes the modern Linux scene, harking back to a time of more comprehensible computing while aiming to incorporate some of the better ideas that have come along since. This said, it is not intended to be for all comers or all purposes. It's been an experiment in applying certain design elements and seeing how far they can go. I find it useful already; if you do too, then great; and if you're inclined to build your own system you may find it a useful starting point or resource to draw parts from.

It includes a Linux kernel (that you will need to configure yourself to fit your hardware), a GCC 4.7.4(ii) toolchain supporting C and C++, the musl C library, BusyBox utilities and a custom pdksh-derived shell.(iii) At present the environment is text only. Notably, the bootstrap procedure is documented and does not require an existing Gales system or matching architecture; in theory it can work from any reasonably POSIX-like system, which so far has been demonstrated on Gentoo, OpenBSD and Gales itself.

I've had three main guiding principles in the design process. First, the system should loyally serve the operator; for example, the act of installing, reinstalling, upgrading, patching or whatnot on a program should not "helpfully" modify live configuration or daemon process state. Second, the system should preserve meaning: while the ideal of direct execution from human-readable source code may not be presently practical, it should be the preference, and full reproduction of the system from source should be regarded as a primary necessity. Third is the old "Keep It Simple, Stupid" - perhaps better formulated as fits in head.

History

I had made some earlier attempts to take control of an OS starting in 2016. At the time I was running Fedora, Debian and OpenBSD, having been soured by the constantly broken builds in Gentoo after years of using it.(iv) The idea was to adapt the Linux From Scratch process to bootstrap a musl-based system from source, then use the existing RedHat Package Manager for applications. The effort was unsuccessful but instructive. I then tried Alpine Linux; it appeared to be elegant and developed by knowledgeable musl people, but I was alarmed to find that despite a claimed focus on security, its package management tool was written in C and "secured" by HTTPS. Next I tried the experimental "Gentoo hardened musl" project, using its "stage3" binary as a base but building further libraries and applications manually, thus forcing myself to inspect the upstream offerings, read the READMEs and run the ./configures. This went fairly well and I built up a personal archive of sources, patches and recipes to document my steps. I planned to deal with the remaining mystery blob of the stage3 by reproducing it from some pre-existing system; in the sort of surprise that by then was becoming unsurprising, I found that Gentoo's bootstrapping tool, "catalyst", did not support cross builds,(v) nor had the "hardened musl" project left any documentation on how they'd seeded their image.

Around the same time I had started studying the work of Daniel J. Bernstein aka djb. Some revelations were that much of what I had understood as "package management" was an unnecessary result of poor filesystem layout; that bug-free code wasn't such an unrealistic thing to aim for, but required questioning established interfaces; and that the more enticing aspects from a sysadmin's standpoint of the "systemd" abomination had been available at least a decade prior and with vastly less code. With Gentoo appearing to have minimal value left to offer, I set out to revive my from-scratch process and build a full system around these ideas.

Key design decisions

1. No separate "package database." A package-major hierarchy plus symbolic links is enough.

2. Fully static linking. The operator should be free to modify libraries, even keep multiple versions around, without risk of breaking existing programs. Thanks to musl the cost of object code duplication is low in most cases; in theory, program load time and memory consumption can even improve compared to traditional GNU/Linux and without extra caching mechanisms. Questions of how to build a given thing static or dynamic or both become unnecessary. In combination with 1, packages can be updated or rolled back more-or-less atomically.

3. Minimal PID 1 (init), as it occupies a position with special privileges and reliability requirements. Use external scripts for the boot process and daemontools for service management.

4. Static device management. No layers of "tweak the udev rules to tell the daemon how to regenerate the nodes" - that's what the filesystem is for. If you need to tweak /dev, you just do it.

5. Use initramfs for install and rescue environments and ensure its contents are easily customized. One result is a "viral" property that installing the system does not require physical boot media, merely an existing Linux-compatible bootloader (though of course a bootloader can be installed on external media).

6. Lightly automated build and install tools for additional software ported to the system, working based on build definitions including metadata, source checksums, patches, and build scripts.

7. A conservatively curated library of such software, known as the gports tree.

8. No effort to keep up with churning data sets such as Unicode, time zones, or message translations. News from the OS should pertain only to the functioning of the OS; definitionally unstable databases are the operator's business.

9. Config files protected without any special mechanism: shipped configs are installed exclusively to /etc/examples, from which you can copy or diff at leisure. This does mean you sometimes need to check for such examples for things to work as expected.

10. Simplifying third-party build systems as a gradual effort, typically replacing autotools spew with static config.h and Makefile, which often provides a noticeable build speedup and greatly eases investigation of questions like "wtf code am I even running?!"

11. Few libraries visible in standard search paths. To link with a non-standard library you use the -I and -L compiler flags to indicate its installed path. Thus linkage becomes much more explicit even in the presence of magical build systems that try everything they see.

12. Self-extracting shell archives, allowing precise and deterministic specification of metadata for trees of text or binary files without inheriting the complexities of the "tar" formats (plural!).

13. Deterministic build for the base so as to truly factor out the bootstrap host. While much progress was made here to the extent that results were bitwise-reproducible from two Linux systems, the goal of extending this to any host remains elusive, particularly in GCC and the kernel.

14. HTTP mirror for third-party source tarballs, including base and ports, with script to replicate and efficiently synchronize without allowing existing files to change or disappear.(vi)

15. Original sources (including documentation, scripts, base config files, gports and patches) kept in a single relatively lightweight repository suitable for management with V.

Over the next few days I will be dusting off the repository and publishing the code and some stats, so stay tuned!

  1. R. Kelsey, W. Clinger, J. Rees (eds.), The Revised5 Report on the Algorithmic Language Scheme. [^]
  2. Last series that can be bootstrapped purely from C. [^]
  3. IMHO providing a good compromise between comfort, code size and standards compliance. Bash is available as an option. [^]
  4. For one thing, it tries to take no stands and be adaptable to any purpose through a system of USE flags controlling how programs are built; for another, it has a "rolling release" model and generally accepts upstream updates. The result is a combinatorial explosion such that nothing really gets tested and every Gentoo system becomes unique, uncharted territory. [^]
  5. Which raises doubts on to what extent it really builds from sources rather than importing artifacts from the host system, something that can easily happen by accident given the complexity of the toolchain. [^]
  6. A present flaw is that the sync script doesn't allow subdirectories - validating server-provided paths in a shell script is tricky! - yet the mirror has one. Manual intervention required for now. [^]

2019-11-28

This is not an article.

Filed under: Tempus fugit — Jacob Welsh @ 19:25

Today's "morning article" is a public admission of failure to produce a morning article or even coherent slice of an article. I've got a start on presenting my Linux distro, but I'd rather not waste anyone's time with a half-assed mess on this complex topic. Faced with a couple bad options, I'm choosing to not snowball my problems further and move on for now. May I be more productive tomorrow.

Gales Bitcoin Wallet spec and battle plan

Filed under: Bitcoin, Software — Jacob Welsh @ 04:51

This proposal will detail the software part of my wallet under development,(i) consisting of a security critical offline part and less sensitive online part.

All monetary values are input and displayed in decimal BTC but kept internally in exact integer (satoshi) form; conversion must be lossless.

Offline

Wallet data is stored in a directory tree containing a keys subdirectory and outputs, change, fee, and transactions files.

Private keys are represented in hex, with one key per file in the keys directory. (Probably little-endian; need to check existing conventions.)

Each key file is named by the Base58Check-encoded Bitcoin address corresponding to the key. (This implies a case-sensitive filesystem.) Support for compressed public keys may be added using an extra tag byte in the private key.(ii)

A list of outputs believed to be spendable is maintained in the tabular text file outputs, with records delimited by linefeeds and the following fields delimited by one or more space or tab characters:

  • Address (Base58Check)
  • Value (decimal BTC)
  • TXID (hash of transaction containing the output, in the conventional little-endian hex format)
  • Index (position in the transaction's output vector, decimal integer)
  • Comment (optional; may contain spaces and tabs)

Encryption is supported by keeping these in a tmpfs and persisting with tar+gpg or similar.

The offline wallet program provides the following commands:

  • gen-key - generate a new key file and print the resulting address to stdout. (Nice to have: numeric argument to generate many.)
  • send ADDR VAL ... - generate a signed transaction sending the given addresses the given amounts in BTC, pairwise. Inputs are selected from the outputs table in the order they appear. The change address is read from the change file; the fee in BTC per 1000 bytes is read from the fee file. The hex-encoded raw transaction is appended to the transactions file. (Nice to have: summarize the proposed transaction and prompt for confirmation.) The outputs file is overwritten to remove the spent ones and add the change and any others that pay the wallet's own addresses.

Once transferred, the transactions file can be removed or truncated at will.

Online

The online part has a database that serves to index a lightweight subset of blockchain data pertinent to a single offline wallet. It tracks the following objects:

  • Watched addresses
  • Confirmed outputs funding them and inputs spending from them
  • Confirmed transaction metadata (hash, block hash+height+index, size, fee, comment)
  • Raw transactions submitted by the operator
  • Scan state

The online wallet program communicates with a Bitcoin node to populate its database and transmit new transactions. It provides sync commands:

  • scan - iterate blocks, filter for relevant transactions and update database.
  • reset - clear the scan pointer, e.g. to pick up past transactions affecting newly watched addresses. (Nice to have: argument to set to a given height)

Input/output commands:

  • unspent-outs - print unspent output table in the format used by the offline wallet. (Nice to have: other views like all outputs or only new outputs)
  • watch - import new addresses to watch from stdin, with optional comments.
  • push - import raw transaction(s) to push from stdin, with optional comments.

Accounting commands:

  • balance - print the sum of unspent output values.
  • register - print transaction history, format TBD.

Plan and time estimates

Online:
Write SQLite schema (currently drafted on paper): 1h
Import RPC client, block and transaction parsing code (I considered using python-bitcoinlib from Garzik et al. here; happily I have original implementations of the necessary parts): 1h
Block fetching ("dumpblock" from TRB to named pipe): 1h
Sync commands: 3h
I/O commands: 3h
Accounting commands (using something quick and dirty for "register" format for v1): 2h
Write manual: 3h
Total online part: 14h
Proposed deadline: Sunday, Dec 1.

Offline:
Port transaction signing prototype to Scheme: 2h
Key file I/O: 1h
BTC numeric I/O: 1h
Outputs table I/O: 3h
Update "gen-key" command for new spec: 1h
"send" command: 3h
Sample tar+gpg wallet open and close scripts: 1h
Design and implement tests: 5h
Write manual: 3h
Total offline part: 20h
Proposed deadline: Thursday, Dec 12.

Other:
"sendrawtransaction" RPC for TRB: 5h

Total: 39h
Deadline: Friday, Dec 13.

Now: I see 40 available hours remaining in my schedule for this time interval. Given that I'm far from confident in my estimation abilities here and there's always something unexpected, this is worrying. Perhaps the documentation would be a light enough job at this point to handle on the plane. Perhaps there's a "sendrawtransaction" patch floating around somewhere. Perhaps someone can be motivated to lend a hand - this would be the most separable task of the pile.

  1. Through further consideration of the coding tasks and data dependencies, in particular mapping out the online part as a relational database, I've realized my earlier notion of transactions as the central data structure had introduced unnecessary complications. If accounting of historical transactions is left to the online database, the offline signing part need only be aware of currently unspent outputs, which reduces its storage needs to a flat table, no S-expressions or JSON or similar. I believe this also brings it in closer alignment with the ideal. A second simplification is in the storage of addresses and keys, following a philosophy of "the filesystem is a database; use it", and naming of keys has been dropped. [^]
  2. This may be desirable to import keys or sweep funds from legacy wallets without having to execute their code. If used by default it would reduce outbound transaction size, thus perhaps fees, though as ever miner behavior is uncertain. [^]

2019-11-27

Early history of me, part 6

Filed under: Ego, Historia, Paidagogia, Vita — Jacob Welsh @ 18:22

Continued from part 5

Another eventually-successful parental negotiation involved my music studies. While my violin skills had advanced substantially from ages six to twelve, both solo and in orchestra, and I enjoyed performing, I had never quite accepted the burden internally, and the rigors of daily practice continued to grate. It probably didn't help that my parents weren't demonstrating much musical discipline themselves. If you want to raise a Wolfgang Mozart, it helps to be a Leopold Mozart, y'know?

At the same time, I'd dabbled a bit with the piano, because it was there, and it called out to be tackled properly. I convinced them to let me switch; we found a local teacher (at greater expense, if I recall, for having to look outside the organization) and I pursued the study with vigor. Unfortunately this only lasted about two years until we couldn't seem to make time for it among the increasing demands of school.

Some words about extended family would seem in order to round out an overview of my childhood. There was one set of grandparents surviving, my mother's side, who had retired about an hour north (a seemingly interminable drive at that age) in Gettysburg, Pennsylvania.(i) We'd visit every month or two. I liked them better than my parents did, probably due to less historical baggage on one hand and their inclination to spoil me on the other. When I slept over I'd be able to watch cartoons and play with Grandpa's Mac (with color display!) for hours. They had an affinity for the Arab world, having spent their careers as professors at the American University of Beirut. "Sittou" as we called her was the only churchgoer (Lutheran) in the clan, while Grandpa was a kind of tolerant non-believer. There was an uncle with family that I'd usually see at the grandparents' place.

On my father's side there was an elder aunt and family in Maine; due to the distance we'd see them yearly, at least in the good years when we could afford the vacation. They had picked up the tab on a coastal summer cottage that had been in the family a few generations; I remember with great fondness the change of scenery, climate and pace afforded by these trips; the smell of pine forests and ocean.

While all sorts of details could be relevant to the story of childhood, I will close this series with one that made a distinct mark on me and my generation: the events of the morning of September 11, 2001 and subsequent descent into war on an emotion. It was a school day in the sixth grade. The administration's first reaction was to say nothing, but by lunchtime a growing list of names was being called to report for early pickup, and rumor spread: "the country is under attack!" The superficial facts became clear soon enough, if not the interpretation. Following my parents I was skeptical of the official narrative; LaRouche had even spoken of the possibility of a "Reichstag fire" i.e. false flag event, before it happened. Whatever the Bush/Cheney administration's negligence or even complicity may have been, things played right into their hands. There was an upswell of patriotic fervor, with the songs, "United We Stand" posters and "Fight Terrorism" bumper stickers. I noted the blue skies vacant of contrails as civilian flight was suspended in the following weeks, and the later conversion of airport "security" from this quaint thing with X-ray machines to the complete exercise in humiliation that the inmates now take for granted. As the war whoops escalated, the average low-information voter didn't seem to perceive a difference between supposed Saudi hijackers, Taliban, or Saddam Hussein. Someone had to pay and it didn't much matter who. It marked the beginning of an end of innocence, both in the culture as a whole and my relationship to it.

  1. Perhaps most famous for its battlefield, regarded as the turning point of the American Civil War. [^]

2019-11-26

Early history of me, part 5

Filed under: Ego, Historia, Paidagogia, Vita — Jacob Welsh @ 17:13

Continued from part 4

Lest I paint too bleak a picture of a flat landscape in the public school system, special-needs options started to be offered around the fourth grade for those afflicted by working brains, namely honors classes and once-weekly programs with pompous acronyms whose meaning nobody remembered like FUTURA and SPECTRUM. These provided welcome relief, but remaining surrounded by a crowd that was none too interested in that whole learning thing, and probably resentful of being subjected to it, was still draining. And even in the honors classes, I found the ever-expanding homework burden full of silly, pointless or repetitive drudgery. Around the eighth grade I chose to drop my "straight-A" record to make more time for my interests outside school, which by that time had gravitated toward computer programming.

I sometimes complained to my parents about the situation. Why not the local private school where my friends from the organization went (by financial support from extended family)? Why not home-school? Such entreaties would be dismissed in the "yes, but" style.(i) While they did help pressure teachers and administrators into better supporting me, questioning the system itself was off the table. I see it as a kind of passivity from assumption of helplessness, lacking adequate consideration of what might have been possible or weighing of longer-term costs among proximate ones. When high school came around, there was finally a more serious option of a full-time magnet school;(ii) the proximate cost was being in the next county over with a lengthy bus commute. They rejected this on the first pass, hoping the local situation would improve. To their credit, they came around once it clearly wasn't improving and I got in as a sophomore transfer; unfortunately this meant having missed out on a number of freshman bonding experiences.

To be continued

  1. That "well, yes, but..." was a phrase often cited by LaRouche regarding the avoidances of potential recruits. [^]
  2. Thomas Jefferson High School for Science and Technology. [^]

2019-11-25

Early history of me, part 4

Filed under: Ego, Historia, Paidagogia, Vita — Jacob Welsh @ 17:31

Continued from part 3

There was none of that IV drip of brain sugar known as television in the household. My parents were quite concerned with the developmental effects of screen time, especially of that aimless and passive sort; movies and video games were fairly restricted as well. As intended, this directed my entertainment desires to books. My father's reading to me became a cherished evening tradition, and I eagerly took up reading myself as I became able, with interests tending toward fantasy adventure and a bit of science fiction.

While I loved the family time, a sore spot for me is the amount of time spent being not-raised by not-them. Like many - I'd venture to say most - American kids of this era I was "institutionalized", with daycare from an early age (around one year, if I recall) feeding right into preschool, kindergarten, then school proper. I'm not too clear on how this compares to global or historical norms, but my understanding is that the crowded environment makes individual attention difficult and the constant change in caregivers disrupts bonding. "Because I said so" and "life's not fair" are the typical explanations I remember from the preschool authorities. While the unfairness point is perfectly true, I see its usage more as code for "I feel overworked and underpaid and can't be bothered to help you think through your kiddie problems." Not that solving one's own problems isn't important either, but I don't know... how much reflection or social finesse can you really expect from four-year-olds, especially if it hasn't been well modeled? The typical justification for this outsourcing is Money; the only difference in my case is that it was the Mission.

I don't well recall if or how I expressed myself about the preschool environment at the time, but as time went on the deficiencies of the cookie-cutter approach of the school system became evident. One story (handed down as I didn't recall it myself) was the third grade teacher asking, "What solid has the same shape on every side?" An eager me: "Actually, there are five:", proceeding to rattle off the 'hedrons with correct pronunciation that my eighth grade geometry teacher later wouldn't manage. Teacher: "Yes Jacob; but the third grade answer is the cube." Peer: "That's right Jacob, this is third grade!!11" Me: "That's right. Third grade, not kindergarten." Then in the sixth grade, there was that "science" teacher who earnestly believed the moon orbited the earth every 28 hours and criticized me as "argumentative" (something my parents were delighted to hear).

To be continued

2019-11-24

Early history of me, part 3

Filed under: Ego, Historia, Philosophia, Vita — Jacob Welsh @ 17:16

Continued from part 2

The kids were all sent to conventional schooling of one sort or another, I suppose to be properly socialized in the "outside" world, which I've been starting to see as nothing but the inside of the larger cult of 'Merica - the more nefarious one for its scale and pervasiveness in the environment.

The organization hosted a day camp in the summers between school sessions. I remember these fondly for the most part; there was instruction in music, visual arts, drama, and some hands-on variety of math or science, punctuated by lightly organized sport, swimming, and at least some time for unstructured outdoor play.(i)

Not all was rosy, to be sure. The idea of an inner spark of goodness present in every human,(ii) that just needs the right sort of love and attention to kindle, played out bitterly in at least one way. Many families had put off childbearing well past their prime years for the sake of fighting the war, and realized too late either that they wanted kids or that the "about to win, any minute now" wasn't working out. Some, such as my own parents, made it work; others not so lucky turned to adoption, generally from the offerings of more-dysfunctional countries.(iii) Of these, some worked out fine, at least as far as the naked eye could tell; others did not. The camps were plagued by severe behavior problems from these, who would seek attention of any kind by being maximally disruptive and wasting everyone's time. And why shouldn't they anyway, with the "adults" perceiving themselves to have no options and nobody taking a serious stand to put a stop to it?

For my part, I thought of myself as a good kid and was eager to please. My home life, in continuation of my parents' own upbringings, was non-violent; I hesitate to say "peaceful" because there's always conflict of some sort, naturally. Voices were almost never raised, and disagreements generally worked out through discussion (though not always free of emotional "reasoning"). In my case conflicts centered around things I actively disliked doing, such as chores, trying new foods, and setting toys aside when the time called for it.(iv) My mother was the disciplinarian of the household, while I felt I could count on my father more for cooler evaluations of difficult topics.

To be continued

  1. Something I gather has been almost entirely disappearing from modern childhood in this not-so-brave new world of "safetyism" and touchscreen entertainment from the earliest years. [^]
  2. Possibly originating from LaRouche's high regard for Christianity (though he didn't require any particular religion or non-religion of members). [^]
  3. For reasons I'm unsure of but suspect to be ideological. [^]
  4. Things I still sometimes struggle with - go figure! [^]

2019-11-23

Early history of me, part 2

Filed under: Ego, Historia, Philosophia, Vita — Jacob Welsh @ 17:29

Continued from part 1

While I lacked the knowledge to grasp the teachings or follow the affairs of "the organization" at a deep level, I loved the community and intellectually lively culture it provided, and engaged as best I could. We were at the "national center", which in the 1980s had fled the New York City rents to the then-small town of Leesburg, Virginia,(i) and provided a "critical mass" with other kids to befriend and helpful grown-ups who could teach on a variety of topics.

Like any good religion, music played a major part of daily life, regarded as a focused activity to train the mind and also providing pleasure and bonding. The focus was heavily on Classical music, with its emphasis on beauty and sophisticated harmonies (counterpoint) rather than the repetitive chord progressions of popular music. In fact, music was regarded to have healing powers, at least in a spiritual sense; there was no soul so lost that a sufficient application of Bach couldn't lift it back up, or so the theory went. There was a weekly chorus for the children, though the coaching didn't get much past the elementary; I had a good sense of pitch but never quite got the hang of projection and vibrato, and was fairly self-conscious about singing solo. I was also subjected to enriched by violin lessons, a more difficult and correspondingly rewarding pursuit.

Outside these mandatory activities, my interests got me into a geometry class with the adults; they used it as practice of what I gather to be their Platonic views, such as the process of creative discovery conceived as the mind becoming aware of something it already contained, and superiority of the "mind's eye" to direct sensory perception. "Accept nothing that you have not constructively proven for yourself" was one teaching. I also received private tutoring from a fellow who liked building things, reading classical physics texts and reproducing experiments. Among other projects we managed to build a working demonstration of magnetic levitation. As with music solving inner problems, it was believed that advanced technology could solve all economic problems, if only it were given proper respect and state financing of course.

To be continued

  1. Not so small anymore after the huge growth of the Washington, DC area, fueled as I understand by growth of the Federal bureaucracy and decay of industry elsewhere. [^]

2019-11-22

Early history of me, part 1

Filed under: Ego, Historia, Vita — Jacob Welsh @ 17:06

A principal authority in my early years, until somewhere around age 14, through the natural channel of parental involvement, was the American self-styled philosopher and statesman Lyndon LaRouche (1922-2019) and his organization.(i)

They used various names for different branches of their efforts, from the ever so Soviet sounding "National Caucus of Labor Committees" for the activist core, to the "Schiller Institute"(ii) for larger philosophical, artistic and political outreach. It was a high-pressure environment for members, with promises of immanent collapse of the global monetary-financial system on the one hand, and a new renaissance uplifting the world from poverty and realizing the glorious potential of mankind on the other. Once committed, one was expected to give everything one had, and then some, to the cause. It was effective at least in terms of putting out vast volumes of printed material, attracting a sizable audience, running numerous election campaigns (though not especially successful), and keeping the operation more-or-less afloat for decades.

At least to my young self, the man was impressive in speech as in writing. He hailed from an earlier era, before the generations raised by television with 45-second attention span, could hold forth for hours on a wide range of topics with deep vocabulary and historical knowledge, and would expect you to keep up.

To be continued(iii)

  1. The "attempt to predicate the meaning on an authority predicated on the meaning" description would seem to fit. [^]
  2. After 18th century German poet and playwright Friedrich Schiller. [^]
  3. As before, I'm on a daily deadline in order to keep the pen moving. [^]

2019-11-21

Analysis of "The road to Ossasepia" series

Filed under: Ego, Writing — Jacob Welsh @ 18:41

diana_coman: anyways, it's easy then: do a re-reading tomorrow and extract theme, structure and scope for the road to ossasepia series,(i) write them analytically bullet-point style and then see what you can say about them

The overall themes I see in the series are the journey, the internal struggle, relationships, and vulnerability.

The attempted scope was the events of my time in the channel from joining to acceptance with enough context to make sense of them.

The overall structure was narrative, starting with exposition on background concepts then proceeding to my initial state, my interactions in and out of channel, and ending with results. In detail:

Part 1:

  • Opens with a quote from my entry to the channel, representing the beginning of this journey and middle of larger one.
  • Sets up for explaining the meaning and context of the quote and the events to follow.
  • Introduces TMSR through a summary of what I understand it to be about.
  • Introduces the concept of the forum through a summary and reference.
  • Hints at the structure of the hierarchy.
  • Introduces Diana Coman in this context, though not much is said about who she is otherwise.

Part 2:

  • Turns the focus to me, and in particular where and how I'd gotten myself stuck, by my present understanding and with reference to some TMSR terms of art.
  • Introduces Robinson, somewhat obliquely.
  • States the dissonance, the decision, the plan, and early steps (without much detail)

Part 3:

  • Describes my heading to the castles, learning about YHC and deciding to focus my attention there.

Part 4:

  • Describes my struggle with the reading and decision making.
  • Illustrates some interactions in channel and privately.

Part 5:

  • Analyzes causes for my hesitation and how they were dealt with.

Part 6:

  • States my next steps upon applying.
  • States the criticism of unbalance in the form of weakness or avoidance in talking about myself.
  • Itself comes across as a reversion to this pattern, presenting a rather dry account of events without shedding light on my own experience of them.(ii)
  1. Parts: 1, 2, 3, 4, 5, 6. [^]
  2. And indeed I wasn't all that enthused to dig back into it now, which precisely shows that it's an important exercise. [^]
Older Posts »

Powered by MP-WP. Copyright Jacob Welsh.