POV-Ray : Newsgroups : povray.off-topic : Memories Server Time
12 Oct 2026 15:08:55 EDT (-0400)
  Memories (Message 1 to 50 of 94)  
Goto Latest 50 Messages Next 44 Messages >>>
From: Invisible
Subject: Memories
Date: 19 Aug 2011 08:00:25
Message: <4e4e5059$1@news.povray.org>
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

From: Francois Labreque
Subject: Re: Memories
Date: 19 Aug 2011 09:14:40
Message: <4e4e61c0$1@news.povray.org>
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

From: Francois Labreque
Subject: Re: Memories
Date: 19 Aug 2011 09:17:40
Message: <4e4e6274$1@news.povray.org>
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

From: Invisible
Subject: Re: Memories
Date: 19 Aug 2011 09:25:25
Message: <4e4e6445@news.povray.org>
>> 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

From: Darren New
Subject: Re: Memories
Date: 19 Aug 2011 11:14:42
Message: <4e4e7de2$1@news.povray.org>
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

From: Mike the Elder
Subject: Re: Memories
Date: 19 Aug 2011 11:15:00
Message: <web.4e4e7b3be49ec76e85627c70@news.povray.org>
Invisible <voi### [at] devnull> 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

From: Invisible
Subject: Re: Memories
Date: 19 Aug 2011 11:16:49
Message: <4e4e7e61$1@news.povray.org>
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

From: Invisible
Subject: Re: Memories
Date: 19 Aug 2011 11:32:22
Message: <4e4e8206$1@news.povray.org>
>> ...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

From: Jim Henderson
Subject: Re: Memories
Date: 19 Aug 2011 11:34:26
Message: <4e4e8282$1@news.povray.org>
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

From: Darren New
Subject: Re: Memories
Date: 19 Aug 2011 11:41:42
Message: <4e4e8436$1@news.povray.org>
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

From: Jim Henderson
Subject: Re: Memories
Date: 19 Aug 2011 11:44:30
Message: <4e4e84de$1@news.povray.org>
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

From: Invisible
Subject: Re: Memories
Date: 19 Aug 2011 11:49:26
Message: <4e4e8606$1@news.povray.org>
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

From: Darren New
Subject: Re: Memories
Date: 19 Aug 2011 11:50:07
Message: <4e4e862f$1@news.povray.org>
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

From: Warp
Subject: Re: Memories
Date: 19 Aug 2011 12:03:24
Message: <4e4e894c@news.povray.org>
Mike the Elder <nomail@nomail> wrote:
> Invisible <voi### [at] devnull> 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

From: clipka
Subject: Re: Memories
Date: 19 Aug 2011 12:10:03
Message: <4e4e8adb$1@news.povray.org>
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

From: Darren New
Subject: Re: Memories
Date: 19 Aug 2011 13:21:19
Message: <4e4e9b8f$1@news.povray.org>
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

From: Patrick Elliott
Subject: Re: Memories
Date: 19 Aug 2011 18:23:50
Message: <4e4ee276$1@news.povray.org>
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

From: Orchid XP v8
Subject: Re: Memories
Date: 20 Aug 2011 05:34:27
Message: <4e4f7fa3$1@news.povray.org>
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

From: Orchid XP v8
Subject: Re: Memories
Date: 20 Aug 2011 05:45:58
Message: <4e4f8256$1@news.povray.org>
>> 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

From: Warp
Subject: Re: Memories
Date: 20 Aug 2011 06:19:23
Message: <4e4f8a2b@news.povray.org>
Orchid XP v8 <voi### [at] devnull> 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

From: clipka
Subject: Re: Memories
Date: 20 Aug 2011 06:30:31
Message: <4e4f8cc7$1@news.povray.org>
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

From: Orchid XP v8
Subject: Re: Memories
Date: 20 Aug 2011 06:36:34
Message: <4e4f8e32$1@news.povray.org>
On 20/08/2011 11:19 AM, Warp wrote:
> Orchid XP v8<voi### [at] devnull>  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

From: Orchid XP v8
Subject: Re: Memories
Date: 20 Aug 2011 06:46:04
Message: <4e4f906c$1@news.povray.org>
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

From: Orchid XP v8
Subject: Re: Memories
Date: 20 Aug 2011 06:47:09
Message: <4e4f90ad$1@news.povray.org>
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

From: Orchid XP v8
Subject: Re: Memories
Date: 20 Aug 2011 06:49:17
Message: <4e4f912d@news.povray.org>
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

From: Orchid XP v8
Subject: Re: Memories
Date: 20 Aug 2011 06:55:27
Message: <4e4f929f$1@news.povray.org>
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

From: Stephen
Subject: Re: Memories
Date: 20 Aug 2011 06:59:22
Message: <4e4f938a@news.povray.org>
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

From: Warp
Subject: Re: Memories
Date: 20 Aug 2011 07:11:15
Message: <4e4f9653@news.povray.org>
Orchid XP v8 <voi### [at] devnull> 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

From: Warp
Subject: Re: Memories
Date: 20 Aug 2011 07:14:14
Message: <4e4f9706@news.povray.org>
Orchid XP v8 <voi### [at] devnull> 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

From: Orchid XP v8
Subject: Re: Memories
Date: 20 Aug 2011 08:25:38
Message: <4e4fa7c2$1@news.povray.org>
On 20/08/2011 12:11 PM, Warp wrote:
> Orchid XP v8<voi### [at] devnull>  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

From: Orchid XP v8
Subject: Re: Memories
Date: 20 Aug 2011 08:26:52
Message: <4e4fa80c$1@news.povray.org>
>> 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

From: Orchid XP v8
Subject: Re: Memories
Date: 20 Aug 2011 08:30:37
Message: <4e4fa8ed$1@news.povray.org>
>> 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

From: Warp
Subject: Re: Memories
Date: 20 Aug 2011 08:40:32
Message: <4e4fab40@news.povray.org>
Orchid XP v8 <voi### [at] devnull> 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

From: Orchid XP v8
Subject: Re: Memories
Date: 20 Aug 2011 09:10:37
Message: <4e4fb24d$1@news.povray.org>
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

From: Stephen
Subject: Re: Memories
Date: 20 Aug 2011 09:39:01
Message: <4e4fb8f5$1@news.povray.org>
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

From: Darren New
Subject: Re: Memories
Date: 20 Aug 2011 10:43:27
Message: <4e4fc80f$1@news.povray.org>
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

From: Darren New
Subject: Re: Memories
Date: 20 Aug 2011 10:56:27
Message: <4e4fcb1b$1@news.povray.org>
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

From: Darren New
Subject: Re: Memories
Date: 20 Aug 2011 10:58:26
Message: <4e4fcb92$1@news.povray.org>
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

From: Orchid XP v8
Subject: Re: Memories
Date: 20 Aug 2011 14:05:10
Message: <4e4ff756@news.povray.org>
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

From: Warp
Subject: Re: Memories
Date: 20 Aug 2011 14:55:57
Message: <4e50033d@news.povray.org>
Orchid XP v8 <voi### [at] devnull> 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

From: Patrick Elliott
Subject: Re: Memories
Date: 20 Aug 2011 18:09:15
Message: <4e50308b$1@news.povray.org>
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

From: Patrick Elliott
Subject: Re: Memories
Date: 20 Aug 2011 18:19:09
Message: <4e5032dd$1@news.povray.org>
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

From: Darren New
Subject: Re: Memories
Date: 20 Aug 2011 18:26:18
Message: <4e50348a$1@news.povray.org>
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

From: clipka
Subject: Re: Memories
Date: 20 Aug 2011 20:05:31
Message: <4e504bcb$1@news.povray.org>
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

From: clipka
Subject: Re: Memories
Date: 20 Aug 2011 20:38:43
Message: <4e505393$1@news.povray.org>
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

From: clipka
Subject: Re: Memories
Date: 20 Aug 2011 20:56:58
Message: <4e5057da$1@news.povray.org>
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

From: clipka
Subject: Re: Memories
Date: 20 Aug 2011 21:01:59
Message: <4e505907$1@news.povray.org>
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

From: clipka
Subject: Re: Memories
Date: 20 Aug 2011 21:13:39
Message: <4e505bc3$1@news.povray.org>
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

From: Darren New
Subject: Re: Memories
Date: 21 Aug 2011 00:03:25
Message: <4e50838d$1@news.povray.org>
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

From: Le Forgeron
Subject: Re: Memories
Date: 21 Aug 2011 03:41:19
Message: <4e50b69f@news.povray.org>
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

Goto Latest 50 Messages Next 44 Messages >>>

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.