Tuesday, October 11, 2016

You Should Learn to Program: Christian Genco at TEDxSMU

NL posted this question to the Internet reddit's my friends call me a scumbag
because I automate my work when i was hired to do it manually
am I see SNL was hired to do manual data verification and fixing on this gigantic
excel table rows and rows of it
he was hired in this department of a bunch of people whose job it was for
eight hours a day five days a week to just do this to a giant excel table and
they were pretty good at the typical daily output was six to 10 records a day
with about ninety percent accuracy
now see SNL new some basic programming so he wrote a computer script to
literally do his entire job for him the script that he wrote completed over a
thousand records a day with ninety nine point seven percent accuracy
he replaced an entire department in a weekend of coding
now I know what you're thinking all right smart kid
stupid company they should have just hired a programmer in the first place
because this data manipulation thing is what computers were designed to do but I
want you to think for a moment about the place where you work and I want you to
think about what it is that most people are doing there when they're working
chances are it's probably a form of data manipulation and it looks a lot like
this and this
if it hasn't already happened I don't know what it is that you do it probably
will happen soon this is already happened to architects and doctors and
even things that aren't even remotely related to computers at first like
um and in some cases computers have completely replaced the person entirely
did you know we used to hire people to stand in the middle of intersections and
direct traffic , we used to hire people to print out yesterday's news and hand
deliver it to us to our homes we used to have stores that you could go to to
borrow analog copies of movies and rent them out and they would charge late fees
if you didn't return them in time
ridiculous like what and there are still a lot of societal problems that we're
facing that don't make sense in
world with computers like textbooks really heavy books you can search
through they're not linked to other things or paper forms the people just
retype into a computer or classrooms why should i go to a classroom when I can
watch a video on youtube and i can fast forward through the boring parts and
rewind for the other parts
there's a lot of problems like this in society that don't make sense in a world
with computers but what can you do about it
well to answer this question i would like to travel back in time to the year
in 1961 the year we decided to put a man in a giant can and send him from Earth
to the Moon but we had a problem the amount of calculations you would have to
do to coordinate this incredibly complicated rocket systems actually get
you there and into the right orbits was way too much to do by hand but NASA
engineers are very smart they built one of the most advanced computers of its
day the Apollo guidance computer to do these calculations for them they did
that with this
how many people in this room have one of these people don't like one guy in the
back your cell phone in your pocket right now has the computing power to do
the calculations for 1 million Apollo 11 simultaneously
now I couldn't fit a million Apollo 11 little graphics on the slide but if you
can imagine the slide repeated this many times and then this slide repeated this
many times
that's how many Apollo 11 your cell phone can do the calculations for NASA
scientists in 1961 would have fallen to their knees and worship do you like a
god for having this kind of technology and what are you using it to do
there's a disconnect between the technology that you have available to
the problems that we're facing in society and what you know how to use
that technology to do so with this in mind
I've come up with a clear call to action which is that you should learn to
now there's a lot of studies that say that if you repeat something you're more
likely to remember it so if on the count of three I could get everybody to say I
should learn to program
one two three
huh but why why should you do this thing you just agreed to will have three
reasons why number one is the programming literally makes you smarter
what you're probably thinking to yourself is why should I learn to
program why did I just say that which is a good question but it's probably also
what people were saying in the nineteen forties about 19 when the 1400 about
reading and now that you know how to read don't you think it's really
convenient that you don't have to rely on someone else to do all of your
reading for you it's really handy that you're able to have this mental process
this mental tool that you can use to extend what you were otherwise currently
capable of to apply it to other problems and computers are really good tools for
extending what you're capable of
if a computer scientist if someone with a little bit of programming experience
has a problem of not wanting to go to the video store they can make a website
that streams video straight to your computer if people are having problems
with textbooks and a programmer says oh I have an idea
I i'll make a website where everyone can edit it and it's immediately available
to everyone in line they can do this if someone doesn't like asking people if
they're single
they can make a website that just list that for all of their friends from a
common side effect of solving these kinds of problems as a programmer is
that sometimes you become a multi-billionaire but even if you don't
invent the next Facebook knowing the basics of programming is really good for
your basic fundamental tools of thinking like being able to break up a really big
problem into really tiny pieces or being able to iterate over something really
quickly and make small incremental changes or being able to find a little
tiny problem in a big complicated system even
you know if nothing else you'll know enough about computers to stop listening
to what a talking paper clip is telling you to do and just start actually
understanding how the computer is working
they didn't get this joke it selects kids are getting old but most
importantly learning how to program will let you use your computer's full
potential and this is only going to become more true as computers get faster
and cheaper
which brings me to my second point which is the computers are getting better
faster than you are
there's this law in computer science called Moore's law that predicts that
every two years
processing capacity of the average computer will double double every two
how much smarter does your brain get every two years you're still much
smarter than a computer but for how much longer
the future is Ray Kurzweil estimates that by 2025 you will be able to buy a
computer with the computing capabilities of a human brain for a thousand dollars
but even more amazing than that is what you can buy today this is the Raspberry
Pi credit card sized computer it started shipping earlier this year for
twenty-five dollars twenty-five dollars for a computer
what imagine the things you could do with this
if you knew what to do with this
$25 you could plug one into every washing machine and have it text you
when your laundry was done or plug it into every toilet in your house and
congratulate you for peeing for a really long time
um I did that it was really fun
which but you wouldn't know what to do with it I gave it to you because this is
what it looks like when you turn it on
which brings me to my third and final point which is that you're lazy
but what you don't realize is the computer programmers are some of the
laziest people on the planet
if there's a job at a computer scientists have to do that takes 10
seconds every day a computer scientist will spend months making a tool for
himself that can shave five seconds off of that but when you're first learning
how to program it's going to seem like a complete waste of time you're going to
be learning things like how to get the computer to do math for you and how to
get the computer to type out words for you things that would be much easier if
you just did them yourself but if you stick at it if you can program for an
hour a day after about a month you will reach this magical point where it's
actually faster for you to program the solution to a problem than it is for you
to do it yourself and all of a sudden life will just be magical
if you have a problem that used to take you hours or days you can cut up a
solution in minutes you will have this enormous capability of processing vast
amounts of data and extending what your otherwise currently capable of to solve
these huge problems you'll have the complete freedom to code up solutions
that have never existed before with no one telling you that you can't and you
will feel inspired to become a programmer don't I want you to go back
to whatever it was that you were doing before you started to learn to program
and I want you to bring back these tools that you've got from programming and
apply to that I want you to rethink how people are currently doing what you're
there's a lot of people in the world that can program but there's none that
can also do what you know how to do now how do you get started with Google just
google how to program online
there's a ton of free resources if you don't like any of those I made a list on
my web site of some of my favorite
that's my name christian genco calm and you can start learning
I'd like to close now with one of my favorite quotes from someone that
totally would have been a programmer if computers had existed when he was alive
Henry Ford once said if you have a difficult task to do give it to a lazy
man and he will find an easier way to do it