4 ms·
When you learn programming, you are told to never roll your own crypto, or to always use the ready-made libraries, or to avoid manual memory management - and yo
by mattbee 3y ago
When you learn programming, you are told to never roll your own crypto, or to always use the ready-made libraries, or to avoid manual memory management - and you can have a perfectly fruitful career following rules like that.
But you don't get big changes or ambitious intellectual growth without spotting that - if you did choose to break those sorts of rules - you could build something really new and exciting.
Anyhow that's how I've always taken the "hubris" part - knowing when there's an opportunity to achieve something in a way that someone will tell you is too risky.
- bluefirebrand 3y ago> When you learn programming, you are told to never roll your own crypto, or to always use the ready-made libraries, or to avoid manual memory management I've always taken this sort of advice, such as "never reinvent the wheel" to mean "inventing the wheel is time consuming so give yourself an advantage by using already existing wheels", which really has nothing to do with hubris. I never took it as "Don't bother trying to reinvent the wheel because you aren't capable of it"
- eloisant 3y agoYou can build a better wheel if you want to focus on that. If you want to build a car however, focus on building the car and not creating a new kind of wheel.
- shiroiushi 3y agoIf you want to build a better car than everyone else's current cars, you might need to create a new kind of wheel. Look at the Apollo moon rovers, for instance: they couldn't use off-the-shelf wheels for those.
- ben_w 3y agoMy take on that was that rolling your own crypto is hubris, but for all other ready-made libraries it's just about saving time[0]. There's only one person I ever met who thought manual memory management was a good idea, and their code was terrible in lots of other ways besides that, so I can't say I've ever thought about that particular example. But after a decade or so of "don't roll your own crypro", I've also heard that if you specifically want to get into cryptography, the only way to do it is to research existing crypro libraries and work your way upwards, starting from "can I find bugs someone else already found, without reading the full details of their report?" and eventually rolling your own. [0] That said, I'd now also add that libraries serve as Schelling points to make it easier to find jobs and to find workers.