Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Comments

top

Ask Slashdot: "Real" Computer Scientists vs. Modern Curriculum?

Guy Harris Re: Beards and suspenders. (637 comments)

Modern developer do not deal with memory allocation anymore, but they work at a level of abstraction with design paradigms which are every bit as complex to grasp than hardware architecture.

I'm not the person who said that "Java schools are a menace" and that "you're really missing something if you don't have a good mental model of computers at the machine language level, and if you've never done any "bit bashing" (working with unsigned ints as arrays of bits, not as numbers)." - and then spoke of "pointer-array equvalency" as if it were a fundamental concept of how computers work at the low level rather than as an over-simplified description of a quirk of C and its derivatives (they're not equivalent - array-valued expressions evaluate as a pointer to the first element in the array in some, but not all, contexts),

about two weeks ago
top

Ask Slashdot: "Real" Computer Scientists vs. Modern Curriculum?

Guy Harris Re:Beards and suspenders. (637 comments)

Eww Octal??? My gosh, the PDP-11 is the purest of the pure! It is the excuse, the reason for Octal to exist!

No, octal was a much better fit for machines such as the PDP-6/PDP-10, PDP-5/PDP-8, and other multiple-of-6-bits-word-size machines. It worked well for PDP-11 instructions, not so well for PDP-11 data words if you cared about the individual bytes in the word.

about two weeks ago
top

Ask Slashdot: "Real" Computer Scientists vs. Modern Curriculum?

Guy Harris Re:Beards and suspenders. (637 comments)

None of these or any other internal arcana of c have anything to do with designing algorithms or programming computers.

Go tell that to the person who argued that programmer should become totally comfortable with bit-bashing, with pointers and pointer-array equivalency, and so on. "Pointer-array equivalency" (or "array-valued expression conversion to pointer-valued expression in most contexts") definitely counts as "internal arcana" of C and related languages.

about two weeks ago
top

Ask Slashdot: "Real" Computer Scientists vs. Modern Curriculum?

Guy Harris Re: Beards and suspenders. (637 comments)

whilst, in bar, foo is a pointer to int and [...]

Um, perfesser? It's a pointer to a char.

It's defined right there in the code as "char foo[1024];"

Yeah, I was thinking of another example I'd been working on when I wrote the answer; sorry about the minor brainfart.

In any case, yes, it is, indeed, a pointer to char in the code that I wrote, so just replace "int" with "char" in my answer and the answer still applies.

about two weeks ago
top

Ask Slashdot: "Real" Computer Scientists vs. Modern Curriculum?

Guy Harris Re: Beards and suspenders. (637 comments)

I know why they are different, but why don't you tell me why they are different and I'll see if you're right.

They're different because, in main, foo is an array of 1024 chars, and thus has a size of 1024 bytes, whilst, in bar, foo is a pointer to int and, unless you're running on a C implementation with 1024-byte pointers (I know of none, although I do know of implementations with 2-byte, 4-byte, 8-byte, and 16-byte pointers), its size won't be 1024 bytes.

about two weeks ago
top

Ask Slashdot: "Real" Computer Scientists vs. Modern Curriculum?

Guy Harris Re:Old Fart Hipster programmer here (637 comments)

They haven't learned about opcode timing

And about superscalar processors, which make opcode timing a bit less straightforward. And pipelining and instruction prefetching and branch prediction and caches and instruction scheduling and....

about two weeks ago
top

Ask Slashdot: "Real" Computer Scientists vs. Modern Curriculum?

Guy Harris Re:Beards and suspenders. (637 comments)

What's the difference in the behavoir of the unary & op?

If you've declared int foo[17], then &foo is an expression of type "pointer to array of int", not "pointer to int" or "pointer to pointer to int" or any other pointer type.

about two weeks ago
top

Barry Shein Founded the First Dialup ISP (Video)

Guy Harris Re:Why isn't (116 comments)

Both UUCP and TCP/IP had email (although the ip side lagged badly, mail was really invented at Bell,

No, it wasn't.

IP made very crude versions of this ad took forever to do it)

Inter-host email came out the same year that UNIX first existed, and wasn't invented at Bell Labs. It ran over NCP, because TCP/IP didn't even exist yet.

SMTP, which ran over TCP and NCP, was first specified in 1982, slightly after TCP was first specified.

about two weeks ago
top

Barry Shein Founded the First Dialup ISP (Video)

Guy Harris Re:Why isn't (116 comments)

Dialing into a BBS, bouncing into a schools system and then access the net not considered the first dialup isp?

Because you're not getting IP packets sent to or by your machine's IP protocol stack over that dialup connection.

about two weeks ago
top

Ask Slashdot: "Real" Computer Scientists vs. Modern Curriculum?

Guy Harris Re:Beards and suspenders. (637 comments)

You do know that sort of obsessive language-lawyering is exactly what turns people off to exploring C, right?

If it also turns them off from having to ask why this program

#include <stdio.h>

static void
bar(char *foo)
{
printf("sizeof foo is %u\n", (unsigned int)sizeof foo);
}

int
main(void)
{
char foo[1024];

printf("sizeof foo is %u\n", (unsigned int)sizeof foo);
bar(foo);
return 0;
}

doesn't print two identical lines - or from writing code that breaks because of this - that would be for the best.

about two weeks ago
top

Ask Slashdot: "Real" Computer Scientists vs. Modern Curriculum?

Guy Harris Re:Beards and suspenders. (637 comments)

Don't stop until you're totally comfortable ... with pointers and pointer-array equivalency ...

...which includes being aware that arrays in C are not just syntactic sugar around pointers.

This includes understanding what this means:

Except when it is the operand of the sizeof operator or the unary & operator, or is a string literal used to initialize an array, an expression that has type ‘‘array of type’’ is converted to an expression with type ‘‘pointer to type’’ that points to the initial element of the array object and is not an lvalue. If the array object has register storage class, the behavior is undefined.

(That's paragraph 3 of 6.3.2.1 "Lvalues, arrays, and function designators" in International Standard ISO/IEC 9899:1999, Second Edition, Programming languages — C.)

about two weeks ago
top

Barry Shein Founded the First Dialup ISP (Video)

Guy Harris Re:The WELL Was First - in 1985. Shein Is A Fraud. (116 comments)

Based on first-hand information, and belief, The Whole Earth 'Lectronic Link - The WELL, a product of Whole Earth Access - was first to offer dialup Internet accounts to paying customers.

Dialup accounts where you'd run SLIP over the dialup line, and IP packets you sent over the line got routed to arbitrary Internet hosts, and those hosts could route packets back to your machine which would receive them over the SLIP line?

If not, that's not a dialup Internet account. It might be a dialup shell account, or a dialup UUCP account, but it's not a dialup shell account. Barry's not saying he was the first to offer dialup shell accounts or dialup UUCP accounts, he's saying he was the first to offer dialup Internet accounts, letting your home machine directly connect to the Internet.

about two weeks ago
top

Barry Shein Founded the First Dialup ISP (Video)

Guy Harris Re:Freenets? (116 comments)

Yes, before my time, but Freenet has/had another meaning besides freenetproject.org

I.e., there were Freenets other than the one based on Ian Clarke's design?

(perhaps inspired their name though?)

Yes, I think the domain name "freenetproject.org" was chosen by the Freenet developers because they wanted a domain name containing "freenet".

(I.e., "freenetproject.org" appears to be the domain name for the Freenet Project; it's not just a bunch of people who liked Freenet and decided to have a domain name with "freenet" in it.)

about two weeks ago
top

Barry Shein Founded the First Dialup ISP (Video)

Guy Harris Re:Freenets? (116 comments)

As I stated, I used Archie, Gopher and IRC.. and as I just remembered EW-Too chat prgrams and MUDs/MUSHes/Etc... and was connecting to them directly from a shell account.... so by your definition that falls under ISP.

OK, I guess I didn't make it clear enough.

If you can send IP packets over your dialup connection and have them routed onto the Internet, and have IP packets from the Internet routed to your machine over the dialup connection, you're dialed into an ISP.

If you have to dial up a host and log in to getty over that dialup connection, then you're dialed up to a UNIX shell service provider, not an ISP, even if the UNIX host you've logged into happens to be connected to the Internet.

If a UUCP program on your machine has to dial up a host and log into a UUCP account over that dialup connection, then you're dialed up to a UUCP service provider, not an ISP, even if the host you're connecting to via UUCP can route emails to the Internet.

So unless you were using Archie and Gopher and IRC clients running on your machine at home, with those clients sending IP packets out over a SLIP connection and receiving IP packets from that SLIP connection, you were not dialing into an ISP.

about two weeks ago
top

Barry Shein Founded the First Dialup ISP (Video)

Guy Harris Re:Definitely not the first (116 comments)

"but they aren't sufficient to make you an ISP."

Of course they were. What does the I in ISP mean? "Internet".

If what you offer can interoperate with the network, you're an ISP.

If you can route packets from clients to the Internet, you're an ISP.

If you can only route mail messages and Usenet mail postings to the Internet, with your clients using UUCP to send them and receive them, and perhaps provide the ability to download and upload files using UUCP and maybe other uux-based services, you're a UUCP service provider, not an ISP.

about two weeks ago
top

Barry Shein Founded the First Dialup ISP (Video)

Guy Harris Re:Not the first, just the most egotistical. (116 comments)

Why? The IP network was tiny back then and the uucp network was enormous ans had all the apps. There were no people passing packet back then because nobody wanted to - they didn't need to. You could get everything the network had to offer via uucp.

OK, so there wasn't much of a market for ISPs back then, and most organizations offering dialup services weren't ISPs, they provided UUCP access or UNIX shell access or a BBS or....

So, if neither agora nor PDxs nor Teleport offered your machine the ability to directly transmit IP packets to and receive IP packets from hosts on the Internet, they may have offered very useful services, but they weren't ISPs, and thus do not count as evidence that The World wasn't the first dialup ISP.

If you want to prove that The World wasn't the first dialup ISP - not "the first dialup service provider", Barry's smart enough not to claim that The World was that - you're going to have to find an organization providing dialup direct Internet access before they did.

about two weeks ago
top

Barry Shein Founded the First Dialup ISP (Video)

Guy Harris Re:Freenets? (116 comments)

No. UUCP was the 'internet' until TCP/IP became more popular. The first personal computers used UUCP to connect to the internet. By internet, I mean the hardware and lines. TCP/IP is not the internet. It's an internet protocol. A way to tonnect to communicate vie 'the internet'.

The Internet, with a capital "I", as in "Internet Service Provider", uses the Internet protocol suite (IP, UDP, TCP, etc.), not UUCP, although UUCP can run over TCP. I don't care what you mean by "internet", with a lower-case "i"; as we're talking about who was the first Internet-with-a-capital-I service provider, what you mean by "internet" is completely irrelevant.

Here, let me help you out: http://en.wikipedia.org/wiki/U...

Here, let me help you out. You may recognize a name that appears several times on that page; why giving me the URL of a page that I have edited several times doesn't "help me out", if by that you mean "informing me of something I didn't know". I'm quite familiar with UUCP, having used it in the 1980's and early 1990's, and having managed it at some of the companies at which I worked.

about two weeks ago
top

Barry Shein Founded the First Dialup ISP (Video)

Guy Harris Re:Is my memory failing or ... (116 comments)

Before I got a Sysop account at Compuserve, I paid $9.95 if memory serves. All the companies were there to download updates from, you could download libraries, utilities, examples, FAQs and Howtos, talk with the programmers, whine to the quality assurance people, you could buy books, jeans and coffee an some other stuff, play multiplayer games (all text) send email to the world, read usenet newsgroups, get email newsletters (tweets with no limit, for the young whippersnappers amongst you) and later also use the web.

Why would people pay the double for what exactly?

The ability to connect to an arbitrary Internet-based service with a client program that connects using TCP?

Perhaps what you describe was adequate for the vast majority of users, but somebody who wanted direct access to the Internet, including, for example, the ability to (perhaps slooooowly) FTP to an available Internet FTP site would welcome it.

about two weeks ago

Submissions

Guy Harris hasn't submitted any stories.

Journals

Guy Harris has no journal entries.

Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>