[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: sysadmin qualifications (Re: apt-get vs. aptitude)



On 10/15/2013 7:40 PM, berenger.morel@neutralite.org wrote:


Le 15.10.2013 18:28, Jerry Stuckle a écrit :
Why?  Do you know how a TV signal is encoded at the station?  How it
is modulated onto the carrier?  The operation of the RF and IF strips
in your TV?  The frequencies of the local oscillator(s) being used?
How the RF signal is demodulated?  How the video and audio are
decoded?  How the video is displayed on the screen?  How the audio
ends up at the speakers?

Or do you just turn it on and watch your favorite show?

If I am a simple user, I can live without knowing nothing, yes. But I
can hardly consider programmers as simple users... And, no, I do not
know everything about the TV, but I know some stuff related to it's
general working, like, for example, that to have an image I need to capt
a radio signal from a satellite (ok, it's not the only way, I know),
which is turned into an electrical analog signal, itself converted to a
numerical one, which is finally interpreted to generate and image and
sound.

And this small knowledge allows me to understand why and how I need to
move the parabolic antenna, so that I am able to simply use my TV then,
without the need of giving a lot of money to someone who will need lot
of time to fix it for me (lot of time, because I'll have to wait him to
go at my home). So, it makes me able to use my TV  quicker, and to fix
minor problems if, by example, a strong wind moved the antenna.


Ah, but you are more than a "simple user". You can change channels. You can increase/decrease the volume. If you have a DVR, you should be able to record and play back.

By example, in my last job, I was able to speak with the sysadmins,
because I have knowledge about stuff that I do not need to know: linux,
networking, firewalls (hardware and software), active directory, and
that kind of stuff that programmers do not need. But it always helps to
have knowledge you do not need, and if I did not liked that idea when I
was younger, I now love it.
It is named general culture I think (if that translation from the French
expression is correct).


None of which has anything to do with the OSI layers or programming.
They are all sysadmin functions.

Yes, I was speaking about the interest of being able to understand
something that you do not really need to know.

It doesn't hurt to have knowledge you don't need now.  But this world
is way too complex to know everything about everything.

I agree. But to be able to communicate with someone which knows what you
ignore, you will need common bases to explain what you need. People with
very very good knowledge of their domain, but no knowledge in others'
domains will need someone able to act as an translator. I have heard lot
of stories of very very good computer scientist who mades very very good
programs. But the programs were not used, because they were not adequate
to user's needs.

That's why people have to know basics of other's sciences, and why
general culture is important, for me. But maybe I think that because it
is the way teaching is made in France, from centuries. I know that the
biological knowledge (very basic one, of course, stuff about cellular
atomic kernels, DNA, and alike.) I have acquired at a time is not very
useful. But it made me able to discuss with my neighbor when I was in
higher studies, and also inspired me some ideas for algorithms.


Which is also why Universities require about 3/4 of the course hours be outside of your major.

Just like I
don't program in assembler (for Intel or Motorola MPUs or IBM
mainframes), although I could do any of them still.

I do not do it either. But by being able to do so, I can understood why
some instructions will slow down programs more than others. Of course,
early optimization is root of evil, but I know that if I have to
divide/multiply integers by a power of 2, I can use the << and >>
operators. It also helps me when I need to debug programs, even if I do
not have the source code.

Pointers have nothing to do with assembler.

Pointers are memory addresses, which are very important in asm. So, yes,
knowing asm helped me a lot to understand C pointers. I understood them
without any problem, unlike my classmates. And those guys were, as me,
coming from electronic studies, so they were supposed to know basics
about processors.


Yes, my C/C++ students sometimes had initial problems with pointers, but some real-world (non-programming) examples got the point across quickly and they grew to at least accept them, if they didn't like them. :)

C is not the only
language with pointers

Of course. They all need to use them if they offer dynamic stuff, but
they try to hide them. Is it the good solution or not? I do not know,
but if yes, I wonder why most games are written in C or C++? I think
that guys who write them knows what is memory, and how it works. I hope
for them at least.


C was never meant to be an applications language - K&R designed it for creating OS's (specifically Unix). But because of that design, a good programmer can write code that is smaller and faster than with other languages (except assembler, of course). A bigger advantage is the code is machine-independent. For instance, I can write an application in C to run on Debian on X86 - but that same application, by being recompiled, will also run on an ARM device.

But it doesn't require knowledge of underlying memory
access to use pointers.
I've taught many C and C++ classes over the
years (I used to do corporate programmer training), and never once did
we get into how memory works.

I wonder how you taught how to use them, so. Just saying that they are
variables which indicates where in memory are located other variables?
And people just accept that?


Nope, real-world examples unrelated to programming.

Those who never programmed in languages
with pointers, i.e. COBOL, had a little trouble getting used to them,

Yes. It is what I said. General culture helps to learn new things
faster. Not needed, but helps.


Actually, in this case, new programmers pick it up faster than experienced programmers. The same is basically true with OO programming techniques - the longer someone has been using functional programming, the harder it is for him/her to make the jump.

Plus, here, we are not discussing about programming, but about
networking, so I think minimal knowledge of network stuff and some
electric basis can be useful ;)


Not really.  When you're troubleshooting network problems in low
level code, it is important.  Otherwise it's no more important than
knowing how everything in your TV works.

So, you are able to do right choices when you buy hardware without
knowing how it works? Interesting, but I doubt it.
By right choices, I do not mean "buying the one with the highest perfs",
I mean "buying the one which fit your exact needs".


Buying hardware is different from programming. There are millions of programmers in the world who never bought a bit of the hardware they are working on.

If you have no understanding about what the hell is a parasite, you will
always buy armored cables, even if you only need a small piece of cable
far from any parasite generator. Waste of money.


Do you mean a parasite generator, or a parasitic generator? Either way - it isn't the programmer who buys the cables. It is the engineer.

But, in a sense, you are right: it is only useful to troubleshoot
problems, and creating stuff, installing stuff, gives problems. By doing
nothing by yourself, you will still have problems: financial ones, this
time.



--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================


Reply to: