 |
 |
|
 |
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
As part of the drive to empty our house of useless crap, I was going
through some of my old college work last night. Ah, the memories.
I still chuckle at my first few programming assignments. We were
learning to use Borland Turbo Pascal 5.5 for MS-DOS. The guy teaching us
only found out two weeks earlier that we was taking the class, so he had
two weeks to learn Pascal out of a book. Frankly, they should probably
have just given us that book! (Also, his name was Frank.) He wasn't
/bad/ at teaching, but it was somewhat baffling to walk into a classroom
and discover that I know more about the subject than the lecturer does.
The comments on my first assignment indicated that it works well, "and
you've even added a few extra procedures you weren't asked for" (in
other words, I factored the problem more thoroughly), "but comments are
rather sparse". Considering that the entire source code print out was
literally 3 pages long, there's not a hell of a lot to comment on. No
non-obvious design decisions or tricky invariants to document. If you
understand Pascal, the code is pretty much self-explanatory. It's a
first-year college assignment FFS!
My second assignment is even more amusing. The actual phrase the
lecturer used was "...the program works, but is a little overly complex
for mere mortals like me to understand." Oh, I'm sorry, I thought you
were supposed to be the frigging *expert* that we've all paid good money
to be taught by! :-P
In fairness, as well as writing the code for the actual assignment, I
did also write an entire library module that's triple the size of the
main program, and which allows me to print nicely formatted output. (I
forget the exact details now. I think it was just number alignment so
all the decimal places line up.) But I put it in a separate source file
and made it really easy to read the main program without having any idea
how the library actually works. And I put comments in the library
explaining what each procedure does (not that the names didn't make it
self-evident anyway).
Then again, splitting a program into more than one module was beyond the
scope of our course. (!) We were never taught the syntax for doing this.
(It's not like C where you just write more files. In Pascal the main
program source file has a different structure to library modules. You
have to declare the public interface, for one thing...)
This experience of knowing what the lecturer is going to teach us before
he even opens his mouth turned out to be a recurring theme of my path
through college and university. At the time I just felt smug for being
better at Pascal than Frank was. By the time I was in my 3rd year at
university, I was beginning to feel frankly a little outraged that I was
being charged vast sums of money (tens of thousands of pounds, more
money than I will ever own) to listen to lecturers who can't speak
English properly and/or don't have a damned clue WTF they're talking about.
(Not /all/ the lecturers were this bad, of course. But some of them were...)
In one of Frank's other classes, we learned all about binary and
floating point. The former was of course no longer news to me. Spend 10
years poking bytes into the control registers of the 6581 (that's the
MOS Technology Sound Interface Device [S.I.D.] to you) and you learn a
thing or two about binary, computers, processors, addressing modes, and
so on. Floating point was all new to me though.
Then there were the lessons on logic gates. (You had to know what they
are. You weren't required to know what to do with them or why they
exist.) Again, old news to me, having already spent years playing with
physical 7400 chips. Taking a harddrive apart was fun though. (And
probably ****ing expensive, I should think. This is the era when "4 gig
drives don't grow on trees".)
And then there were the Quants lessons. ("Quantitative Methods") This,
as best as I can tell from my lecture notes, was simply an orgy of
mathematics. It's all in the bin now, but I skimmed through pages and
pages of statistics, polynomials, linear algebra, fractal geometry, 3D
graphics, Polish reversed lists, chaos theory, cryptography, sound
synthesis, and God-only knows what else. I should note that only about
half of this stuff is directly related to anything in the syllabus. The
other half is just me doodling while bored in class. (Something that
DJK, our lecturer, seemed to actively encourage.)
I actually found the sheets of paper where I first performed the
derivation of the binomial theorem from first principles. You cannot
simply /tell/ me that (A + B)^2 = A^2 + 2AB + B^2. I have to know /why/
this is true. And why is it that (A + B)^3 isn't A^3 + 3AB + B^3? There
must be a pattern. And damnit, I'm going to find it.
This apparently involved drawing a grid:
+------+---+
| | |
| A^2 |AB | A
| | |
+------+---+
| AB |B^2| B
+------+---+
A B
I think you can see where this leads. Next I drew the same thing, but in
3 dimensions. That took me a bit longer. After that, I wanted 4
dimensions, but was forced to abandon geometry and simply shift algebra
by hand. The final expression may be small, but some of the intermediate
terms are quite large, and it's easy to make mistakes as you repeatedly
copy and manipulate the terms step by step.
After laboriously tabulating the expansions up to (A + B)^9, it became
quite obvious what the general pattern was. But what the hell are the
coefficients? Where do they come from? It took at least another hour of
shifting algebra around and scrutinising my work before I discovered
that collecting like terms caused the coefficients to be computed in a
way exactly matching the definition of Pascal's triangle.
DKJ offhandedly told me that I had discovered "the binomial theorem".
Consulting the library, I learned that this little puzzle had been
solved over a century ago. AND FOR NEGATIVE EXPONENTS! >_<
This again is a typical experience in mathematics. Any problem which you
can imagine has either been solved several hundred years ago, or else is
impossible to solve. There are no easy unsolved problems. I had the
feeling of being in the centre of a field of ideas, looking at all the
familiar, well-known stuff. All the new, unknown stuff would be at the
far reaches of the field, involving problems so complicated I wouldn't
even understand the language.
The first time we were in the computer lab, DKJ got us to graph some
trivial polynomials which supposedly represented various things. (E.g.,
rather than give has a data set representing the company's monthly
income, he would think up a cubic off the top of his head and get us to
tabulate and graph that - an easy task for Excel.) I of course was
bored, and so I ended up graphing my standard incantations. The harmonic
expansion of various waveforms. The chaotic behaviour of the logistic
and lambda maps. And so forth. As I recall, it caused quite a stir among
the chavs I shared a classroom with. For five minutes.
I recall on another day, we had one formula which yields the company's
income for each month, and another that yields the expenses for each
month. We were using this to understand the concepts of profit, loss,
break-even, etc. This was a classroom exercise, so everybody sat
laboriously tabulating these formulae by hand.
Obviously, I immediately realised that I could directly tabulate the
company's monthly profit simply by subtracting one formula from the
other, simplifying the algebra, and then tabulating that. But then DKJ
wanted us to compute the profit growth rate. I duly tabulated the first
few months of profit and computed the difference between consecutive
rows. But I couldn't help feeling that there ought to be a /pattern/ to
the results.
After about 15 minutes of experimentation, I managed to successfully fit
a quadratic curve to my data. Literally, I had a formula that produced
the exact same numbers as the curve I was laboriously tabulating. And
it's the damnedest thing: the coefficients of this new formula seemed to
be /related/ to the original formula. Well, it seemed obvious to me that
such a relationship /should/ exist, but what exactly was its nature?
While everybody else continued the tabulation of growth rate that I had
long since finished by halving my workload, I picked formulae at random,
tabulated their growth, and tried to fit curves to them. This is quite a
lot of work, and I never did figure out exactly what the relationship
was. At this point, DKJ came over and informed me that I had just
invented differential calculus, and showed me the general formula for
the derivative of any polynomial.
I remember being quite suspicious of the perfect constants in the
expression. "Is that really 3? Or is it 2.986 or something?" No, it's
*exactly* 3. Needless to say, I went and found a book which explained
all this in far more detail than the 5 minute conversation I had in
class, and now I understand /why/ all of these beautiful patterns are so.
While sorting through all this paperwork, there was one assignment I
felt compelled to keep. The assignment, quite simply, was to write a
program to "do graphics". Literally, any sort of program you write which
produces pretty graphics is OK. While DKJ was explaining on the board in
excruciating detail how to draw a simple rotating square, I was typing
away at my computer, which I had already got drawing a rotating
wireframe 3D cube.
It was around this time I was playing with complex numbers. For years
I'd been baffled by the descriptions telling me that the Mandelbrot
formula is z := z^2 + c, but the formula is /also/ x := x^2 - y^2 + a, y
:= 2xy + b. Clearly z = x + yi and c = a + bi. But how do you get from
one formula to the other? It made no sense, and nothing anywhere
explained it.
One fateful day, I tried applying the binomial theorem to (x + yi)^2 +
(a + bi). The result is obviously x^2 - 2xyi + y^2i^2 + a + bi. If you
replace i^2 with -1 (for that is its defined value), you get x^2 - 2xyi
- y^2 + a + bi. And if you gather all the terms containing i in one
group and all the others in another, you get x^2 - y^2 + a and 2xyi +
bi. Divide the latter through i and its 2xy + b.
Suddenly, it clicked. (No, not my spine!) I spent the rest of the day
deriving complex arithmetic from first principles. Perhaps the single
most significant moment was in class the next day. I wrote out the
Taylor series for exp(yi). Replacing i^2 with -1, I discovered that all
the terms now alternate between negative and positive. And between real
and imaginary. And collecting all the reals and all the imaginaries, I
was shocked to find myself looking at the Taylor series for the sine and
cosine functions.
At which point DKJ informed be that Euler figured that out almost 300
years ago. Damnit! >_<
Following our lecture on Polish reversed lists, I wrote a small Pascal
interpreter. It takes a String containing a Polish reversed list, and
executes it. You can only include purely real constants and the variable
names "A", "B", "C", "D" and "Z". The values of these variables are
passed as arguments to the interpreter function. The interpreter
executes the expression, and returns the result. It even correctly
handles complex exponents. (Although they would have to be variables.)
Using this, I added to my graphics assignment a fairly large collection
of fractal types. I don't think I ever got as far as implementing
Dijkstra's shunting algorithm (to turn normal algebra into Polish
reversed lists). But I implemented the usual Mandelbrot and Julia
fractals, with multiple colouring options (escape time, Z-magnitude,
epsilon cross, binary decomposition, etc.) And also several other
fractal types; cubic Mandelbrot, lambda, logistic, lambda-exp and
lambda-sin.
I read in a book about Floyd-Steinberg error distribution dithering. Now
remember, we're talking about the era where one of my assignments
actually asked me about the differences between MGA, CGA and EGA. (For
you youngsters: That's what we had *before* VGA.) We all did our
graphics work in VGA mode. So, 16 hard-coded colours available. So I
went ahead and wrote an FS dithering algorithm, and then adapted my
Mandelbrot renderer to generate images in 24-bit colour and then dither
them into 4-bit colour. The results at 640x480 were... well, grainy.
(Plus I think I had a bug somewhere. The algorithm never worked
/exactly/ right.) But it was still kinda neat.
I actually /sold/ the code for the Mandelbrot fractal to Graham. Not for
very much money. And, actually, I didn't give him any code. I just sat
next to him and told him what steps had to happen, and he coded it. I
can still remember the conversation. "Now run that loop for every
pixel." "Wow, for EVERY PIXEL?" "Yep. Now you know why it's so slow!"
(Mine of course did fancy tracing operations to speed it up...)
My rotating cube went on to acquire hidden line removal. *ahem* OK,
back-face cull. Which took some considerable research and discussions
with DKJ to get right. Finally I discovered that it wasn't working
because it /actually matters/ what order you list the coordinates in.
O_O Once I fixed that, it worked much better. I then went on to add
surface illumination calculations, using a simple point source and Phong
lighting. (Each surface is one flat colour.) With only 4 shades of grey
to play with, it didn't look so hot. But it was quite neat animated.
I vaguely recall that I did implement something with /real/ hidden line
removal, but I don't know if it made it into my assignment. I'll have to
read the sources.
Alongside all this, I also had the usual epicycloids, moiré patterns,
animated spirals and so forth. Needless to say, I got a Distinction for
that. (The highest mark possible.)
It still makes me chuckle that I enrolled for a computing diploma and I
spent two terms learning how double-entry accounting works. I've got
Sage printouts and everything. (That's Sage for MS-DOS, mind you.) I
still remember the login password. It was "letmein".
Then there's heaps of stuff about the relative merits of Ethernet verses
Token Ring verses something else. As far as I can tell, that's a format
war that has long since been won my Ethernet. Does *anybody* still use
token ring? How about ATM, is that still used?
(Come to think of it, *all* of the networking stuff at college was done
by Novel Netware. Now there's a name I haven't heard in a long time...)
There was one assignment called "computers in society". I didn't
actually read the assignment, but the lecturer's comments were amusing.
"A wonderful, almost poetic report. I would be delighted to receive
writing of this calibre in my professional life." He then goes on to
offhandedly mention that I didn't actually cover all of the required
aspects. And yet, I got a Distinction? LOL!
I briefly flicked through the report I wrote. Obviously produced with MS
Word 6. One sentence has been highlighted and the guy wrote next to it
"beautiful!" The sentence reads:
"The computer is to information as the power loom is to fabric."
Aside from that, the report isn't well written at all. The tone is very,
very informal. Like, if you imagine being given a topic, and just
monologuing about it to your friend off the top of your head,
videotaping that, and then rearranging the sentences into a more
coherent order with a word processor... that's what I wrote.
Distinction. Heh, well I guess it *is* only college...
Also: If you think my spelling is bad *now*, you have literally no idea
how abysmal it used to be! (E.g., I can spell "abysmal" now. :-P ) And
that was when I was a teenager, obviously.
Some of the lecturer's comments weren't so friendly. (Actually, some of
them weren't legible at all. That has to be some kind of fail, right
there!) Deanna wrote something about "Task A shows technical brilliance,
however task B is still not acceptable, even on this second attempt, and
even though I told you which research sources to use. This just isn't
good enough Andrew. You simply must improve in this area."
Oh? Oh really? You think so? Do ya? Yeah? Well let's see how you like my
SHREDDER!!! Muhuhuhuh!!! Take THAT, Selby! Yeah, you like that?! Not so
smug *now*, are we? Now that your acidic little smartypants voice has
been minced into a thousand tiny pieces. EAT METAL!!! >:-]
Ahhh. To quote H. Granger, "that felt good".
In summary, all the assignments to do with programming computers or
solving equations gave me exemplary marks. Everything else brought me
dismal failure. A pattern that was to be repeated at university, come to
think of it. Well I guess that's tomorrow's tidying task.
I'm particularly proud of the grade I got for my second programming
module at uni. I got a D for that. (On an A - F scale.)
You see, due to the faculty secretly moving the notice board and not
bothering to tell me about it, I missed all of my exams that term. Every
single one of them. And that meant I failed all my modules and had to
retake them.
Well, all except one. You see, for my programming module, my coursework
grades were *so* damned awesome that I actually PASSED THE MODULE
OUTRIGHT WITHOUT EVEN TAKING THE EXAM. And not only did I pass, I got a
D. Not an F. Not an E. But a D. Without even sitting the exam. I'm *that
good*, bitch! ;-)
And then there was that database class. The one where Ian says "There
are various levels of normalisation. I mean, you've got 2NF, 3NF, 4NF
and even higher ones. But generally, you only really need to worry about
Boyce-Codd normal form, which says, ANDREW..."
I stand up from my seat in the front row and enunciate "...every
determinate must be a candidate key..."
"...thank you Andrew. Now as you can see[...]"
That was a feel-good moment. When even the lecturers know you're a
damned walking encyclopaedia. ;-)
...and now I'm feeling all nostalgic about the long-lost days when I
could just sit in a corner reading about Gaussian elimination or
something while the lecturer blathers on about the role of middle
management or whatever. I could do crazy math stuff, and people would be
*impressed* and stuff. My college notes are literally a fermenting sea
of equations. Serious work mixed up with doodles and advanced math. I
have nobody to impress anymore. :'{
(Although... I wonder how much of the praise I received was actually
justified. Especially at college, when I was in a class full of chavs
who went out and got drunk *every day*. They'd be hung over for the
morning classes, and mildly drunk for the afternoon ones. Is it any
wonder the lecturers though I was brilliant?)
Go on, admit it. You thought this was going to be about SRAM vs DRAM,
didn't you? :-P
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Le 2011-08-19 08:00, Invisible a écrit :
>
> Then there's heaps of stuff about the relative merits of Ethernet verses
> Token Ring verses something else. As far as I can tell, that's a format
> war that has long since been won my Ethernet. Does *anybody* still use
> token ring? How about ATM, is that still used?
>
In most large entreprise that has an IBM mainframe sysplex or two, there
will be some token-ring left there, for some legacy "don't touch it, the
last guy who knew how that worked retired years ago, and quite frankly,
we're not sure anyone still uses it, but we don't want to take chances"
application.
> (Come to think of it, *all* of the networking stuff at college was done
> by Novel Netware. Now there's a name I haven't heard in a long time...)
They're still around.
> You see, due to the faculty secretly moving the notice board and not
> bothering to tell me about it, I missed all of my exams that term. Every
> single one of them. And that meant I failed all my modules and had to
> retake them.
After a while, most rational human beings would have asked other
students "Hey, when's our first exam?", or upon hearing "That last exam,
sure was hard" would have retorted "Exam? what exam?". You can't just
blame the tricksy hobbitses, you have to take some of it.
--
/*Francois Labreque*/#local a=x+y;#local b=x+a;#local c=a+b;#macro P(F//
/* flabreque */L)polygon{5,F,F+z,L+z,L,F pigment{rgb 9}}#end union
/* @ */{P(0,a)P(a,b)P(b,c)P(2*a,2*b)P(2*b,b+c)P(b+c,<2,3>)
/* gmail.com */}camera{orthographic location<6,1.25,-6>look_at a }
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Le 2011-08-19 09:15, Francois Labreque a écrit :
> Le 2011-08-19 08:00, Invisible a écrit :
>>
>> Then there's heaps of stuff about the relative merits of Ethernet verses
>> Token Ring verses something else. As far as I can tell, that's a format
>> war that has long since been won my Ethernet. Does *anybody* still use
>> token ring? How about ATM, is that still used?
>>
>
> In most large entreprise that has an IBM mainframe sysplex or two, there
> will be some token-ring left there, for some legacy "don't touch it, the
> last guy who knew how that worked retired years ago, and quite frankly,
> we're not sure anyone still uses it, but we don't want to take chances"
> application.
Forgot to add:
And ATM is the transport underneath DSL and DOCSIS. So most home or
small office high speed Internet connections are using ATM.
--
/*Francois Labreque*/#local a=x+y;#local b=x+a;#local c=a+b;#macro P(F//
/* flabreque */L)polygon{5,F,F+z,L+z,L,F pigment{rgb 9}}#end union
/* @ */{P(0,a)P(a,b)P(b,c)P(2*a,2*b)P(2*b,b+c)P(b+c,<2,3>)
/* gmail.com */}camera{orthographic location<6,1.25,-6>look_at a }
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> Does *anybody* still use token ring?
>
> In most large entreprise that has an IBM mainframe sysplex or two, there
> will be some token-ring left there, for some legacy application.
Wouldn't surprise me. But I'm correct in saying that nobody uses it for
new deployments?
>> (Come to think of it, *all* of the networking stuff at college was done
>> by Novel Netware. Now there's a name I haven't heard in a long time...)
>
> They're still around.
Novel is clearly still around. I meant Netware.
>> You see, due to the faculty secretly moving the notice board and not
>> bothering to tell me about it, I missed all of my exams that term. Every
>> single one of them. And that meant I failed all my modules and had to
>> retake them.
>
> After a while, most rational human beings would have asked other
> students "Hey, when's our first exam?", or upon hearing "That last exam,
> sure was hard" would have retorted "Exam? what exam?". You can't just
> blame the tricksy hobbitses, you have to take some of it.
"That last exam sure was hard" is how I found out that I'd missed the
last one.
Other than that, I don't recall actually *seeing* any of my classmates
during this period. Not that I knew most of their names anyway...
Still, somehow everybody else knew that our notice board had moved 400
yards along the corridor. I wonder how they found out?
(My mum screamed at me "you pass that noticeboard every single day!" To
which I responded "I pass about 30 noticeboards every single day. None
of them related to my course.")
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 8/19/2011 5:00, Invisible wrote:
> Does *anybody* still use token ring?
Anywhere the benefits of token ring outweigh the costs of using a less
common networking technology, yes. Primarily where you need a fixed upper
limit on how long a packet takes to be delivered, such as in many forms of
industrial processing.
> How about ATM, is that still used?
It's used quite a lot internally to the phone company. You're probably using
it right now.
> Aside from that, the report isn't well written at all. The tone is very,
> very informal. Like, if you imagine being given a topic, and just
> monologuing about it to your friend off the top of your head,
I'm not sure I need to *imagine* that as such...
--
Darren New, San Diego CA, USA (PST)
How come I never get only one kudo?
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Invisible <voi### [at] dev null> wrote:
> As part of the drive to empty our house of useless crap, I was going
> through some of my old college work last night. Ah, the memories.
>
> ...but it was somewhat baffling to walk into a classroom
> and discover that I know more about the subject than the lecturer does.
Oh c'mon now! Anyone who can think his way out of a wet paper bag has had this
experience repeatedly. We're just socially trained not to say so.
> ..."but comments are rather sparse". ...there's not a hell of a
> lot to comment on.
>
Been there squared. Sadly, MANY programming classes are taught by folks who
can't follow more than a few lines of simple code without a continuous running
series of comments telling them what they're reading. Also, the catechism of
“Comment, comment, comment!” is preached enthusiastically by management types
who want to be able to hire low-wage nitwits to make any code change they might
ever want. One particularly irritating instructor actually FORBADE me to bring
my coffee cup with “rem Coffee” printed on it back to class. I didn’t hold a
grudge, however. After my final grade was securely recorded, I gave him a very
nice going away present, a gift-wrapped box of Constant Comment tea. ;-)
> And then there were the Quants lessons. ("Quantitative Methods") This,
> as best as I can tell from my lecture notes, was simply an orgy of
> mathematics. ...
Well, we can never have too many of those, can we? I'm sure nearly all of us
have seen this, but here goes anyway:
http://www.macs.hw.ac.uk/~pjbk/humour/polynomial.html
> You cannot
> simply /tell/ me that (A + B)^2 = A^2 + 2AB + B^2. I have to know /why/
> this is true. ...
Bravo. I'm pretty sure that this attiude is a necessary condition for any
meaningful application of the term "sentient".
> ...DKJ came over and informed me that I had just
> invented differential calculus, and showed me the general formula for
> the derivative of any polynomial.
It's probably a very good thing that you delved into the foundations BEFORE
being exposed to Leibniz notation, which (IMHO) strongly tends to obscure rather
than illuminate underlying principles. (But, hey, /productivity/ is the ONLY
truly important reason for mathematics, right?)
> It still makes me chuckle that I enrolled for a computing diploma and I
> spent two terms learning how double-entry accounting works.
Historically, there are really only two significant primary sources on the true
nature of double-entry accounting. I'm referring to Houdini and Machiavelli, of
course.
>I have nobody to impress anymore. :'{
Why the ":'{" ?... Seriously. Do you not grasp that THIS is truly ultimate
victory?
> (Although... I wonder how much of the praise I received was actually
> justified. ...
In a very real sense, the answer is "none" for you, me and all of our kind. I
really do understand just how difficult it can be to break our addiction to
praise, but unless we pull that particularly nasty little monkey off our backs
and stomp on it, they'll always own us.
> Go on, admit it. You thought this was going to be about SRAM vs DRAM,
> didn't you? :-P
Not for one second... I considered the source, ;-)
Best Regards, /* Closing */
Mike C. /* Signature */
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 19/08/2011 04:14 PM, Darren New wrote:
> On 8/19/2011 5:00, Invisible wrote:
>> Does *anybody* still use token ring?
>
> Anywhere the benefits of token ring outweigh the costs of using a less
> common networking technology, yes. Primarily where you need a fixed
> upper limit on how long a packet takes to be delivered, such as in many
> forms of industrial processing.
Wouldn't you just use a dedicated network with no other traffic on it?
Also, wasn't the last token ring technology to be released 10mbit/sec or
something? That's a tad slow... (Then again, industrial control. How
much bandwidth can it possibly need?)
>> How about ATM, is that still used?
>
> It's used quite a lot internally to the phone company. You're probably
> using it right now.
OK. So exchange to exchange links and stuff?
>> Aside from that, the report isn't well written at all. The tone is very,
>> very informal. Like, if you imagine being given a topic, and just
>> monologuing about it to your friend off the top of your head,
>
> I'm not sure I need to *imagine* that as such...
Nice to know I've *always* sucked at report writing. :-P
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> ...but it was somewhat baffling to walk into a classroom
>> and discover that I know more about the subject than the lecturer does.
> Oh c'mon now! Anyone who can think his way out of a wet paper bag has had this
> experience repeatedly. We're just socially trained not to say so.
What, that the person being paid to teach you something knows less about
it than you already do?
Damn, if my driving instructor knew less about driving than me, I'd be
pretty concerned!
>> ..."but comments are rather sparse". ...there's not a hell of a
>> lot to comment on.
>
> Been there squared. Sadly, MANY programming classes are taught by folks who
> can't follow more than a few lines of simple code without a continuous running
> series of comments telling them what they're reading. Also, the catechism of
> “Comment, comment, comment!” is preached enthusiastically by management types
> who want to be able to hire low-wage nitwits to make any code change they might
> ever want.
In some sense, they're trying to teach you good programming technique
and practises, and part of that is documenting what you're doing.
On the other hand, the Jackson's Structured Drawings, flow charts,
extensive comments, etc. are all really, really overkill for any sort of
programming project that you could realistically expect novice
programmers to pull off in a month. The task has to be simple enough
that it can be implemented in the time allotted; that kind of dooms it
to be simple enough to not really need comments, elaborate design
methodologies, nor any of the other lofty things they're trying to teach us.
So in a sense, they're trying to teach us to document our work, and I
didn't. On the other hand, it didn't really *need* it.
A similar thing could be said of my programming assignment. In a sense,
I did way, way more work than actually necessary, and made the program
quite a bit more complicated than it could have been. On the other
hand... GIVE ME A BREAK! Go learn how to write programs, and THEN you
can lecture me about how I'm coding stuff wrong. :-P
>> And then there were the Quants lessons. ("Quantitative Methods") This,
>> as best as I can tell from my lecture notes, was simply an orgy of
>> mathematics. ...
> Well, we can never have too many of those, can we?
I never get this any more. :-(
>> You cannot
>> simply /tell/ me that (A + B)^2 = A^2 + 2AB + B^2. I have to know /why/
>> this is true. ...
> Bravo. I'm pretty sure that this attiude is a necessary condition for any
> meaningful application of the term "sentient".
Not one other person in the whole class cared in the slightest.
Then again, they all spent 25 minutes mindlessly computing like human
calculators, so maybe "sentient" is stretching it. *I* learned
something. :-P (Although not the thing on the syllabus...)
>> ...DKJ came over and informed me that I had just
>> invented differential calculus, and showed me the general formula for
>> the derivative of any polynomial.
> It's probably a very good thing that you delved into the foundations BEFORE
> being exposed to Leibniz notation, which (IMHO) strongly tends to obscure rather
> than illuminate underlying principles. (But, hey, /productivity/ is the ONLY
> truly important reason for mathematics, right?)
I borrowed my dad's calculus book. It explained it all from first
principles, in really very clear language.
(I'd actually read the book once already, but utterly failed to
comprehend what the hell it was talking about. I suppose having seen a
practical application, it made more sense...)
>> I have nobody to impress anymore. :'{
> Why the ":'{" ?... Seriously. Do you not grasp that THIS is truly ultimate
> victory?
How do you work that one out?
> I really do understand just how difficult it can be to break our addiction to
> praise, but unless we pull that particularly nasty little monkey off our backs
> and stomp on it, they'll always own us.
Nobody likes people who constantly seek attention. On the other hand,
nobody wants to spend their entire life doing stuff and never getting
any recognition at all...
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Fri, 19 Aug 2011 09:15:00 -0400, Francois Labreque wrote:
>> (Come to think of it, *all* of the networking stuff at college was done
>> by Novel Netware. Now there's a name I haven't heard in a long time...)
>
> They're still around.
Well, Novell (with two l's) is. ;)
They were just acquired by Attachmate (there's a name *I* hadn't heard in
a while until they made the offer back in 2010). But Andy should have
heard the name Novell, certainly, because that's where I worked until
May, and I know I mentioned it in here on more than one occasion.
:)
Jim
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 8/19/2011 8:16, Invisible wrote:
> OK. So exchange to exchange links and stuff?
That, carrying text messages sometimes, control backplane, DOCSIS, DSL, etc
etc etc. Anything where high-speed packet switching with connection-oriented
service makes more sense. Any place where the actual physical connections
aren't changing very fast, an underlying connection-oriented protocol is not
uncommon and usually much more robust, managable, and efficient. *Then* you
layer IP on top, in order to give you a layer of virtual switching. (And
indeed, network switches go through a lot of effort to try to turn IP
networks into connection-oriented networks, with stuff like caching of
recently seen IP addresses, path MTU protocols, etc.
I.e., ATM is used over fiber (usually in turn over SONET) wherever in *your*
house you are using ethernet.
Honestly, IP is a pretty sucky and limited technology, except for its
flexibility. It's both inefficient in transmission and extremely difficult
to manage well. You couldn't possibly use it internal to the phone company
for routing or addressing. (For example, one area code (aka "city code") in
the USA supports more phone numbers than all of IPv4.) But it's everywhere,
for the same reason that C is everywhere: It's so limited you can layer it
on top of pretty much any underlying transport.
For example, one of my colleagues was making fun of ISO's CMIP for being
connection-oriented, because having trouble getting a connection is one of
the most common reasons you'd use SNMP. I said "they just dedicate a
physical connection to it. The smallest bundle going into any switch has 900
physical pairs, and usually closer to hundreds of thousands." At this point,
the student was enlightened.
>>> Aside from that, the report isn't well written at all. The tone is very,
>>> very informal. Like, if you imagine being given a topic, and just
>>> monologuing about it to your friend off the top of your head,
>>
>> I'm not sure I need to *imagine* that as such...
>
> Nice to know I've *always* sucked at report writing. :-P
Wrong tense. ;-) Read the last sentence I quoted, then start over on your
message again. ;-)
--
Darren New, San Diego CA, USA (PST)
How come I never get only one kudo?
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Fri, 19 Aug 2011 16:32:22 +0100, Invisible wrote:
>>> ...but it was somewhat baffling to walk into a classroom and discover
>>> that I know more about the subject than the lecturer does.
>
>> Oh c'mon now! Anyone who can think his way out of a wet paper bag has
>> had this experience repeatedly. We're just socially trained not to say
>> so.
>
> What, that the person being paid to teach you something knows less about
> it than you already do?
Yes, it's not that uncommon. In my case, it was an assembly language
class I took in college - it started from how to use MASM, but I'd
already used TASM quite extensively - but the course was a required
course in my degree program.
I've also run into that in a number of technical courses I've taken over
the years - I took a course on Advanced NDS Troubleshooting from Novell
years ago, but I'd already co-written a book on the topic (in fact, we
gave a couple copies away in class). I learned a few things, but mostly
they were things not in the course. The instructor was good, but a few
years ago I was teaching a similar class, and the instructor from that
first class was a student of mine - and he learned some things he didn't
know.
Jim
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 19/08/2011 04:41 PM, Darren New wrote:
> On 8/19/2011 8:16, Invisible wrote:
>> OK. So exchange to exchange links and stuff?
>
> That, carrying text messages sometimes, control backplane, DOCSIS, DSL,
> etc etc etc.
> I.e., ATM is used over fiber (usually in turn over SONET) wherever in
> *your* house you are using ethernet.
OK. Is that for legacy reasons, or because ATM is actually good at
something?
> Honestly, IP is a pretty sucky and limited technology, except for its
> flexibility.
Pffaaahahaha!
"Yeah, IP really sucks, except for being really flexible." Yes, because
flexibility is a really sucky thing to have.
> It's both inefficient in transmission and extremely
> difficult to manage well.
In what way?
> You couldn't possibly use it internal to the
> phone company for routing or addressing. (For example, one area code
> (aka "city code") in the USA supports more phone numbers than all of
> IPv4.)
Um, excuse me?
The entire population of Kansas is only 2 million people. The IP address
space is 4 *thousand* million unique addresses. So unless each person
has a thousand telephone numbers, you don't have a problem.
> But it's everywhere, for the same reason that C is everywhere:
> It's so limited you can layer it on top of pretty much any underlying
> transport.
I still don't see the problem. Then again, IP is the only thing I've
seen that can handle more than 100 nodes at once...
> For example, one of my colleagues was making fun of ISO's CMIP for being
> connection-oriented, because having trouble getting a connection is one
> of the most common reasons you'd use SNMP. I said "they just dedicate a
> physical connection to it. The smallest bundle going into any switch has
> 900 physical pairs, and usually closer to hundreds of thousands." At
> this point, the student was enlightened.
I'm not though.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 8/19/2011 8:41, Darren New wrote:
> (For example, one area code (aka "city code") in
> the USA supports more phone numbers than all of IPv4.)
Actually, I did that math wrong. Nevermind. :-) But certainly just USA
dialing supports more numbers than IPv4, let alone the six orders of
magnitude added by international dialing.
--
Darren New, San Diego CA, USA (PST)
How come I never get only one kudo?
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Mike the Elder <nomail@nomail> wrote:
> Invisible <voi### [at] dev null> wrote:
> > As part of the drive to empty our house of useless crap, I was going
> > through some of my old college work last night. Ah, the memories.
> >
> > ...but it was somewhat baffling to walk into a classroom
> > and discover that I know more about the subject than the lecturer does.
> Oh c'mon now! Anyone who can think his way out of a wet paper bag has had this
> experience repeatedly. We're just socially trained not to say so.
When I went to the university, I don't remember any obviously incompetent
professors. Some teaching assistants were, but that's completely different
(because they were often just students like everybody else, usually just
a few years senior).
Most (if not all) of the professors related to computing science that
ever taught me were much more competent and knowledgeable about programming
than I am today. Perhaps the only field where there was slightly less
abundant expertise overall was computer graphics.
--
- Warp
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Am 19.08.2011 17:16, schrieb Invisible:
>>> How about ATM, is that still used?
>>
>> It's used quite a lot internally to the phone company. You're probably
>> using it right now.
>
> OK. So exchange to exchange links and stuff?
If you still have a proper "analog" or ISDN phone, chances are you
actually have voice-over-ATM except on the "damned last mile".
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 8/19/2011 8:49, Invisible wrote:
> OK. Is that for legacy reasons, or because ATM is actually good at something?
ATM is a lot less legacy than IP is. Yes, of course it's actually good at
something.
> "Yeah, IP really sucks, except for being really flexible." Yes, because
> flexibility is a really sucky thing to have.
I didn't say that. I said it sacrifices other things in preference to being
flexible. There's no resource allocation. There's no way to force a
particular route thru the network (well, there is, but nobody actually
implemented it in their switches), the addressing sucks for large networks,
the address space (in IPv4 at least) is exceedingly limited, remote
management of hardware is extremely limited, there's no access control,
admission control, or decent rate regulation other than actually dropping
packets, etc etc etc.
Heck, it doesn't even do roaming, which cell phones have been managing for
10 years.
>> It's both inefficient in transmission and extremely
>> difficult to manage well.
>
> In what way?
See above. Every packet has the full source and destination address, and
there's no information anywhere about the physical network.
> The entire population of Kansas is only 2 million people. The IP address
> space is 4 *thousand* million unique addresses. So unless each person has a
> thousand telephone numbers, you don't have a problem.
Yeah, I realized I mentally screwed that up, and corrected it in the next
message. :-)
And remember, tho, that IP needs an address for every interface, not for
every endpoint. So if I make a phone call from my phone to the switch to
your switch to your phone, that would take 4 IP addresses using IP.
>> But it's everywhere, for the same reason that C is everywhere:
>> It's so limited you can layer it on top of pretty much any underlying
>> transport.
>
> I still don't see the problem. Then again, IP is the only thing I've seen
> that can handle more than 100 nodes at once...
You... are unfamiliar with phone lines? A *small* phone switch handles a
half a million end users and hundreds of thousands of trunk lines.
>> For example, one of my colleagues was making fun of ISO's CMIP for being
>> connection-oriented, because having trouble getting a connection is one
>> of the most common reasons you'd use SNMP. I said "they just dedicate a
>> physical connection to it. The smallest bundle going into any switch has
>> 900 physical pairs, and usually closer to hundreds of thousands." At
>> this point, the student was enlightened.
>
> I'm not though.
Let's just say that managing and programming hardware is rather different
depending on whether you're dealing with a lossy packet-switched network or
a connection-oriented network to which you can dedicate actual physical
connections for programming and management. Mocking configuration of the
latter because it would work poorly over the former is missing the point.
--
Darren New, San Diego CA, USA (PST)
How come I never get only one kudo?
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 8/19/2011 5:00 AM, Invisible wrote:
> As part of the drive to empty our house of useless crap, I was going
> through some of my old college work last night. Ah, the memories.
>
> I still chuckle at my first few programming assignments. We were
> learning to use Borland Turbo Pascal 5.5 for MS-DOS. The guy teaching us
> only found out two weeks earlier that we was taking the class, so he had
> two weeks to learn Pascal out of a book. Frankly, they should probably
> have just given us that book! (Also, his name was Frank.) He wasn't
> /bad/ at teaching, but it was somewhat baffling to walk into a classroom
> and discover that I know more about the subject than the lecturer does.
>
> The comments on my first assignment indicated that it works well, "and
> you've even added a few extra procedures you weren't asked for" (in
> other words, I factored the problem more thoroughly), "but comments are
> rather sparse". Considering that the entire source code print out was
> literally 3 pages long, there's not a hell of a lot to comment on. No
> non-obvious design decisions or tricky invariants to document. If you
> understand Pascal, the code is pretty much self-explanatory. It's a
> first-year college assignment FFS!
>
> My second assignment is even more amusing. The actual phrase the
> lecturer used was "...the program works, but is a little overly complex
> for mere mortals like me to understand." Oh, I'm sorry, I thought you
> were supposed to be the frigging *expert* that we've all paid good money
> to be taught by! :-P
>
> In fairness, as well as writing the code for the actual assignment, I
> did also write an entire library module that's triple the size of the
> main program, and which allows me to print nicely formatted output. (I
> forget the exact details now. I think it was just number alignment so
> all the decimal places line up.) But I put it in a separate source file
> and made it really easy to read the main program without having any idea
> how the library actually works. And I put comments in the library
> explaining what each procedure does (not that the names didn't make it
> self-evident anyway).
>
> Then again, splitting a program into more than one module was beyond the
> scope of our course. (!) We were never taught the syntax for doing this.
> (It's not like C where you just write more files. In Pascal the main
> program source file has a different structure to library modules. You
> have to declare the public interface, for one thing...)
>
> This experience of knowing what the lecturer is going to teach us before
> he even opens his mouth turned out to be a recurring theme of my path
> through college and university. At the time I just felt smug for being
> better at Pascal than Frank was. By the time I was in my 3rd year at
> university, I was beginning to feel frankly a little outraged that I was
> being charged vast sums of money (tens of thousands of pounds, more
> money than I will ever own) to listen to lecturers who can't speak
> English properly and/or don't have a damned clue WTF they're talking about.
>
> (Not /all/ the lecturers were this bad, of course. But some of them
> were...)
>
> In one of Frank's other classes, we learned all about binary and
> floating point. The former was of course no longer news to me. Spend 10
> years poking bytes into the control registers of the 6581 (that's the
> MOS Technology Sound Interface Device [S.I.D.] to you) and you learn a
> thing or two about binary, computers, processors, addressing modes, and
> so on. Floating point was all new to me though.
>
> Then there were the lessons on logic gates. (You had to know what they
> are. You weren't required to know what to do with them or why they
> exist.) Again, old news to me, having already spent years playing with
> physical 7400 chips. Taking a harddrive apart was fun though. (And
> probably ****ing expensive, I should think. This is the era when "4 gig
> drives don't grow on trees".)
>
> And then there were the Quants lessons. ("Quantitative Methods") This,
> as best as I can tell from my lecture notes, was simply an orgy of
> mathematics. It's all in the bin now, but I skimmed through pages and
> pages of statistics, polynomials, linear algebra, fractal geometry, 3D
> graphics, Polish reversed lists, chaos theory, cryptography, sound
> synthesis, and God-only knows what else. I should note that only about
> half of this stuff is directly related to anything in the syllabus. The
> other half is just me doodling while bored in class. (Something that
> DJK, our lecturer, seemed to actively encourage.)
>
> I actually found the sheets of paper where I first performed the
> derivation of the binomial theorem from first principles. You cannot
> simply /tell/ me that (A + B)^2 = A^2 + 2AB + B^2. I have to know /why/
> this is true. And why is it that (A + B)^3 isn't A^3 + 3AB + B^3? There
> must be a pattern. And damnit, I'm going to find it.
>
> This apparently involved drawing a grid:
>
> +------+---+
> | | |
> | A^2 |AB | A
> | | |
> +------+---+
> | AB |B^2| B
> +------+---+
> A B
>
> I think you can see where this leads. Next I drew the same thing, but in
> 3 dimensions. That took me a bit longer. After that, I wanted 4
> dimensions, but was forced to abandon geometry and simply shift algebra
> by hand. The final expression may be small, but some of the intermediate
> terms are quite large, and it's easy to make mistakes as you repeatedly
> copy and manipulate the terms step by step.
>
> After laboriously tabulating the expansions up to (A + B)^9, it became
> quite obvious what the general pattern was. But what the hell are the
> coefficients? Where do they come from? It took at least another hour of
> shifting algebra around and scrutinising my work before I discovered
> that collecting like terms caused the coefficients to be computed in a
> way exactly matching the definition of Pascal's triangle.
>
> DKJ offhandedly told me that I had discovered "the binomial theorem".
> Consulting the library, I learned that this little puzzle had been
> solved over a century ago. AND FOR NEGATIVE EXPONENTS! >_<
>
> This again is a typical experience in mathematics. Any problem which you
> can imagine has either been solved several hundred years ago, or else is
> impossible to solve. There are no easy unsolved problems. I had the
> feeling of being in the centre of a field of ideas, looking at all the
> familiar, well-known stuff. All the new, unknown stuff would be at the
> far reaches of the field, involving problems so complicated I wouldn't
> even understand the language.
>
> The first time we were in the computer lab, DKJ got us to graph some
> trivial polynomials which supposedly represented various things. (E.g.,
> rather than give has a data set representing the company's monthly
> income, he would think up a cubic off the top of his head and get us to
> tabulate and graph that - an easy task for Excel.) I of course was
> bored, and so I ended up graphing my standard incantations. The harmonic
> expansion of various waveforms. The chaotic behaviour of the logistic
> and lambda maps. And so forth. As I recall, it caused quite a stir among
> the chavs I shared a classroom with. For five minutes.
>
> I recall on another day, we had one formula which yields the company's
> income for each month, and another that yields the expenses for each
> month. We were using this to understand the concepts of profit, loss,
> break-even, etc. This was a classroom exercise, so everybody sat
> laboriously tabulating these formulae by hand.
>
> Obviously, I immediately realised that I could directly tabulate the
> company's monthly profit simply by subtracting one formula from the
> other, simplifying the algebra, and then tabulating that. But then DKJ
> wanted us to compute the profit growth rate. I duly tabulated the first
> few months of profit and computed the difference between consecutive
> rows. But I couldn't help feeling that there ought to be a /pattern/ to
> the results.
>
> After about 15 minutes of experimentation, I managed to successfully fit
> a quadratic curve to my data. Literally, I had a formula that produced
> the exact same numbers as the curve I was laboriously tabulating. And
> it's the damnedest thing: the coefficients of this new formula seemed to
> be /related/ to the original formula. Well, it seemed obvious to me that
> such a relationship /should/ exist, but what exactly was its nature?
>
> While everybody else continued the tabulation of growth rate that I had
> long since finished by halving my workload, I picked formulae at random,
> tabulated their growth, and tried to fit curves to them. This is quite a
> lot of work, and I never did figure out exactly what the relationship
> was. At this point, DKJ came over and informed me that I had just
> invented differential calculus, and showed me the general formula for
> the derivative of any polynomial.
>
> I remember being quite suspicious of the perfect constants in the
> expression. "Is that really 3? Or is it 2.986 or something?" No, it's
> *exactly* 3. Needless to say, I went and found a book which explained
> all this in far more detail than the 5 minute conversation I had in
> class, and now I understand /why/ all of these beautiful patterns are so.
>
> While sorting through all this paperwork, there was one assignment I
> felt compelled to keep. The assignment, quite simply, was to write a
> program to "do graphics". Literally, any sort of program you write which
> produces pretty graphics is OK. While DKJ was explaining on the board in
> excruciating detail how to draw a simple rotating square, I was typing
> away at my computer, which I had already got drawing a rotating
> wireframe 3D cube.
>
> It was around this time I was playing with complex numbers. For years
> I'd been baffled by the descriptions telling me that the Mandelbrot
> formula is z := z^2 + c, but the formula is /also/ x := x^2 - y^2 + a, y
> := 2xy + b. Clearly z = x + yi and c = a + bi. But how do you get from
> one formula to the other? It made no sense, and nothing anywhere
> explained it.
>
> One fateful day, I tried applying the binomial theorem to (x + yi)^2 +
> (a + bi). The result is obviously x^2 - 2xyi + y^2i^2 + a + bi. If you
> replace i^2 with -1 (for that is its defined value), you get x^2 - 2xyi
> - y^2 + a + bi. And if you gather all the terms containing i in one
> group and all the others in another, you get x^2 - y^2 + a and 2xyi +
> bi. Divide the latter through i and its 2xy + b.
>
> Suddenly, it clicked. (No, not my spine!) I spent the rest of the day
> deriving complex arithmetic from first principles. Perhaps the single
> most significant moment was in class the next day. I wrote out the
> Taylor series for exp(yi). Replacing i^2 with -1, I discovered that all
> the terms now alternate between negative and positive. And between real
> and imaginary. And collecting all the reals and all the imaginaries, I
> was shocked to find myself looking at the Taylor series for the sine and
> cosine functions.
>
> At which point DKJ informed be that Euler figured that out almost 300
> years ago. Damnit! >_<
>
> Following our lecture on Polish reversed lists, I wrote a small Pascal
> interpreter. It takes a String containing a Polish reversed list, and
> executes it. You can only include purely real constants and the variable
> names "A", "B", "C", "D" and "Z". The values of these variables are
> passed as arguments to the interpreter function. The interpreter
> executes the expression, and returns the result. It even correctly
> handles complex exponents. (Although they would have to be variables.)
>
> Using this, I added to my graphics assignment a fairly large collection
> of fractal types. I don't think I ever got as far as implementing
> Dijkstra's shunting algorithm (to turn normal algebra into Polish
> reversed lists). But I implemented the usual Mandelbrot and Julia
> fractals, with multiple colouring options (escape time, Z-magnitude,
> epsilon cross, binary decomposition, etc.) And also several other
> fractal types; cubic Mandelbrot, lambda, logistic, lambda-exp and
> lambda-sin.
>
> I read in a book about Floyd-Steinberg error distribution dithering. Now
> remember, we're talking about the era where one of my assignments
> actually asked me about the differences between MGA, CGA and EGA. (For
> you youngsters: That's what we had *before* VGA.) We all did our
> graphics work in VGA mode. So, 16 hard-coded colours available. So I
> went ahead and wrote an FS dithering algorithm, and then adapted my
> Mandelbrot renderer to generate images in 24-bit colour and then dither
> them into 4-bit colour. The results at 640x480 were... well, grainy.
> (Plus I think I had a bug somewhere. The algorithm never worked
> /exactly/ right.) But it was still kinda neat.
>
> I actually /sold/ the code for the Mandelbrot fractal to Graham. Not for
> very much money. And, actually, I didn't give him any code. I just sat
> next to him and told him what steps had to happen, and he coded it. I
> can still remember the conversation. "Now run that loop for every
> pixel." "Wow, for EVERY PIXEL?" "Yep. Now you know why it's so slow!"
> (Mine of course did fancy tracing operations to speed it up...)
>
> My rotating cube went on to acquire hidden line removal. *ahem* OK,
> back-face cull. Which took some considerable research and discussions
> with DKJ to get right. Finally I discovered that it wasn't working
> because it /actually matters/ what order you list the coordinates in.
> O_O Once I fixed that, it worked much better. I then went on to add
> surface illumination calculations, using a simple point source and Phong
> lighting. (Each surface is one flat colour.) With only 4 shades of grey
> to play with, it didn't look so hot. But it was quite neat animated.
>
> I vaguely recall that I did implement something with /real/ hidden line
> removal, but I don't know if it made it into my assignment. I'll have to
> read the sources.
>
> Alongside all this, I also had the usual epicycloids, moiré patterns,
> animated spirals and so forth. Needless to say, I got a Distinction for
> that. (The highest mark possible.)
>
> It still makes me chuckle that I enrolled for a computing diploma and I
> spent two terms learning how double-entry accounting works. I've got
> Sage printouts and everything. (That's Sage for MS-DOS, mind you.) I
> still remember the login password. It was "letmein".
>
> Then there's heaps of stuff about the relative merits of Ethernet verses
> Token Ring verses something else. As far as I can tell, that's a format
> war that has long since been won my Ethernet. Does *anybody* still use
> token ring? How about ATM, is that still used?
>
> (Come to think of it, *all* of the networking stuff at college was done
> by Novel Netware. Now there's a name I haven't heard in a long time...)
>
> There was one assignment called "computers in society". I didn't
> actually read the assignment, but the lecturer's comments were amusing.
> "A wonderful, almost poetic report. I would be delighted to receive
> writing of this calibre in my professional life." He then goes on to
> offhandedly mention that I didn't actually cover all of the required
> aspects. And yet, I got a Distinction? LOL!
>
> I briefly flicked through the report I wrote. Obviously produced with MS
> Word 6. One sentence has been highlighted and the guy wrote next to it
> "beautiful!" The sentence reads:
>
> "The computer is to information as the power loom is to fabric."
>
> Aside from that, the report isn't well written at all. The tone is very,
> very informal. Like, if you imagine being given a topic, and just
> monologuing about it to your friend off the top of your head,
> videotaping that, and then rearranging the sentences into a more
> coherent order with a word processor... that's what I wrote.
> Distinction. Heh, well I guess it *is* only college...
>
> Also: If you think my spelling is bad *now*, you have literally no idea
> how abysmal it used to be! (E.g., I can spell "abysmal" now. :-P ) And
> that was when I was a teenager, obviously.
>
> Some of the lecturer's comments weren't so friendly. (Actually, some of
> them weren't legible at all. That has to be some kind of fail, right
> there!) Deanna wrote something about "Task A shows technical brilliance,
> however task B is still not acceptable, even on this second attempt, and
> even though I told you which research sources to use. This just isn't
> good enough Andrew. You simply must improve in this area."
>
> Oh? Oh really? You think so? Do ya? Yeah? Well let's see how you like my
> SHREDDER!!! Muhuhuhuh!!! Take THAT, Selby! Yeah, you like that?! Not so
> smug *now*, are we? Now that your acidic little smartypants voice has
> been minced into a thousand tiny pieces. EAT METAL!!! >:-]
>
> Ahhh. To quote H. Granger, "that felt good".
>
> In summary, all the assignments to do with programming computers or
> solving equations gave me exemplary marks. Everything else brought me
> dismal failure. A pattern that was to be repeated at university, come to
> think of it. Well I guess that's tomorrow's tidying task.
>
> I'm particularly proud of the grade I got for my second programming
> module at uni. I got a D for that. (On an A - F scale.)
>
> You see, due to the faculty secretly moving the notice board and not
> bothering to tell me about it, I missed all of my exams that term. Every
> single one of them. And that meant I failed all my modules and had to
> retake them.
>
> Well, all except one. You see, for my programming module, my coursework
> grades were *so* damned awesome that I actually PASSED THE MODULE
> OUTRIGHT WITHOUT EVEN TAKING THE EXAM. And not only did I pass, I got a
> D. Not an F. Not an E. But a D. Without even sitting the exam. I'm *that
> good*, bitch! ;-)
>
> And then there was that database class. The one where Ian says "There
> are various levels of normalisation. I mean, you've got 2NF, 3NF, 4NF
> and even higher ones. But generally, you only really need to worry about
> Boyce-Codd normal form, which says, ANDREW..."
>
> I stand up from my seat in the front row and enunciate "...every
> determinate must be a candidate key..."
>
> "...thank you Andrew. Now as you can see[...]"
>
> That was a feel-good moment. When even the lecturers know you're a
> damned walking encyclopaedia. ;-)
>
> ...and now I'm feeling all nostalgic about the long-lost days when I
> could just sit in a corner reading about Gaussian elimination or
> something while the lecturer blathers on about the role of middle
> management or whatever. I could do crazy math stuff, and people would be
> *impressed* and stuff. My college notes are literally a fermenting sea
> of equations. Serious work mixed up with doodles and advanced math. I
> have nobody to impress anymore. :'{
>
> (Although... I wonder how much of the praise I received was actually
> justified. Especially at college, when I was in a class full of chavs
> who went out and got drunk *every day*. They'd be hung over for the
> morning classes, and mildly drunk for the afternoon ones. Is it any
> wonder the lecturers though I was brilliant?)
>
>
>
> Go on, admit it. You thought this was going to be about SRAM vs DRAM,
> didn't you? :-P
>
You do realize that about half the people here, including me, read this
and thought, "Man I really hate this guy for being able to do that
shit!", right? lol No wonder I can't even figure out some "basic" stuff
I need for some 3D math. The most I ever derived was some non-standard
way of multiplying two, two digit, numbers, so it wasn't necessary to do
all the complicatedly silly stuff the teacher insisted we screw with. :p
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 19/08/2011 05:03 PM, Warp wrote:
> When I went to the university, I don't remember any obviously incompetent
> professors. Some teaching assistants were, but that's completely different
> (because they were often just students like everybody else, usually just
> a few years senior).
>
> Most (if not all) of the professors related to computing science that
> ever taught me were much more competent and knowledgeable about programming
> than I am today. Perhaps the only field where there was slightly less
> abundant expertise overall was computer graphics.
Apparently I went to a bad university.
Ironically, our Computer Graphics lecturer actually *was* an expert. I'm
not sure getting a lecture hall full of people to do matrix
multiplication on paper is especially productive, but the guy definitely
knew his stuff.
I can still remember everybody laughing when he said that our assignment
was to write a program to draw a straight line. But *you* try doing that
with only integer arithmetic. It's surprisingly nontrivial.
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> OK. Is that for legacy reasons, or because ATM is actually good at
>> something?
>
> ATM is a lot less legacy than IP is. Yes, of course it's actually good
> at something.
Well, you know, RS232 is a pretty sucky design. But it's still here.
That *isn't* because it's good at anything. It's because it's widely
implemented, i.e. legacy.
>> "Yeah, IP really sucks, except for being really flexible." Yes, because
>> flexibility is a really sucky thing to have.
>
> I didn't say that. I said it sacrifices other things in preference to
> being flexible. There's no resource allocation. There's no way to force
> a particular route thru the network (well, there is, but nobody actually
> implemented it in their switches), the addressing sucks for large
> networks, the address space (in IPv4 at least) is exceedingly limited,
> remote management of hardware is extremely limited, there's no access
> control, admission control, or decent rate regulation other than
> actually dropping packets, etc etc etc.
Most of this sounds like "IP is sucky for managing network hardware".
Well, no, that's not what IP is for. It's deliberately hardware-neutral.
The idea is that you have some infrastructure for controlling your
hardware, and then run IP on the top. IP is for moving data from A to B.
If you asked me what was "sucky" about IP, the one I'd probably pick is
that the entire design philosophy fundamentally assumes that everybody
will follow the rules. That means it's trivially easy to read arbitrary
traffic, and to screw up the network. For example, the way I heard it,
nobody implements source routing because it makes it far too easy to
impersonate other people, or do DDoS attacks, or whatever.
> Heck, it doesn't even do roaming, which cell phones have been managing
> for 10 years.
Cell phones do that by being controlled by a single central authority.
> See above. Every packet has the full source and destination address, and
> there's no information anywhere about the physical network.
Ooo, 64 bits, bit deal.
It sounds like you're basically complaining that IP isn't
connection-oriented. You know, if what you're trying to do isn't
connection-oriented, that's an advantage, right?
> And remember, tho, that IP needs an address for every interface, not for
> every endpoint.
Well, that's true though, and a bit of a pitty. Still, maybe in 20
years' time, IPv6 will actually catch on...
>> I still don't see the problem. Then again, IP is the only thing I've seen
>> that can handle more than 100 nodes at once...
>
> You... are unfamiliar with phone lines? A *small* phone switch handles a
> half a million end users and hundreds of thousands of trunk lines.
I'm unfamiliar with the data protocols that enable this to be possible.
(I was under the impression that everybody runs their voice data over IP
now anyway, so they only need to maintain one big IP network for their
voice services *and* their broadband offerings...)
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Orchid XP v8 <voi### [at] dev null> wrote:
> I can still remember everybody laughing when he said that our assignment
> was to write a program to draw a straight line. But *you* try doing that
> with only integer arithmetic. It's surprisingly nontrivial.
Drawing a line with integer arithmetic is quite easy. Drawing it
accurately is slightly more involved. Drawing it *fast* is non-trivial.
And that's assuming the line has a width of 1 pixel and the drawing is
done without antialiasing.
--
- Warp
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Am 20.08.2011 11:34, schrieb Orchid XP v8:
> I can still remember everybody laughing when he said that our assignment
> was to write a program to draw a straight line. But *you* try doing that
> with only integer arithmetic. It's surprisingly nontrivial.
... but can be accomplished by surprisingly elegant and (comparatively)
fast code in Assembler. (What surprised me even more was to see how a
similarly elegant and efficient algorithm could draw a circle. No
trigonometrics, not even a radix, just plain Assembler commands you'd
find on a Z80 processor.)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 20/08/2011 11:19 AM, Warp wrote:
> Orchid XP v8<voi### [at] dev null> wrote:
>> I can still remember everybody laughing when he said that our assignment
>> was to write a program to draw a straight line. But *you* try doing that
>> with only integer arithmetic. It's surprisingly nontrivial.
>
> Drawing a line with integer arithmetic is quite easy. Drawing it
> accurately is slightly more involved. Drawing it *fast* is non-trivial.
>
> And that's assuming the line has a width of 1 pixel and the drawing is
> done without antialiasing.
The assignment was basically to implement Bresenham's Algorithm,
optionally *with* antialiasing for extra marks.
I'm sure Wikipedia can probably provide the details, but essentially the
derivation is this:
1. Start with the equation of a line: P(t) = Vt + U
2. By computing each successive point from the previous one, we can
avoid the expensive multiplication step: P[0] = U, P[n+1] = P[n] + V.
3. We want to ensure that no pixels are missed, and yet no pixel is hit
more than once. Determine whether the line is longer along the X or Y
axies, and then iterate over that axis in 1-pixel incriments.
(This step radically increases the difficulty of implementing your code
correctly "in all eight octants". It's trivial in theory, and damned
fiddly in practise.)
4. If you incriment in one-pixel steps on one axis, the other axis
incriments in steps of dx/dy or dy/dx, which is the ratio of two
integers. If you multiply /the entire algorithm/ through the appropriate
integer variable, all the arithmetic comes into the integral domain.
Welcome to Bresenham's algorithm. Yes, I still remember this 10 years later.
The irony is that the lecture notes explain how to use C++ and OpenGL to
generate the graphical display of your giant "pixels"...
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 20/08/2011 11:30 AM, clipka wrote:
> Am 20.08.2011 11:34, schrieb Orchid XP v8:
>
>> I can still remember everybody laughing when he said that our assignment
>> was to write a program to draw a straight line. But *you* try doing that
>> with only integer arithmetic. It's surprisingly nontrivial.
>
> ... but can be accomplished by surprisingly elegant and (comparatively)
> fast code in Assembler. (What surprised me even more was to see how a
> similarly elegant and efficient algorithm could draw a circle. No
> trigonometrics, not even a radix, just plain Assembler commands you'd
> find on a Z80 processor.)
The circle is the locus of all points equidistant from the centre. It's
not especially hard to do that with simple integer arithmetic.
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 20/08/2011 11:45 AM, Orchid XP v8 wrote:
> The circle is the locus of all points equidistant from the centre. It's
> not especially hard to do that with simple integer arithmetic.
Come to think of it, you can probably do Bezier splines in integer
arithmetic without much difficulty too...
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 19/08/2011 11:23 PM, Patrick Elliott wrote:
> You do realize that about half the people here, including me, read this
> and thought, "Man I really hate this guy for being able to do that
> shit!", right? lol No wonder I can't even figure out some "basic" stuff
> I need for some 3D math. The most I ever derived was some non-standard
> way of multiplying two, two digit, numbers, so it wasn't necessary to do
> all the complicatedly silly stuff the teacher insisted we screw with. :p
Uh, *which* newsgroup am I in? :-?
Seriously though. I was awful at maths when I was at school. Then again,
when I was at school, "maths" consisted of doing endless arithmetic. In
class, you would have a textbook the size of a small hardback
dictionary. Most pages contained 40 questions. For example, you might
have a page containing 40 sums, another page containing 40
multiplications, another contained 40 long-divisions, and so on.
At the start of the book, you get to do really easy stuff like 3+7. They
would have several pages of adding, and then a few pages of subtracting,
then a few pages explaining how multiplication works, and then some
pages of multiplication, then how long multiplication works, and then
several pages of progressively harder long multiplication questions.
Then they might get you to do sums involving multiple numbers of
increasing size. Then they have a couple of pages explaining about
negative numbers, then you do progressively more complicated sums
involving multiple negative and positive quantities. Then they might
talk about long division, and get you to do a few hundred of those. And
then division and multiplication with negative quantities as well. Then
maybe they start talking about fractions...
Can you imagine anything more MIND-NUMBINGLY BORING than staring at a
sheet of 40 long division problems? YES, I GET IT! I KNOW HOW LONG
DIVISION WORKS! STOP BUGGING ME ALREADY! >_<
Seriously. If you know how it works, do you really need to do it 200
times over just to *prove* that you know how it works? It's not even
like it's particularly important to be able to *do* long division; it
isn't something you're going to need to do every day of your adult life.
You just need to have a firm grasp of /how/ it works and /why/ it works.
Once you've got that, practising it on endless question sheets is just
an utter waste of time.
I was always quite bad at arithmetic. I still am. The difference is that
today, I use a frigging *computer* to do the work for me. :-P My job is
to figure out what the actual calculation is; the computer does the
mundane work of actually *running* it.
It wasn't until I got to college that I discovered, mainly due to DKJ,
that "mathematics" consists of something other than just doing hundreds
of identical long division calculations over and over again. Mathematics
provides a systematic way of solving puzzles and problems. It lets you
manipulate and analyse hypothetical entities who's identity (or, indeed,
existence) is as-yet unknown. Through tools like FractInt, I discovered
that mathematics can be beautiful. I spent almost all of my time at
college sat in the library, absorbing everything I could lay my hands on.
At school, fractions were about the most sophisticated topic we came
into contact with. Oh, and drawing graphs on graph paper. We a little
bit of that too. But at college, I learned how to do algebra. I learned
about complex numbers, vectors and matricies, polynomials, solving
equations, differential and integral calculus, cryptography, and so on.
By the way, it's not always easy to learn this kind of stuff from books.
You may not realise, but mathematics is a *very* old subject. It abounds
with strange vocabulary and archaic turns of phrase. For example,
instead of a third-order polymonial, a book might talk about a
polynomial "of order three". On top of that, the books frequently assume
prior knowledge that I don't have. If you're smart you can sometimes
figure out the missing pieces for yourself. But sometimes it's really
hard to follow what's happening. To this day, I /still/ can't figure out
most logic textbooks. And I guess that's simply because I have nobody to
ask.
There's some really interesting stuff out there. Like, group theory,
where you *make up* new kinds of entities which you can "add" and
"subtract" in a mannar similar to ordinary numbers. How neat is that? Or
matrix algebra, where you gain the tools necessary for doing crazy 3D
work. Complex numbers, like normal numbers but with added superpowers.
Cryptology, a battle of whits between code-maker and code-breaker. I
could go on and on.
Most people I know seem to be "afraid" of mathematics. Like "oh man,
there's no way I could ever understand that stuff". Without even
actually trying. I'm stupid, and I managed it, so how hard can it
possibly be?
I suspect it's some combination of math being taught badly, a cultural
expectation that math is impossible to understand, and a society where
stupidity is seen as desirable.
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 19/08/2011 11:23 PM, Patrick Elliott wrote:
> No wonder I can't even figure out some "basic" stuff
> I need for some 3D math.
What part of
| U x V | = |U| * |V| * cos a
do you *not* understand? :-P
Only teasing. ;-)
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 20/08/2011 11:49 AM, Orchid XP v8 wrote:
>
> Can you imagine anything more MIND-NUMBINGLY BORING than staring at a
> sheet of 40 long division problems? YES, I GET IT! I KNOW HOW LONG
> DIVISION WORKS! STOP BUGGING ME ALREADY! >_<
>
> Seriously. If you know how it works, do you really need to do it 200
> times over just to *prove* that you know how it works?
Wrong, it's not to prove that it works. It is to drum into your "thick
little head" how to do it with out thinking. Compare it to repeating a
dance step until your body does not think of the individual moves. Then
you can build on it.
> It's not even
> like it's particularly important to be able to *do* long division; it
> isn't something you're going to need to do every day of your adult life.
You don't know how to do mental arithmetic, then?
> You just need to have a firm grasp of /how/ it works and /why/ it works.
> Once you've got that, practising it on endless question sheets is just
> an utter waste of time.
It is if you don't want to be numerate. And BTW adding, subtracting,
dividing and multiplying is arithmetic not maths.
--
Regards
Stephen
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Orchid XP v8 <voi### [at] dev null> wrote:
> The assignment was basically to implement Bresenham's Algorithm,
> optionally *with* antialiasing for extra marks.
IIRC the algorithm in question can be used to roughly *approximate*
antialiasing of the line, but it's not mathematically accurate.
Drawing an accurate antialiased line (of certain width) is not a trivial
problem. Basically for each pixel you need to calculate how much of it is
covered by the line. Doing this accurately with integer math only can be
complicated.
--
- Warp
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Orchid XP v8 <voi### [at] dev null> wrote:
> On 20/08/2011 11:30 AM, clipka wrote:
> > Am 20.08.2011 11:34, schrieb Orchid XP v8:
> >
> >> I can still remember everybody laughing when he said that our assignment
> >> was to write a program to draw a straight line. But *you* try doing that
> >> with only integer arithmetic. It's surprisingly nontrivial.
> >
> > ... but can be accomplished by surprisingly elegant and (comparatively)
> > fast code in Assembler. (What surprised me even more was to see how a
> > similarly elegant and efficient algorithm could draw a circle. No
> > trigonometrics, not even a radix, just plain Assembler commands you'd
> > find on a Z80 processor.)
> The circle is the locus of all points equidistant from the centre. It's
> not especially hard to do that with simple integer arithmetic.
Doing it *fast* is not all that trivial.
Also, don't confuse the length of the implementation with its complexity.
A fast circle drawing algorithm using integer math only (and only additions
and subtractions at that, no multiplications or divisions) is a relatively
short algorithm in terms of lines of code, but *understanding* it is a bit
more difficult. (Coming up with it on your own is even more difficult, but
not impossible, if you think about it long enough.)
--
- Warp
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 20/08/2011 12:11 PM, Warp wrote:
> Orchid XP v8<voi### [at] dev null> wrote:
>> The assignment was basically to implement Bresenham's Algorithm,
>> optionally *with* antialiasing for extra marks.
>
> IIRC the algorithm in question can be used to roughly *approximate*
> antialiasing of the line, but it's not mathematically accurate.
>
> Drawing an accurate antialiased line (of certain width) is not a trivial
> problem. Basically for each pixel you need to calculate how much of it is
> covered by the line. Doing this accurately with integer math only can be
> complicated.
In the simple case of lines beginning and ending on pixel boundaries,
it's pretty easy. I'm not aware of any way in which Bresenham's
algorithm deviates from a perfect solution.
On the other hand, if you want lines that begin and end at fractional
coordinates, or have rounded ends or whatever, the problem becames far
more complicated.
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> The circle is the locus of all points equidistant from the centre. It's
>> not especially hard to do that with simple integer arithmetic.
>
> Doing it *fast* is not all that trivial.
>
> Also, don't confuse the length of the implementation with its complexity.
> A fast circle drawing algorithm using integer math only (and only additions
> and subtractions at that, no multiplications or divisions) is a relatively
> short algorithm in terms of lines of code, but *understanding* it is a bit
> more difficult. (Coming up with it on your own is even more difficult, but
> not impossible, if you think about it long enough.)
Our graphics lecturer asserted that it's a minor modification of
Bresenham's algorithm, and Wikipedia concurs. It would take a while with
pencil and paper to figure out the math, and there's probably a few
tricky special cases, but it doesn't look intractible.
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> Seriously. If you know how it works, do you really need to do it 200
>> times over just to *prove* that you know how it works?
>
> Wrong, it's not to prove that it works. It is to drum into your "thick
> little head" how to do it with out thinking. Compare it to repeating a
> dance step until your body does not think of the individual moves. Then
> you can build on it.
Doing arithmetic "without thinking" is how we ended up with Verizon Math
Fail.
>> It's not even
>> like it's particularly important to be able to *do* long division; it
>> isn't something you're going to need to do every day of your adult life.
>
> You don't know how to do mental arithmetic, then?
Nobody ever needs to compute the exact quotient of two 4-figure numbers
mentally. It's not necessary. You just need to be able to estimate the
answer with sufficient accuracy. (Something which apparently a great
many people can't do for some reason...)
>> Once you've got that, practising it on endless question sheets is just
>> an utter waste of time.
>
> It is if you don't want to be numerate.
Practising something you're going to need to do every single day of your
life is worth while. Practising something which you will never, ever
need to actually do is pointless.
Nobody computes 6-figure quotients mentally. Nobody needs to.
> And BTW adding, subtracting, dividing and multiplying is arithmetic not maths.
...which was the entire point of my rant, yes. Our "maths" class covered
*only* arithmetic, and nothing else.
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Orchid XP v8 <voi### [at] dev null> wrote:
> In the simple case of lines beginning and ending on pixel boundaries,
> it's pretty easy.
How so?
Ok, maybe if you assume each pixel to be a circle (instead of a square)
it would become simply calculating the distance between the (edge of the)
line and the center of the pixel. That might work as a quite accurate
approximation.
However, since pixels are squares, not circles, and if you want a very
accurate antialiasing, you would have to calculate how much of the square
is covered by the line. I'm not aware of a very trivial way of doing that.
(I'm not saying it's *complicated*. I'm saying it's *not trivial*, like
eg. a simple one-liner.)
> On the other hand, if you want lines that begin and end at fractional
> coordinates, or have rounded ends or whatever, the problem becames far
> more complicated.
The ends of the line, especially if the line is wider than one pixel
(and especially if you use antialiasing) become a quite ambiguous problem.
Should the line be essentially a rectangle? Or two circles joined by a
rectangle? What if you draw two consecutive lines, what should the joint
point look like?
--
- Warp
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 20/08/2011 01:40 PM, Warp wrote:
> However, since pixels are squares, not circles, and if you want a very
> accurate antialiasing, you would have to calculate how much of the square
> is covered by the line. I'm not aware of a very trivial way of doing that.
> (I'm not saying it's *complicated*. I'm saying it's *not trivial*, like
> eg. a simple one-liner.)
Suppose, for argument's sake, that your line is nearly horizontal.
Assume also that pixels are square, and the line is exactly 1 pixel thick.
Now for every pixel that the line intersects, the edge of the line cuts
the pixel into two regions: an "inside" and an "outside" region. In the
simplest case, we want the darkness of the pixel to be proportional to
the area that is "inside".
(In more advanced applications, people sometimes use more complicated
methods that take into account the actual real-world fuzziness of the
pixels and so forth. That obviously complicates things drastically.)
Bresenham's algorithm would draw a horizontal line by iterating over all
the X-coordinates and tracking, for each one, the fractional Y
coordinate of the center of the line. (But represented in integral
form.) In the standard Bresenham's algorithm, this fractional-Y is
simply rounded to the nearest integral-Y, and that is what is plotted.
Let us assume that integral coordinates correspond to the centers of
pixels (rather than one of their corners or something). In that case,
the fractional-Y is the Y value of the line at the center of a column of
pixels.
The slanted area cut by the line actually has the same area as a
rectangle with the same center hieght. (This is why the trapezoidal rule
for numerical integration works.)
Hence, for every X-value, we colour floor(Y) according to floor(Y) - Y,
and ceiling(Y) according to ceiling(Y) - Y (which, you'll notice, is
equal to 1 - floor(Y) - Y). This trivial piece of math gives us
antialisaing almost "for free".
>> On the other hand, if you want lines that begin and end at fractional
>> coordinates, or have rounded ends or whatever, the problem becames far
>> more complicated.
>
> The ends of the line, especially if the line is wider than one pixel
> (and especially if you use antialiasing) become a quite ambiguous problem.
> Should the line be essentially a rectangle? Or two circles joined by a
> rectangle? What if you draw two consecutive lines, what should the joint
> point look like?
Most real drawing systems let you select the kind of end-caps and join
styles you want, and so forth. Implementing this properly is highly
non-trivial, I would expect.
A more "interesting" problem is what happens when multiple
different-coloured lines overlap...
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 20/08/2011 1:30 PM, Orchid XP v8 wrote:
> Doing arithmetic "without thinking" is how we ended up with Verizon Math
> Fail.
>
Straw man, straw man.
>>
>> You don't know how to do mental arithmetic, then?
>
> Nobody ever needs to compute the exact quotient of two 4-figure numbers
> mentally. It's not necessary. You just need to be able to estimate the
> answer with sufficient accuracy.
True.
> (Something which apparently a great
> many people can't do for some reason...)
>
Again true.
>
> Practising something you're going to need to do every single day of your
> life is worth while. Practising something which you will never, ever
> need to actually do is pointless.
>
Well it surprises me that you never need to calculate something when you
are away from some form of calculator.
> Nobody computes 6-figure quotients mentally. Nobody needs to.
>
True.
>> And BTW adding, subtracting, dividing and multiplying is arithmetic
>> not maths.
>
> ....which was the entire point of my rant, yes. Our "maths" class
> covered *only* arithmetic, and nothing else.
>
You have said before that your school was not a particularly good one.
But then I was taught arithmetic in primary school and we did not
progress to mathematics until secondary school.
--
Regards
Stephen
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 8/20/2011 4:11, Warp wrote:
> Drawing an accurate antialiased line (of certain width) is not a trivial
> problem. Basically for each pixel you need to calculate how much of it is
> covered by the line. Doing this accurately with integer math only can be
> complicated.
I am not sure you can do it accurately with integer math at all, given that
there's a "portion of a pixel" involved in there somewhere. At best you'd be
working in scaled fixed-point.
That said, the AA equivalent of bressenham is Wu:
https://secure.wikimedia.org/wikipedia/en/wiki/Xiaolin_Wu%27s_line_algorithm
--
Darren New, San Diego CA, USA (PST)
How come I never get only one kudo?
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 8/20/2011 2:45, Orchid XP v8 wrote:
>>> OK. Is that for legacy reasons, or because ATM is actually good at
>>> something?
>>
>> ATM is a lot less legacy than IP is. Yes, of course it's actually good
>> at something.
>
> Well, you know, RS232 is a pretty sucky design. But it's still here. That
> *isn't* because it's good at anything. It's because it's widely implemented,
> i.e. legacy.
>
>>> "Yeah, IP really sucks, except for being really flexible." Yes, because
>>> flexibility is a really sucky thing to have.
>>
>> I didn't say that. I said it sacrifices other things in preference to
>> being flexible. There's no resource allocation. There's no way to force
>> a particular route thru the network (well, there is, but nobody actually
>> implemented it in their switches), the addressing sucks for large
>> networks, the address space (in IPv4 at least) is exceedingly limited,
>> remote management of hardware is extremely limited, there's no access
>> control, admission control, or decent rate regulation other than
>> actually dropping packets, etc etc etc.
>
> Most of this sounds like "IP is sucky for managing network hardware". Well,
> no, that's not what IP is for. It's deliberately hardware-neutral.
Well, yes, that's what I said. IP really sucks, except for being
hardware-neutral. You didn't seem to understand what I was saying before I
gave the list of many things IP sucks at.
Oh, and it also sucks at things like bandwidth allocation, sophisticated
routing, and isochronous connections, so it's not just the management part
that sucks.
> The idea
> is that you have some infrastructure for controlling your hardware, and then
> run IP on the top. IP is for moving data from A to B.
IP is for moving data from one port on your network to the next port on your
network, as long as you don't care how long that takes or how quickly it
gets there.
There's no reservation, no connection control, no access control, and no
routing control. Even if the hardware fails, you have no way of determining
how to route around that failure efficiently and promptly.
> If you asked me what was "sucky" about IP, the one I'd probably pick is that
> the entire design philosophy fundamentally assumes that everybody will
> follow the rules.
That too. But tell me how you tell whether the reason you lost your
connection is whether the remote machine went down, or just some router in
the middle is rebooting? Tell me how to ask, in IP, whether there's enough
bandwidth to carry your 64Kbps conversation in each direction with a maximum
of 85ms delay in each direction. OK, I'm going to start displaying a digital
movie from the producer to a theater for the next two hours seven minutes:
How do I pick a route that guarantees me enough bandwidth that the audience
doesn't see stutters?
You're looking at the things IP does well, and saying "well, it's a bit
limited here and there." You're not even looking at the stuff that ATM or
SONET does that IP is never even asked to do.
>> Heck, it doesn't even do roaming, which cell phones have been managing
>> for 10 years.
>
> Cell phones do that by being controlled by a single central authority.
If they were controlled by a single central authority, you wouldn't need
roaming agreements, now would you?
>> See above. Every packet has the full source and destination address, and
>> there's no information anywhere about the physical network.
>
> Ooo, 64 bits, bit deal.
Well, yes, when you're transporting voice packets a couple dozen bytes long,
96+ bits of routing information is indeed a big deal.
> It sounds like you're basically complaining that IP isn't
> connection-oriented.
That's one of its failings, yes.
> You know, if what you're trying to do isn't
> connection-oriented, that's an advantage, right?
Yep. How much of your networking isn't connection oriented? Here's a hint:
all networking is connection oriented. IP layers non-connection-oriented
networking on top of that, and then layers TCP to turn it back into
connection-oriented, poorly. If IP wasn't connection oriented, you wouldn't
need routing tables on each machine.
> I'm unfamiliar with the data protocols that enable this to be possible. (I
> was under the impression that everybody runs their voice data over IP now
> anyway, so they only need to maintain one big IP network for their voice
> services *and* their broadband offerings...)
In the last mile, that might be true. I'm fairly sure it isn't IP that's
running on the undersea fibers or bouncing off satellites. Know how I know?
There aren't enough IP addresses.
--
Darren New, San Diego CA, USA (PST)
How come I never get only one kudo?
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 8/20/2011 3:49, Orchid XP v8 wrote:
> Seriously though. I was awful at maths when I was at school. Then again,
> when I was at school, "maths" consisted of doing endless arithmetic.
We did that in second grade. What "school" were you in when you were doing this?
> Can you imagine anything more MIND-NUMBINGLY BORING than staring at a sheet
> of 40 long division problems? YES, I GET IT! I KNOW HOW LONG DIVISION WORKS!
> STOP BUGGING ME ALREADY! >_<
You realize that most people aren't that smart, right? I always got crap in
school for only doing one homework problem of each type, and then I'd say
"No, I get it, OK." And everyone would make fun of me, and then I'd be the
only one to ace the test.
--
Darren New, San Diego CA, USA (PST)
How come I never get only one kudo?
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 20/08/2011 03:58 PM, Darren New wrote:
> On 8/20/2011 3:49, Orchid XP v8 wrote:
>> Seriously though. I was awful at maths when I was at school. Then again,
>> when I was at school, "maths" consisted of doing endless arithmetic.
>
> We did that in second grade. What "school" were you in when you were
> doing this?
Admittedly it was a school for mentally retarded people such as myself...
>> Can you imagine anything more MIND-NUMBINGLY BORING than staring at a
>> sheet
>> of 40 long division problems? YES, I GET IT! I KNOW HOW LONG DIVISION
>> WORKS!
>> STOP BUGGING ME ALREADY! >_<
>
> You realize that most people aren't that smart, right?
Pro tip: If I can answer 20 long-division questions correctly, I can
probably answer 2,000 long-division question correctly. It'll just take
me 100 times longer. :-P Thus, there's no real point to actually
*making* me answer 2,000 questions...
> I always got crap
> in school for only doing one homework problem of each type, and then I'd
> say "No, I get it, OK." And everyone would make fun of me, and then I'd
> be the only one to ace the test.
I was just having a chuckle about my science teacher whining about how I
"don't apply myself" in class. His final comment was "more effort
required". I notice he was the only teacher who forgot to actually fill
out the performance ratings in the school report. MORE EFFORT REQUIRED! :-P
This amuses me, of course, because I got a B grade for my science, a
grade which is apparently unprecedented in the history of the school.
Yeah, I really need to "apply myself" more. :-P Self-important idiot of
a teacher...
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Orchid XP v8 <voi### [at] dev null> wrote:
> The slanted area cut by the line actually has the same area as a
> rectangle with the same center hieght. (This is why the trapezoidal rule
> for numerical integration works.)
That takes care of the situation where the edge of the line crosses the
opposite sides of the pixel. However, you have to take into account
separately the cases where the edge crosses two adjacent sides of the pixel
(in which case the cross-section is a triangle rather than a trapezoid).
And of course the triangle can be either the inside or the outside of the
line, so that has to be taken into account.
Then there's the special case where *both* edges of the line cross the
*same* pixel. This can happen even if the line width is that of one pixel,
when the line crosses the pixel diagonally (but can also more obviously
happen when the width of the line is less than a pixel). In this case you
have to calculate the area covered by one edge, then the area *not* covered
by the other and subtract them.
So no, you don't get it "almost for free". Not if you want a high degree
of accuracy.
> A more "interesting" problem is what happens when multiple
> different-coloured lines overlap...
What's the problem in that? Just draw them one at a time (taking the
transparency of the antialiased pixels into account).
--
- Warp
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 8/20/2011 3:49 AM, Orchid XP v8 wrote:
> At the start of the book, you get to do really easy stuff like 3+7. They
> would have several pages of adding, and then a few pages of subtracting,
> then a few pages explaining how multiplication works, and then some
> pages of multiplication, then how long multiplication works, and then
> several pages of progressively harder long multiplication questions.
> Then they might get you to do sums involving multiple numbers of
> increasing size. Then they have a couple of pages explaining about
> negative numbers, then you do progressively more complicated sums
> involving multiple negative and positive quantities. Then they might
> talk about long division, and get you to do a few hundred of those. And
> then division and multiplication with negative quantities as well. Then
> maybe they start talking about fractions...
>
> Can you imagine anything more MIND-NUMBINGLY BORING than staring at a
> sheet of 40 long division problems? YES, I GET IT! I KNOW HOW LONG
> DIVISION WORKS! STOP BUGGING ME ALREADY! >_<
>
> Seriously. If you know how it works, do you really need to do it 200
> times over just to *prove* that you know how it works? It's not even
> like it's particularly important to be able to *do* long division; it
> isn't something you're going to need to do every day of your adult life.
> You just need to have a firm grasp of /how/ it works and /why/ it works.
> Once you've got that, practising it on endless question sheets is just
> an utter waste of time.
>
Uh, no. The reason you have to do sheet after sheet of utter bullshit
like that was because your school, like mine, catered to the one idiot
in the room that didn't grasp the idea after the first 3 times. I
refused to do any more of them, they sent me to a school psychologist,
where they then jumped to several screwed up conclusions, based on, of
all things, the fact that crayons got handed out alphabetically, so I
always ended up with the black one (they later adjusted this so people
got the chance to use other colors, but one wonders how many others
where misdiagnosed with some sort of disorder over that silly thing),
and my house **actually** had boxes around the trees and windows, so I
was "disturbed", because I, "drew boxes around things and used black to
do it". By the time the idiots figured out that the real problem was
that I was bored to death of the crap they kept handing me to do, they
had managed to put me a whole year behind in math. Luckily, I was like
6-7 years *ahead* in reading. lol
> I was always quite bad at arithmetic. I still am. The difference is that
> today, I use a frigging *computer* to do the work for me. :-P My job is
> to figure out what the actual calculation is; the computer does the
> mundane work of actually *running* it.
>
Yeah. Same here, more or less. I can't do math in my head worth shit,
and I hate doing it by hand on paper. Shortcuts would help, but you
don't get those in school. You are lucky if you a) stumble over one
yourself, or b) pass the class while still having difficulty
remembering, by rote, certain parts of the times tables. The ones that
"are" good at math, tend to be the ones that do (a), or just have
stupidly good memories.
> It wasn't until I got to college that I discovered, mainly due to DKJ,
> that "mathematics" consists of something other than just doing hundreds
> of identical long division calculations over and over again. Mathematics
> provides a systematic way of solving puzzles and problems. It lets you
> manipulate and analyse hypothetical entities who's identity (or, indeed,
> existence) is as-yet unknown. Through tools like FractInt, I discovered
> that mathematics can be beautiful. I spent almost all of my time at
> college sat in the library, absorbing everything I could lay my hands on.
>
Should probably do that myself. The problem is figuring out where the
hell my gaps are to start with, then finding something that doesn't bore
the hell out of me reading it, like, I don't know, something directed at
"application" of the math, not just how the hell you write the
equations. I think this is a huge damn failing in "text books", and
classes in general. Its one thing to hand someone a formula, or even a
stupidly simply thing you want someone to do, like graphing a line, but
give no possible context for why the hell anyone would bother to do so,
save maybe some historical context. Its quite a bit different when you
"need" to know, for your own purposes, how thick a rope will get, wound
onto a spindle, and thus how big the spindle needs to be, versus just
having someone hand you a problem, and ask you to give them a result,
when your only thought is likely to be, "Why the hell do I need this?"
Mind, that was physics class, while the normal math classes don't even
give you problems that come even remotely close to that interesting. In
any case, I don't remember the equations. lol
> I suspect it's some combination of math being taught badly, a cultural
> expectation that math is impossible to understand, and a society where
> stupidity is seen as desirable.
>
Nah.. Stupidity desirable? How could that ever be the case. I mean, its
not like, at least in the US, there are politicians banking on it,
products sold based on playing fast and loose with as little information
as possible, or active attempts to undermine education. That is just
absurd! Or, in reality, as I put it a bit ago when talking about the US
version of libertarianism - "The concept is simple, lower taxes,
resulting in poorer schools, resulting in closed schools, and since its
everyone's 'right' to choose to be ignorant, the fact that 90% of the
population is stupid has nothing to do with the failure of the system,
its entirely the fault of people not moving to where the only two
schools still open are located." Dear old Madison would be having a
heart attack at this shit, if he hadn't had the sad misfortune of dying
in 1836.
I seems only fitting that by 2036 the US might be so fucking stupid that
they couldn't build a log cabin from his time, let alone work out why
living in one would be preferable to huddling under a tree, or wearing
animal skins in a cave... Or, so it sometimes seems the trajectory of
some of this stupid shit is headed.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 8/20/2011 3:55 AM, Orchid XP v8 wrote:
> On 19/08/2011 11:23 PM, Patrick Elliott wrote:
>
>> No wonder I can't even figure out some "basic" stuff
>> I need for some 3D math.
>
> What part of
>
> | U x V | = |U| * |V| * cos a
>
> do you *not* understand? :-P
>
>
>
> Only teasing. ;-)
>
Would be a lot simpler if the damn stuff you have to use it in
"understood" all that shit, natively. The problem I always run into is
that you can find a perfectly comprehensible form of something some
place, but it is only applicable is you a) do it by hand, or b) know how
to derive some completely bloody different set of equations, that the
damn computer will understand. Its like knowing, sort of, how to speak
some obscure Chinese dialect, but then finding out that you need to
*write* the information down in German, which for which the only work
you know is the one applying to yourself, Dummkopf.
Well, not exactly the same case, but if you don't have all the other
stuff in between the two concepts, understanding what the math is doing
in the "human" version won't get you any closer to understanding how the
hell the computer needs to deal with it.
The original post in this, describing deriving the two equations needed
for Mandelbrot, from the original non-computer usable one, is a perfect
example. My reaction is, "Show the math, step by step, because WTF?" lol
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 8/20/2011 11:55, Warp wrote:
> So no, you don't get it "almost for free". Not if you want a high degree
> of accuracy.
Actually, I think you do, if you keep the slope of the line positive and
below 45-degrees. Then you use basic rotations of the algorithm to handle
other cases. The trick is the line will never go through more than 2 pixels
in the same column, so whatever doesn't go into the first pixel does go into
the second picture.
--
Darren New, San Diego CA, USA (PST)
How come I never get only one kudo?
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Am 21.08.2011 00:26, schrieb Darren New:
> On 8/20/2011 11:55, Warp wrote:
>> So no, you don't get it "almost for free". Not if you want a high degree
>> of accuracy.
>
> Actually, I think you do, if you keep the slope of the line positive and
> below 45-degrees. Then you use basic rotations of the algorithm to
> handle other cases. The trick is the line will never go through more
> than 2 pixels in the same column, so whatever doesn't go into the first
> pixel does go into the second picture.
Not true - unless you accept diagonal lines to appear thinner than
horizontal or vertical ones; 45 degree lines of proper width can
(partially) cover up to 4 pixels per column.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Am 20.08.2011 16:56, schrieb Darren New:
> Yep. How much of your networking isn't connection oriented? Here's a
> hint: all networking is connection oriented. IP layers
> non-connection-oriented networking on top of that, and then layers TCP
> to turn it back into connection-oriented, poorly. If IP wasn't
> connection oriented, you wouldn't need routing tables on each machine.
Nonsense. There's no connection-oriented networking in the classic
Ethernet, for instance - and IP ran fine on it. It's only the newer
Ethernet incarnations that installed connection-oriented principles
below IP, due to operating on point-to-point connections on the physical
layer. (Which again shows that, as you already mentioned, having
connection-oriented principles rooted pretty deep in the network stack
seems to have /some/ benefits.)
You /might/ consider the current route through the internet a kind of
IP-layer connection, but given that it can change even from packet to
packet, and the packets can reach the receiver in arbitrary order, I'd
call that pretty far-fetched.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Am 20.08.2011 12:49, schrieb Orchid XP v8:
> Can you imagine anything more MIND-NUMBINGLY BORING than staring at a
> sheet of 40 long division problems? YES, I GET IT! I KNOW HOW LONG
> DIVISION WORKS! STOP BUGGING ME ALREADY! >_<
>
> Seriously. If you know how it works, do you really need to do it 200
> times over just to *prove* that you know how it works? It's not even
It's called "training", and is intended to (1) identify and iron out any
occasional glitches, and (2) empower you to do it without needing to
think about.
For *proving* that you know the procedure you have the so-called "tests".
> like it's particularly important to be able to *do* long division; it
> isn't something you're going to need to do every day of your adult life.
> You just need to have a firm grasp of /how/ it works and /why/ it works.
> Once you've got that, practising it on endless question sheets is just
> an utter waste of time.
Yes, but instead of a firm grasp of /how/ and /why/ it works, some
people (and I guess they're the majority) need training to get a firm
grasp of /how to/ actually do it - either because they never will get a
firm enough grasp of the /how/ and /why/, or because they just don't
give a shit.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Am 20.08.2011 14:30, schrieb Orchid XP v8:
>>> Seriously. If you know how it works, do you really need to do it 200
>>> times over just to *prove* that you know how it works?
>>
>> Wrong, it's not to prove that it works. It is to drum into your "thick
>> little head" how to do it with out thinking. Compare it to repeating a
>> dance step until your body does not think of the individual moves. Then
>> you can build on it.
>
> Doing arithmetic "without thinking" is how we ended up with Verizon Math
> Fail.
The trick is to do the thinking part on such smart questions as "is that
cents or dollars?", rather than on such boring arithmetical questions as
"how much is 1 divided by 100?".
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Am 20.08.2011 20:05, schrieb Orchid XP v8:
> Admittedly it was a school for mentally retarded people such as myself...
I don't know the background of that diagnosis, but - fun fact: A lot of
highly intelligent people are diagnosed as stupid and poor learners, for
no other reason than them getting bored by the stuff they try to teach
the normal people.
>>> Can you imagine anything more MIND-NUMBINGLY BORING than staring at a
>>> sheet
>>> of 40 long division problems? YES, I GET IT! I KNOW HOW LONG DIVISION
>>> WORKS!
>>> STOP BUGGING ME ALREADY! >_<
>>
>> You realize that most people aren't that smart, right?
>
> Pro tip: If I can answer 20 long-division questions correctly, I can
> probably answer 2,000 long-division question correctly. It'll just take
> me 100 times longer. :-P Thus, there's no real point to actually
> *making* me answer 2,000 questions...
Yes, but if you (ok, well, some other poor sod) can answer only 10 out
of 20 long-division questions correctly, then doing 2000 of them might
help to push that ratio to maybe 19 out of 20.
And because even maths teachers don't usually base their way of teaching
on stochastical methods, they'll just let every pupil do the 2000.
> I was just having a chuckle about my science teacher whining about how I
> "don't apply myself" in class. His final comment was "more effort
> required". I notice he was the only teacher who forgot to actually fill
> out the performance ratings in the school report. MORE EFFORT REQUIRED! :-P
>
> This amuses me, of course, because I got a B grade for my science, a
> grade which is apparently unprecedented in the history of the school.
> Yeah, I really need to "apply myself" more. :-P Self-important idiot of
> a teacher...
Heh, maybe he only tried to keep up the morale of the other pupils.
"Why do we have to do all the homework when Andrew doesn't?"
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 8/20/2011 17:38, clipka wrote:
> Nonsense. There's no connection-oriented networking in the classic Ethernet,
What machines does the broadcast address connect to? Guess what? That's what
they're connected to.
That's the sort of connection I'm talking about, which is important for
management and maintenance and routing. Indeed, the lack of management
features is exactly why people went to star topology ethernet, precisely
because ethernet, like IP, wasn't really connection oriented in that sense,
and when something broke (like beaconing or disconnecting), it was
impossible to isolate and diagnose.
Now, of course, IP treats each ethernet network as something separate from
the routers that link to other ethernet networks. IP isn't really needed if
you run over ethernet without routers.
I'll grant that IP also runs over non-CO networks like alohanet. Other than
that, there's a pretty clear idea of whether you're connected or not to
adjacent machines. IP also isn't needed if you run your network over alohanet.
> You /might/ consider the current route through the internet a kind of
> IP-layer connection,
I believe you misread me. I'm saying IP layers non-connection-oriented on
top of network connections. I don't need to explain how IP can be
interpreted as connection-oriented, because I'm saying IP makes
connection-oriented networks non-connection-oriented.
> but given that it can change even from packet to
> packet, and the packets can reach the receiver in arbitrary order, I'd call
> that pretty far-fetched.
But in practice, it generally doesn't. That's why things like path MTU work.
However, you're reading me in the wrong direction. IP takes something
connection-oriented (dial-up, star topology ethernet, etc) and turns it into
non-connection-oriented. And then layers on top of IP are almost invariably
used to turn it back into a connection-oriented conversation. The most
commonly used reason to not have something connection-oriented is that IP
drops packets and you can't reliably know it happened. I.e., the reason to
use UPD instead of TCP is often that the underlying IP has made the
connection unreliable (non-reservation, etc) compared to something that's
actually connection-oriented.
--
Darren New, San Diego CA, USA (PST)
How come I never get only one kudo?
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Le 21/08/2011 06:03, Darren New nous fit lire :
> I believe you misread me.
I believe you have an issue of vocabulary.
Below IP is not a network (in IT terminology), but links.
Links can be connection-oriented or connectionless.
They can be point to point (like current rj45/c8p8 cables) or they can
be broadcasting media (like 10base5 and other ethernet coaxial cable).
They can even be multipoint (like ISDN and X.25).
The fact that most transmission occurs using TCP should not hide that
there is some other transport protocols above IP which do have their own
interest.
TCP is reliable and ordered. So it is often used.
But there is application who do not care about reliability and order
(such as video distribution: better skip a frame than freezing. same
goes for VoIP: delivery in time is more important; Such application then
use RTP, a protocol above UDP/IP (or when possible, directly above ATM)).
TCP covers 95% of applications, but there is more than TCP under the sun.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|
 |