Three cool things that are happening in technology…
I’m really negative about the technology industry at the moment. There’s so much bad going on whether it be the ongoing obsession with trapping people’s attention, revitalising 1920’s financial scams, the horrible mess that is front end development, how painful (and slow) the shift from vm to containers is going to be, IoT security or the lack thereof, or that the world wide network of home routers is basically a dedicated edge computing facility for botnets… there doesn’t appear to be much actual progress to be had.
So I’ve tried to find signs of life. Of real technology not press releases. Reasons to be cheerful — one, two, three.
Machine Learning
I know, the very core of the attention grabbing economy, but there’s an important message that’s been carefully hidden: We no longer need to tell computers how to do what it is we want them to do.
For the longest time computers have been machines that execute instructions (at increasingly ludicrous speeds), so it has seemed self evident that no matter what happens next, we will still need to tell them what to do. Machine learning has changed this, and computer programs are starting to become definitions of “good” accompanied by lots of examples of things that caused good and bad to occur such that it might be able to work it out itself.
Personally, I find near endless uses in engineering. Instead of analytically predicting the performance of a system (eg car suspension), it can be given a definition of good (the ride is smooth), a bunch of inputs and controls (throttle, damping) and be left to its own devices. We no longer need to know the precise spring rate, oil viscosity, tyre friction, mass, unsprung mass, second moment or the quality of the road surface because they just became irrelevant. The car itself will just, generally, figure it out.
This applies to, pretty much, anything.
For extra marks, it’s rapidly becoming apparent that hardware specialised to work with machine learning is much simpler to create than traditional CPU’s.
Shader Programs in the Browser
Speaking of CPU’s, there are effectively two types in regular use — CPU’s and GPU’s where GPU is a “Graphics Processing Unit”. While it might have been completely specialised ten years ago, now a GPU is really a collection of small CPU’s that are specialised towards computing things in parallel — almost entirely massive quantities of matrix math. At the same time the push to get 3d scenes into browsers has meant opening up the graphics API’s. Relevantly, the ‘shader programs’ that describe how light falls on each part of the scene can now be delivered via the web.
GPU maths and AI maths are more or less the same thing, so we can now embed AI into web pages themselves.
What can we use this for? No idea. But there are some astounding demos that give us some idea of the size of leap that might be possible.
Browser -> IoT connectivity
Connectivity between browsers and IoT is about to get crazy good. The forthcoming Web Bluetooth API will enable and standardise communications with ‘nearby’ (10 metres or so) devices that have Bluetooth LE. BTLE is an exceptional piece of technology and has, for instance…
- Potential battery life of a year. Or, with a tiny solar panel, forever.
- The canonical BTLE ‘entire computer’ is $3 and is 3.50 x 3.83 x 0.35 mm.
The most common use for BTLE is currently fitness trackers, but with a little imagination who knows what can be built.
Bonus: Intel Optane
Optane is, in short, an SSD that’s approximately 10x faster when dealing with small amounts of information. Its performance is close enough to RAM to make truly huge swapfiles a possibility for future datacentres, leading to greatly improved server utilisation; or as the basis for a new class of high performance databases.
What for? Who knows. Go! Make things!!