408 karma · joined February 22, 2009
Formerly: VP Engineering at Upverter in Toronto. Formerly: Founder at algoanywhere / CTO @ 500px
Background: - Engineering Science via UToronto - Not-so-amateur computational economist, mathematical physicist, bioinformatician.
-> so basically, Canadian "venture" capital. They don't even want to talk to you unless profitability is there or within a few months. So, basically, it distills to a barely riskier than usual bank loan, except you pay the loan with equity.
A bunch of molecular recipes encoded in a few gigs of nucleotides with some crude feedback loops do not a human make.
Quite apart from epigenetics as it’s commonly presented (methylation, and all sorts of histone antics), you might recall that DNA itself doesn’t magically grow up: you do need a cell.
It’s somewhat (and only poorly) analogous to being handed the source code to a C compiler written in C, without knowing C. Does the C code really encode C? Well, not without the compiler it doesn’t....
There’s then a very interesting discussion around how it’s even possible for a mammalian nervous system to bootstrap itself. Figuring out walking seems perhaps emergent: it’s a learnable technique based on not falling. But how do dog breeds retain intrinsic high-level behaviours even if they’ve never observed them? What makes a Shepherd so concerned when his assumed flock becomes dispersed?
We are a tremendously long way from answering these questions, but I would caution anyone who thinks it just “in the DNA”.
A much much more rigorous proposal was put forward by an American mathematician several years ago regarding the geometry of trajectories of computer programs, which holds considerably more promise than whatever flimflam this author was going on about:
https://rd.springer.com/content/pdf/10.1007%2FBF00046564.pdf
"The more numerous the laws, the more corrupt the government." - Tacitus
The problem is massively intractable. QC could revolutionize the space.
Cities reflect networks effects as strongly as anything, which is why the same cities that were important 100 years ago are, by-and-large, the same cities that are important today: there has been no doubling of exciting, the-place-to-be kind of cities in at least North America despite huge increases in population.
Because of this, our generation is stuck on the wrong side of the supply/demand bit for property. Property in uninteresting cities is very cheap, because nobody wants to be there. Property in Silicon Valley or Toronto is on fire because it's the place to be.
I think there's a critical mass kind of problem. In many ways, my quality of life in a smaller (or even very small) city could be several times higher than it currently is -- except for the people. And, for better or worse, it's the people that matter. I don't have any real desire to be the best educated, or most creative, or most entrepreneurial person in a city: I want to be surrounded by them and call them my friends.
So perhaps there's some kind of Kickstarter-like critical mass sort of system that could be put into place to kickstart small cities whereby 50 or 100 mutually interesting people committed to moving to a more remote city iff their compatriots did as well.
Of course, to make that work, there would be have to be some kind of "opportunity", which is why I'm happy to see yC-folks looking into the problem.
I've heard you frequently compare the OOP paradigm to microbiology and molecules. It seems like even Smalltalk-like object interactions are very different from, say, protein-protein interactions.
How do you think this current paradigm of message-sending could be improved upon to enable more powerful, perhaps protein-like composition?
It's all well and good for us to chuckle at the terrifying software/systems decisions being made by these teams, but how do we address the root of the problem? It's very clear that entire meta-categories of horrific errors are being made at a very fundamental level. Is this a problem of outsourcing? Of confusing "coders" with engineers?
And how do we solve it? Shame the software team such that they can never get hired in a serious role again anywhere? Professionalize the job into a strictly licensed regime like other branches of engineering?
Whenever I read these types of articles, my main thought has always been, "so who, the hell, wrote the code?" It'd be interesting to know their story.
Also, I agree that the USB Power Delivery spec is a very good candidate for modern homes/vehicles.
I think this concern actually strikes at the core of the difference between programming as a "trade", versus the more engineering or scientific side of programming (under its various names). One may be perfectly proficient at working with, say, the entire iOS API, while still having little idea (or concern) about representing any sort of non-trivial problems.
Having taken both college-level and subsequently university-level engineering courses in programming/CS, I think the difference between the two roughly aligns with the trade vs modelling point-of-view.
(n.b. I don't mind if they're user-removable for replacement once they've totally died, but this also seems to have become rather rare for what I assume are manufacturing reasons)
A couple years later I was poking around the library and found a book he'd just published entitled something like "50 challenging undergraduate mathematics problems", of which I was annoyed to recognize several :-)
Urgh. Why do people do this?