Tag Archives: development

Programmers wiped out by robots

There are 3.5 million truck drivers in the US. They will all be gradually replaced by robots in the next few years, and then we will have a massive bloodbath caused by 3.5 million (no offense) low-skilled, unemployed people hunting for food.

From their perspective, this may look unrealistic – heavy driving seems like a really taxing and complex activity: it demands lots of attention, it has many special cases, it often requires reading social cues from other humans that only humans can understand. Yet, the switch to robots (and the ensuing social cataclysm) look inevitable in short few years.

In my line of work, I’ve been long puzzled by a similar issue. Why in the field of computer science and engineering, which is ultimately governed by the physics of the circuits, switches, math and formal logic that stems from that, why so much of the routine daily work programming those soul-less machines involves so much of: human judgement, uncertainty, doubt, debates/flame wars over “patterns”, and straight up insane (for any other engineering line of work) rates of errors, crashes and bugs?

I mean, it’s hard to imagine a modern-built physical bridge that just crashes “because bugs”. Or take air travel: in the US, 0.2 deaths per 10 billion passenger-miles for the first decade of this century. For the whole second decade – 0 deaths (almost).

Modern planes are heavily computerized, is that software written by some kind of a different breed of humans than, say, web software? Because my online banking from Citi goes down every week, and it’s a freaking banking service with the same use cases since the 14th century, repeated many times daily by 7000 banks in the US, nowhere near as complicated as the software that’s automatically, near-flawlessly flying and landing the jets in this country.

But wait, the higher are the regular software stakes, the bigger seems the reliance on human judgement. “Our web service is facing unique performance challenges and only the team XYZ has enough experience to scale it to that level.” Mind you, human programmers still haven’t sorted out if something as long-used as OOP is even a viable concept – some say that it is an unmaintainable disaster, a non-starter, others have been building stable systems with it for decades. With stubborn opinions so polarized, mutually exclusive in a field, again, governed by the laws of physics, it seems kind of very wrong that so much of the programming and design is still performed manually by fickle, biased mortals.

I don’t see any replacement yet. But maybe I’m just a truck driver.

Battle of the Grids: 10 ReactJS Grids and Tables

Had to whip up a quick UI for a project, and of course one of the key elements that always comes up is the paginateable, lazy, sortable (and maybe even filterable) table aka the grid. Without further ado, here are the contestants that emerged after some interwebs browsing. Me, I’m making an unoriginal choice to proceed with the most popular one.

component name gh stars gh forks npm april dl’s github npm
fixed-data-table 2377 342 53,209 link link
griddle 1365 241 21,388 link link
react-bootstrap-table 404 164 11,787 link link
reactable 853 134 9,870 link link
reactabular 231 55 2,701 link link
react-data-components 167 60 632 link link
react-table-select 4 1 234 link link
react-infinite-grid 96 19 215 link link
react-grid 0 0 145 link link
react-grid-table 65 18 50 link link

Bonus: here is how to also make fixed-data-table truly lazy and never download all of the bazillion rows into memory when you only need to display about 10.