EXECUTIVE SUMMARY
Approximately 40–50 years after the event, all pre-war electronic devices will have reached end of life.1 If NZ cannot build digital computers from domestic materials, it loses computing capability until such time as trade partners can supply replacements or domestic manufacturing develops — and with that loss, the optimised logistics, medical records, agricultural planning, and scientific calculation that the recovery economy depends on revert to manual methods with significant efficiency costs (see Part I). This document provides a complete, step-by-step guide for constructing a general-purpose digital computer from raw materials available in New Zealand, addressing the scenario when the nation operates with functioning governance, agriculture, maritime trade, and a literate workforce — but no electronics.
The guide specifies a phased program: first a proof-of-concept machine (~300 transistors, built in years 1–3), then a practically useful 12-bit stored-program computer (~1,500 germanium point-contact transistors, 256 words of magnetic core memory, built in years 3–5) designed for solving national resource allocation problems. The total construction cost is approximately 30 person-years of skilled labor over 5 years. An economic justification (Part I) demonstrates that the computer path costs roughly half the labor of maintaining an equivalent human computation bureau over 10 years while solving 4–6× more optimization problems per year, with breakeven around year 7–8.
The design uses germanium point-contact transistors — the same technology as the first transistor (Bell Labs, 1947). Germanium is chosen over silicon because it melts at 938°C (vs. 1,414°C), requires lower purity for basic devices, and its key chemical intermediate (germanium tetrachloride) boils at only 84°C, enabling purification by fractional distillation with basic glassware. A post-collapse group cannot achieve the extreme purity and furnace temperatures that silicon demands.
Key prerequisite industries: This project requires prior development of basic chemistry (acid production — see Doc #113: Sulfuric Acid), metallurgy (copper smelting, wire drawing — see Doc #70: Copper Wire Production), glassblowing (see Doc #98: Glass Production), and precision metalwork (see Doc #91: Machine Shop Operations). These prerequisites represent years of industrial development and should not be underestimated.
Key uncertainties: Germanium ore availability in NZ (sphalerite deposits exist but germanium concentration is variable); transistor fabrication yield (30–50% estimated, could be lower initially); actual clock speed achievable with hand-built components (1–5 Hz conservatively, possibly higher with experience); and the timeline for prerequisite industry development.
Cross-references: Doc #91 (Machine Shop Operations), Doc #70 (Copper Wire Production), Doc #113 (Sulfuric Acid), Doc #102 (Charcoal Production), Doc #98 (Glass Production), Doc #134 (Computing Self-Sufficiency Roadmap), Doc #22 (NZ Geological and Mineral Resource Atlas).
Contents
- Preface: The Scenario and What We’re Building
- Part I: The Case for Computing Capability
- Part II: Critical Raw Materials and Where to Find Them
- Part III: Building the Prerequisite Infrastructure
- Part IV: Obtaining and Purifying Germanium
- Part V: Fabricating Passive Components
- Part VI: Building Point-Contact Transistors
- Part VII: Logic Gates — From Transistors to Computation
- Part VIII: The Computer Architecture
- Part IX: Constructing the Computer
- Part X: Programming for Resource Allocation
- Part XI: Phase 3 — Scaling Up
- Appendix A: Chemical Safety Summary
- Appendix B: Tools and Equipment Summary
- Appendix C: Mineral Identification Quick Reference
- Appendix D: Reference Values for Circuit Design
- Appendix E: Estimated Bill of Materials for Complete Computer
- Appendix F: Summary Cost-Benefit Analysis
- CRITICAL UNCERTAINTIES
- Footnotes
Preface: The Scenario and What We’re Building
This guide addresses a specific scenario: a nuclear exchange has disrupted global supply chains and, over the following decades, rendered all existing electronic devices non-functional. We assume approximately 40–50 years have passed since the event. The setting is New Zealand — a nation of 4–5 million people that, owing to its Southern Hemisphere location and lack of strategic targets, retained most of its population and social structure. The country has functioning governance, agriculture, coastal and international maritime trade, and a literate, educated workforce. What it does not have is electronics.
During the decades when electronics still functioned, the Recovery Library (the curated collection of essential knowledge maintained for exactly this contingency) was used to print and distribute critical reference materials: mathematical tables, engineering handbooks, medical texts, agricultural guides, and — crucially — the document you are now reading.
The Three Phases
This guide describes a phased program for rebuilding computing capability from raw materials. The phases are:
Phase 1: Proof of Concept (Years 1–3). Establish the prerequisite infrastructure (forge, chemistry lab, glassworks), extract and purify germanium, fabricate the first working transistors, and build basic logic circuits. The milestone is a small proof-of-concept computer — perhaps 100–300 transistors, 4-bit word size, 16 words of memory — that demonstrates the team can produce working semiconductor devices and assemble them into a functioning digital machine. This machine is not intended for practical use. It is a training exercise, a validation of the materials and processes, and a foundation for the team’s skills. It is roughly equivalent to the Manchester “Baby” of 1948, which was itself a proof of concept.
Phase 2: The Useful Machine (Years 3–5). Using the experience and infrastructure from Phase 1, build a substantially more capable computer — 12-bit word size, 256 words of magnetic core memory, ~1,500 transistors — designed for the specific purpose of solving resource allocation problems for the national economy. This is the machine described in detail in Parts II through X of this guide. It is not a toy. It is a working institutional tool, designed to replace and augment the human computation teams that the government is almost certainly already employing for critical planning work. Part I explains why this investment is justified.
Phase 3: Scaling Up (Year 5 onward). Develop junction transistor fabrication, build second-generation machines with higher clock speeds and more memory, and progressively expand computing capability toward the level needed for more complex applications. This phase is described in Part XI.
The bulk of this guide focuses on Phase 2 — the useful machine — because that is what must be justified economically and specified precisely enough to build. Phase 1 is a simpler subset of the same processes (less germanium, fewer transistors, a smaller architecture) and does not require separate detailed specification. Phase 3 is a trajectory rather than a fixed target.
The critical design decision: We use germanium point-contact transistors, not silicon. This is the same technology that powered the first transistor (Bell Labs, 1947). Germanium is harder to find than silicon but vastly easier to process: it melts at 938°C (vs. 1,414°C for silicon), requires lower purity levels for basic devices, and its key chemical intermediate (germanium tetrachloride) boils at only 84°C, enabling purification by fractional distillation using basic glassware. A post-collapse group cannot achieve the 99.9999% purity and 1,400°C+ furnace temperatures that silicon demands. Germanium is the realistic path.
Part I: The Case for Computing Capability
This section makes the economic argument for building a computer. It is addressed to government decision-makers and resource planners who must weigh the construction cost against competing demands on skilled labor.
1.1 The Problem: Resource Allocation at National Scale
A nation of 4–5 million people, cut off from global supply chains and managing a constrained economy, faces a continuous stream of resource allocation problems. These include:
- Maritime and overland logistics: Which vessels carry what cargo, from which port, to which destination, in what order? New Zealand is an island nation with two main islands and numerous coastal communities. Efficient use of limited transport capacity directly affects whether communities receive food, medicine, building materials, and fuel in time.
- Agricultural planning: Which regions plant which crops, how seed stock and fertilizer are distributed, how irrigation water is allocated during dry periods. These decisions determine the following year’s food supply.
- Medical supply distribution: Limited stocks of antibiotics, antiseptics, and surgical supplies must be allocated across hospitals and clinics based on current disease burden and risk.
- Fisheries management: Quota allocation across fishing zones based on stock assessments and catch data, to prevent the collapse of a critical protein source.
- Labor allocation: Skilled tradespeople (engineers, doctors, blacksmiths, carpenters) are a scarce resource that must be scheduled across competing demands in different regions.
- Building material distribution: Salvaged steel, milled timber, cement, and other construction materials allocated to competing infrastructure projects.
- Fuel allocation: Charcoal, firewood, biodiesel, and other energy sources distributed based on industrial, agricultural, and domestic needs.
- Communications scheduling: If radio networks are operational, frequency and time-slot allocation across stations to maximize message throughput.
Each of these problems shares three characteristics:
- The inputs are not knowable in advance. Vessel positions, crop yields, disease outbreaks, and weather patterns change constantly. These problems cannot be pre-computed and stored in the Recovery Library.
- The cost of poor allocation is high. Suboptimal logistics means communities go without critical supplies. Suboptimal agricultural planning means food shortages. Suboptimal medical distribution means preventable deaths.
- The interaction of multiple variables exceeds reliable human intuition. Any single allocation decision is straightforward. But the interactions between dozens of supply sources, destinations, transport capacities, urgency levels, and constraints create a solution space too large for a committee to explore systematically. Research in operations research consistently shows that human decision-makers default to “greedy heuristics” — addressing the most urgent need with the most obvious resource, then the next most urgent, and so on. This approach is typically 15–30% less efficient than a systematic optimization, and for tightly constrained systems the gap can be larger.2
1.2 The Current Approach: Human Computation Teams
The Recovery Library includes procedural guides for systematic resource allocation — algorithms that, when followed step by step, produce provably better solutions than intuitive decision-making. The government has likely already established a Central Computation Bureau staffed by trained clerks who execute these algorithms by hand, working in duplicate-checked pairs to minimize errors.
This bureau is valuable. It represents a major improvement over pure intuitive allocation. But it has well-understood limitations, all of which are documented in the historical record of pre-electronic computation offices (the British Nautical Almanac Office, 1767–1950s; the WPA Mathematical Tables Project, 1938–1943; the wartime computation centers at Bletchley Park and the Aberdeen Proving Ground).3
Speed: A trained human computer sustains approximately 1.5–3 arithmetic operations per minute averaged over an 8-hour working day, accounting for reading values, writing results, tracking position in the algorithm, and general bookkeeping (the range depends on operation complexity and individual proficiency).4 Working in duplicate-checked pairs (the standard practice to catch errors), effective throughput is 0.75–1.5 operations per minute per pair. A team of 20 people (10 working pairs) produces roughly 450–900 operations per hour, or about 3,600–7,200 operations per 8-hour day.
A typical resource allocation problem — say, optimizing maritime cargo distribution across 10 ports with 2 commodity types and 3 vessels — involves approximately 50,000–100,000 arithmetic operations (depending on the number of iterations the stepping-stone algorithm requires to reach optimality). The bureau completes this in roughly 7–22 working days (the range reflects both human throughput variation and problem-dependent iteration counts).
The more realistic multi-commodity version (5–6 resource types optimized jointly, which is the actual problem the economy faces) involves roughly 1–2 million operations. The bureau requires 7–14 months for a single solution. This means the joint optimization can be performed at most once per year, and any mid-year disruption (a storm season, a disease outbreak, a vessel lost) cannot be systematically reoptimized — the bureau reverts to heuristic adjustments.
Error rate: Even with duplicate checking, human computation teams produce systematic errors at a rate of approximately 0.1–0.5% of final results. These arise when both members of a checking pair make the same mistake — typically at ambiguous steps in the algorithm, or when fatigue degrades attention. Systematic errors are particularly dangerous because they are invisible: the output looks reasonable but is silently wrong, and the resulting allocation underperforms without anyone understanding why. The historical Nautical Almanac contained errors that persisted for decades; documented navigational disasters attributable to almanac error include the 1707 Scilly naval disaster and several 19th-century merchant losses.5
Scalability: The bureau’s capacity is fixed by its headcount. As the economy grows more complex — more trade routes, more resource types, more regional demands — each problem grows larger. To maintain the same throughput on larger problems, the bureau must hire more staff, linearly. There is no efficiency gain from experience: the 1,000th problem takes as long as the 1st.
Opportunity cost: Every person employed in the bureau is a person not farming, fishing, building, teaching, or doctoring. In a labor-constrained economy, dedicating 20 skilled, numerate people to full-time arithmetic is a significant cost. These are exactly the kind of people who would otherwise serve as teachers, engineers, or administrators.
Problem coverage: In practice, the bureau handles only the highest-priority national allocation problems — perhaps 15–20 per year. Dozens of other allocation problems (district-level agricultural planning, local fisheries quotas, construction scheduling, fuel distribution) are solved heuristically by regional managers using rules of thumb. Each individual heuristic solution is adequate; collectively, the efficiency losses compound across the entire economy.
1.3 What the Computer Changes
A computer does not replace the bureau staff’s expertise in problem formulation and result interpretation. It replaces their arithmetic. And it does so with the following characteristics:
Speed: At 1–5 Hz (the realistic clock speed for a first-generation machine with hand-built point-contact transistors), the 70,000-operation logistics problem completes in 4–19 hours. The multi-commodity joint optimization (1–2 million operations) completes in 3–23 days. At 100 Hz (achievable with a second-generation junction-transistor machine within 2–3 years of the first), these times drop to 12 minutes and 3–6 hours respectively. For context, a modern pre-war microprocessor executes billions of operations per second — this machine is approximately 10 billion times slower. Compared to the 20-person human computation bureau, the first-generation machine (1–5 Hz) is approximately 4–40 times faster (at 1 Hz it executes ~28,800 operations per 8-hour day vs. the bureau’s 3,600–7,200; at 5 Hz that rises to ~144,000 operations per day). The second-generation 100 Hz machine is approximately 500–2,500 times faster than the bureau. The speed advantage of the first-generation machine is meaningful primarily because the machine runs unattended overnight, compressing a 7–22-day bureau job into a single working day — not because of raw throughput.6
Recomputation: When conditions change (a vessel is delayed, a harvest fails, a disease outbreak shifts medical priorities), the clerk updates the input values on the machine’s switches and re-runs the optimization. What took the bureau weeks now takes hours or minutes. This transforms resource allocation from a periodic planning exercise into a responsive, adaptive process.
Reliability: A validated computer either produces the correct answer or produces detectable garbage. The most common hardware failure mode in transistor logic — a transistor stuck fully ON or fully OFF — pulls an entire bus or output register to a rail voltage, producing an obviously wrong result (all bits the same value, or a wildly out-of-range number) that the operator or a simple bounds-check routine can flag. This is categorically different from the systematic human error — the subtle corruption that looks plausible but is wrong. Once the machine’s algorithm has been validated against known test cases, every subsequent run is trustworthy within the constraints of the hardware monitoring regime.
Zero marginal labor cost per problem: Operating the machine requires one clerk (roughly 30–65 minutes total per problem: 20–45 minutes for data entry and 10–20 minutes for output recording, depending on problem size and operator experience). The machine itself consumes no human labor during computation. This means problem coverage can expand dramatically: instead of 15–20 high-priority problems per year, the machine can handle 100 or more — every district-level allocation, every regional fisheries quota, every construction schedule. Problems that were never worth assigning to the bureau (because the bureau’s time was too scarce) now cost almost nothing to solve.
Scalability: As problems grow larger, the machine runs longer — proportionally to problem size. No additional staff are needed. When the machine itself reaches its limits, the solution is to build a better machine (a discrete, one-time investment), not to hire more permanent staff.
1.4 The Cost Comparison
Computer construction cost (Phase 1 + Phase 2):
| Phase | Duration | People | Person-years |
|---|---|---|---|
| Year 1: Infrastructure (forge, chemistry lab, glassworks, wire drawing) | 12 months | 6 | 6 |
| Year 2: Germanium extraction, purification, initial transistor fabrication | 12 months | 8 | 8 |
| Year 3: Phase 1 proof-of-concept machine; begin Phase 2 component fabrication | 12 months | 8 | 8 |
| Year 4: Phase 2 transistor production at scale, circuit assembly | 12 months | 6 | 6 |
| Year 5: Phase 2 final assembly, testing, commissioning | 6 months | 4 | 2 |
| Construction total | 30 |
The Phase 1 proof-of-concept machine (a small 4-bit, ~300-transistor device built midway through the project) serves as a critical risk-reduction milestone. If the team cannot produce a working small computer, the problems are identified and corrected before the much larger Phase 2 investment in transistor fabrication. The Phase 1 machine also provides invaluable hands-on experience with circuit assembly, debugging, and the practical behavior of hand-built transistors — knowledge that directly improves the quality and efficiency of Phase 2 construction.
Ongoing operation and maintenance (from year 5 onward): ~1.3 person-years per year (one part-time operator, one part-time maintenance technician, replacement transistor fabrication).
Note: Approximately 3 person-years of the Year 1 infrastructure work (the forge, glassworks, and chemistry lab) produces durable facilities that serve the broader economy beyond the computer project. The computer-specific construction cost is therefore closer to 27 person-years.
Cost honesty: what the 30 person-year figure does and does not include.
The 30 person-year estimate assumes that certain prerequisite capabilities already exist or are being developed independently of the computer project. Specifically:
- Sulfuric acid production (Doc #113) is required for germanium extraction via the chloride route (hydrochloric acid, which itself requires sulfuric acid and salt). If sulfuric acid production does not exist when the computer project begins, establishing it adds an estimated 5–15 person-years and 1–3 years of lead time. This is a [C]-rated capability — difficult, dependent on precursor industries.
- Glasswork capability beyond basic vessels is needed for fractional distillation of germanium tetrachloride. If the glasswork infrastructure described in Year 1 proves insufficient for the precision required, additional development time may be needed.
- Copper wire drawing at the gauge needed for magnetic core memory and circuit wiring requires either surviving pre-war wire stock or a functioning wire drawing operation (Doc #70). The estimate assumes this is available.
- Failed attempts and learning curve are partially accounted for in the transistor fabrication yield estimates (30–50%), but the Year 2 timeline for going from zero experience to purified germanium is optimistic. A more conservative estimate adds 6–12 months.
Realistic cost range: If prerequisite industries must be built from scratch alongside the computer project, total cost is more likely 40–55 person-years over 6–7 years, not 30 over 5. If prerequisite industries already exist (because other Recovery Library projects — steel, chemistry, wire — have been underway), the 30 person-year estimate is achievable. The project plan should account for this dependency: launching the computer project after, rather than before, the chemical and metallurgical infrastructure described in Docs #92, #94, #108, #115, and #116 is expected to reduce the total project cost by 15–25 person-years.
Even at the higher estimate of 55 person-years, the computer path remains substantially cheaper than the bureau-only path over a 10-year horizon (see comparison below). The question is not whether the computer is worth building, but when the prerequisites are ready to support it.
Equivalent human computation cost:
To match the computer’s output capacity once operational (80–120 optimization problems per year across all domains), the bureau would need to expand substantially. Based on the throughput figures above:
| Year of operation | Problems solved by computer | Equivalent bureau labor |
|---|---|---|
| Year 5 (commissioning, 20 problems) | 20 | 5.6 person-years |
| Year 6 | 40 | 14 person-years |
| Year 7 | 60 | 24 person-years |
| Year 8 | 80 | 32 person-years |
| Year 9 | 100 | 40 person-years |
| Year 10 | 100 | 40 person-years |
| Operating total (years 5–10) | ~156 person-years |
But this comparison overstates the case, because the bureau would never actually solve 100 problems per year — it would solve 15–20 and leave the rest to heuristic decision-making. The more honest comparison is between the computer path and the realistic alternative:
The realistic alternative: A bureau of 20 people (costing ~20 person-years/year) solving 15–20 problems per year, with all other allocation problems handled by heuristic. Total cost over years 5–10: ~120 person-years, but with worse outcomes — the 60–80 problems per year that only the computer would solve remain heuristic, with the associated 15–30% efficiency losses applied across the economy.
The computer path: 30 person-years construction + 7.8 person-years operation (years 5–10) + a reduced bureau of 5 people (problem formulation, result interpretation, programming) at 5 person-years/year for 6 years = ~68 person-years total, with 80–120 problems per year solved optimally once the machine reaches full capacity.
Not all of these person-years carry equal weight. The 30 person-years of computer construction demand scarce specialists — metallurgists, glassworkers, germanium chemists — who have few substitutes and competing demands elsewhere in the recovery economy. The bureau’s ~120 person-years, by contrast, draw on educated but more available personnel (mathematicians, clerks, administrators) who are far less scarce than the construction specialists, making the bureau’s raw person-year figure less costly in practice than a direct comparison implies.
The computer path costs roughly half the labor of the bureau-only path while solving 4–6× more problems. Breakeven occurs during year 7 or 8 of the project (2–3 years after the Phase 2 machine becomes operational), and the advantage grows every year thereafter.
1.5 Second-Order Benefits
Beyond the direct labor savings and efficiency gains, the computer provides:
Institutional decision-making quality. When the government allocates scarce medical supplies during an epidemic, the ability to demonstrate that the allocation was computed by a systematic, reproducible process — not determined by political negotiation or personal judgment — has significant value for social cohesion and public trust.
A platform for capability growth. The Phase 1 proof-of-concept machine is a 4-bit, 16-word device built in Year 3. The Phase 2 machine is a 12-bit, 256-word computer commissioned in Year 5. The Phase 3 second-generation machine, built 2–3 years later using junction transistor techniques developed during Phase 2, will be faster and more capable. Each generation is built by a team whose skills were developed on the previous one. The computer project is not a one-time expenditure; it is the seed of an accelerating capability trajectory that leads, over 10–20 years, to machines that can handle problems no human team could approach — structural engineering simulations, epidemiological modeling, communications network optimization, and applications not yet anticipated.
Knowledge preservation and development. The team that builds the computer acquires deep practical expertise in chemistry, metallurgy, electronics, and mathematical algorithm design. This expertise has value far beyond the computer itself — it represents the foundation of an industrial and scientific capability that the nation needs to rebuild.
Computing as a trade good and export service. If NZ achieves working computing capability before regional trade partners, that capability has external trade value. Consider:
- Computing as a service: Other regions — Australia, Pacific nations, eventually South America and Southern Africa — face the same allocation problems NZ does, often at larger scale. A region with a working computer can offer optimization services to trade partners: run their logistics problems, fisheries models, or agricultural planning calculations in exchange for goods NZ cannot produce domestically (copper, tropical crops, manufactured components). The practical constraint is communication: trade partners must be able to transmit problem inputs and receive outputs, which requires either direct visits or a functioning radio data link.
- Computer manufacturing as an industry: Once NZ can build one computer, subsequent units benefit from the learning curve — the second machine should require meaningfully less fabrication time than the first as the team’s yield rates and assembly efficiency improve. The exact efficiency gain depends on how much of the first machine’s time was absorbed by process development rather than production; this cannot be reliably pre-quantified. Exporting computers to trade partners is a plausible high-value trade opportunity, but only once the domestic capability is proven and repeatable.
- Lead-time advantage: A region that achieves computing capability before its neighbors benefits from applying optimized allocation to its own economy while neighbors rely on heuristic decision-making. The value of this advantage is proportional to the length of the lead time and the complexity of the allocation problems involved.
These trade benefits are real in direction but difficult to quantify in magnitude — they depend on what trade partners need, what they can offer, and whether NZ in fact achieves capability first. They are not a primary justification for the project; the domestic efficiency case stands without them.
The honest caveat: These trade benefits assume NZ achieves computing capability before its trade partners do. Australia has a larger engineering workforce, more mineral resources, and several universities with strong technical programs. Brazil has a larger industrial base. It is not guaranteed that NZ will be first, and the trade advantage diminishes significantly if multiple regions achieve computing simultaneously. NZ’s hydroelectric grid (which avoids fuel-dependent generation), its existing technical workforce, and access to this construction guide are genuine practical advantages — but they do not guarantee a lead, and the project timeline is long enough that other regions may reach similar capability independently.
1.6 Recommendation
The construction of a general-purpose digital computer should be authorized as a national infrastructure project, to be executed in parallel with (not as a replacement for) the existing Central Computation Bureau. The bureau provides immediate capacity during the 5-year construction period. Phase 1 (the proof-of-concept machine) validates the team’s ability to produce working semiconductor devices by Year 3, providing a clear go/no-go decision point before committing to the larger Phase 2 investment. Upon commissioning of the Phase 2 machine, the computer progressively absorbs the bureau’s routine computational workload, freeing bureau staff for higher-value roles (problem formulation, result interpretation, training, and programming) and extending optimized allocation to dozens of problems previously handled by heuristic.
The project requires approximately 30 person-years of skilled labor over 5 years — roughly equivalent to the cost of building one or two medium-sized fishing vessels — and produces a permanent institutional asset with compounding returns.
Part II: Critical Raw Materials and Where to Find Them
Before building anything, your team needs to locate and secure sources for the following materials. Geological survey knowledge and preserved maps from the Recovery Library (especially Doc #22: NZ Geological and Mineral Resource Atlas) are essential starting points. In New Zealand, most of these materials are accessible from domestic sources, but availability varies significantly by region and deposit quality.
2.1 The Essential Materials List
| Material | What It’s For | Natural Source | Minimum Needed |
|---|---|---|---|
| Germanium | Transistors (the semiconductor) | Sphalerite (zinc ore), certain coal ash | 300–800g of purified Ge (range depends on fabrication yield) |
| Copper | All wiring, coils, contacts | Malachite, azurite, native copper | 30–60 kg |
| Tin | Solder | Cassiterite (tin ore) | 3–5 kg |
| Lead | Solder (with tin) | Galena (lead sulfide) | 1–2 kg |
| Iron/Steel | Tools, structural, furnace parts | Magnetite, hematite, bog iron | 50+ kg |
| Tungsten or Phosphor Bronze | Transistor contact wires | Wolframite/scheelite (W), or copper+tin alloy | ~50g W or make from Cu+Sn |
| Quartz Sand | Glass (for containers, insulators) | River sand, quartz veins | 50+ kg |
| Limestone | Flux for smelting, glass additive | Limestone deposits, shells | 20+ kg |
| Sulfur or Pyrite | Sulfuric acid production | Volcanic deposits, pyrite veins | 10+ kg |
| Common Salt (NaCl) | Hydrochloric acid production | Sea water, salt deposits | 10+ kg |
| Charcoal | Fuel, reducing agent, carbon resistors | Any hardwood | Ongoing production |
| Clay | Crucibles, furnace lining, insulators | Riverbanks, subsoil | As needed |
| Mica | Capacitor dielectric, insulation | Pegmatite veins (NZ occurrences in Westland, Fiordland, Stewart Island) | 1–2 kg sheets |
| Beeswax or natural resin | Insulation, sealing | Beehives, pine trees | As needed |
| Phosphorus source | N-type dopant for germanium | Bone ash, certain minerals | Grams |
| Indium or Gallium (optional) | P-type dopant for germanium | Sphalerite (co-occurs with Ge) | Grams |
| Iron oxide + Manganese oxide + Zinc oxide | Ferrite cores for memory | Rust/hematite, pyrolusite, zinc roasting byproduct | 1–2 kg total |
Note: The germanium requirement is higher than for a minimal proof-of-concept machine because we are targeting ~1,200–1,500 working transistors (requiring fabrication of 2,400–5,000 devices at 30–50% yield). The lower bound assumes an experienced team at the higher yield rate; the upper bound assumes early-stage fabrication with significant learning curve losses.
2.2 Locating Germanium: The Critical Bottleneck
Germanium does not occur as a native metal or in its own dedicated ore. It is a trace element that substitutes for zinc in the crystal lattice of sphalerite (ZnS), typically at concentrations of 0.01–0.3%. Some exceptional deposits reach 0.5% or higher. This means you will process zinc ore primarily and extract germanium as a byproduct.
Where to find sphalerite in NZ: Sphalerite is the world’s most common zinc mineral. It occurs in hydrothermal vein deposits, often alongside galena (lead ore), pyrite, and quartz. In New Zealand, known sphalerite-bearing deposits include:7
- The Coromandel Peninsula (Hauraki Goldfield) — historic gold and base-metal mines at Thames, Waihi, and Karangahake contain sphalerite in epithermal quartz veins. The Thames School of Mines building still stands and old workings are accessible.
- The West Coast, South Island — the Reefton Goldfield and surrounding areas contain base-metal sulfide veins in Ordovician greywacke, with sphalerite-galena occurrences reported near Blacks Point and the Paparoa Range.
- Nelson/Marlborough — scattered base-metal occurrences in the Takaka Hill marble and Riwaka Complex area.
- Old mine workings generally — the ruins of historic zinc/lead mines will persist for centuries; consult the NZ Geological and Mineral Resource Atlas (Doc #22) for locations.
- The mineral itself: resinous to adamantine luster, color ranging from yellow-brown to nearly black, hardness 3.5–4 (scratches with a knife), distinctive “rosin jack” appearance. Streak is white to yellow-brown. Distinctively, it has six directions of cleavage and often shows triangular crystal faces.
- It frequently occurs with galena (metallic grey, very heavy, cubic cleavage) — if you find galena, look for sphalerite nearby.
Alternative germanium sources: Certain coals are enriched in germanium (up to 1% in ash from some lignite deposits worldwide, though NZ lignites have not been systematically assayed for germanium content). NZ has substantial lignite deposits in Southland (the Gore and Ohai fields) and sub-bituminous coal on the West Coast (Stockton, Spring Creek).8 If coal is available and high-germanium varieties can be identified through testing (germanium-rich coal ash has a distinctive white color and different chemical behavior), the ash can be processed similarly to zinc ore residues. This pathway should be investigated but not relied upon until germanium concentrations are confirmed.
Quantity required: Given that sphalerite contains perhaps 0.01–0.3% Ge (highly variable between deposits), and the extraction process recovers approximately 30–60% (depending on equipment quality and operator experience), producing 500g of metallic germanium requires processing roughly 500–10,000 kg of ore. The wide range reflects genuine uncertainty about NZ deposit quality; at 0.1% Ge with 50% recovery, roughly 1,000 kg of ore is needed. This is a significant mining and chemical processing operation, feasible over the course of 6–18 months depending on ore quality and team experience.
2.3 Copper: The Backbone of Everything Electrical
You need copper for every wire, every connection, every coil. Fortunately, copper ores are common and copper smelting is among the oldest metallurgical arts.
Primary ores:
- Malachite (green, botryoidal copper carbonate) — smelts with charcoal at moderate temperatures (~1,100°C)
- Azurite (deep blue copper carbonate) — same processing as malachite
- Chalcopyrite (brassy yellow copper-iron sulfide) — requires roasting before smelting
- Native copper — if you find it, you skip smelting entirely
NZ copper sources: NZ has very limited copper mining history. Small copper occurrences exist in the Dun Mountain mineral belt (Nelson), the Riwaka Complex, and scattered locations in Otago and the Coromandel. However, the primary near-term copper source is almost certainly recycled copper from existing infrastructure — electrical wiring, plumbing, motors, and transformers contain far more accessible copper than any NZ ore body. Australian copper via Tasman trade is the likely long-term supplement (see Doc #70: Copper Wire Production).9 The 30–60 kg requirement for this project is modest and well within recycling capacity.
Copper smelting (from ore) requires temperatures of ~1,100°C, achievable in a well-built charcoal-fired furnace with bellows.
Part III: Building the Prerequisite Infrastructure
You cannot build a computer until you can build the things that build the things. This section covers the foundational infrastructure your team needs to establish first. Much of this infrastructure (the forge, the chemistry lab, the glassworks) has value to the broader economy and should not be charged entirely against the computer project.
3.1 The Charcoal Operation
Charcoal is your universal fuel and reducing agent. You need a lot of it. Establish charcoal production first — it powers everything else.
Constructing a charcoal kiln: Build an earth-covered mound kiln. Stack dry hardwood (NZ red beech/Fuscospora fusca, hard beech/F. truncata, or tawa/Beilschmiedia tawa — all dense native hardwoods suitable for charcoal; plantation-grown Eucalyptus species also work well) into a dome shape approximately 2–3 meters in diameter. Leave a central chimney channel. Cover the entire mound with a layer of damp leaves or grass, then a thick layer of earth (15–20 cm), leaving small vent holes at the base and the chimney open. Light the kiln from the top through the chimney. The burn is controlled by opening and closing vents — you want slow, oxygen-starved combustion (pyrolysis), not open burning. A typical burn takes 3–7 days. Yield is roughly 20–25% of the original wood weight as charcoal.
You’ll need to produce charcoal continuously. Assign at least one person to this full-time.
3.2 The Forge and Foundry
You need a forge capable of reaching at least 1,200°C (for copper smelting and basic steel work) and ideally 1,500°C (for some glass work and high-temperature crucible operations).
Building a bellows-driven charcoal furnace:
The structure: Build a shaft furnace from firebrick or from clay mixed with sand and straw, fired hard. The interior shaft should be roughly 30 cm in diameter and 60–80 cm tall. Line it with refractory clay (kaolin-rich clay if available; otherwise mix regular clay 50/50 with crushed sand).
The bellows: Construct double-acting bellows from wood frames and leather (goat or cow hide). The nozzle (tuyère) should be a ceramic tube angled slightly downward into the furnace base. Double-acting bellows provide continuous airflow, which is critical for reaching high temperatures.
Crucibles: For containing molten metal and chemical reactions, make crucibles from the best refractory clay available, mixed with ground graphite or sand. Fire them hard before use. Crucibles for germanium zone refining will need to be made from high-purity quartz (fused silica) or graphite — more on this later.
3.3 The Chemistry Laboratory
This is non-negotiable. You need basic wet chemistry capability to purify germanium, etch materials, make dopant solutions, and test purity. A functional chemistry lab can be built with 18th-century-level technology, though the glassware and acid-resistant vessel requirements should not be underestimated — see Doc #98 (Glass Production) and Doc #113 (Sulfuric Acid) for the prerequisite dependency chains.
Essential chemicals you need to produce:
Sulfuric Acid (H₂SO₄)
The single most important industrial chemical. You’ll make it by the lead chamber process or, more practically at small scale, by the contact process analog:
- Burn sulfur or roast pyrite to produce sulfur dioxide (SO₂). NZ has native sulfur deposits in the Taupo Volcanic Zone (White Island/Whakaari, Rotorua geothermal areas) and pyrite is common in the Coromandel and West Coast mineral belts.10 If using pyrite (FeS₂), roast it in a well-ventilated kiln: 4FeS₂ + 11O₂ → 2Fe₂O₃ + 8SO₂.
- Oxidize SO₂ to SO₃ by passing the hot gas over a catalyst. In a post-collapse NZ setting, the realistic catalyst is iron oxide (rust or hematite powder) packed in a ceramic tube heated to ~450°C. Platinum is the superior catalyst used in industrial contact processes, but NZ has no documented platinum placer deposits and platinum recovery from salvage sources is uncertain; assume iron oxide unless platinum becomes available from trade. Iron oxide conversion efficiency is lower than platinum (typically 60–70% per pass vs. 97%+ for platinum), requiring either multiple passes or accepting more dilute acid.11
- Absorb SO₃ in water to form H₂SO₄. Do this by bubbling the gas through water in a glass or lead-lined vessel. CAUTION: SO₃ + H₂O is violently exothermic. Work outdoors, in small batches, with eye and skin protection.
Alternatively, at smaller scale: burn sulfur under a glass bell jar containing a dish of water with a small amount of saltpeter (KNO₃, obtainable from aged manure heaps or cave deposits) as a catalyst. This is slow but produces dilute sulfuric acid adequate for many purposes.
Hydrochloric Acid (HCl)
Essential for germanium processing.
Heat common salt (NaCl) with sulfuric acid: NaCl + H₂SO₄ → NaHSO₄ + HCl↑
Do this in a glass retort or a ceramic vessel with a glass collection tube leading into water. The HCl gas dissolves readily in water to give hydrochloric acid. This is a well-known reaction achievable with very basic equipment.
Hydrogen Gas
Needed for reducing germanium oxide to metallic germanium.
React iron filings or zinc scraps with hydrochloric acid: Zn + 2HCl → ZnCl₂ + H₂↑ (or) Fe + 2HCl → FeCl₂ + H₂↑
Collect the gas over water in an inverted bottle or glass vessel. CAUTION: Hydrogen is flammable and forms explosive mixtures with air. Handle with extreme care, use only in well-ventilated areas, keep away from flames during collection.
Sodium Hydroxide (Lye/NaOH)
Useful for cleaning and etching. Make by reacting quicklime (CaO, made by firing limestone) with a solution of washing soda (Na₂CO₃, obtainable from wood ash leachate that has been reacted with quicklime). Or more directly, by the traditional process of leaching wood ash to produce potash (K₂CO₃/KOH), which works similarly for most purposes.
3.4 Glassblowing Capability
You need glass vessels for chemical reactions, distillation apparatus, and potentially for encapsulating transistors. Glass requires:
- Silica sand (SiO₂) — the main ingredient (~70%)
- Soda ash (Na₂CO₃) from wood ash or natural deposits — the flux (~15%)
- Limestone (CaCO₃) — the stabilizer (~10%)
Melt these together at approximately 1,500–1,700°C. This is achievable in a well-built furnace. You’ll need long iron or steel blowing pipes and shaping tools. Glassblowing is a specialized skill — ideally someone on your team already knows it, or you have a reference text in the Recovery Library. The critical items to produce are:
- Retorts and flasks for distillation
- Tubing (for condensers and gas handling)
- Beakers and jars for chemical storage
- The distillation column for GeCl₄ purification (see Part IV)
If full glassblowing is not achievable immediately, many chemical operations can be done in ceramic vessels with ceramic lids. Performance gap: Ceramic vessels cannot achieve gas-tight seals as readily as glass (critical for closed-system reactions), have poor thermal shock resistance compared to borosilicate glass (cracking during rapid heating/cooling is a regular failure mode), and may introduce mineral contamination into reactions. This is manageable for bulk chemical operations but problematic for high-purity germanium work. Distillation of GeCl₄ absolutely requires glass or, as a fallback, copper tubing for the condenser — but copper is reactive with HCl and GeCl₄ vapors and will contaminate the product; use copper condenser sections only if glass is unavailable, and expect lower-purity germanium.
3.5 Wire Drawing
You need copper wire of various gauges — thick for power, thin for winding coils, very thin for transistor contacts.
The process:
- Cast a copper rod approximately 10 mm in diameter by pouring molten copper into a clay or soapstone mold.
- Hammer and anneal (heat to red, quench, hammer, repeat) to progressively thin it.
- For fine wire, use a draw plate: a steel plate with a series of progressively smaller holes. Pull the copper through each hole in succession, annealing between passes. Each hole should be only slightly smaller than the previous. Start with holes around 5 mm and work down to 0.5 mm or smaller.
- For the finest wire (transistor contact points), you may need to draw phosphor bronze (copper + 5–8% tin + trace phosphorus) to ~0.1 mm. This requires patience and a very smooth draw plate. Alternatively, use fine tungsten wire if available.
The draw plate itself should be made from the hardest steel you can produce (high-carbon steel, quench-hardened). Drill or punch the holes and finish them with a tapered reamer to make the entry slightly flared.
Part IV: Obtaining and Purifying Germanium
This is the heart of the entire project. Everything else is ancillary. If you can produce several hundred grams of semiconductor-grade germanium and shape it into usable pieces, you can build transistors. If you can’t, you can’t.
4.1 Extracting Germanium from Sphalerite (Zinc Ore)
The overall pathway is: Sphalerite → Roast → Leach → Precipitate Ge as oxide → Convert to GeCl₄ → Distill GeCl₄ (purification!) → Hydrolyze back to GeO₂ → Reduce to metallic Ge → Zone refine.
Step 1: Roasting the ore
Crush the sphalerite to pea-sized pieces (use a hammer and stone mortar). Roast in a well-ventilated kiln at 800–900°C in air. This converts zinc sulfide to zinc oxide:
2ZnS + 3O₂ → 2ZnO + 2SO₂
The germanium in the ore is similarly converted to germanium dioxide (GeO₂), which remains in the solid residue. The SO₂ gas can be captured for sulfuric acid production (route it through your acid plant). Wear cloth masks and work upwind — SO₂ is toxic.
Step 2: Leaching with hydrochloric acid
Dissolve the roasted residue in hot concentrated hydrochloric acid. This dissolves both zinc and germanium:
ZnO + 2HCl → ZnCl₂ + H₂O GeO₂ + 4HCl → GeCl₄ + 2H₂O
The critical thing here is that germanium tetrachloride (GeCl₄) is a volatile liquid with a boiling point of only 84°C. This is your golden ticket to purification.
Step 3: Distillation of GeCl₄
Heat the acidic solution carefully. As you approach 84°C, GeCl₄ will begin to distill off as a dense, clear, fuming liquid. Zinc chloride has a boiling point of 732°C, so it stays behind. This single distillation step separates germanium from zinc and most other impurities with remarkable effectiveness.
Build a simple distillation apparatus:
- A glass flask (or copper pot with a glass lid) as the boiling vessel
- A glass tube leading from the flask upward and then angling downward into a condenser
- The condenser: a glass tube running through a jacket of cold water (a Liebig condenser — an inner tube surrounded by an outer tube with cold water flowing through; requires competent glassblowing to fabricate the double-walled seal)
- A collection flask
Heat gently with a charcoal fire or oil lamp. Collect the fraction that comes over between 80–86°C. Discard the first small fraction (foreshots) and stop when the temperature rises above 86°C.
For higher purity, redistill the collected GeCl₄ one or two more times. Each distillation further purifies the material. Three distillations should yield GeCl₄ of sufficient purity for basic transistors.
Note: GeCl₄ fumes in moist air and is a skin/eye irritant. Handle in open air with hand and eye protection. It hydrolyzes on contact with water, so keep it sealed.
Step 4: Hydrolysis back to GeO₂
Add the purified GeCl₄ dropwise to pure water (distilled or rain water):
GeCl₄ + 2H₂O → GeO₂ + 4HCl
A white precipitate of germanium dioxide forms. Filter this through a cloth and wash several times with distilled water to remove residual HCl. Dry the white powder.
Step 5: Reduction to metallic germanium
Reduce GeO₂ to germanium metal using hydrogen gas at approximately 650°C:
GeO₂ + 2H₂ → Ge + 2H₂O
Set up a ceramic or quartz tube in a furnace. Place the GeO₂ powder in a ceramic boat inside the tube. Flow hydrogen gas through the tube (generated from zinc + HCl as described earlier) while heating to 650°C. The white oxide will gradually convert to a grey metallic mass. Continue for several hours to ensure complete reduction.
SAFETY: Hydrogen at elevated temperature near air is an explosion risk. Ensure the system is purged of air before heating (flow H₂ for several minutes before lighting the furnace). The exhaust should be vented away from the work area and any flame.
Step 6: Melting and casting
Melt the grey germanium mass in a graphite crucible at 938°C under a hydrogen or inert atmosphere (to prevent re-oxidation). Cast into a rod shape by pouring into a graphite mold — a trough cut into a graphite block, approximately 15 mm diameter, 100–150 mm long.
4.2 Zone Refining: The Final Purification
Zone refining is the process that transforms “pretty good” germanium into semiconductor-grade germanium. It was invented specifically for this purpose (William Pfann, Bell Labs, 1951) and is achievable with fabricable equipment, though it requires precise temperature control and a reliable slow-drive mechanism.12
The principle: When a narrow molten zone is passed slowly along a solid bar of germanium, impurities preferentially stay in the liquid and are swept toward one end. Repeating this multiple times concentrates all impurities in the last centimeter or so of the bar, which is then cut off and discarded.
Building a zone refiner:
The boat: A long, narrow graphite trough (or high-purity fused quartz tube), approximately 15 mm wide, 15 mm deep, 200 mm long.
The heating element: Wind a coil of iron wire (the thickest you have) around a ceramic ring approximately 30 mm in diameter. Pass current from the grid (stepped down via a transformer or rheostat to control temperature) through the coil to create a narrow hot zone. You need to create a hot zone approximately 2–3 cm wide that reaches slightly above 938°C. The ability to precisely control current — and therefore temperature — is one of the significant advantages of having reliable grid electricity for this project.
The motion mechanism: The heater must move slowly along the germanium bar at approximately 1–5 cm per hour. Build a leadscrew mechanism: a threaded rod (cut threads using a hand-filed die) turned by a small electric motor (a DC motor built from copper wire wound on an iron core with permanent magnets, powered from the grid through a voltage reducer — requires machining skills to build, plus a source of permanent magnets: either salvaged from pre-war equipment such as loudspeakers or motors, or made by magnetizing hardened high-carbon steel using an electromagnet). The weight-driven clockwork alternative is strongly preferred if a suitable motor is not available, as it eliminates the magnet dependency: build a coiled spring or hanging weight mechanism driving the leadscrew through a reduction gear train made from wooden or brass gears. The key requirement is slow, steady motion; absolute speed precision matters less than consistency — zone refining tolerates ±20% speed variation without significant purity loss.
The atmosphere: The germanium must not oxidize during melting. Enclose the boat in a quartz or glass tube and flow hydrogen gas through it. Alternatively, nitrogen can be used: pass air over copper turnings heated to ~600°C, which preferentially absorbs the oxygen. Performance gap: This copper-absorption method cannot remove oxygen below roughly 0.1–1% residual (depending on tube length and gas flow rate), compared to the essentially zero oxygen content in a hydrogen-purged system. At these concentrations, germanium surface oxidation during zone refining is slow but not zero — expect some surface oxide that must be mechanically removed after each refining pass. Hydrogen is the preferred atmosphere if safely managed.
Process:
- Place the germanium ingot in the graphite boat inside the sealed tube.
- Start hydrogen flowing.
- Heat one end of the bar until a narrow zone (2–3 cm) melts.
- Very slowly move the molten zone from one end to the other (takes 4–10 hours per pass).
- Repeat 5–10 passes. Each pass further purifies the germanium.
- After the final pass, cut off and discard the last 2 cm of the bar (the impure end).
After 6–10 zone refining passes, your germanium should be pure enough for point-contact transistors. You do not need the extreme purity (99.9999999%) required for modern silicon ICs. For point-contact devices, 99.99% purity or even somewhat less will produce working transistors, though with variable characteristics.
Part V: Fabricating Passive Components
A computer needs more than transistors. You need resistors, capacitors, and wiring — many of each.
5.1 Resistors
Carbon composition resistors are the simplest to make and perfectly adequate.
Method:
- Take finely ground charcoal and mix it with a binder (clay slip, or water glass — sodium silicate, made by dissolving silica gel in hot NaOH solution).
- Vary the ratio of carbon to binder to vary the resistance. More carbon = less resistance. You’ll need to calibrate experimentally.
- Form the mixture into small cylinders approximately 5 mm diameter × 10 mm long, with copper wire leads embedded in each end.
- Fire at moderate temperature (400–600°C) to harden the binder without burning away the carbon. If using water glass binder, air drying may be sufficient.
- Measure the resistance of each using your test circuit (see below) and sort into groups.
Typical ranges achievable: 10 ohms to 100,000 ohms, depending on the carbon/binder ratio. Performance gap: Hand-made carbon composition resistors have tolerance of roughly ±20–30% (compared to ±1–5% for pre-war manufactured resistors) and drift significantly with temperature and humidity. This variability is manageable in digital logic (which operates with wide noise margins) but means each resistor must be individually measured and sorted.13
Wire-wound resistors for precision applications (especially voltage references and bias networks): Wind fine copper wire or iron wire (which has higher resistivity) around a ceramic former. The resistance is calculable: R = ρL/A, where ρ is the resistivity, L is the wire length, A is the cross-sectional area. Iron wire: ρ ≈ 1.0 × 10⁻⁷ Ω·m at room temperature.
5.2 Capacitors
Mica capacitors are the best option for the signal-processing parts of the computer. Mica is an excellent, low-loss dielectric that occurs naturally in large flat sheets.
Method:
- Split mica into thin sheets (0.05–0.1 mm thick — mica cleaves beautifully into thin sheets).
- Cut copper or tin foil into rectangles (the “plates”).
- Stack alternating layers: foil, mica, foil, mica, foil — with alternate foil sheets connected to each of two leads.
- Clamp the stack together and seal with beeswax or resin to exclude moisture.
Capacitance: C = εε₀A(n-1)/d, where ε for mica ≈ 6, A is plate area, n is number of plates, d is mica thickness. A stack of 10 plates, each 2 cm × 2 cm, with 0.1 mm mica, gives roughly 2 nF — adequate for most digital logic applications. Performance gap: Hand-assembled mica capacitors have less consistent capacitance (±10–20% vs. ±5% for manufactured types) and are physically larger than pre-war equivalents. Moisture ingress through imperfect beeswax seals degrades performance over time; periodic inspection and re-sealing may be required.
For larger capacitances (power supply filtering), use paper-and-foil capacitors: alternate layers of tin foil and paper soaked in beeswax or oil, rolled into a cylinder. These can reach microfarad range.
5.3 Wire and Interconnections
Magnet wire (insulated copper wire for coils): coat drawn copper wire with a thin layer of lacquer. Shellac (from lac insects — not native to NZ but potentially importable via Pacific trade) is ideal. Alternatively, wrap with thin cotton thread soaked in beeswax, or use enameling if you can produce appropriate varnishes (linseed oil-based varnishes, baked on, provide functional insulation). Performance gap: All of these insulation methods are inferior to modern polyurethane enamel wire insulation — they are thicker (reducing winding density in coils by 20–40%), less heat-resistant, and more prone to moisture absorption. For the 1–5 Hz clock speeds of this machine, these limitations are tolerable; for higher-frequency second-generation machines, better insulation will be needed.
Circuit interconnections: For the computer’s wiring, use bare copper wire routed point-to-point between components mounted on a wooden or ceramic board. Keep wires separated to prevent short circuits. At each connection point, wrap wire ends together and solder with tin-lead solder.
5.4 Solder
Tin-lead solder in the range of 55–65% tin / 35–45% lead melts at roughly 183–200°C (the eutectic is approximately 63% Sn / 37% Pb at 183°C) and is essential for reliable electrical connections. The exact ratio is not critical; stay within the stated range.
Tin: Smelt from cassiterite (SnO₂) by heating with charcoal at ~1,100–1,300°C. Tin has the lowest melting point of the common metals (232°C) and can be cast and shaped with basic tools.14 NZ sourcing note: Cassiterite is not documented in large commercial quantities in NZ; minor occurrences are recorded in Westland and Nelson pegmatites, but the primary near-term tin source is salvaged pre-war tin plate, electronic solder, and bearing metals. Doc #22 should be consulted for any updated mineral survey data, and Australian trade is the likely long-term supply route for cassiterite if NZ domestic sources prove insufficient.
Lead: Smelt from galena (PbS) by roasting and then reducing with charcoal. Melts at 327°C. CAUTION: Lead is toxic. Handle with care, wash hands, avoid breathing fumes when soldering. Work in ventilated areas.
Alloy the two metals by melting them together. Cast into thin sticks for ease of use.
Flux: Rosin (pine resin) is an excellent solder flux. Alternatively, use zinc chloride solution (dissolve zinc scraps in hydrochloric acid until no more dissolves; the clear liquid is your flux). The rosin option is strongly preferred for electronics as zinc chloride is corrosive and can damage connections over time.
Part VI: Building Point-Contact Transistors
This section describes the construction of individual transistors. Each one is handmade. Expect significant variation between devices — this is normal and was the reality of early semiconductor manufacturing. You will need to test and select the best devices for critical circuit positions.
The Phase 2 target machine requires approximately 1,500 working transistors. At a realistic yield of 30–50%, this means fabricating 3,000–5,000 individual devices. However, the Phase 1 proof-of-concept machine requires only ~300 working transistors (~600–1,000 fabrication attempts), providing an extended learning period during which the team refines its technique and improves yield rates before the larger Phase 2 production run. By the time Phase 2 fabrication begins in earnest, the team should be achieving yields at the higher end of the 30–50% range.
6.1 Understanding the Point-Contact Transistor
A point-contact transistor consists of:
- A small slab of n-type germanium (the base)
- Two sharp metal contact points (the emitter and collector) pressed onto the surface about 0.05–0.1 mm apart
- A base connection (an ohmic contact to the underside of the germanium)
When a small current flows into the emitter contact, it modifies the conductivity of the germanium near the collector contact, allowing a much larger current to flow through the collector circuit. This is transistor action — current amplification.
6.2 Preparing N-Type Germanium Wafers
Your zone-refined germanium is likely already slightly n-type (electrons as majority carriers) due to residual impurities. If not, you need to dope it:
N-type doping with phosphorus or arsenic:
- Melt a small quantity of germanium in a graphite crucible under hydrogen.
- Add a minute amount of phosphorus. The source can be bone ash (calcium phosphate, Ca₃(PO₄)₂) — heat bone ash with carbon and silica to release elemental phosphorus (this is hazardous — phosphorus is toxic and flammable; do this outdoors with great caution), or use a tiny fragment of phosphorus-bearing mineral.
- The amount needed is incredibly small — parts per million. This is the trickiest calibration in the entire project. Start with an amount you can barely see and test the result. You want the germanium to be conductive but not metallic — a resistance of roughly 1–10 ohm·cm is the target range.
- Solidify and zone refine once more to distribute the dopant evenly.
Alternative approach (historically accurate): Many early transistors used germanium that was naturally n-type from its impurity profile after zone refining. If your germanium already shows semiconducting behavior (resistance decreases when warmed), it may work without intentional doping. Test it.
Cutting wafers:
- Score the germanium ingot with a file or a sharp piece of silicon carbide (carborundum — if available) or even a piece of quartz.
- Snap along the score line.
- Cut pieces approximately 3 mm × 3 mm × 1 mm using a fine abrasive wire saw (a copper wire coated in silicon carbide grit, drawn back and forth).
- Polish one flat surface by rubbing on progressively finer abrasive (coarse sand → fine sand → jeweler’s rouge/iron oxide powder on a leather strop).
- Etch the polished surface by dipping briefly (5–10 seconds) in a mixture of 3 parts hydrochloric acid + 1 part nitric acid (nitric acid: made by distilling a mixture of saltpeter + sulfuric acid). This removes the damaged surface layer and exposes clean semiconductor. Rinse immediately with distilled water and handle only with clean tweezers.
6.3 Making the Base Contact (Ohmic Contact)
The bottom of the germanium slab needs a non-rectifying (ohmic) connection. Solder it to a copper or brass tab using:
- Tin the copper tab with regular solder.
- Place the germanium slab on the wet solder and heat until the solder melts — the solder wets the bottom of the germanium.
- Let cool. The tin-lead alloy forms a satisfactory ohmic contact to n-type germanium.
6.4 The Contact Wires (Cat’s Whiskers)
The emitter and collector are two sharp wire points touching the top polished surface of the germanium. These are called “cat’s whiskers.”
The wire: Use phosphor bronze wire (copper + 5–8% tin + trace phosphorus) drawn to approximately 0.1–0.2 mm diameter, or tungsten wire if available. The key requirements are: the wire must be springy (to maintain consistent pressure on the surface), hard (to keep a sharp point), and resistant to corrosion.
Sharpening the points:
- Electrolytic etching: Dip the wire tip into a bath of NaOH solution and pass a small DC current (from a bench power supply — a transformer/rectifier unit, or a galvanic cell for portable use). The wire dissolves, starting from the thinnest point. Withdraw the wire slowly to produce an extremely sharp point. This method can produce tips with radii under 1 micrometer — sharp enough for excellent transistor action.
- Mechanical: Alternatively, grind the tip on a fine sharpening stone under magnification. Less ideal but workable.
6.5 The Electrical Forming Step
Raw point contacts on germanium produce rectifiers (diodes), not transistors. To get transistor action, you must electrically form the collector contact. This was the key discovery at Bell Labs.
The process:
Set up both contact wires on the germanium surface, approximately 0.05–0.1 mm apart. Use a precision mechanical jig: two brass arms on a pivot, each holding a contact wire, adjustable with fine-threaded screws (requires skilled metalwork to achieve the 0.05–0.1 mm positioning accuracy). A magnifying glass helps enormously.
Connect a bench power supply set to 3–6V (or a few galvanic cells in series) through a resistor of approximately 100–500 ohms to the collector contact.
Briefly pulse a high current (several milliamps to tens of milliamps) through the collector contact by momentarily removing the current-limiting resistor. This creates a tiny p-type region in the germanium directly under the collector point, through localized heating and electromigration of impurities. The pulse should be very short — a fraction of a second. Too long and you’ll burn out the contact or damage the germanium.
Test for transistor action (see testing section below). If you have current gain (alpha > 0.5, ideally > 2), you have a working transistor. If not, adjust the contact spacing, pressure, and forming current and try again.
This step has a low yield. Expect many attempts for each working transistor. This is normal — Bardeen and Brattain went through the same trial-and-error process in 1947. With practice, your team will develop an intuition for contact pressure, spacing, and forming current that improves yield over time.
6.6 Mounting and Encapsulation
A working transistor is extremely fragile — any vibration can shift the contact points and destroy its characteristics. It must be carefully mounted and protected.
- Mount the entire assembly (germanium slab, contact mechanism, base lead) on a rigid ceramic or glass base.
- Once a good operating point is found, lock the contact positions by carefully applying a drop of beeswax or shellac to the contact arms.
- Encapsulate the entire assembly in a blob of beeswax or a small glass tube sealed at both ends, with three wire leads emerging: emitter (E), base (B), and collector (C).
- Handle gently. Do not drop. Do not expose to temperatures above ~80°C.
Label each transistor with its measured current gain and note which circuit position it’s suitable for.
6.7 Testing Transistors
You need a basic test circuit to evaluate each transistor. This requires a power source and a current measurement method.
A simple DC current gain test:
Power source: A bench power supply providing 6–12V DC (a small transformer/rectifier from the grid, with a rheostat for voltage adjustment).
Current measurement: Build a galvanometer: wind many turns (500+) of fine insulated copper wire around a small rectangular frame. Suspend a magnetized needle on a thin fiber inside the coil. When current flows through the coil, the needle deflects proportionally. Calibrate against known resistors and your bench supply voltage.
The test circuit:
- Connect the collector to the positive supply terminal through a 1,000 ohm resistor (the “load resistor”) and your galvanometer.
- Connect the base to the negative supply terminal.
- Connect the emitter to the base through a variable resistor (a wire-wound rheostat) and a second galvanometer.
- Vary the emitter current using the rheostat and observe how the collector current changes.
- Current gain (alpha) = ΔIc / ΔIe. For a useful transistor, this should be > 1 (ideally 2–3 for point-contact types).
Sort your transistors into categories:
- Excellent (gain > 2.5): Use for amplifiers in critical positions
- Good (gain 1.5–2.5): Use for standard logic gates
- Marginal (gain 1.0–1.5): Use for less critical positions
- Failed (gain < 1.0): Discard or try re-forming
Part VII: Logic Gates — From Transistors to Computation
7.1 From Transistor to Logic
A transistor is an amplifying switch. Digital logic uses transistors as switches — either fully ON (conducting) or fully OFF (not conducting). By combining switches, you create logic gates, the building blocks of all computation.
We use transistor-resistor logic (TRL) — the simplest logic family, appropriate for point-contact transistors which have high variability and modest gain.
Conventions:
- Logic “1” (HIGH) = roughly +6V to +12V (near positive supply)
- Logic “0” (LOW) = roughly 0V to +1V (near ground)
- We use PNP-equivalent behavior (point-contact transistors naturally operate this way): the transistor turns ON when the emitter-base junction is forward biased.
7.2 The NOT Gate (Inverter)
The most fundamental gate. One transistor, two resistors.
+V (supply)
|
[Rb] (base bias resistor, ~10kΩ)
|
Input ----[Ri]---+---- Emitter
(1kΩ) |
[Ge transistor]
|
+---- Collector ---- Output
|
[Rc] (collector load, ~5kΩ)
|
GND
When Input is HIGH: current flows into the emitter, transistor turns ON, collector is pulled to near ground → Output is LOW. When Input is LOW: no emitter current, transistor is OFF, collector is pulled HIGH through Rc → Output is HIGH.
Output = NOT(Input). One transistor, a few resistors.
7.3 The NOR Gate
A NOR gate outputs LOW if any input is HIGH. It is functionally complete — you can build any logic function from NOR gates alone.
Connect two transistors with their collectors tied together (wired-OR on the collector side):
Input A ---|>--- Collector --+-- Output
|
Input B ---|>--- Collector --+
|
[Rc]
|
+V supply
If either transistor A or transistor B turns ON (because its input is HIGH), the shared output is pulled LOW. Only if both inputs are LOW does the output remain HIGH.
Output = NOT(A OR B) = NOR(A, B).
7.4 The NAND Gate
NAND is also functionally complete. Build it by connecting two transistors in series (collector of one to emitter of the next):
Both transistors must be ON for current to flow and pull the output LOW. If either input is LOW, its transistor is OFF, breaking the chain, and the output stays HIGH.
Output = NOT(A AND B) = NAND(A, B).
7.5 Building Up: From Gates to Functional Blocks
From NOR or NAND gates, you construct:
- AND = NAND followed by NOT (or NOR with inverted inputs)
- OR = NOR followed by NOT
- XOR = four NAND gates in the standard configuration
- Flip-Flop (1-bit memory): Two NOR gates cross-coupled (output of each feeds the input of the other). This is an SR latch. It stores one bit of information and is the basis of all memory and registers.
- D Flip-Flop (edge-triggered 1-bit memory): ~6 NAND gates. This is the standard building block for registers.
Transistor count estimates for key functional blocks:
| Function | Gates | Transistors (approx.) |
|---|---|---|
| NOT (inverter) | 1 | 1 |
| NOR (2-input) | 1 | 2 |
| NAND (2-input) | 1 | 2 |
| XOR (2-input) | 4 NAND | 8 |
| SR Latch (1 bit memory) | 2 NOR | 4 |
| D Flip-Flop (1 bit register) | 6 NAND | 12 |
| 1-bit Full Adder | 5 gates | ~10–14 |
Part VIII: The Computer Architecture
8.1 Design Philosophy
This section specifies the Phase 2 machine — the useful computer. It assumes the team has already built and debugged the Phase 1 proof-of-concept (a 4-bit, 16-word, ~300-transistor machine roughly equivalent to the 1948 Manchester Baby) and has gained practical experience with circuit assembly, transistor behavior, and debugging techniques.
We are designing for practical utility at minimum transistor count. The machine must be capable of running the resource allocation algorithms described in Part I — specifically, the stepping-stone method for transportation optimization and related iterative solvers. This requires sufficient word width for meaningful arithmetic, enough memory for both program and data, and an instruction set that supports loops, conditional branching, and indirect memory access.
The design draws on the historical lineage of the Manchester Mark I (1949), the Pilot ACE (1950), and the LEO I (1951) — the first computer used for commercial logistics optimization, built by a catering company to schedule bakery deliveries. Our requirements are remarkably similar to LEO’s original application.
8.2 Target Specifications
| Parameter | Value | Rationale |
|---|---|---|
| Word size | 12 bits | Integers -2,048 to +2,047; sufficient for quantities like “340 tonnes” and “5 days sailing time.” Also allows 4-bit opcode + 8-bit address in each instruction word. |
| Memory | 256 words (3,072 bits) | ~180 words for program, ~76 for data. Fits the transportation problem for 10 ports and 2–3 commodity types. Uses magnetic core memory. |
| Instructions | 14 types | See instruction set below. |
| Clock speed | 1–5 Hz | Conservative for point-contact transistors. Gives each gate 200ms–1s to settle, providing enormous margin for component variability. |
| Transistor count | ~1,500 | See budget below. |
| Power consumption | 10–30 watts (varies with transistor count and indicator lamps) | Minimal draw from grid power. A voltage regulator and transformer to step down to 6–12V DC is required. |
| Physical size | ~1m × 0.7m × 0.5m (estimated; depends on layout density) | Large bookshelf; comparable to a 1950s minicomputer. |
8.3 Instruction Set
| Opcode (4 bits) | Mnemonic | Operation |
|---|---|---|
| 0000 | LDA addr | Load accumulator from memory[addr] |
| 0001 | STA addr | Store accumulator to memory[addr] |
| 0010 | ADD addr | Add memory[addr] to accumulator |
| 0011 | SUB addr | Subtract memory[addr] from accumulator |
| 0100 | JMP addr | Unconditional jump to addr |
| 0101 | JNG addr | Jump to addr if accumulator is negative |
| 0110 | JZE addr | Jump to addr if accumulator is zero |
| 0111 | AND addr | Bitwise AND accumulator with memory[addr] |
| 1000 | SHR | Shift accumulator right 1 bit (arithmetic) |
| 1001 | SHL | Shift accumulator left 1 bit |
| 1010 | LDI val | Load immediate 8-bit value into accumulator |
| 1011 | INP | Read input switches into accumulator |
| 1100 | OUT | Write accumulator to output display |
| 1101 | HLT | Halt execution |
| 1110 | CMP addr | Compare: subtract memory[addr] from accumulator, set flags, don’t store result |
| 1111 | JSR addr | Jump to subroutine at addr (push return address) |
This instruction set supports:
- Multiplication via shift-and-add subroutine
- Division via repeated subtraction
- Loop constructs (CMP + conditional jump)
- Subroutine calls (JSR + return mechanism)
- Arbitrary data manipulation (AND, SHR, SHL)
- Interactive I/O (INP, OUT)
8.4 Architecture Block Diagram
┌────────────────────────────────────────────────────────┐
│ │
│ ┌────────────┐ ┌──────────────┐ │
│ │ Program │ │ Accumulator │ │
│ │ Counter │ │ (12 bits) │ │
│ │ (8 bits) │ └──────┬───────┘ │
│ └──────┬─────┘ │ │
│ │ ┌──────┴───────┐ │
│ │ │ ALU │ │
│ ┌────┴────┐ │ (Add/Sub/ │ │
│ │ Address │ │ Shift/AND) │ │
│ │ MUX │ └──────┬───────┘ │
│ └────┬────┘ │ │
│ │ ┌──────┴───────┐ │
│ ┌────┴────┐ │ Instruction │ │
│ │ RAM │ │ Register │ │
│ │256 × 12 │ │ (12 bits) │ │
│ │ bits │ └──────────────┘ │
│ │(magnetic│ │
│ │ core) │ ┌──────────────┐ │
│ └─────────┘ │ Control │ │
│ │ Logic │ │
│ └──────────────┘ │
│ │
│ ┌────────────┐ ┌──────────────┐ │
│ │ Input │ │ Output │ │
│ │ Switches │ │ Lamps │ │
│ └────────────┘ └──────────────┘ │
└────────────────────────────────────────────────────────┘
8.5 Transistor Budget
| Component | Description | Transistors |
|---|---|---|
| Magnetic core memory (256 × 12 bits) | Read/write drivers, sense amplifiers, address decode | ~200 |
| Accumulator | 12-bit D register | ~144 |
| Program Counter | 8-bit counter with load | ~120 |
| Instruction Register | 12-bit D register | ~144 |
| ALU (12-bit add/sub/shift/AND) | 12 full adder/subtractors + shift logic + AND | ~200 |
| Control Logic | Instruction decode, sequencing, flag logic | ~120 |
| Address MUX + misc routing | Select between PC and instruction address | ~50 |
| Subroutine return address register | 8-bit register | ~96 |
| I/O interface | Input buffer, output latches, lamp drivers | ~50 |
| Voltage regulation and clock | Oscillator, voltage reference, power control | ~15 |
| TOTAL | ~1,139 |
With margin for design revisions and buffer/driver transistors in long signal paths: ~1,500 transistors.
8.6 Magnetic Core Memory
Magnetic core memory is strongly recommended over flip-flop RAM. It stores bits in tiny ferrite rings (cores), each magnetized in one of two directions to represent 0 or 1. It is non-volatile (retains data with no power), extremely reliable, and eliminates hundreds of transistors that would otherwise be needed for flip-flop storage.
Making ferrite cores:
- Mix iron oxide (Fe₂O₃ — rust, or hematite powder) with manganese oxide (MnO — from pyrolusite mineral) and zinc oxide (ZnO — a byproduct of your sphalerite roasting) in roughly 50:25:25 proportions.
- Grind to a fine powder, mix with a small amount of water and binder (gum arabic or starch).
- Form into tiny rings (toroids) approximately 2–3 mm outer diameter, 1 mm inner diameter. Use a mandrel (a short piece of wire) and hand-form each ring.
- Fire at 1,200–1,300°C in a controlled atmosphere (reducing, then oxidizing) to sinter into hard ferrite ceramic.
For 256 words × 12 bits = 3,072 bits of storage, you need 3,072 cores. This is a substantial hand-fabrication effort but each core is only a few millimeters across. The completed core array — a grid of tiny ferrite rings threaded with fine copper wire — will fit in a frame approximately 15 cm × 20 cm.
How it works: Three wires thread through each core: an X-address wire, a Y-address wire, and a sense wire. To write, you send half the magnetizing current through the X wire and half through the Y wire — only the core at the intersection of both wires receives enough current to flip. To read, you attempt to write a “0” to the selected core: if it was already “0,” no flux change occurs and the sense wire sees no pulse. If it was “1,” the flux reverses and the sense wire picks up a small voltage pulse. Reading is destructive, so you immediately rewrite the data.
8.7 The Clock
For initial operation: A manual push-button switch for single-stepping during debugging and validation. This is essential and should be the primary clock during the entire testing phase.
For production operation: A relaxation oscillator using one transistor, one resistor, and one capacitor, producing a square wave at 1–5 Hz. The frequency is set by the RC time constant. For 5 Hz: R ≈ 100 kΩ, C ≈ 2 µF (a paper-foil capacitor).
Clock speed considerations: The 1–5 Hz range is deliberately conservative. Each point-contact transistor needs time to switch fully, and the worst transistor in the longest logic chain determines the minimum clock period. At 1 Hz, every transistor has a full second to settle — approximately 100,000× longer than its actual switching time. This enormous margin absorbs all variability in component characteristics, wiring capacitance, and environmental conditions. The machine will work on the first attempt at this speed, which matters enormously when debugging without an oscilloscope. Speed can be increased gradually as confidence in the hardware grows.
8.8 Input and Output
Input (programming and data entry): Use toggle switches — copper lever switches with positive detent positions, one per bit. A row of 12 switches sets the data word. A row of 8 switches selects the memory address. A “WRITE” button stores the switch values into the selected memory address. A “RUN” switch starts program execution from the current program counter value.
You program the machine by setting each memory address to the desired instruction or data word, one word at a time. For the resource allocation problems described in Part I, the operator enters the current data (port stocks, vessel positions, etc.) via switches before each run. Data entry for a typical 5×5 problem takes approximately 20–45 minutes depending on operator experience (roughly 55 data words to enter, at 20–50 seconds per word including verification).
Output (reading results): Use indicator lamps — tiny incandescent bulbs (one for each bit of the accumulator and address register) connected through driver transistors. A bulb lit = “1”, a bulb dark = “0”. The OUT instruction latches the current accumulator value to the output display, where it remains visible until the next OUT instruction.
For production use, the operator reads the binary output, converts to decimal using a printed conversion table, and records the results on paper. A trained operator can read and record one 12-bit output value in about 30 seconds.
Part IX: Constructing the Computer
9.1 Physical Layout
Build the computer on several large wooden boards or a wooden frame, approximately 1m × 0.7m × 0.5m total. Mount components using small brass or copper clips. Arrange logically:
- Front panel: Input switches and output indicator lamps, clearly labeled.
- Upper board: Registers (accumulator, program counter, instruction register) and ALU.
- Lower board: Control logic, I/O interface, clock, and power regulation.
- Core memory frame: The magnetic core array, mounted separately in a protected wooden frame to avoid mechanical disturbance.
- Power supply: A transformer/rectifier unit converting grid AC to regulated 6–12V DC, mounted separately to isolate electrical noise from the logic boards.
Route wires point-to-point on the back side of the boards. Use a systematic labeling system. Document every connection on a paper schematic as you go.
9.2 Power Supply
The machine requires approximately 10–20 watts at 6–12V DC.
We assume the national electrical grid (or at minimum a local generation facility) is operational, as it should be after 40–50 years of maintained infrastructure guided by the Recovery Library. Grid power — whether generated by hydroelectric, coal, wind, or other means — provides AC at whatever standard voltage and frequency has been maintained. The computer requires a power supply unit that converts this to stable, regulated DC.
The power supply unit consists of:
A step-down transformer to reduce grid voltage to approximately 12–15V AC. Transformers require careful winding: two coils of copper wire on a laminated iron core (thin iron sheets stacked together, insulated with lacquer or paper between layers to reduce eddy current losses). The turns ratio determines the voltage ratio.
A rectifier to convert AC to DC. Use four germanium point-contact diodes (a byproduct of transistor fabrication — every contact that produces rectifying behavior but not transistor action is a usable diode) arranged in a full-wave bridge configuration.
A filter capacitor (a large paper-foil capacitor, ~10–100 µF) to smooth the rectified output.
A voltage regulator using a germanium diode as a voltage reference and a transistor pass element to maintain stable output despite grid voltage fluctuations. Point-contact transistors are sensitive to supply voltage variations, so regulation is important.
This power supply unit is compact (fits in a small wooden box) and draws negligible power from the grid. It should include a fuse (a thin copper wire of calibrated diameter that melts if current exceeds a safe level) to protect the computer from power surges.
Note on grid reliability: If grid supply is intermittent, the magnetic core memory has a significant advantage — it is non-volatile and retains stored data with no power. A brief power interruption loses the current computation state (register contents, program counter position) but does not erase the program or data stored in memory. The operator restarts the computation from the beginning. For critical long-running computations, the program can be designed to periodically write intermediate results to a designated memory area, allowing resumption from a checkpoint rather than from scratch.
9.3 Assembly Sequence
Build and test in stages. Do not attempt to build the entire computer and then power it on.
Stage 1: Build and test one inverter (NOT gate). Confirm it switches cleanly. This validates your transistors, resistors, wiring, and power supply.
Stage 2: Build and test one NOR gate. Then one NAND gate. Confirm truth tables.
Stage 3: Build and test one SR latch. Confirm it stores a bit.
Stage 4: Build the accumulator register (12 D flip-flops). Load values, read them back.
Stage 5: Build the ALU (12-bit adder/subtractor). Test with known values: 100 + 200 = 300, 50 - 75 = -25, etc.
Stage 6: Build the program counter. Verify it counts from 0 to 255 and rolls over.
Stage 7: Build the memory. Thread the core array, build the drive and sense circuits. Load test patterns, read back. This is the most delicate assembly step.
Stage 8: Build the control logic. Connect everything. Test each instruction type individually using single-step clocking.
Stage 9: Write and run test programs. Start with trivial programs (load a value, add two numbers, store a result) before attempting anything complex.
9.4 Debugging
Without an oscilloscope or logic analyzer, debugging is challenging. Your tools are:
- The galvanometer: Check voltages at each node.
- A test probe with indicator lamp: Touch to circuit nodes — lit means HIGH, dark means LOW.
- Single-stepping: Use the manual clock to advance one step at a time and verify every signal at every node before proceeding to the next step.
- Paper documentation: Keep a meticulous handwritten logic diagram. Update it with every change. Mark tested nodes with a checkmark. This is your most valuable debugging tool.
Part X: Programming for Resource Allocation
10.1 The Transportation Problem Algorithm
The primary application is the stepping-stone method for solving transportation (allocation) problems. This algorithm is the standard approach used by the Central Computation Bureau, and the programs described here should produce identical results to the manual procedure — allowing cross-validation during the machine’s commissioning.
The algorithm in outline:
- Input: A cost matrix (shipping cost/time from each supply point to each demand point), supply quantities at each source, and demand quantities at each destination.
- Initial feasible solution: Generated by the “northwest corner” method — start at the top-left of the matrix and allocate as much as possible, moving right or down when a supply is exhausted or a demand is met.
- Optimality test: For each empty cell in the matrix, compute the “reduced cost” (the net effect of adding one unit of flow through that cell). If any reduced cost is negative, the current solution can be improved.
- Improvement: Find the most negative reduced cost cell. Trace a loop through occupied cells. Adjust flows along the loop to reduce total cost. Return to step 3.
- Output: When no negative reduced costs remain, the current solution is optimal. Output the allocation (how much to ship from each source to each destination).
Memory layout for a 5×5 problem (5 supply points, 5 demand points):
| Address range | Contents | Words |
|---|---|---|
| 0–79 | Program instructions | 80 |
| 80–104 | Cost matrix (5×5) | 25 |
| 105–129 | Allocation matrix (5×5) | 25 |
| 130–134 | Supply quantities (5 values) | 5 |
| 135–139 | Demand quantities (5 values) | 5 |
| 140–164 | Reduced cost matrix (working storage) | 25 |
| 165–179 | Loop tracing storage | 15 |
| 180–199 | Temporary variables, counters, flags | 20 |
| 200–255 | Subroutines (multiply, etc.) and constants | 56 |
Total: 256 words. This fits, but tightly. A 10×10 problem would require approximately 600 words and would need a second-generation machine with more memory.
10.2 Operating Procedure
A typical optimization session:
The planning officer formulates the problem: identifies the supply points, demand points, relevant commodities, and current data (vessel positions, stock levels, etc.). This person understands the real-world context and constraints.
The operator translates the problem into the machine’s input format using a standard worksheet (a printed form with boxes for each matrix cell). The operator then enters the data via toggle switches: set address, set data word, press WRITE, repeat for each cell. Estimated 20–45 minutes for a 5×5 problem (depending on operator experience and whether any switch settings must be corrected).
The machine runs. At 5 Hz, the stepping-stone algorithm for a 5×5 problem completes in approximately 4–8 hours depending on the number of iterations required. The operator can leave the machine running unattended.
The operator reads the output. The program halts and displays each allocation value in sequence (the operator presses a button to advance to the next value). The operator records each value on the output worksheet. Estimated 10–20 minutes for a 5×5 problem output (25 values at roughly 30 seconds each).
The planning officer interprets the results and translates back into operational instructions: “Vessel A loads 200 tonnes at Wellington, delivers 120 to Lyttelton and 80 to Dunedin.” The officer applies any real-world constraints the formal model didn’t capture (weather, political considerations, vessel maintenance schedules) as manual adjustments to the computed plan.
10.3 Validation
Before the machine enters production use, it must be validated against known solutions. The bureau should prepare several test problems with hand-computed optimal solutions. The machine is run on these same problems and the outputs compared. Any discrepancy indicates either a hardware fault or a programming error.
Once validated, ongoing quality assurance is maintained by periodically running test problems between production jobs. A quarterly validation schedule using 3–4 standard test cases is recommended.
10.4 Expanding the Problem Portfolio
Once the machine is operational and validated for the transportation problem, additional algorithms can be programmed for other resource allocation tasks:
- Fisheries quota allocation: A linear programming variant with population dynamics constraints.
- Labor scheduling: A job-shop scheduling heuristic using nearest-insertion.
- Agricultural planning: Multi-period allocation with soil depletion and rotation constraints.
- Medical supply distribution: Allocation with urgency weighting and minimum-stock constraints.
Each new algorithm requires programming effort (likely 1–2 weeks of work by someone who understands both the algorithm and the machine’s instruction set) but no hardware changes. The same machine serves all applications.
Part XI: Phase 3 — Scaling Up
11.1 Second-Generation Machine: Junction Transistors
Point-contact transistors are fragile and variable. The next step, once the Phase 2 machine is operational, is to produce alloy junction transistors — a 1950s technology that is more reliable and manufacturable.
Method: Place a small pellet of indium (a p-type dopant) on each face of a thin germanium wafer. Heat to ~500°C. The indium melts, dissolves into the germanium surface, and creates p-type regions on each side of the n-type base. The result is a PNP transistor with well-defined emitter-base-collector junctions. These are far more consistent and reliable than point-contact devices.
Indium is found as a trace element in sphalerite (the same ore you’re already processing for germanium) at concentrations of 10–100 ppm. It can be extracted and concentrated by similar chemical methods.
The second-generation machine (projected year 7–8 of the overall program) would use junction transistors to achieve:
- Clock speed: 100 Hz or higher
- Memory: 512–1,024 words (expanded core array)
- 16-bit word size (integers to ±32,767)
- Multiple accumulator registers for faster computation
- Projected solution time for 5×5 transportation problem: ~12 minutes
- Projected solution time for 10×10 multi-commodity optimization: ~3–6 hours
At this capability level, the machine handles the joint multi-commodity optimization that the first-generation machine found challenging, and does it fast enough for adaptive recomputation when conditions change.
11.2 Longer-Term Trajectory
With junction transistors, more memory, and improved fabrication skills, the Phase 3 trajectory leads to:
- A stored-program computer with keyboard input and printed output (connect to a mechanical typewriter mechanism for both programming and results). This eliminates the toggle-switch bottleneck and makes the machine accessible to a wider range of operators.
- Assembly language and an assembler (written in machine code, then used to write everything else — a substantial programming effort requiring weeks of skilled work). This dramatically accelerates programming of new algorithms.
- Higher-level languages (a BASIC interpreter is several thousand lines of assembly and represents months of development effort). At this point, domain experts — agricultural planners, fisheries scientists, public health officers — can write their own programs without understanding the hardware.
- Networking (connect two computers with a serial link — a wire). If a second machine is built and placed in a different city, they can exchange data and share computational workload.
This is essentially recapitulating the history of computing from 1948 to 1970 — a 22-year arc. How much of that can be compressed by having this guide is an open question: knowing the destination eliminates major architectural dead-ends (decimal arithmetic machines, electrostatic tube memory, etc.) but does not eliminate the fabrication learning curve, the material constraints, or the need to train personnel. An estimate of 10–20 years for this arc is plausible given the guidance available, but should be treated as a rough planning figure rather than a reliable projection.
Appendix A: Chemical Safety Summary
| Chemical | Hazard | Precaution |
|---|---|---|
| Sulfuric acid (H₂SO₄) | Severe burns, exothermic with water | Wear leather gloves, eye protection. Always add acid to water, not water to acid. |
| Hydrochloric acid (HCl) | Corrosive, irritating fumes | Work outdoors or in well-ventilated area. Avoid breathing fumes. |
| GeCl₄ | Fumes in moist air, irritant | Handle in open air. Avoid skin contact. |
| Hydrogen gas (H₂) | Flammable, explosive with air | No open flames during generation/collection. Purge systems before heating. |
| Lead and lead fumes | Chronic toxic | Minimize handling. Never eat/drink near work. Wash hands. Ventilate when soldering. |
| Phosphorus | Spontaneously flammable (white P), toxic | Handle under water. Work outdoors. Avoid skin contact. |
| SO₂ gas | Toxic, irritating | Work upwind of roasting operations. |
Protective Equipment You Can Make
- Eye protection: Mica or thin glass sheets in a leather frame (goggles)
- Gloves: Thick leather (tanned hides)
- Masks: Multiple layers of damp cloth for dust/fumes (limited protection; maintain distance and ventilation as primary safety measures)
Appendix B: Tools and Equipment Summary
Essential tools the team must fabricate or possess:
- Forge and bellows — for all metalwork and high-temperature operations
- Charcoal kiln — for continuous fuel production
- Glass retorts, tubing, and vessels — for chemical processing and distillation
- Draw plate — for making wire of various gauges
- Distillation apparatus — for GeCl₄ purification (glass flask, condenser, collection flask)
- Zone refining apparatus — for final germanium purification (graphite boat, tube furnace, slow-drive mechanism)
- Galvanometer — for electrical measurements
- Magnifying glass or basic microscope — for transistor contact work (a single glass bead heated and shaped into a sphere, or a water-filled glass bulb, can serve as a crude magnifier at ~3–5×; higher magnification requires ground lenses)
- Soldering iron — a heavy copper tip on an iron rod, heated in the forge
- Fine files, abrasive stones — for shaping and finishing
- Simple lathe (optional but very helpful) — for turning cylindrical parts, powered by an electric motor, foot treadle, or other mechanical drive
- Vacuum pump (for lamp bulbs) — a piston pump in a brass or iron cylinder with tight-tolerance valves can achieve rough vacuum (requires precision machining for adequate seal)
Appendix C: Mineral Identification Quick Reference
Sphalerite (ZnS — your germanium source): Resinous luster, yellow-brown to black, 6 cleavage directions, hardness 3.5–4, white to yellow streak. Often with galena.
Galena (PbS — lead, solder): Metallic grey, very heavy (specific gravity 7.6), perfect cubic cleavage, hardness 2.5. Breaks into little cubes.
Malachite (Cu₂CO₃(OH)₂ — copper): Bright green, banded, botryoidal. Effervesces in acid. Often near azurite.
Azurite (Cu₃(CO₃)₂(OH)₂ — copper): Deep blue, often powdery. Associated with malachite.
Cassiterite (SnO₂ — tin): Dark brown-black, adamantine luster, very hard (6–7), heavy. Found in placer deposits and granite pegmatites.
Pyrite (FeS₂ — sulfuric acid): Brassy yellow, metallic, cubic crystals. Harder than gold (hardness 6). “Fool’s gold.”
Pyrolusite (MnO₂ — for ferrite cores): Black, sooty, often dendritic (fern-like) deposits on rock faces. Soft (1–2), black streak.
Mica (muscovite/biotite — capacitors): Perfect basal cleavage into thin flexible sheets. Muscovite is clear/white, biotite is dark brown/black. Found in granite and pegmatite.
Appendix D: Reference Values for Circuit Design
| Parameter | Typical Value |
|---|---|
| Germanium point-contact transistor current gain | 1.5–3.0 |
| Ge forward voltage drop (diode) | ~0.3V |
| Operating voltage | 6–12V DC |
| Logic HIGH threshold | >4V |
| Logic LOW threshold | <1V |
| Base resistor (typical) | 5–20 kΩ |
| Collector load resistor (typical) | 2–10 kΩ |
| Max transistor operating temperature | ~75°C |
| Copper resistivity | 1.7 × 10⁻⁸ Ω·m |
| Iron resistivity | 1.0 × 10⁻⁷ Ω·m |
Appendix E: Estimated Bill of Materials for Complete Computer
| Item | Quantity | Source |
|---|---|---|
| Working Ge point-contact transistors | ~1,500 | Fabricated (Part VI) |
| Carbon composition resistors | ~3,000 | Fabricated (Part V) |
| Mica capacitors (~1–10 nF) | ~150 | Fabricated (Part V) |
| Paper/foil capacitors (~1 µF) | ~30 | Fabricated (Part V) |
| Ferrite cores (magnetic core memory) | 3,072 | Fabricated (Part VIII) |
| Copper wire (various gauges) | ~15 kg | Smelted and drawn |
| Tin-lead solder | ~1 kg | Alloyed |
| Indicator lamps | 24 | Fabricated |
| Toggle switches | 24 | Fabricated (copper lever switches) |
| Mounting frame/boards | 1 unit | Woodwork |
| Power supply (transformer, rectifier, regulator) | 1 | Fabricated (Part IX); powered from grid |
Appendix F: Summary Cost-Benefit Analysis
| Computer Path | Bureau-Only Path | |
|---|---|---|
| Construction / setup | 30–55 person-years (years 1–5 if prerequisites exist; 6–7 if not) | 1 person-year (training) |
| Annual bureau staff (year 5 onward) | 5 people (reduced role) = 5 py/yr | 20 people = 20 py/yr |
| Annual machine maintenance | 1.3 py/yr | — |
| Total labor, years 1–10 | ~68–93 person-years (depending on prerequisite state) | ~121 person-years |
| Problems optimized per year (at full capacity) | 80–120 | 15–20 |
| Recomputation turnaround | Hours | Weeks |
| Systematic error rate | Effectively zero (once validated) | 0.1–0.5% |
| Scales to larger problems? | Yes (runs longer, or build better machine) | Poorly (hire more staff) |
| Phase 1 go/no-go milestone | Year 3 | — |
| Phase 2 commissioning | Year 5 | — |
| Breakeven year | ~Year 7–8 | — |
| 10-year labor savings vs bureau-only | ~28–53 person-years | — |
| Trade value (not quantified) | Computing services, computer export, first-mover advantage | — |
The computer path costs roughly half the labor of the bureau-only path over 10 years while solving 4–6× more problems per year. The Phase 1 proof-of-concept machine in Year 3 provides a clear go/no-go checkpoint before the larger Phase 2 commitment. Breakeven occurs in year 7–8 (2–3 years after the Phase 2 machine is commissioned), and each subsequent year produces growing labor savings and expanding problem coverage.
CRITICAL UNCERTAINTIES
| Uncertainty | Range | Impact if Worse | Impact if Better |
|---|---|---|---|
| Germanium concentration in NZ sphalerite | 0.01–0.3% | Need 10× more ore processing; adds 6–12 months | Faster germanium supply; reduces bottleneck |
| Transistor fabrication yield | 30–50% (possibly lower initially) | Need more germanium, more fabrication time | Fewer fabrication attempts; faster Phase 2 |
| Clock speed of hand-built machine | 1–5 Hz (possibly up to 100 Hz with refinement) | Longer computation times; still useful | Dramatically faster optimization runs |
| NZ mica deposits | Quality and availability uncertain | May need alternative capacitor dielectric (paper-foil) | Better capacitor performance |
| Prerequisite industry timeline | Assumes forge, chemistry, glass already established | Project delayed by years if starting from scratch | Earlier start if infrastructure exists |
Footnotes
Electronics end-of-life timeline: solid-state semiconductor devices typically have rated lifetimes of 10–30 years under normal operating conditions, but storage life in power-off conditions can extend decades depending on temperature and humidity. The 40–50 year estimate assumes that devices in continuous use fail by year 20–30, and that stockpiled devices degrade through electrolytic capacitor failure, phosphor screen exhaustion, and oxide degradation by year 40–50. This is an estimate, not a precise figure. See also Doc #134 (Computing Self-Sufficiency Roadmap) for a more detailed analysis of NZ’s electronics depletion timeline.↩︎
Greedy heuristic suboptimality: for empirical evidence, see Dantzig, G.B. (1963). Linear Programming and Extensions, Princeton University Press; and Golden, B.L. and Assad, A.A. (1988). Vehicle Routing: Methods and Studies, North-Holland, Chapter 3. The 15–30% suboptimality estimate is consistent with results reported across transportation and vehicle routing problems in operations research literature, but the range is illustrative rather than a precise empirical bound — actual gaps depend strongly on problem structure and the specific heuristic used.↩︎
Historical human computation bureaus: British Nautical Almanac Office established 1767 by Nevil Maskelyne; see Howse, D. (1989). Nevil Maskelyne: The Seaman’s Astronomer, Cambridge University Press. WPA Mathematical Tables Project: Lowan, A.N. (1943). “The Computation Laboratory of the National Bureau of Standards.” Scripta Mathematica, 9(1), 33–41. Bletchley Park human computation: Copeland, B.J. (2006). Colossus: The Secrets of Bletchley Park’s Codebreaking Computers, Oxford University Press. Aberdeen Proving Ground (Ballistic Research Laboratory, BRL): Goldstine, H.H. (1972). The Computer from Pascal to von Neumann, Princeton University Press, Chapter 4.↩︎
Human computer throughput: based on documented performance of the WPA Mathematical Tables Project (1938–1943), as analyzed in Grier, D.A. (2005). When Computers Were Human, Princeton University Press, pp. 196–210. Grier documents sustained throughput of approximately 1–3 simple arithmetic operations per minute per worker in tabulation operations. The range 1.5–3 operations/minute in this document represents a moderate estimate for more complex allocation algorithms; actual rates for unfamiliar algorithms would likely be at the lower end initially.↩︎
Nautical Almanac errors: the Scilly disaster of 1707 is attributed primarily to navigational uncertainty without a reliable longitude fix (the Longitude Prize was established partly in response). The link to almanac error is indirect; the more direct cases of almanac-induced error are documented 18th–19th century declination table errors that caused systematic positioning errors. For a scholarly treatment see: Sobel, D. (1995). Longitude. Walker & Company; and Howse, D. (1980). Greenwich Time and the Discovery of Longitude, Oxford University Press. Correction note: the claim that Nautical Almanac errors “contributed to navigational disasters” is adequately supported in a general sense but the Scilly disaster attribution is contested; the text has been revised to avoid that specific claim and instead cite it as a documented class of historical problem.↩︎
Computer-vs-human speed comparison basis: human throughput figures from Grier (2005) as cited in [^10]. Computer throughput at 1 Hz: ~3,600 operations per 8-hour day (1 op/sec × 3,600 sec/hr × 8 hr — note this assumes 1 instruction = 1 arithmetic operation; multi-cycle instructions reduce effective throughput, but the architecture described here is simple enough that most instructions execute in 1–2 clock cycles). At 5 Hz: ~72,000–144,000 operations per 8-hour day (accounting for some 2-cycle instructions). The first-generation speed advantage is primarily realized through continuous unattended operation, not raw clock-speed ratio.↩︎
NZ sphalerite deposits: Brathwaite, R.L. and Pirajno, F. (1993). “Metallogenic map of New Zealand.” Institute of Geological and Nuclear Sciences Monograph 3. GNS Science, Lower Hutt. Updated deposit locations available via GNS Science’s GEOATLAS dataset; see also Doc #22 (NZ Geological and Mineral Resource Atlas) for recovery-context synthesis. Note: germanium assay data for NZ sphalerite deposits is sparse; the concentrations cited (0.01–0.3%) are based on global ranges for sphalerite, not NZ-specific measurements. Pre-project assaying of candidate ores is essential.↩︎
NZ coal deposits: Morton, J.D. and Smale, D. (1990). Tertiary coals of New Zealand and their economic potential. New Zealand Geological Survey report G-147. Southland lignite resources (Gore, Ohai): estimated 6–7 billion tonnes total resource. Germanium enrichment in NZ coals has not been systematically investigated; this pathway should be confirmed before reliance on it. For comparison, germanium-enriched coals are documented in Yunnan Province (China) and several Eastern European deposits, but NZ’s geological setting differs significantly.↩︎
NZ copper resources and recycling pathway: NZ has no large domestic copper mines. Minor occurrences at D’Urville Island (Dun Mountain belt), scattered Coromandel and Otago locations are sub-economic under normal conditions. For recovery purposes, salvaged copper from electrical infrastructure (wiring, transformers, motors) is the dominant near-term resource. See Doc #70 (Copper Wire Production) for detailed recovery and processing guidance. Australian trade route for refined copper: Australia produces approximately 900,000 tonnes of copper per year (Minerals Council of Australia, 2023 data), with significant refinery capacity at Olympic Dam and Mount Isa.↩︎
NZ sulfur sources: White Island (Whakaari) native sulfur: well-documented volcanic sulfur deposit, active geothermal field. McSaveney, M.J. (1992). “White Island.” in Volcanoes of New Zealand, DSIR Geology & Geophysics, Wellington. Pyrite in Coromandel belt: Christie, A.B. et al. (2001). “Epithermal mineralisation in the Hauraki Goldfield, Coromandel Volcanic Zone.” Institute of Geological and Nuclear Sciences Monograph 21.↩︎
Iron oxide catalyst efficiency in SO₂ oxidation: the vanadium pentoxide catalyst used in modern contact processes achieves 97–99.5% conversion efficiency. Iron oxide (Fe₂O₃) as a heterogeneous catalyst for SO₂ oxidation was used in early 19th-century chamber process variants and achieves substantially lower per-pass conversion. Exact efficiency figures for unoptimised iron oxide catalyst beds are not readily available in the open literature; the 60–70% estimate cited here is an engineering approximation based on the general principle that iron oxide is a weak catalyst for this reaction at modest temperatures. Empirical testing of the specific iron oxide source and bed design is essential before relying on this figure. For process chemistry see: Fairlie, A.M. (1936). Sulfuric Acid Manufacture, Reinhold Publishing, New York.↩︎
Zone refining invented by Pfann, W.G. (1952). “Principles of Zone-Melting.” Journal of Metals, 4(7), 747–753. For a practical description accessible without specialist access, see: Pfann, W.G. (1958). Zone Melting. John Wiley & Sons. The technique was specifically developed at Bell Labs to achieve the semiconductor-grade germanium needed for transistor fabrication.↩︎
Carbon composition resistor tolerances: based on standard manufacturing practice for hand-mixed carbon resistors as documented in Millman, J. and Halkias, C. (1972). Integrated Electronics, McGraw-Hill, pp. 32–35, which describes the tolerance characteristics of carbon composition types (factory-made: ±5–20%). Hand-made versions with less controlled carbon/binder ratios and firing conditions fall in the ±20–30% range as an engineering estimate; this figure requires validation against actual fabricated samples.↩︎
Tin smelting: well-established ancient metallurgy. For process detail, see Tylecote, R.F. (1992). A History of Metallurgy (2nd ed.), Institute of Materials, London, pp. 8–12. Tin melting point 231.93°C: NIST WebBook, https://webbook.nist.gov/cgi/cbook.cgi?ID=C7440315 (accessed February 2026).↩︎