A notch above a monkey

On ubiquitousness of 3D printing

As a proponent of a view that 3D printing will radically change our society I read with great interest a bunch of articles with a less enthusiastic outlook written by people who obviously have more relevant experience and knowledge than me. They don’t quite reach a consensus, but have a fairly uniform sentiment I would like to address. While I do agree with most of their arguments and conclusions, I don’t with all and more importantly I think they are kind of missing the point.

The above linked articles are really worth reading, but hopefully I won’t do them too much of disservice if I sum them up with: 3D printing will be too costly, too difficult, not useful enough and of too low general quality to have the same pattern of adoption as 2D printers which means they won’t end up in every home (with some type of computer).

Each of these points is true right now. It costs more to print an otherwise mass produced item (especially if you need to also buy a 3D printer). Of course this becomes less relevant if you want to create things that are not mass produced ( or at all ), but even then you would be better off using an existing printing service (as I did). However cost of printers and materials have come down tremendously in last few years and it’s not difficult for me to imagine that at some point they will become accessible enough to become an impulsive buy. If we only bought stuff we need when it makes rational economic sense, we would own far fewer things than we do. Often they just have to become cheap enough and as cars attest that doesn’t even mean cheap.

It is also true that preparing models for printing is not easy. However it is much easier than it used to be and I don’t see why it wouldn’t become even more so in the same way as have tools for other once specialist tasks (like photo editing). I am old enough to remember word processing of mid 80-ies and as much as incanting commands was unappealing then, you don’t see many people needing to struggle with this today. And there could be even more help in form of existing downloadable designs or 3D scanners which could reduce burden of design from scratch to making small corrections instead.

Will we need printers often enough? No idea. I print on paper only before traveling and would likely use 3D printer more often, but I suspect I represent mostly me. I don’t know why anyone would still need a printer, but enough of them do that there is no shortage of models aimed at home owners. I did notice how my brush with 3D printing changed the way I perceive plasticity of my environment and while it is hard to tell how my view and use would be shaped if printing was even more accessible (I expect more things would get fixed instead of replaced), it is even harder to imagine that they wouldn’t. I am sure this would be even more true for kids growing in environment which is more pliable than today’s.

An often repeated argument is that quality of printed stuff is not high enough. This may well be in most cases, but I expect will be less so over time. I don’t expect cheap printers or materials to catch up with expensive brethren or other options anytime soon if ever, but they may not need to. Illuminated manuscripts were supplanted by printed books even though they never achieved their quality. Books simply became good enough. As millions of Instagram photos prove deficiencies can also lead to its own esthetic (but I wouldn’t count on this).

It is difficult if not foolish to predict future of a particular technology, but when I do attempt it, I try to do two things. One is to list all its current limitations and try to imagine a future without them. If technology is not interesting enough without them, then it’s really hopeless. The other thing I do is to look at development so far and try to extrapolate what will happen to those limitations and how soon from technological and wider social context stand point.

I don’t expect 3D printing to follow an adoption curve of some other technology as this rarely happens. There is indeed a fundamental difference best captured by Jon Evans’ observation that we print on paper to convey information and use 3D printers to produce stuff. I do believe home 3D printers will eventually be at least as prevalent as paper printers if for no other reason because our appetite for stuff won’t go away as much as our need to use paper as a transport medium. However I also expect them to be present in houses void of geeks.

But my real point is that this doesn’t really matter. It seems there is an agreement that this technology together with others will radically transform our society and that bespoke manufacturing for individuals will again become more prevalent. Unless your business model absolutely depends on pushing millions of these printers in every home, does it really matter if I will print my designs on my printer or at a nearby corner shop?

I don’t think it does as I don’t care if additive approach of printers wins over subtractive one of mills (however I find grinding inherently less appealing). In any case I do expect personal manufacturing to influence but not eradicate manufacturing industry and it will be interesting to see how much of it will see it as a threat needed to be countered.

Subtracting sets to get non-referenced rows in table.

I had a problem today. Given two database tables with first having a foreign key pointing to second, find those rows in second table, which are not pointed to from first. Well, it was slightly more complicated than this, but this was the tricky part.

I tried to solve my problem using SQL , but I could not. I am not saying it can’t be done, but with my limited knowledge of SQL I could not produce a query that would not perform horribly. Working on production database under heavy use made this a real no-go.

After trying to come up with pure solution I finally gave up and decided to solve this problem pragmatically with some scripting. Turns out that too was more complicated than necessary. Unix shell tools are all you actually need, provided your dataset is not too big for your computer limitations (mostly memory).

Instead of searching for those rows directly, I changed my plan to create two sets of rows, first containing all possible candidates and second containing those from first set which are pointed to from first table. Subtracting second set from first would therefore give me exactly those rows which aren’t pointed to.

If file all contains a row-per-line list of all candidates and linked a similar list of those that are linked to, then you can get non-linked by running following command:

cat all linked | sort | uniq -u > non_linked

What this does is following. Sort will put duplicated rows together and -u option of uniq will display only unique lines which are those that can be found only in all . Problem solved.

Passion

Hearing something often enough can really change my perspective even on things I agreed with completely beforehand. It happened again after reading for umpteenth time that passion for programming/company vision is the quality every new hire should have.

Passion is a symptom, not a diagnosis.

I know a great developer with whom I would love to work again who is passionate about electronics. I am sure he likes programming and does it a lot, but it’s not where his heart truly lies. Which is alright because his other qualities more than make up for any passion deficiencies.

Passion in complementary direction is doubtless a positive signal, but I simply do not believe that only people working on something they care deeply about are able to do it well. We can and do regularly care, with some degree of autonomy, about more than one thing (or person).

In more general sense my feeling is obviously a reaction to the end result of a process in which a useful guideline calcifies into dogma. Ideally I could get to this point sooner, but it seems unlikely. If I regularly reconsidered and doubted every piece of my mental framework, then it would mostly be mental and not much of a framework.