Mutually Assured Destruction and the Second Amendment Arms Race

Listening to the asinine speeches before Congress incites me to point out that the argument that we need more guns is the same argument that created the Cold War:

Mutually Assured Destruction (MAD):–  if everyone has a gun, who do you shoot, the guy next to you who just pulled his, or the guy he’s shooting at? When you draw yours, you are automatically a high-priority target — for everyone else, not just the original shooter. MAD works only if no one is crazy enough to fire the first shot. Oh, right, this is about deterring crazies… Absolutely wrong solution.

Hard targets: Deliberate shooters determined to take as many people with them when they check out as they can will wear body armor. Will you? To go to the mall? What does that say about your motives?

Stealth: Take a lesson from Ballistic Missile Submarines and MAD — When everyone has a handgun, the bad guys will have sniper rifles.

Gun Economy: During the Cold War, defense contractors were among the top 100 corporations, and absorbed a large percentage of GNP. In the Second Amendment Arms Race, gun shops will spring up next to the Apple Store, and designer purse pistols will outnumber iPhones.   We are almost there, already.  Which. Is. Part. Of. The. Problem.

Proliferation: The only thing wrong with the economic model above is that iPhones don’t kill people, texting while driving kills people. The more smart phones, the more deaths. Likewise, more guns, less safety.  If people can’t use a phone responsibly, how do you think they will use guns?  Street gangs already text with bullets, and don’t care who they hit.

Life, Liberty and the Pursuit of Happiness: You can’t wish your sister Happy Birthday with a handgun, but you can with a smart phone, and you can call 911 faster than you can realize you should have drawn first. You can also hang up the phone if you were wrong, or apologize.  You can’t put the bullet back in the chamber.  Guns don’t increase happiness.

Security for Future Generations: If your toddler accidentally dials 911 on your smart phone, it is an embarrassment. If you dial 911 because your toddler played with your handgun, it is a tragedy.  I lost a nephew (age 5) to an unsecured purse gun nearly 40 years ago: guns do not protect you and your family unless you protect your gun 24 hours a day, every day, and , more often, guns in the household do irreparable harm.

Mindset: if you carry a gun, you are, first and foremost, a gunslinger. How will you focus on teaching when you know that, statistically, sometime in the next 15,000 years, a madman with a gun will enter your classroom, and you have two seconds to draw and fire? Or less. If someone you don’t recognize opens the door, do you shoot, in case he might be the one, or do you wait until you see the gun? Oh, too late. Do you practice at the range after school, or do you tutor a child having difficulties?

– —a Well-Regulated Militia: The “people” can have all the guns they want, if well-regulated (doesn’t this mean laws about what kind, and registration requirements) and organized into a militia. The NRA originally taught gun safety for hunters, but now seems determined to arm insurgents against possible (but not probable) totalitarian oppression from the Government, the charter for which opens with “We the people…”  We have met the enemy and he is us. The Second Amendment arose because the founding fathers were determined to run their new country without a standing professional army, an institution which had brought so much grief and strife to Europe over the centuries, and, more recently, in the Revolution, which saw trained British regulars and Hessian mercenaries abuse the civilian population. The second amendment provided for a military reserve of hunters, in place of an insurgency of armed colonists, in the context of a frontier hunter-gatherer society moving toward an agro-industrial economy, in a geographically isolated and sparsely-populated land with a sometimes-hostile indigenous population. Those conditions do not exist in the 21st century: the 2nd amendment is an historical footnote, and should not be interpreted as a literal call to arms.

Bootstrapping Webs (the fiber kind)

We call the computer inter-network  “The Internet” or “the Web” (short for World Wide Web), so-called for the fact that a computer network, symbolically and in physical realization, consists of logical and physical pathways that are intertwined, interlaced, and interconnected in a structure very like fabric (or a spider’s web).  The terms we use come from one of the oldest of man’s complex tools or machines, the loom, a tool or machine for making a fabric from twisted, intertwined, and interlaced animal or plant fibers.  It is not surprising, then, that the Unix Curmudgeon, who has built, repaired, and assembled computers and computer networks for nearly five decades, should also get involved in the repair, assembly, and even construction of the original artifacts.

The Nice Person who allows the Unix Curmudgeon to share a home with her has been a fabric and fiber artist full time for the last 12 years, since retiring from the nursing and case management professions.  We’ve had sewing machines of various vintages and capabilities for most of our lives, ranging from the foot-powered treadle variety to micro-processor-controlled machines that embroider intricate patterns, needing attention only to change thread colors.  In 2001, we acquired a long-arm quilting machine, which paid for itself, additional sewing machines, and a large stash of fabric and thread, by using it to quilt tops pieced by others.   It also help fund our newest fiber addiction, looms, yarn, and accessories, which have also started paying their own way in sales of handwoven items, only because we buy most of the equipment used.

So, starting with a simple rigid-heddle loom in 2006 or so, which quickly was joined by a partially-finished homebuilt floor loom (which we completed and have since modified and upgraded), we just continued to furnish the house with looms.  A used smaller floor loom followed, then a small tapestry loom and an inkle loom (for making narrow bands), and, finally, a spinning wheel.  After our move from Montana to Washington, we acquired three table looms (a must for weaving classes) after the Curmudgeon graduated from Loom Mechanic to amateur weaver, a couple more floor looms (upgrading from 4-harnesses to eight), and, recently, another tapestry loom with a shedding device.  Somewhere along the way, we gave away one table loom and loaned out the smallest floor loom.

Despite getting most of these looms for bargain-basement prices (we only bought the tapestry looms, spinning wheel, rigid heddle loom, and a couple of warping boards new), this starts becoming a substantial investment.  One of the newer 8-shaft floor looms came with a sectional warp beam, for which we bought an inexpensive third-party tension box, an item needed for winding on warp in sections.  But, we also needed a spool rack, for holding the 12-24 spools of thread needed to wind on a one-inch section.  A new one of these costs nearly as much as we paid for the loom, so we searched the web and found photos and dimensions of one that someone else had made.

spool rack
A 40-bobbin spool rack, for warping a sectional-beam loom.

We ordered a set of cardboard bobbins suitable for the purpose, and, with a few lengths of poplar from Home Depot and steel rod and screws from Ace Hardware, put together a home-made spool rack.  After working out any issues, we might add a set of thread guides to the front and disassemble it to glue the joints and apply a protective finish.  But, it will serve quite well as-is.

Here’s a short clip of how the spool rack is loaded–first, the yarn is measured (on a skein-winder with a turn counter attached) to load lengths for as many sections as needed to get the proper weaving width.  This one needs 24 spools of 110 yards each to make a 21-inch wide cloth 5 yards long. The last section of the clip shows the Nice Person weaving on the rigid heddle loom.  We’ve progressed a ways since we started on that one, but it is still useful, especially with textured fibers that don’t work well on the standard loom.

Loading the Spool Rack from Larye Parkins on Vimeo.

A card loom--simply two pegs to anchor the warp and a spreader to help keep the threads in order
A card loom–simply two pegs to anchor the warp and a spreader to help keep the threads in order

About the same time, the Unix Curmudgeon decided to join a band-weaving study group with one of our weaving guilds, as he had taken a class in card-weaving (or tablet weaving) last year and wanted some incentive to keep working at it.  Tablet weaving doesn’t really need a loom, but only a couple of pegs to hold the warp, and a set of 4-hole cards to create the shed for weaving.  Card weaving has the advantage of being able to weave intricate patterns by rotating the cards together or individually, but does apply a distinctive twist, winding the threads on one card around each other as they rotate.  The inkle loom can also be used as a card loom, threading cards rather than the fixed heddles.

cards in a card loom
The tablets set up for selective rotation to make an intricate pattern without picking.

However, the Nice Person also decided to join the group, which has decided to focus on the inkle loom, and we only had one inkle loom (as unlikely as that may seem).  Since a new inkle loom costs about $75, plus shipping, there not being a weaving supply shop nearby, we found a plan on the Internet (craftzine.com) that was fairly simple and clear, and went back to Home Depot for more wood and to Ace for more screws.

In the hurry to select wood, we didn’t notice that the largest piece picked from the hardwood rack was maple, rather than the more economical poplar, but the total cost still came in at less than $40, with almost enough wood left over to make a second loom to sell. As a bonus, we used some of the waste wood from the lap joints in the loom to make a shuttle/beater for the weft.

inkle loom
A home-built inkle loom, warped and ready to weave.

It isn’t surprising that looms, though they look complex, are fairly simple and inexpensive to build, since they have been made by shepherds and farmers (and later, city folk who purchased raw fiber) since man first discovered wool, flax fiber, and cotton seed pods could be spun into yarn and the yarn interlaced into cloth. When we toured the midwest a few years ago for the Curmudgeon’s 50th school reunion, we learned at a prairie museum that early settlers who immigrated from Scandinavia only brought with them the steel reeds used to space the warp and beat the weft, and built the rest of their looms from local wood, and tied heddles from strong spun fiber, to weave homespun wool and linen.

We also recently learned the Japanese Kumihimo technique of braiding multiple threads into strong and decorative cords. The simplest form uses 7 threads, for which we made eight-sided braiding disks from craft foam purchased at a sewing outlet: a $1 sheet makes about four disks. The traditional form uses up to 16 threads, which uses a 32-slot disk or a marudai (a wooden stand with a round wood disk top). Below is a short video showing the 7-strand technique, moving the third thread anti-clockwise from the empty slot into the empty slot, repeat…

Kumihimo from Larye Parkins on Vimeo.

We’ve also recently made a small tapestry loom from 1/2″ copper plumbing pipe (using our old-house repair skills), and are studying the ancient art of språng, another braiding technique for making fabric, in which the yarn is captive on both ends, making a symmetrical flat cloth pattern, in intricate designs chosen by the interlinking/intertwining methods as well as color selection.  This will require some sort of frame, but no other tools.  Språng is also an ancient technique, “discovered” by archeologists in a 3500-year-old dig, and since found to be practiced yet today in many primitive rural societies all over the world.  Thus we discover that making webs to create nets, clothing, and containers is as natural to humans as it is to spiders, and can be done with everything from hands with opposed thumbs to simple hook tools or sticks, using simple tensioning frames to complex mechanical devices to hold and manipulate the threads.  Of course, knitting and crocheting is very popular, too, but we haven’t had time to do much of that lately, especially since we are still financing our fiber habit in part by weaving webs of the Internet variety.  So, computers and networks aren’t esoteric science, they are just the extension of our natural desire to weave fabrics in interesting and useful patterns: it’s in our DNA.

Office Open XML Pitfalls

Those of us who use Open Source tools for computing and eschew Microsoft products for whatever reason have long been annoyed and inconvenienced by that huge segment of the computing world that assumes that whatever they see on their computer, you will see on your computer if they send it to you.  So it is, that we get inundated with Microsoft Office files:  Word documents that we may or may not need to edit, Power Point presentations, and Excel spreadsheets.  Some of the senders are innocents, who truly think that what they see is what there is, on everyone’s computer.  Others are just plain arrogant: “If you want to do business with us, you will have the current version of Microsoft Office.”

Excuse me, but we are a Linux/Unix shop, and Microsoft Office does not run on our computers.  Microsoft Office requires Windows, and a license, and is something that we not only would not use because we have a perfectly good integrated productivity environment, but, that, if we did, would require us to move files around in our network and do a lot of extra work just to accommodate your lack of sensitivity.  OK, we do have a copy of Windows XP installed in a virtual machine and unused copies of Windows Vista and Windows 7 stashed “somewhere.”  But, no Office, and we only use XP when we absolutely must (like testing our web creations on Internet Explorer or running TurboTax, a painful annual chore).  Our normal and customary work environment, which is a network of interconnected and interoperating Linux, BSD, and Solaris machines and virtual machines, has LibreOffice, which automatically opens any attachments in our email (which we read on the web or with Thunderbird, and, when necessary, Enlightenment, but never Outlook: thank you, but no thank you), and generates all of the various types of productivity documents, in an ISO standard format, and can export them directly in PDF format for printing or viewing.

LibreOffice is the latest fork in a family of Open Source products that comply with the Open Document Format, an international standard (ISO 26300:2006)  .  As a convenience, LibreOffice also can read and write most documents written in older Microsoft Office formats and various other document formats that have been in common use in prior decades.  But, the one that defies reasonable translation and interoperability is the Microsoft Office Open XML (OOXML) standard, which is not particularly open, nor stable, nor a widely-accepted standard (recognized by ECMA only, as ECMA-388).  LibreOffice can read most OOXML documents, but so far has not been able to write them in a manner that Microsoft Office can read.  When we receive a document for editing that is in OOXML format, we send it back in Microsoft Office 2003 (.DOC) format [although a much-simplified rendering, through the magic of reverse engineering–not sanctioned by Microsoft].  It is our policy that, if you require us to edit Microsoft documents in their native format, you will need to provide us with the equipment and software to do so, or we will need to purchase it and invoice you.  Period.  On the other hand, there are freely available converters that users of Microsoft Office can install that will export to and import from Open Document Format, to enable them to exchange files with anyone, using an international standard that does not require a license or special systems to open.  But, they don’t.  We have become a contentious society, where compromise, cooperation, and accommodation are difficult to non-existent.

Our contention is that OOXML files should be considered for internal use only, i.e., within an organization: anything that goes to an external organization should be in an open standard.  There are also practical reasons for this:

1) Microsoft Office, though widely used in business, is not a universal standard, only runs under Microsoft Windows and Apple, and requires a separate license.  OOXML is a relatively new standard, introduced in its present form in 2007 and accepted by ECMA only in 2009 (though a “standard,” it is not portable, being virtually inseparable from Windows, despite having been ported by Microsoft to Apple OS/X, and cannot be considered truly open as it has hooks into prior Microsoft products protected by patents and licensing agreements that make it impossible to replicate on other systems).

2) Microsoft Office documents frequently contain deleted information in them that may be potentially damaging to the company, and which can be easily extracted.  I once received a letter that was composed by opening a different document, deleting the contents, and typing the new data.  Since I did not at the time have a file converter, I dumped the unformatted contents of the file using the Unix ‘strings’ utility, which revealed not only the text intended for me, but the other, private data.  Please don’t send me your company secrets and confidential client data: I don’t want it, don’t need it, and it creates ethical problems for all of us.  There is one simple rule to avoid this issue:

If a document is intended to be read-only, it should be sent in an open-standard page-description format, like Adobe Page Description Format (PDF).  There are so many advantages to this:

a) The document will display on my monitor and print on my printer exactly as it does on your monitor and printer.  Office documents (even ones converted to a different format) will not do this, since the presentation is system-dependent.  Not all of the typefaces on your system may be installed on my system, for instance.  The document in an office productivity tool is formatted for the current print device, and changes (although slightly, in most cass) when a different output device is selected.

b) All of the editing and quality control markings (red-line/strike-out), notes, etc. will be stripped out of the document–only the final intended output is stored in the display format.

c) The document can be used by any system, since the standards are supported universally–the recipient does not have to have the same system and software that you do in order to read your document.

d) Any different versions of the document that turn up later will be provably derivative.  It is more difficult to extract parts of the document or edit it, and there is little danger that a modified version will be passed on as if it originated with you.

One issue that came up recently showcases why OOXML is not suitable for sending documents, even ones that need to be edited.  Microsoft (and others) uses a technology called OLE (Object Linking and Embedding) to enable users of their products to link to or embed live computation objects from one document into another document.  This is most commonly used to place a graph or chart generated by an Excel spreadsheet inside a Word document or a Power Point presentation.  The premise here is that the object is interactive–if you make changes to the spreadsheet, the changes are automatically updated in the Word document or PowerPoint slide.  This is very useful if you are going to make the presentation from your own computer or print the Word Document.

However, if you send the file to someone outside your organization, any links in your document will be broken, since they do not have access to your disk drive or network share to read the linked file.  And, if the object is embedded, it requires the version of the program that created it installed on the recipient’s computer in order to reproduce it, or at least something that will correctly interpret it.  OLE inclusions in OOXML files have proven to be particularly difficult to correctly interpret when opened in a different system, and may simply be ignored if the file is opened in a non-Microsoft system.  To date, none of the productivity suites that implement ODF are natively capable of rendering OLE inclusions in OOXML files.  I was recently tasked to merge documents from several contributors into a web presentation, that I was forced to retract and then work overtime to reword and republish because one of the documents contained eight OLE charts that were totally invisible when imported into LibreOffice on my web development system.

The OLE problem predates some of the other OOXML issues by a decade or more: in the mid-1990s, when standards for documentation exchange were being formulated, the problems of the then Microsoft Office formats versus proposed open standards were very clear, and the situation has not only not improved, it has gotten worse:  Microsoft continues to carry forward some legacy baggage in their conventions and formats which is and always will be incompatible with international standards.  These incompatibilities date from the beginning of Windows in the 1980s and continue to accumulate.

Meanwhile, we continue to receive native OOXML files that we cannot render faithfully on our systems:  Documents that contain invisible charts, PowerPoint presentations that run off the edge of the screen and have hidden elements, spreadsheets that don’t compute, and other issues that cause misunderstandings, miscommunications, and errors.  It is bad for business.  The solution is simple:  Use standard formats for communications with others: PowerPoint presentations look better as PDFs, as do Word documents that are meant to be read.  ODF is an accepted international standard for document exchange for editing: OOXML is not.   It takes a few minutes to install an ODF converter plugin in a Microsoft system, and a few seconds to export in ODF format.  Importing just happens, if the plugin is installed.  It takes hours sometimes to examine an OOXML document to make sure there are no hidden features in it, or to have to ask for a PDF version (which some correspondents regard as an unacceptable imposition, possibly because they haven’t learned how to generate one–if it isn’t an option on the file menu, it can be with another plugin that should be standard).

In the case of the missing charts above, it was necessary to obtain a Windows-based OOXML converter, run it in WINe on Linux, and take screenshots of the charts to paste into the merged document as images, the format in which they should have been delivered in the first place, not as OLE live objects, especially since the final output was a downloadable PDF.  But, reasonably, how many computer users think about the formats and nature of the objects in their documents?  Most aren’t consciously aware that there is a vast difference between documents on their computer and documents on the Web. Much of the information technology today falls under Clarke’s Law* for people in other lines of work who use computers as a tool and are then frustrated when the magic spell they cast on their own computer isn’t repeatable on someone else’s.  The coming  Age of Cloud Computing may simplify the issues, or enormously complicate them, and may simply move the same old standards conflicts into different cloud banks.

*Science Fiction legend Arthur C. Clarke stated that: “Any sufficiently advanced technology is indistinguishable from magic.”  Commonly referred to as Clarke’s Third Law.