Episode Transcript
Available transcripts are automatically generated. Complete accuracy is not guaranteed.
Unknown (00:02):
The Globalbob Show,
episode number 18. Let's rock
and roll. So crazy that we arealready on episode number a
team. And if I would not havecontracted the COVID virus, we
would be rockin and rollin onchapter 19, or episode 19. So
(00:28):
enjoy the music and enjoy theshow. This is your field
commander Globalbob. In eachweek,
we either cruise the highwaysand byways of cyberspace. Or we
set sail on the Digital Ocean asa couple pirates without a
(00:49):
cause. As always, thank you somuch for everybody that tunes
in, by now, I'm sure you guysknow, you can reach me at
Globalbob show on Twitter. Emailme Globalbob show@gmail.com. You
can messenger me on Facebook,via the Globalbob show, do the
(01:13):
search for Globalbob show. Andof course, those that have my
phone number are more thanwelcome to always call me. And I
don't say that just hope no onecalls me just last week I had a
listener contact me and had afriend of theirs that had an
(01:34):
issue going on with theircorporate site. And I'll leave
the names of the partiesinvolved. Just for, you know, I
don't want to broadcast it. Butbasically, this was a pretty
good scam they were trying toaccomplish, they contacted the
gentleman and said there was aproblem with their corporate
(01:55):
website. And don't botherlooking for the problem. But
they'll never find it, and thatthey needed to pay this company
to ensure the website isperfectly clean. So one of my
listeners heard about this, andquickly got a hold of me, put me
(02:15):
in contact with the individual.
And I gave him about 10 minutesof pro bono work. And I'm just
happy that someone took me up onmy offer. Now don't call me to
ask me to fix your computerbecause I don't do those kinds
of things. But if it's in therealm of cybersecurity, cyber
extortion, that kind of stuff, Ican give you some tips and
(02:37):
tricks that will maybe get youpointed into the right
direction. So I appreciate that.
All right. We have a good showin store for you today. Now,
this particular show I wasthinking about this past week.
(02:58):
And as you can tell my voice isa little better. I'm actually a
little more when it whenever Iget excited, I talk fast. So
I'll try to slow it down. Butthis is something I get asked
all the time. And it is kind oftwofold. One, what is software,
(03:21):
what is source code? What isthis stuff? And today we're
going to talk about it. But Ithink what's really neat is what
dawned on me just this week,because another question I get
quite often is how did you getstarted doing this? When's your
(03:41):
first recollection of beinginvolved with writing code?
Writing software, writingscripts. And
pretty often I'll tell thestory, you know, it comes back
to whenever my dad who hasalways been a very integral part
(04:03):
of my life. My closestconfidant, my advisor, my best
friend, sometimes other timeswould tell me stuff that I
didn't want to hear, but I hadto hear. And so, you know, my
dad, he always made sure I hadand my mom also made sure I had
the finest computing products ofits time. I mean, I know
(04:26):
whatever I was a small kid, Iconvinced him why I needed two
phone lines at my house. And iteventually grew to three phone
lines at my house. That's foranother story, but I always kind
of hone in on this Commodore 64that he bought myself and my
brother and we've talked aboutin previous podcast, but then I
(04:48):
thought like wait a second. Holdon. I actually got my start. Way
before I even got my start. Andthat was with my dad And I'm
going to tell you a littlebackstory. And this will help us
segue into how we got to themodern software that you all
(05:09):
know it today. Whenever I talkabout software, most of my
listeners probably think ofsoftware, as in Microsoft Word,
or maybe software as anapplication that's on their
phone, or even software. That'ssomething they use at work. But
(05:34):
that is one part of softwarethat is the part where the
person interacts. But it took usa long time to get the software
as we know it. Now, when youthink about when the computer
was invented, and we'll talkabout that, and a little bit,
(05:55):
but it was basically used tosolve problems. And the first
ones were with math problems.
But problems that needed to besolved wasn't spellcheck, and
connecting you up to a mappingsystem like Google Earth, or
whatever. I mean, those all comelater, but they were using
(06:16):
computers to solve problems. Andso whenever I think about my
first time that I wasinteracting with problems was
with my dad. Now my dad, and mygrandfather and his brothers and
some of my extended family. Theyowned a lot of orange groves
(06:39):
down in Arcadia, Florida. Now,where we lived at up here in
Winter Haven, Florida, was aboutmaybe one and a half, two hours
away. And so all of my dad'sorange groves were down in
Arcadia. And whenever I was areal little kid, I remember my
(07:02):
dad, at his office in WinterHaven, he had all of these
control systems laid out on hisdesk. And I would watch him. And
he had basically constructed a,for all intents and purposes,
his own industrial controlsystem. Now, that's just
(07:27):
amazing. My father and hisbrothers had been in the
electrical business for quitesome time. And as you know, in
the electrical business,especially now with all the home
automation and stuff. I mean,that was just amazing that, you
know, we have home automationhere at our houses, and it's
very cheap, but back then, hewas actually creating his own
(07:48):
industrial control system forautomation of the fertilizer for
the orange trees. Now see, hehad figured out him and his
colleagues and industry thatthere was a new system that had
come out, and it could help withthe production of oranges on the
(08:09):
trees. And I never will forgetthe name of the system, it was
called a fertigation system.
Now, this fertigation systemwould have a control circuit,
and this control circuit wouldturn on the pump. And so you had
(08:31):
mechanized relays, and all ofthese components would put to be
put together, and you would havea time clock and relays it would
turn on the pump. And you'd havespecial relays that would rotate
through the different rowsbecause you couldn't water the
whole orange grove at one time,you can only water certain
(08:55):
roads, because that's all thatthe pump could produce. And more
over this new fertigationsystem, I never will forget it
had a pump that would run offthe water pressure. And I
remember he would start hisstopwatch. And he would time
(09:16):
every time that little pistonwent up and down. And I never
will forget the silver thingthat was over to the side. And
it had another tank. And soevery time that system would go
up and down. Then his industrialcontrol system that he created,
it would measure the amount offertilizer liquid fertilizer
(09:41):
going inside of the mainirrigation. And so that was the
fertigation system. Now when youbreak it down, what had Herbert
come up with? Well, he solved aproblem using electric City,
because that's essentially whatcomputers do. He knew that every
(10:06):
time that piston went up, itwould draw the liquid in, and it
would put it into the pipe. Andhe knew what the water pressure
was and the water flow. And sohe could calculate the amount of
liquid fertilizer being sprayedon those orange trees. And then
of course, with us live in anhour and a half away, he needed
(10:28):
to water the complete OrangeGrove. So his time clock
wouldn't measure. And then itwould take a solenoid because
you can imagine, remember, thesevalves, these big big valves,
and it would take a lot ofstrength to open and close it.
But there was a little solenoidand it would use the water
pressure to open and close thesebig valves nice and slowly. And
(10:52):
it would use the timing to getit. All right. So essentially,
that is all of the manualinputs, like on a computer that
was solving a real worldproblem. And so, to me, once I
thought about it, I was thinkingto myself, Wow, that me being a
little kid and my dad's littletruck, that we would go through
(11:16):
those orange groves and cook ourlunch of the exhaust manifold.
So he was he is still is veryengineering, and very good at
coming up with solutions andlittle side rant on that, you
know, we would stop and pickwhatever canned lunch we wanted.
(11:36):
And we would pull the wrappersoff and put them on the exhaust
manifold of his little truck.
And we would have hot food as werode through these orange
groves. And so that's really, Ithink that's about as far back
in my memory of me usingelectricity or being around
people that were usingelectricity to solve these
(11:57):
problems. Now, fast forward,whenever I got into high school
and get my first automobile, mydad put me out in the field,
what we call the field, and thatwas working for the electrical
company. And there, I got, youknow, another taste of using
outside environmental systems toregulate things. And with that
(12:23):
he did a lot ofelectrical work for some of the
major grocery store chains, andsome of the big chains that are
still in business today. Andthey use these things called
thermistors. And they would takethe temperature and change the
resistance on the wire. And thatwould be an input that would
(12:44):
turn on the refrigerationsystem. And of course, in the
electrical company. They wereresponsible for the fire alarm
system. So I spent many, manydays and a whole summer hog,
fish and wire around and we havepull stations on fire alarms,
and there's little things thatcan detect the smoke. And so,
(13:08):
you know, just thinking aboutthis podcast, and really what
software is, is that it isthings that are solving either
environmental issues around theenvironment, or actually solving
problems. And so with that, Inever knew it, but really,
(13:29):
that's kind of where I got mystart. So I think about the
Commodore 64. And that was kindof cool. But really, I think
that what really set thefoundation for everything I've
done is really working with himand seeing how electricity with
relays and time clocks andswitches. And in software, we're
(13:51):
getting ready to talk about it.
Well guess what we use insoftware, we use schedulers will
schedulers just like a timer,and we use switches really in
programming languages orsomething called a switch. And
we have a loop, which means goaround in circles. So that's
really cool. That's what Ireally love about these podcasts
(14:13):
is that not only do I get a lotout of out of it and producing
it, but really it's like takinga taking a little walk down
memory lane. So throughout mypodcast, and through this series
and stuff, you hear us talkabout malware, and Trojans and
viruses. And we talk aboutBitcoin. And we talk about a lot
(14:34):
of stuff. And all that stuff isis just software. And when you
think about it, really softwareis simply the interface between
the outside influences, right?
So there's an interface that'sreceiving temperature and
humidity and things like that.
(14:55):
And also the human because wehave a mouse reroll or Now we
get output through the computerscreen. And now we get output
through virtual reality we getoutput on our phones. So
computer software is simply theinterface between the human and
the machine or the system. It'spretty straightforward. Now, my
(15:20):
dad used, you know, veryrudimentary basic building
blocks to solve the problem andthe orange groves. And they use
the basic building blocks ofsoftware to make fire alarm
systems work. Now the firstpiece of software was written.
Now this is the very first pieceof known software was written by
(15:44):
a fella named Tom Kilburn. Andhe ran his first computer
program at 11am. Greenwich MeanTime, June 21 1948, at the
University of Manchester inEngland. Now, this is back in
1948. And if you think aboutwhere my dad was in the early
(16:09):
80s, you can see that eventhough we had software since 48,
and 50, this was very, very,very rudimentary software. Now,
Kilburn and his buddy Freddie,good old Freddie Williams had
built one of the earliestcomputers. So if you're gonna
(16:31):
think about it, which one camefirst, the chicken or the egg?
Well, which one came first, thecomputer or the software. And I
would have to speculate at thistime, they were probably
developedin tandem with each other. Now,
fast forward to today, when youhave computers that are running
very specific software, which weheard a little bit about when we
(16:56):
talked about Bitcoin mining.
That's called an ASIC. an ASICis an application specific,
integrated circuit. And so thefirst computer was actually
probably an ASIC. Now, if you'regoing to invent a computer, and
(17:18):
these things were very, verylarge machines, very big, and
they called there's baby, andI'm sure they probably walked
into their lab, and every daybaby had something to say. And
they probably said, Never putbaby in a corner. Y'all remember
the joke from Dirty Dancing? I'msure it probably went over
everybody's head. But anyway, sothey had their computer name,
(17:41):
baby. And today, when we thinkabout what baby was developed to
do, they were highly impressed.
That baby only took 52 minutesto compute the largest divisor
of two to the power of 18. Now,I don't know why they would need
(18:05):
that. I don't know. But it took52 minutes. And I can tell you
right now, with today'sstandards, then it would take
longer for you to hear the clickin your ear of the mouse to run
the program to when the programwould finish. Now, that's pretty
impressive. Now, a lot of timeswhen we talk about software, so
(18:30):
that was the first 119 48, wekind of got the first computer,
we kind of got the firstsoftware. But we hear the term
all the time that there was abug in the software, there's a
bug in the code. So while we'retalking about software, and what
is it where did it come from?
And how did we get to wherewe're at today, we should talk
(18:52):
about where the word bug camefrom. And the word bug was first
talked about, and one of theworld's first major computers,
and it was called ENIAC. NowENIAC was a computer that was
the size of two city blocks. Andthey noticed that ENIAC was
(19:16):
putting gibberish out that justdid not add up. Now, if you all
have seen the NASA movie aboutthe the ladies that calculated
made all the calculations andstuff, you know, this was about
the time of ENIAC. And what theywere doing was was feeding
numbers into ENIAC, and theywere having the ladies check the
(19:37):
numbers. And they found out thatsomething wasn't jiving. And
they later found out that it wasan actual bug that had went
across to have the contactorshave this massive computer
called ENIAC, and that was whatwas causing the gibberish so I
guess we get a twofer this week.
So we're gonna learn aboutsoftware. And we learned about a
(19:59):
bug. Now, as we march forward totoday's time, we don't really
think of software as in today'sterms, of course, iPad, mobile,
iOS, Android, I mean, that's allvery recent, as far as in terms
of time. And that's why theycall those the modern operating
(20:20):
systems. But really software. Aswe know, it did not come into
existence, until the personalcomputer revolution that began
in the 70s, built up steam inthe 80s, and exploded into the
90s. So for the rest of thepodcast here, whenever I refer
to software, I don't want you tothink of the old punchcard
(20:44):
systems and the old floppy disk,and the tape drives and all of
that, what I'm going to betalking about is kind of setting
the foundation for futurepodcast. And so you know what
software and source code is, andthe difference between the two.
(21:08):
Now, when you're looking at acomputer, and you're interfacing
with it, you have the user area,and that user area is kind of
combined into two differentinput outputs, you either have
input output to the human, whichwould be the human interface, or
you have the input output tosome kind of process that's
(21:33):
processing environmental inputs.
So think of this as systems thatare monitoring voltage
monitoring, temperaturemonitoring fuel flow, like in
your car. So two kinds ofsoftware. And they do make a
pretty big difference, because Iknow that the world that I
mostly have programmed in, minehas been low level control
(21:56):
software, and low level drivertype software. And so I don't
care about the pretty colors.
And it really didn't matter howit looked. It only mattered
about the computations wherethese folks that are programming
(22:16):
user software, not only are theyhaving to have it function very
well, but they get what theycall UI, which is user
interface, and UX, which iscalled user experience, they get
professionals and these folksare artists, and all the rights.
I mean, they are they know theperfect colors, and they know
(22:39):
the perfect placement. And thoseUI UX folks work together in
that user area to create theuser experience. Well, then you
have the actual piece ofsoftware or the application. And
this is kind of where the rubbermeets the road. And this is
where you're doing yourdevelopment. And this may
(23:03):
interface or does interface withthe operating system. And think
of the operating system isnothing more than a bunch of
software that helps theapplication software, provide
the user experience or theenvironmental input output. And
then it's the operating systemsjob. In most cases, like I say,
(23:26):
I'm trying to keep this simplefor the audience that interacts
with the hardware. And so that'skind of the top down layer
approach of what software is. Sowhen you think of software,
think of it as all of thistogether that works on your
computer. Now, sometimes you allhear source code, and you hear
(23:51):
the word script, there's alittle bit of difference between
the two source code is up in theapplication software layer. And
it can be down lower, but forall intents and purposes, and
that's where the developer isprogramming, the experience.
(24:12):
Now, a little bit lower into theoperating system, that can be a
collection of software that hasways to interact with the
hardware. So case in point, if Iwant to make my program go Dane
up in the high layer, I may justput the word Dang. But once the
(24:35):
operating system understandsthat, and it ultimately gets
made into bits and bytes thatcomes out the speakers to make
that little ding sound throughthe hardware. So I'm trying to
keep this simple, but justfollow me how you have that top
down approach. Now the sourcecode is the code that makes that
(24:57):
happen. So we need to go just Alittle bit deeper here. Whenever
I write my source code,regardless of the language I
write it in. So there's anotherterm their language, it may be
written in Python, it may bewritten in C plus plus two
(25:17):
pluses, I guess it's better thanone. And maybe written in C,
those are the two, actually thethree that I kind of dabble in.
So that is called source code.
And that source code is mostlywritten in something called an
IDE, or integrated developmentenvironment. And if you look at
(25:38):
source code, it is very muchhuman readable. If I were to
open up some source code, youwill see some things that look
familiar. Let's go back to theorange grove analogy that I'm
wanting to use. If you open upmy source code, you may see an
if, then, and that if then maysay, if piston goes up, then put
(26:03):
this much liquid into thecounter. Oh, let's do this. And
so I'm trying to keep this supersimple. But going back to what
my dad would do, is time thatpiston going up and down and
that counter, he didn't knownecessarily how much liquid but
(26:26):
if he knew how much time, or howmany times that piston went up
and down, then he could writecode that would put that out.
And so in the IDE in the sourcecode area, it's very much human
readable. If I needed a timer,say I needed to wait right that
pistons going up and down, and Ineed something to wait for 30
(26:48):
seconds, I may just do timerequals time, wait 30. Now,
that's what we call pseudo code.
But that's the general gist ofit. So all that up is in the
IDE, and that is my source code.
But some of the languages, theyhave what they call JIT, which
(27:08):
is just in time, and it willread that source code and, and,
and go. But most of the timesource code gets compiled. And
I'm sure a lot of y'all haveheard this before, oh, I got to
compile my source code. So whathappens with the compiler, and
I'm just going to put this outthere real quick, because I want
you to understand that no matterwhat problem we're solving,
(27:33):
whether it's the simple ding ofour sound card, or putting some
calculation on the screen, yoursource code kind of goes down
this path to get to what iscalled an executable. And we
call this compiling the sourcecode. And so the source code,
you run it through a compiler,and that compiler outputs
(27:57):
assembled code. Now assembledcode, how many times have y'all
heard of the 386 processor, the46 processor, the Pentium two
processor, all these processors,right? The new MacBook runs the
new M two processor? Well, theprocessor only has a certain
amount of instructions that areincluded. Now. The first one,
(28:26):
if you look back with Baby, Babyholy process, looking for
divisors I mean,that's it, that's all the
machine understood. But withmodern operating systems, the
the machine code, it has aninstruction set. And that's all
it can do. So that's why whenthe 386 came out, you couldn't
(28:47):
run four a six code on a 386because it did not understand
it. And a lot of times it wasbackwards compatible. Now I'm
dating myself, and I'm sure mydad one know this, but back in
the day, there was bunches ofdifferent processors. I remember
he had an old Texas Instrumentcomputer there that was useless
(29:10):
because the guy that programmedit, he passed away, bless his
heart. But the thing is, is thatall of a sudden the revolution
took off when the IBM compatibleand so where I'm going with this
is, is that what's your sourcecode that human part, it goes
(29:30):
through a compiler and then itgets interpreted into that code
that is a machine code and thatwill be the last time it is
somewhat human readable. And ifyou look at this code, it will
say JMP for jump in mov to thisand we're not going to get down
into the nitty gritty too much,but just know that it kind of is
(29:54):
like a funnel. So then that getsput in into object code. Now,
object code is nothing but onesand zeros. And that's really
what computers understand.
Remember me talking about thefire alarm system, and you pull
(30:14):
that pull switch, once either onor off. And in its basic form,
that is all a computerunderstands either the
electricity is on, or theelectricity is off. And we'll
talk more about this andcommunications. But that's it,
zeros and ones. So now that thecode has been assembled, and now
(30:38):
it's down in object code, thelast part of it is linking. And
now linking is just a way forthe code to use different bits
and bytes of other code toultimately end up into a DLL,
which is a dynamic link library.
And for all intents andpurposes, that is like a little
(30:59):
piece of helper code or anexecutable. And so I know that
that was a lot to take in. But Ijust wanted to kind of show you
the path of what things take. Sowhen you talk about software,
and you think about software,just know that the part that
you're interacting with, you'reat the top of the birthday cake,
but really what's all going downup under the hood is nothing
(31:22):
more than the processors code,and the processors functions
that are pre programmed in, andultimately, it gets turned into
ones and zeros. And ultimately,it gets turned into ons and offs
with electricity. So I know thatwe're at the bottom of the half
(31:44):
hour. And I know this was a lotto take in. But hopefully at the
end, you guys understand andladies understand that software
is nothing more than input,output. And either it's
inputting and or inputtingoutputting from environmental
(32:06):
factors and physical realm, orit's inputting and outputting
through visuals and humaninteraction. And all of this
comes together, because we needcomputers to solve problems. And
just like out in my dad's orangegroves, he used very rudimentary
(32:28):
building blocks. But that wholesystem, which he come up with,
could be replicated inside of avery simple, probably $80
computer now, and that would beoverkill. And he could very
simply put these various timersand measurements and counters,
(32:51):
and water pressure sensors allinside of a little box that can
control those relays. Andwhenever I think about where did
I get my start in programming,it wasn't with that Commodore 64
It wasn't with the first 286 andx86 computer that he bought me
really the foundation forprogramming was instilled in me
(33:13):
by my father out in those orangegroves. So for the younger
listeners out there, always tryto keep your ear to the ground.
And you never know where yourfoundation may be set. But I
will tell you, one of the thingshe did instill in me is that one
(33:34):
problem don't go away to youhave to admit you have a
problem. And three, the only wayfor the problems to go away is
for you to work the problem. Sowith that, I thank my father for
setting the foundation for me tohave a very successful career in
(33:55):
computer development. Also insoftware design, and ultimately
cybersecurity. All right, welluntil next time, everybody stay
safe, make sure to staysanitized. And we will see you
on the next show. And as always,please give me feedback on the
(34:18):
show. Let me know what you'dlike for me to talk about
because the reason why I do thisis for you all and I hope you
enjoy listening to it as much asI enjoy producing. So with that
we will see you all next time.