I love programming. Itâs like playing with Lego â here are some blocks, see what you can build with them.
That sounds a bit less impressive now, but when I was a kid walking uphill both ways, I only had a very generic Lego set where all the pieces were cuboids. If I wanted to build a house with a sloped roof, well, that was too bad. I could cheat a little, though, by making several layers in a terrace pattern. It wasnât actually sloped, but it did the job well enough by making creative use of the tools I had within the constraints I was given. You might call it a hack.
Self-identified hackers will often lament how âhackâ now has two meanings and everyone assumes the wrong one. I think thereâs really only one meaning, and the âbreak into computersâ sense is a special case. Itâs not like breaking into a system is magic, or done by running hack.exe
; itâs just a creative use of the tools you have within the constraints youâre given. Like when the constraint is âyour username is placed in a string of SQLâ and you decide to place a couple quotation marks in your username.
So Iâm always a little surprised when programmers donât get security issues or how to defend against them, because to me, it requires exactly the same mindset as programming. And I suspect the problem is a quiet assumption most people tend to make: no one is that much of an asshole.
Thatâs not entirely unreasonable. Every stranger you pass on the street could be a hired assassin, but thatâs fairly unlikely, and we have punishments to discourage that sort of thing. Ultimately we have to have some level of trust in other people in order to be around them at all.
And yet.