2. OXIDE
The power of predictions
• As technologists, we live partially in the future: we are always making
implicit bets based on our predictions of what the future will bring
• To better understand our predictions of the future, it can be helpful to
understand the past – and especially our past predictions of the future
• E.g., for nearly a decade starting in 2000, a group of us gathered each
new year to make (and write down!) 1-, 3- and 6-year predictions…
• These were often both surprisingly right on trajectory – and stunningly
wrong on timing
3. OXIDE
Aside: Dire predictions
• Dire predictions are compelling, viz. The Population Bomb (1968), Silicon
Snake Oil (1995), Time Bomb 2000 (1999)
• Even the wrong ones are often not entirely wrong – they contain
important truths
• But dire predictions often also ignore human adaptability: yes, bad
things happen, but humans are adaptable – technologists especially so!
• Dire predictions should not be summarily dismissed, but nor should they
be unquestioningly accepted – however authoritative they may seem
4. OXIDE
Some of our predictions from the aughts…
• 6-year, 2000: “Most CPUs have four or more cores”
• 3-year, 2003: “Apple develops new ‘must-have’ gadget: iPhone. Digital
camera/MP3 player/cell phone” (!!)
• 6-year, 2003: “Internet BW grows to the point that TV broadcasters
become largely irrelevant; former TV networks begin internet
broadcasts”
• 6-year, 2004: “9/11-scale economic shock caused by single virus”
5. OXIDE
Some of our predictions from the aughts…
• 3-year, 2004: “Friendster killed by friends.google.com”
• 6-year, 2004: “Term ‘long distance’ falls out of telco lexicon”
• 1-year, 2005: “Spam turns corner, less of a problem than year before”
• 1-year, 2006: “Google embarrassed by revelation of unauthorized US
government spying at GMail”
• 6-year, 2006: “Volume CPUs still less than 5 GHz”
• 6-year, 2006: “Wireless 3D video ‘iGlasses’ (w/ear-buds) latest ‘it’
gadget”
6. OXIDE
Reflecting on predictions
• Looking back on our predictions, they tell us much more about the
present than the future!
• Longer term predictions were more likely to be accurate than shorter
term ones – and much more likely to be interesting!
• We entirely missed important trends like cloud computing and
software-as-a-service!
7. OXIDE
Missed predictions
• More generally, we missed the ramifications of the broadening of trends
that that we already understood to be transformational, e.g.:
○ The Internet
○ Distributed version control
○ Open source
○ Moore’s Law
8. OXIDE
Finding the future
• Find those current things that clearly represent a better way of doing
things, but are not broadly appreciated or understood
• …which is why many technologists find the future somewhat
accidentally: they find something that they themselves enjoy!
• This is not foolproof or formulaic (some trends never broaden!) and likely
to be wrong on timing – but less likely to be entirely wrong on trajectory
• “The future has arrived – it’s not evenly distributed yet.” – William Gibson
9. OXIDE
Aside: Gibson’s quote
• Gibson’s famous quote starting appearing as attributed to him in the
early 1990s – but it is of unknown origin
• Ironically, this idea itself seems to not have been very evenly distributed!
“The problem is that the idea would have preceded its first recorded public
utterance by quite some time, in the way of these things. I would assume I
thought it, then eventually said it to friends, and that by the time I said it in an
interview (the most likely scenario) it had become an idea I took for granted. It
wasn’t something generated to give a talk, nor was it in some essay or article.”
– William Gibson in personal correspondence to Kevin Kelly, 2011
Source: https://quoteinvestigator.com/2012/01/24/future-has-arrived/
10. OXIDE
Predicting the present, ca. 2022
• The things that I feel I know that might not be evenly distributed:
○ Compute is becoming ubiquitous
○ Open FPGAs/HDLs are real
○ Open source EDA is becoming real
○ Open source firmware is (finally!) happening
○ Rust is revolutionary for deeply embedded systems
11. OXIDE
Ubiquitous compute
• Computation becoming ubiquitous, meaning computers in new places
(à la IoT) but also CPUs where we once thought of components
• E.g., open 32-bit CPUs replacing hidden, closed 8-bit microcontrollers
• We are already seeing CPUs on the NIC (SmartNIC), CPUs next to flash
(e.g., open-channel SSD) and on the spindle (e.g. WD’s SweRV)
• New opportunities for hardware/software co-design: keep hardware
simple and put more sophistication into software and/or soft logic
12. OXIDE
Open FPGAs
• FPGA bitstreams have historically been entirely proprietary -- and one is
therefore dependent upon proprietary tools to generate them
• The Lattice iCE40 bitstream format was reverse engineered in 2015 by
Claire Wolf, and can be entirely synthesized with an open toolchain!
• While Xilinx (AMD) and Alterra (Intel) retain proprietary components (e.g.,
for timing models), newcomers like QuickLogic are entirely open
• See, e.g., SymbiFlow, Verilog to Routing (VTR), Yosys, OpenFPGA, and
the (new!) Open Source FPGA Foundation
13. OXIDE
Open HDLs
• Hardware description languages have traditionally been dominated by
Verilog and (later) SystemVerilog
• Compilers have been historically proprietary -- and the languages
themselves are error prone
• In recent years we have seen a wave of new, open HDLs, e.g.: Chisel,
nMigen, Bluespec, SpinalHDL, Mamba (PyMTL 3), HardCaml
• Of these, Bluespec is especially interesting!
14. OXIDE
Open source EDA
• Proprietary software has historically dominated EDA…
• Open source alternatives have existed for years -- but one in particular,
KiCad, has enjoyed sufficiently broad sponsorship to close the gaps with
professional-grade software
• The maturity of KiCad (especially KiCad 6!) coupled with the rise of quick
turn PCB manufacturing/assembly has allowed for astonishing speed:
○ From conception to manufacturer in hours
○ From manufacturer to shipping board in days
15. OXIDE
Open source firmware
• The software that runs closest to the hardware is increasingly open, with
drivers nearly (nearly!) always open
• Increasingly, we are seeing the firmware of unseen parts of the system
become open as well, viz. the Open Source Firmware Conference
• This trend is slower in the 7nm SoCs -- but it’s happening!
• However, even in putatively open architectures, there generally still
remains proprietary software in the form of boot ROMs -- and this
proprietary software remains a problem!
16. OXIDE
Embedded Rust
• Rust has proven to be a revolution for systems software: rich type
system, algebraic types, ownership model allow for fast, correct code
• Slightly more surprising has been Rust’s ability to get small -- which
coupled with its lack of a runtime lets it fit everywhere!
• With its safety and expressive power, Rust represents a quantum leap
over C -- and without losing performance or sacrificing size
• Viz. Hubris, the de novo Rust operating system we developed at Oxide,
now open source: https://oxide.computer/blog/hubris-and-humility
17. OXIDE
Evenly distributing the future
• None of these things is new per se – but they are real and tangible and
in active daily use by us at Oxide
• They all point to a future in which hardware and software are actively
co-designed!
• That so much of this is open assures that it will survive
• The trends may take time to broaden, but the trajectory seems likely!