:: Re: [DNG] Custom OS initiator. In n…
Página Principal
Delete this message
Reply to this message
Autor: Irrwahn
Data:  
Para: dng
Assunto: Re: [DNG] Custom OS initiator. In need of some hints...
[Afer the fact I notice this has become a rather wordy
message, mainly due to my difficulties to express myself
clearly in plain English; please ignore at at will.]


On Tue, 14 Jun 2016 14:14:15 -0400, Steve Litt wrote:

> You and I have a difference of beliefs concerning learning. You believe
> in foundation-first learning, and I believe in just-in-time learning.
> Either works, in the hands of the right practitioner.


I'm not sure we're actually _that_ different. I had (and still
have) to do a lot of just-in-time learning. However, and that
to me is *extremely* important, I feel the need to not only
quickly learn *how* to do something to get the job done, but
to actually understand *what* I am doing, and what the possible
repercussions are of doing it one way or the other. The reason
behind that need being nothing less than the urge to feel
confident enough that I did everything in my power to avoid
major damage being caused by my code when released in the wild.
(No, it's not that I ever wrote code for avionics or medical
appliances, not do I intend to, but I'm always concerned about
some person getting physically hurt by my code failing.)

If I'd be content with just scraping by with gathering just
enough knowledge to somehow make the darn thing appear to work
at first glance, kick it out the door and job done, I would
never have written a single line of quality code in my life.
Just to be clear, and truth be told: I've certainly produced
my good share of b6t code over the years. But there are pieces
that I am proud of, because not only can I reproducibly proof
/that/ it works, but also rationalize /how/ and /why/ it works.

What I am trying to say (and it's surprisingly difficult for me
to explain it in English), is that unless you're overly pedantic
you'll only ever produce bush-league code. And even *if* you
are overly pedantic, there are still enough errors lingering
in your code, because to err is human. But, to be pedantic
about something, you'd have to know why that something is what
it is, and how it came to be what it is. If e.g. compiler
writers or kernel developers weren't as pedantic as they are,
we won't even have a foundation to build an operating system on.

> All these approaches, whether in code or in learning, are useful in some
> situations. You have decades of C, and perhaps knew C would be your
> major career, so you had time to learn the foundations.


I was young. I had the time. I needed the money. My career was
supposed to be that of a chemical engineer. Go figure! ;-)

> On the other
> hand, I was always a hired gun writing the software the client wanted
> in the language he wanted, so I had to learn quick. Also, I have a
> feeling that your memory is both broader and longer lasting than mine.
> There are only so many fundamentals I can remember.


I guess I was always eager to learn not only how things are,
but also why they are the way they are. My memory has never
been the best, but I've probably penetrated my simple brain
with enough information that inevitably some pieces had to
stick. Or at least some vague knowledge of where to retrieve
those pieces from, should I ever forget. Even nowadays, while
programming, I always have a terminal window with some manpage
open, and a hardcopy of the C standard is always in my arms
reach.[1] As I said, I'm sure we're not that different. It's
just that I'm very insecure, at the brink of being paranoid,
when it comes to hand over some piece of code, and take
responsibility for it. Hence the "worked for me yesterday for
at least five minutes and half a reboot" attitude just won't
cut it for me.

Remember Weinberg's Second Law?
| If builders built buildings the way programmers wrote
| programs, then the first woodpecker that came along
| would destroy civilization.


My goal has always been to defeat Weinberg's Second Law to the
extent possible. To reach that goal I have to have learned the
basics, no matter if I did it in advance, or do it on the fly
while already in stuff up to my elbows. The point being: You
cannot replace basic knowledge, as there is no silver bullet.
That's BTW something the ancient Greeks knew as well. (That last
remark is actually intended to be a tongue-in-cheek sideswipe at
Hendrik's argument from another post in this thread. ;-)

> It feels like Edward's trolling because his actions are completely
> counter to your beliefs, but in my opinion it's just a different in
> beliefs.


No, to me it felt like he's trolling because he at times appears
to just ignore whatever amount of information is thrown in his
direction, without having the actual expertise necessary to
assess the potential value of said information. I now understand
he's not actually trolling, but apparently simply content with
writing bad code. Not sure if that's any better WRT the end
product, but at any rate it at worst qualifies as ignorance,
probably just forgivable lack of focus, but at least in no way
as malice, fortunately.

> This is a pretty cool group, and I think discussions like this one make
> us sharper every day.


[SARCASM]
I have the uneasy feeling I got a bit blunter the past 15 minutes.
[/SARCASM]

[1] Heck, I even have a dictionary page open right now as I write 
    this post, as my English has always been wonky, and it's been a 
    long day. And no, I feel not in the least embarrassed by that 
    fact, because I know it will improve the quality of the product.
    And, at the end of the day, that is what matters.


Regards
Urban