Slashdot Mirror


A TCP/IP Stack and Web Server In BASIC

A writes "Back in the day, a BASIC interpreter was standard on every home computer system and everyone had to know at least a little BASIC to be able to use their computer. But who would have thought that you could write some serious networking code in BASIC over 20 years later? Just a few days ago, Lee Davison released the BASIC source code for his 6502-based Ethernet web server. The web server runs under his EhBASIC interpreter on the 1 MHz 6502 CPU and is able to blast out web pages at an amazing speed of 20-35 seconds per page!" Sure, it's not really practical, but I give it cool points.

251 comments

  1. Down in three seconds flat by mcgroarty · · Score: 5, Funny

    If you want to slashdot it, the IP address is visible in some of the screen shots. It's 169.254.226.132, but I'm not cruel enough to actually turn that into a hyperlink. :-)

    1. Re:Down in three seconds flat by ultrapenguin · · Score: 5, Informative

      NetRange: 169.254.0.0 - 169.254.255.255
      is one of those "non-routable private IP address spaces".

      RTFRFC

    2. Re:Down in three seconds flat by Anonymous Coward · · Score: 5, Funny

      If you want to slashdot it, the IP address is visible in some of the screen shots. It's 169.254.226.132, but I'm not cruel enough to actually turn that into a hyperlink. :-)

      Here you go :)

    3. Re:Down in three seconds flat by Kevinv · · Score: 4, Funny

      How could you tell if it were slashdotted? 20 seconds per page is already a slashdotted server....

    4. Re:Down in three seconds flat by FyRE666 · · Score: 5, Funny

      If you want to slashdot it, the IP address is visible in some of the screen shots. It's 169.254.226.132, but I'm not cruel enough to actually turn that into a hyperlink. :-)

      Yeah, and anyone stupid enough to believe it'll work outside of a local network should also try 127.0.0.1 for a cool Pr0n site!

    5. Re:Down in three seconds flat by Anonymous Coward · · Score: 0

      o/` You have been trol-led o/`

    6. Re:Down in three seconds flat by beebware · · Score: 5, Funny

      Cool - you're right - there is some really good porn on http://127.0.0.1/ , but it must be a really old site and I'm sure I've seen it before...

    7. Re:Down in three seconds flat by fredrikj · · Score: 2, Funny

      Yeah, and anyone stupid enough to believe it'll work outside of a local network should also try 127.0.0.1 for a cool Pr0n site!

      Well, if you'd open 127.0.0.1:31337 and discover a kiddie porn site, you can be pretty sure there's a trojan somewhere on your computer :P

      Unless, of course...

    8. Re:Down in three seconds flat by mcgroarty · · Score: 1

      Erm -- whoever moderated this "informative" missed the joke. :-) Someone mod it back down?

    9. Re:Down in three seconds flat by Isbiten · · Score: 2, Funny

      I just get an apache test page, are you sure it's up? ;)

      --
      I fought the corporate America, and the corporate America bought the law.
    10. Re:Down in three seconds flat by TildeMan · · Score: 1

      and is able to blast out web pages at an amazing speed of 20-35 seconds per page!

      Sounds like it was slashdotted even before posting! Good work, everyone!

    11. Re:Down in three seconds flat by oldmildog · · Score: 1

      I RTFRFC (RFC1918) and it suggested the private nonroutable addresses are 10/8, 172.16/12, and 192.168/16.

      --
      They have the Internet on computers now?
    12. Re:Down in three seconds flat by Anonymous Coward · · Score: 0

      Proof once again that Slashdot UIDs are not indirectly proportional to that user's knowledge.

    13. Re:Down in three seconds flat by Anonymous Coward · · Score: 1, Insightful
    14. Re:Down in three seconds flat by Anonymous Coward · · Score: 0

      Hay guys whats going on?

      SUP LOL

    15. Re:Down in three seconds flat by NanoGator · · Score: 0, Offtopic

      Damn, I don't have RealPlayer installed.

      --
      "Derp de derp."
    16. Re:Down in three seconds flat by NanoGator · · Score: 1

      I hate when my jokes go misunderstood and get modded as off-topic.

      --
      "Derp de derp."
  2. How long til it gets slashdotted? by gellenburg · · Score: 2, Funny

    At 20+ secs per page - immediately?

    (I know the article isn't on the EhBASIC webserver - I was talking about any page served up by the webserver alone.)

    1. Re:How long til it gets slashdotted? by Stephen+Samuel · · Score: 1

      but how do you tell the difference between slashdotting, and a regular page load? Just double-clicking on the link is likely to result in TC/IP timeouts.

      --
      Free Software: Like love, it grows best when given away.
    2. Re:How long til it gets slashdotted? by gellenburg · · Score: 5, Funny

      Hmm... you're right.

      This "BASIC" Webserver & TCP/IP Stack will go down in the annals of History as being the first ever webserver to become /.'ed before it's address even makes it to /. to begin with. :-)

    3. Re:How long til it gets slashdotted? by Pharmboy · · Score: 1

      but how do you tell the difference between slashdotting, and a regular page load? Just double-clicking on the link is likely to result in TC/IP timeouts.

      slashdotting == regular page load when you are at .02 to .05 pages per second

      So it really doesn't matter. The first time you test it, you HAVE effectively /.ed it. Now, if he could get NFS to work, to connect it to a FC striped raid array.....

      --
      Tequila: It's not just for breakfast anymore!
    4. Re:How long til it gets slashdotted? by Stephen+Samuel · · Score: 1
      Now, if he could get NFS to work, to connect it to a FC striped raid array.....

      You coull always just hide it behind a SQUID (or other such cache box).

      --
      Free Software: Like love, it grows best when given away.
    5. Re:How long til it gets slashdotted? by gellenburg · · Score: 1

      yeah, but if you do that then you're testing the ability of the Squid box to withstand a /.ing, not the webserver.

  3. Slow by tomstdenis · · Score: 1

    25 seconds per page?

    That seems very slow even for an 8-bit MCU. Maybe his basic interpreter just sucks?

    Or, were these like huge ass PHP pages with mysql running in the background? :-)

    Tom

    --
    Someday, I'll have a real sig.
    1. Re:Slow by imsabbel · · Score: 1

      I remember owning a 8 bit computer that needed 2 seconds to display a 40*25 page of text in a wordprocessor.
      So i would say 30 sec per page is OK for a 1MHz 8 bit cpu running a BASIC (!!!!) Webserver

      --
      HI O WISE PRINCE. WHT TOOK U SO DAM LONG?
    2. Re:Slow by brrrrrrt · · Score: 0, Informative

      I'm not sure now if the 6502 was only inwardly 8 bits, but outwardly 4. But I know it ran at a little over 1 Mhz, so with a comparatively huge interpreted basic program running on it, I can see why it's slow.

    3. Re:Slow by Anonymous Coward · · Score: 1, Informative

      How can someone's bad memory-musings be modded informative? A simple Google will reveal the 6502 is indeed an 8 bit CPU with an 8 bit bus. Sheesh.

    4. Re:Slow by bhtooefr · · Score: 1

      Hmm, anyone want to try porting this to Applesoft and let it use a LANceGS on a //e Enhanced/Platinum? I know those have 65C02 processors, but I don't think Applesoft uses those instructions. Isn't the 6510 in the C64 1MHz? I know this is BASIC and Contiki was assembler, but does anyone remember the not-/.ed C64? I'd think a webserver, two VNC servers, and a RealAudio server would put similar load as interpreting the webserver code on a 65xx system.

    5. Re:Slow by Anonymous Coward · · Score: 0

      Contiki, the VNC servers and the RealAudio server were actually all written in C.

  4. To quote Zahpod Beeblebrox... by Kevinv · · Score: 5, Funny

    ten out of ten for style, but minus several million for good thinking.

    I actually have some Apple //e's lying around. Maybe I'll dig up an ethernet card and see if i can get this to work.

    1. Re:To quote Zahpod Beeblebrox... by Ed+Avis · · Score: 1, Interesting

      Since the code seems to be mostly direct memory access, CALL, and USR, wouldn't it have made more sense simply to write it in assembly language?

      You can use a BASIC dialect that has a built-in assembler and so still get suitably old-school source code.

      --
      -- Ed Avis ed@membled.com
    2. Re:To quote Zahpod Beeblebrox... by AndroidCat · · Score: 1
      It could have been worse: It could have been machine code buried in BASIC REM statements ZX81-style.

      Hmm, a network card for my MC-10 micro Coco, it'll just have to wait until after I do the LCD display.

      --
      One line blog. I hear that they're called Twitters now.
    3. Re:To quote Zahpod Beeblebrox... by satyap · · Score: 0

      But that's not the point, you could write it in C with assembly mixed in if you wanted.

      I have the sudden urge to write one in perl, and then in 8085 assembly. Not gonna do it, of course.

    4. Re:To quote Zahpod Beeblebrox... by Anonymous Coward · · Score: 0

      And you'll get an ethernet card for a IIe where?

    5. Re:To quote Zahpod Beeblebrox... by Anonymous Coward · · Score: 0

      I don't think that will work, even a little bit. If you look at the code (and the picture), it's pretty clear it's meant to run on just this hardware. In other words, most things in the code are very hard coded and non-flexible. Good luck anyway. :-)

    6. Re:To quote Zahpod Beeblebrox... by Anonymous Coward · · Score: 0

      And you'll get an ethernet card for a IIe where?

      Just use a USB ethernet card............

    7. Re:To quote Zahpod Beeblebrox... by dmaxwell · · Score: 1

      And you'll get an ethernet card for a IIe where?

      Just use a USB ethernet card............

      And you'll get a USB adaptor for a IIe where?

  5. Imagine.. by iLEZ · · Score: 5, Funny

    Imagine a beowulf cluster of... Nah...

    --
    You cant fight in here, its a war room!
    1. Re:Imagine.. by Anonymous Coward · · Score: 0

      Commodore 64s !)

    2. Re:Imagine.. by ihummel · · Score: 1

      ENIACS!

  6. how? by Tirel · · Score: 1

    is it written in basic or is it compiled and just provides an API? I would think the latter, but I'm not sure.

    1. Re:how? by mcgroarty · · Score: 0

      The source code is here. See for yourself. :-)

    2. Re:how? by mcgroarty · · Score: 2

      Fat-fingered the paste. Rather, the source code is here.

  7. 20-35 Seconds Per Page?!? by travail_jgd · · Score: 5, Funny

    "Pre-slashdotted for your convenience."

  8. Cowabunga! by Anonymous Coward · · Score: 2, Funny

    Seriously cool! I'm going to key it into my TRS-80 right now!

    1. Re:Cowabunga! by MrLint · · Score: 1

      it would be much faster if you hook the optical reader to your Epson DMP and let it scan in the source code, after you printed it on your color dyesub printer first, of course

    2. Re:Cowabunga! by RevAaron · · Score: 1

      ...except, how will you serve it? this guy made his own ethernet board and wrote a card/platform specific driver for it- also in BASIC of course. :) Or, were you one of the lucky folks to get one of the eTRS-80 Model 8 with on board ethernet? My uncle has one- it is amazing! He browses the web using Contiki, it's pretty sweet.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    3. Re:Cowabunga! by Anonymous Coward · · Score: 0

      Okay, this has nothing to do with the server software, but I actually do have a "Meca-80" tape drive for my Model 1. It was a for-goodness tape storage device, with O.S. and everything. You'd tell it what block to read, and it would zing thru the tape, stop and read it. I think it held a quarter meg per cassette.

  9. I get a slightly faster transfer speed by dbleoslow · · Score: 5, Funny

    with my fax machine. It's not nearly as cool though.

    1. Re:I get a slightly faster transfer speed by texaport · · Score: 1
      with my fax machine. It's not nearly as cool though.

      You could probably reach an effective throughput of 4MHz on that 6502 by running 16-bit 68000 software emulation, on a 32-bit 68030 add-in board running at 25MHz and modded up to 33MHz with proper cooling.

  10. What? by Anonymous Coward · · Score: 0

    "Back in the day, a BASIC interpreter was standard on every home computer system and everyone had to know at least a little BASIC to be able to use their computer.

    What days were these that you needed BASIC to actually run the machine? What did you used to do, fire up the interpreter and write a mini-shell or something? In BASIC??

    1. Re:What? by waitigetit · · Score: 1, Informative

      No it booted right into the basic interpreter of the BIOS

      --
      I could care less, but not without a lobotomy
    2. Re:What? by Anonymous Coward · · Score: 1, Informative

      What days? CAMMOROMU 64 days. When you switched the power on to Commodore C64 all you got was the basic interpreter.

      But already in 1984 was introduced SHARP MZ-821 that only had assembler monitor. You had to load Basic if you didn't want to write Assembly programs.

      Cammoromu C64 was bad because the build in Basic hogged memory of course. With Sharp you had all the 64 kilobytes to yourself.

    3. Re:What? by usotsuki · · Score: 1

      With the Apple //e you could have 60K of RAM in state at once (the other 4K was memory-mapped I/O). Usually only 48K was active. It's possible to upgrade the //e to 3.1 MB RAM (as in fact EMU][ emulates).

      -uso.

      --
      Dreams, dreams, don't doubt dreams, dreaming children's dreaming dreams. Sailor Moon SS
    4. Re:What? by jeremyp · · Score: 1

      Well Ok. I cut my programming teeth on a Commodore Pet with 16K later upgraded to 32. Actually that wasn't as bad as it seems because the BASIC interpreter and the "kernel" [were on 16Kb of ROM.

      The Commodore 64 also had its BASIC on ROM, but it was shadowed by RAM, so you could replace it with RAM programmatically if you wanted.

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    5. Re:What? by bhtooefr · · Score: 1

      Apple IIs could be programmed in assembler, but you NEEDED BASIC to boot DOS, most disks with ProDOS had a STARTUP file written in BASIC (the Apple II equivalent of AUTOEXEC.BAT). Think of it this way. Before Windows 2000, the most common OS was Windows with DOS. No DOS, no Windows. There was Windows NT, and there was Linux (think of it as a few ProDOS disks, and Pascal), but if you wanted to run Windows 95, you had to have DOS (it came with it, but in this example we'll pretend DOS is in ROM.)

    6. Re:What? by WWWWolf · · Score: 1
      Cammoromu C64 was bad because the build in Basic hogged memory of course.

      BASIC interpreter hogging memory? Hell, no. Commodore 64 was based on 6510 which had a processor channel on the $00 and $01. These addresses could be used to toggle ROM banks off, like this:

      LDA #%11111110; AND $01; STA $01

      ...turns of the BASIC ROM and you can put whatever the hell you want to the RAM bank right under it. Bit 0 for BASIC ROM, bit 1 for Kernal (sic) ROM, and bit 2 for Character ROM. Character ROM is useful unless you want tor redefine your characters, and Kernal ROM has many nice I/O routines (LOAD and SAVE and CHROUT, among other things). But BASIC is mostly dead weight. (Though I like $AB1E personally. But that's not the reason to keep it there.)

      My current favorite trick is to use a BASIC stub: A PC crossassembler adds a BASIC program that basically says only "SYS addressrightaftertheprogram" and program is assembled right after the BASIC program. LIST command only shows the start, and I have the whole BASIC RAM to store my program in. And BASIC and other RAMs can be toggled off and you get several kb of free RAM for your variables.

      (And don't you dare to call it Cammoromu, you filthy Sarpamasa user. =)

    7. Re:What? by minion · · Score: 1

      What days were these that you needed BASIC to actually run the machine? What did you used to do, fire up the interpreter and write a mini-shell or something? In BASIC??

      Obviously the young can't remember such days. Go get a Tandy Color Computer 2 and turn it on. Wahla, BASIC intepreter at your command. And a Tandy CC2 is MODERN by some people's standards.

      --

      -- If we don't stand up for our rights, now, there will be no right to stand up for them later.
    8. Re:What? by Anonymous Coward · · Score: 0

      WOW! I'm speechless! I'm impressed and that happens rarely :)

      :) Joo, mulla oli Sharp MZ-821 ja olin silloin 80 -luvun puolivalissa kateellinen Commodore C64 kayttajille. Itseasiassa molemmat hyvia koneita nyt jalkeenpain ajatellen, vaikka kaikki pelit tehtiin C64:lle. Ja joskus 90 -luvun alussa hankin Amigan. Hei, mukava nahda old school porukkaa kuka sitten oletkin!!! No hard feelings?

  11. Looks more like assembler to me... by dioscaido · · Score: 5, Interesting

    Can the code really be called BASIC? It looks more like tons of in-line assembly code, wrapped in a few ifs and loops.

    1. Re:Looks more like assembler to me... by taybin · · Score: 2, Interesting

      Well, that's BASIC for you. It doesn't have very good library support. As far as I know, it didn't have any library support if it wasn't built into the interpretor.

    2. Re:Looks more like assembler to me... by dodell · · Score: 1

      That's exactly correct. Basically, anybody claiming to write any libraries with any speed or usability in BASIC are just writing a ton of in-line assembler. For instance, if you look online now, people claim to have their own 3d libraries in BASIC. They sure do, but it's just a bunch assembler wrapped up in SUBs.

    3. Re:Looks more like assembler to me... by reallocate · · Score: 1

      What's your point? Everything is object code in the end.

      --
      -- Slashdot: When Public Access TV Says "No"
    4. Re:Looks more like assembler to me... by yellowstone · · Score: 4, Interesting
      Can the code really be called BASIC?
      Old-skool BASIC was really heinous:
      • Variable names limited to two characters
      • Only data types are integers and strings
      • No structured data types, only (fixed size) arrays
      • No names in control flow, just GOTO 100 and GOSUB 9000. No parameters for subroutines.
      • Plus, it was typically interpreted, for extra slowness at run time.
      It looks more like tons of in-line assembly code
      It's worse than assembly. At least in assembly, you can have longer identifiers, and use them in data and control flow statements.
      --
      150 Opening BINARY mode data connection for slashdot.sig (129323052 bytes).
    5. Re:Looks more like assembler to me... by xiangpeng · · Score: 2, Insightful

      Well, ultimately it still have to go thru the ehBASIC interpreter, which more or less defines it as a "BASIC" program.

      Guess only BASIC purist will cry foul at this :)

      --
      You must defeat Sheng Long to stand a chance.
    6. Re:Looks more like assembler to me... by Anonymous Coward · · Score: 0

      Heh, newbee. Microsoft BASIC was hardly "old-skool" BASIC.

    7. Re:Looks more like assembler to me... by GigsVT · · Score: 1

      Variable names limited to two characters

      What BASIC had that limitation? Surely none that I ever used as a kid (mid 80s).

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
    8. Re:Looks more like assembler to me... by digitalhermit · · Score: 1

      No names in control flow, just GOTO 100 and GOSUB 9000. No parameters for subroutines.

      In some of the later ones you could GOTO a variable name. This led to some really interesting code such as:

      10 LET L1=100
      20 PRINT "ENTER NUMBER:"
      30 READ A
      40 GOTO 100 + (A * 10)

      100 (blah blah blah)
      105 GOTO 200
      110 (blah blah blah) ...

    9. Re:Looks more like assembler to me... by Anonymous Coward · · Score: 0

      I didn't say I was talking about Microsoft BASIC.

    10. Re:Looks more like assembler to me... by bhtooefr · · Score: 1

      I'm pretty sure Applesoft and Integer BASIC has that limitation. You could define a variable as $THISSUCKS, and call it with $THISSUCKS, $TH, $THOUSHALTNOTPROGRAM, etc. as long as it started with $TH

    11. Re:Looks more like assembler to me... by yellowstone · · Score: 4, Informative
      Variable names limited to two characters

      What BASIC had that limitation? Surely none that I ever used as a kid (mid 80s).

      The BASIC on the Commodore C64/C128 did. The BASIC on the TI-99/4 did. The BASIC on the PDP-11/45 where I first programmed did by default (you could issue an EXTEND keyword to allow longer identifiers -- back then I didn't see why you'd want to bother with all that typing...)

      (mid 80s).
      Newb. ;-)
      --
      150 Opening BINARY mode data connection for slashdot.sig (129323052 bytes).
    12. Re:Looks more like assembler to me... by Jeremy+Erwin · · Score: 1

      Mid eighties? That's far too late. In 1977, this Apple II advertisement did note that Apple Integer Basic boasted Any length variable names (ALPHA, BETA$).

    13. Re:Looks more like assembler to me... by Arker · · Score: 2, Informative

      Obviously you aren't an old-school BASIC guy. That's how it worked. If you wanted to do anything fast, you wound up rolling a bunch of machine language inside a BASIC control loop.

      --
      =-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Friends don't let friends enable ecmascript.
    14. Re:Looks more like assembler to me... by Paradise+Pete · · Score: 1
      What's your point? Everything is object code in the end.

      His point is it isn't really BASIC. The "point" you made is irrelevant. But you already knew that.

    15. Re:Looks more like assembler to me... by reallocate · · Score: 1

      Looks like BASIC to me. A CALL statement is legitimate BASIC.

      --
      -- Slashdot: When Public Access TV Says "No"
    16. Re:Looks more like assembler to me... by abiogenesis · · Score: 1

      You could also use the "ON GOTO" syntax:

      40 ON A GOTO 110,120,130,140,150

      --

      Donate free food to the hungry at The Hunger site.
    17. Re:Looks more like assembler to me... by abiogenesis · · Score: 1

      In Sinclair Spectrum you could only use 1 (one) character for string variables and loop variables (for/next). For numerical variables, there was no restriction (you could even put spaces into variabla names!).

      --

      Donate free food to the hungry at The Hunger site.
    18. Re:Looks more like assembler to me... by Nexzus · · Score: 2, Interesting

      Quick question, if you don't mind.

      Is that why all loops in any language in any source code seem to use i and j?

      I know I do it, and I know I (sh|c)ould use something like $counter, but I've seen i and j so many times in code snippets, it's become almost second nature.

      --
      Karma: Can only be portioned out by the Cosmos.
    19. Re:Looks more like assembler to me... by at_18 · · Score: 2, Informative

      Is that why all loops in any language in any source code seem to use i and j?

      No, it's because in early Fortran compilers integer variables were letters from I to N (because they are INteger, see?).

      So, in Fortran you would start a loop using the first available integer variable, i, and then j, k and so on.

      How that was carried on to other languages is a mystery....

    20. Re:Looks more like assembler to me... by McDutchie · · Score: 4, Informative
      Old-skool BASIC was really heinous:

      * Variable names limited to two characters
      This restriction was not universal, it depended on the dialect (there was, and is, no such thing as a standardized BASIC language).
      * Only data types are integers and strings
      I'm pretty sure that all variants had floating point data types as well.
      * No structured data types, only (fixed size) arrays
      But you could DIM them dynamically using a variable.
      * No names in control flow, just GOTO 100 and GOSUB 9000. No parameters for subroutines.
      Mostly true, but control flow was a bit better than that: there was also ON X GOTO 10,20,50,80 (which would go to line 10 if X=1, line 20 if X=2, etc) as well as ON X GOSUB in the same way.

      Also, there were user-defined one-line functions with parameters, which could even be recursive, as in: DEF FNX(P1,P2)=Y where X is the function name, P1 and P2 are parameters and Y is an expression.
      * Plus, it was typically interpreted, for extra slowness at run time.
      No argument there!
    21. Re:Looks more like assembler to me... by BRTB · · Score: 1

      TRS-80 basic would do the same thing.... at least on the model 3's. Model I's without the level 2 upgrade were limited to just 26 variables - A through Z.

    22. Re:Looks more like assembler to me... by abiogenesis · · Score: 1

      No. If it was, all the examples of Sinclair Spectrum BASIC manual wouldn't use n and m as the loop variables :-)

      I think the reason is the convention used in mathematics while indexing matrices. A matrix value is usually shown as A[i,j]. (Remember, loops are often used for indexing arrays)

      Fortran convention most probably follows the mathematical convention (hence FORmula TRANslation :-).

      --

      Donate free food to the hungry at The Hunger site.
    23. Re:Looks more like assembler to me... by Threni · · Score: 1

      > 30 READ A

      Surely it was INPUT A?

      READ was for reading the next piece of data from a DATA statement.

    24. Re:Looks more like assembler to me... by Anonymous Coward · · Score: 0

      Ah, BASIC programmers. I'm always the user typing -6, just to mess with them.

    25. Re:Looks more like assembler to me... by Anonymous Coward · · Score: 0

      Heh, newbee. Microsoft BASIC was hardly "old-skool" BASIC.

      Microsoft Basic must have been the first Basic on microcomputers, on the Altair. And it was modelled after Dartmouth Basic, which was the first Basic ever. That seems pretty old-skool to me.

      There's an Altair Basic simulator out there on the Net somewhere that you can connect to with telnet. It looks very very similar to Microsoft's "COMMODORE 64 BASIC V2" (blech!).

    26. Re:Looks more like assembler to me... by perlchild · · Score: 1

      The carrier is math... Matrix calculus to be specific, probably because most math teachers use fortran for their computer needs. Practically every math teacher I've had, and a bunch of CS classes to, used ijk to iterate, mapping i to the x array, j to the y and k to the z.

    27. Re:Looks more like assembler to me... by Anonymous Coward · · Score: 1, Interesting
      I'm pretty sure that all variants had floating point data types as well.

      I'm going to take a wild guess and assume that you've never used "Integer BASIC" on the Apple ][. No, I don't mean the Apple][+ or the Apple ][e or the special Wozniak-autographed Apple ][gs. I mean the Apple ][ that came with 16 kB of RAM and required you load your interpreter into a "language card". And required you to buy an "80-column card" if you didn't like working in 40 columns of text.

      But you could DIM them dynamically using a variable.

      Again, not all versions of BASIC had this. The TI99-4/A BASIC dialect did not allow you to do this. The part inside the DIM statement had to be a constant. I know; I tried it and was disappointed when I realized AppleSoft BASIC allowed it but TI BASIC didn't.

    28. Re:Looks more like assembler to me... by dodell · · Score: 1

      Yes, and asm() is legitimate C, too. Ignoring that, it's assembler.

    29. Re:Looks more like assembler to me... by Timex · · Score: 1

      Mid eighties? That's far too late. In 1977, this Apple II advertisement did note that Apple Integer Basic boasted Any length variable names (ALPHA, BETA$).

      INTEGER BASIC, yes. Applesoft BASIC, on the other hand, was limited to two-character variable names.

      If you really want me to check my info, I have the books here AND I still have my Apple IIgs sitting on a shelf.

      --
      When politicians are involved, everyone loses.
    30. Re:Looks more like assembler to me... by reallocate · · Score: 1

      Asm() is not part of C. It's a common extra provided by compiler vendors. BASIC's "Call" is more akin to C's "System".

      --
      -- Slashdot: When Public Access TV Says "No"
    31. Re:Looks more like assembler to me... by Jeremy+Erwin · · Score: 1

      Should have confirmed this with KEGS, but yes
      10 name$ = "basic"
      20 na$ = "crap"
      30 print "I am programming with " name$

      Sort of makes the eight character variable limit found in early versions of a REAL programming language seem limiting.

      So why exactly did Apple switch from Integer basic to a Microsoft version?

    32. Re:Looks more like assembler to me... by Jeremy+Erwin · · Score: 1

      Perhaps Integer Basic also has this limitation. Ah well.

    33. Re:Looks more like assembler to me... by dodell · · Score: 1

      You are wrong, sir. Checking the *same guy's* site who wrote the TCP/IP stack -- CALL in EhBASIC is described as:

      CALL calls a machine code routine at location address. While this in itself is useful it can be extended by adding parameters to the CALL and parsing them from within the routine.
      This technique can also be used to pass extra parameters to the USR() function.


      Reference here.

      System, sir, is defined in the UNIX man page as:

      system() executes a command specified in string by calling /bin/sh -c string, and returns after the command has been completed. During execution of the command, SIGCHLD will be blocked, and SIGINT and SIGQUIT will be ignored.

      What's the similarity here? What version of BASIC are you referring to? Enhanced BASIC certainly doesn't behave in the manner you've described. Please do not patronize me any more. Thank you, sir.

    34. Re:Looks more like assembler to me... by Timex · · Score: 1

      So why exactly did Apple switch from Integer basic to a Microsoft version?

      I think the only three people on the face of the earth that can answer that with any level of truth are Gates, Jobs, and Wozniak... <shrug>

      Of course, as far as I know (and I might be wrong on this, since it has been quite a while since I was using the Apple II in high school), Applesoft has always been part of the Apple II, beginning with the II+... I think the II had it on a floppy, as well as Integer BASIC. In order to use Integer, though, you had to have the 16k Language Card.

      --
      When politicians are involved, everyone loses.
    35. Re:Looks more like assembler to me... by Allitnil · · Score: 1

      The only assembly code is to read and write a byte from/to the NIC. Without this it would have been about 15 times slower.

      And you thought 30 seconds a page sucked!

      Lee.

  12. WOW! And they said.. by Anonymous Coward · · Score: 1, Funny

    They said that you can't do any professional programming with Basic back in the old days. This is a great slap to the face of those people.

    BASIC rules!I want Basic back! Is there any Basic interpreters for my FreeBSD?

    1. Re:WOW! And they said.. by DoctorPepper · · Score: 2, Interesting

      Yes, actually. Look in your ports collection. A real quick grep turned this up:

      $ ls | grep basic
      bwbasic/
      gnomebasic/
      pbasic/
      wxbasic/
      y abasic/

      --

      No matter where you go... there you are.
    2. Re:WOW! And they said.. by BabyDave · · Score: 3, Funny
      BASIC rules!I want Basic back! Is there any Basic interpreters for my FreeBSD?

      Screw that - I want a version of FreeBSD written in BASIC

  13. ehhh, that basic is too advanced for my taste by taybin · · Score: 1

    I saw a bunch of GOSUB statements in there. Wimp! We don't need no stinkin' pseudo-functions! At least he didn't use RealBasic, which is more on the level of Pascal nowadays.

  14. Next... by ihummel · · Score: 2, Interesting

    someone will come up with a shell script webserver.

    1. Re:Next... by Anonymous Coward · · Score: 0

      how about an ms-dos .bat web server?

    2. Re:Next... by slartibartfastatp · · Score: 1

      No doubt about it: Here's a web server written in postscript language. hee hee hee ;-)

      --
      -- --
    3. Re:Next... by FnordPerfect · · Score: 3, Interesting

      done already. This one is in bash...

      http://linux.umbc.edu/~mabzug1/bash-httpd.html

    4. Re:Next... by ihummel · · Score: 1

      Ah, but can you tell me where to find a webserver written for the original Bourne shell?

    5. Re:Next... by Anonymous Coward · · Score: 0

      It could be done easily enough with a TUN driver.

      No I'm not going to do it.

    6. Re:Next... by DrSkwid · · Score: 4, Interesting

      no problem

      %tcpserver 127.0.0.1 80 /home/www/webserver.rc

      --- webserver.rc ---

      #!/usr/local/bin/rc

      root = '/home/www/document_root'

      fn echo_response {
      echo 'HTTP/1.1 ' ^$response
      }

      fn echo_date {
      echo -n 'Date: '
      /bin/date
      }

      fn echo_content_type {
      echo -n 'Content-Type: '
      /usr/bin/file -m /usr/share/misc/magic.mime $path | /usr/bin/awk ' { print $2 } '
      }

      fn echo_content_length {
      echo -n 'Content-Length: '
      /bin/cat $path | /usr/bin/wc -c | /usr/bin/tr -d ' '
      }

      fn respond {
      echo_response
      echo_date
      echo 'Server: rc shell'
      echo_content_length
      echo_content_type
      echo 'Connection: close'
      echo
      /bin/cat $path
      }

      ifs = '
      '

      for (request in `{echo -n}) {
      url = $request(2)
      file = `{echo $url | sed 's/http:\/\/[^\/]*//' | tr -d \012}

      path = $root ^$file
      echo $path
      if (/bin/test -e $path) {
      response = '200'
      } else {
      response = '404'
      path = $root ^'/404.html'
      }

      respond
      }

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    7. Re:Next... by Pharmboy · · Score: 1

      how about an ms-dos .bat web server?

      I don't think that's gonna work. All you can call in a batch file is commands within your interpreter (usually command.com or 4dos.com) and exec files (*.com, *.bat, *.exe and others in windows only) The first thing you would have to do is have a command interpreter that wasn't a single user POS. Also, dos doesn't exactly have an easy way to talk tcp/ip or open a socket.

      I guess you could possibly write a quick basic program and run it in dos, but you are likely to need much more code than I would want to write. Not much cool factor in making DOS do much of anything anymore, either.

      --
      Tequila: It's not just for breakfast anymore!
    8. Re:Next... by RevAaron · · Score: 1

      It's also not easy for Unix shell to talk tcp/ip or open a socket- but there' still a webserver written in that.

      Writing a DOS batch webserver is definately possible. To get batch to get to the network, either a DOS port of tcpserver (used in a few weird webserver implementations, including a few in bash and sh as the means of doing tcp/ip) or inetd.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    9. Re:Next... by Pharmboy · · Score: 1

      the point is you wouldn't actually be doing it as a dos bat file, just like if you call Apache from a perl script, you still are not running a perl web server. The only way you could do it is with external program. I guess you could script the whole thing in a batch file with IF's but that is pretty far from the actual server itself being run in a command.com interpreter, which is what .bat files use.

      --
      Tequila: It's not just for breakfast anymore!
    10. Re:Next... by RevAaron · · Score: 1

      While the DOS batch file couldn't do the socket stuff, everything else would be done by the DOS batch file. Just like Unix shell script, it can do more than start other applcations. Using another utility to open a socket and use stdin as a link to the DOS batch webserver isn't cheating or anything. This utility wouldn't do any of the web stuff- no processing of the request, mapping it with the desired resource, and returning the data.

      Yes, this would all be done via a command.com interpreter. You could likely take the same approach as is used with the Unix shell versions.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    11. Re:Next... by Anonymous Coward · · Score: 0

      Shell script web-servers are old hat. I even wrote one with CGI support that's used on single-floppy linux firewalls to serve up log files, system stats, and even has a java applet to do real-time bandwidth monitoring: http://www.leaf-project.org/devel/cstein/Packages/ weblet.htm NOTE: The POST method is left unsupported, to intentionally discourage use of a shell script web-server to write configuration files. Charles Steinkuehler charles steinkuehler net

  15. Source code has no copyright notice by Mostly+a+lurker · · Score: 5, Funny

    Isn't he worried about someone else commercialising this?

    1. Re:Source code has no copyright notice by henrik · · Score: 2, Informative

      You don't need any copyright notice. You always own the rights to your original work no matter what.

    2. Re:Source code has no copyright notice by Anonymous Coward · · Score: 0

      I can see the pitch discussion now:

      "... so, as you can see, the original author of this amazing code didn't copyright his work. And, therefore, you can ....."
      "Greg ..."
      ".. you can imagine the enormous financial potential ..."
      "Greg ..."
      "... yeah .. yes, sir?"
      "You're fired, Greg."
      "....... yes, sir."

    3. Re:Source code has no copyright notice by isorox · · Score: 0, Flamebait

      SCO already own the copyright

  16. interesting by Anonymous Coward · · Score: 1, Interesting

    I'd like to see how this benchmarks on a 1Ghz modern processor or better. ANyone planning on setting this up and benchmarking it BEFORE posting it on slashdot?

  17. Please by niom · · Score: 1

    Somebody should implement a webserver using trained monkeys with abacuses. That should put an end to these "duct-tape and hamster webserver" boring stories.

    --
    -- Repeat with me: "There is no right to profits".
    1. Re:Please by Anonymous Coward · · Score: 0

      >> That should put an end to these "duct-tape and hamster webserver" boring stories.

      Hey, cool! Maybe I try this to cope with NY's recent power outage...

      Hmmm, on a second thought, it might be useful to have a spare hamster as "power backup". Also, if I train them to enter a running hamster wheel, I guess I can avoid reboots!

  18. I have the Basic source code for pre-DOS by Anonymous Coward · · Score: 0

    Pretty impressive. But I've got something better. I've got the Basic source code for pre-DOS. The one that Bill Gates "stole" from the dumpster.

  19. I can see it now... by lalonso · · Score: 0, Redundant

    Today Microsoft announced that it has contracted Lee Davison to write a brand new TCP/IP stack for upcoming versions of the Windows operating system, including Longhorn and a service release of Windows 2003 Server. "We hope that this ground breaking technology will usher in a new era of reliability and speed for our enterprise-level server products as well as our consumer operating systems," said a Microsoft spokesman....

    1. Re:I can see it now... by Idealius · · Score: 1

      lmfao.

      *sigh*

      It's funny because it's likely.

  20. Thanks! by Anonymous Coward · · Score: 0

    Thanks dude! I know what I'll do on this weekend now!

    1. Re:Thanks! by Anonymous Coward · · Score: 0

      Thanks dude! I know what I'll do on this weekend now!

      Masturbate incessantly?

      BT

  21. Not really that uncommon by i_really_dont_care · · Score: 2, Informative

    A lot of microcontrollers can be programmed in Basic-like languages. It's easy to write basic interpreters/compilers because of the limited features of the language. Remember that "pure" basic doesn't have a subroutine concept at all (besides the very limited GOSUB), and no local variables. Commercial PLC systems have been using Basic as the "high-level"-language of choice for ages. Though they are now more and more moving to IEC-61131-compatible languages like ST ("structured text") and graphical languages.

    1. Re:Not really that uncommon by AndroidCat · · Score: 1

      If by '"pure" basic', you mean Microsoft, that's probably correct, however I'm pretty sure DTSS BASIC 6th edition (i.e. original) had full subroutine calls (and was compiled).

      --
      One line blog. I hear that they're called Twitters now.
    2. Re:Not really that uncommon by reallocate · · Score: 1

      You're confusing "pure" BASIC with line-numbered BASIC from a quarter century ago. ANSI BASIC or any commercially available dialect have long supported true procedures, functions, etc.

      --
      -- Slashdot: When Public Access TV Says "No"
    3. Re:Not really that uncommon by i_really_dont_care · · Score: 1

      You're confusing "pure" BASIC with line-numbered BASIC from a quarter century ago. ANSI BASIC or any commercially available dialect have long supported true procedures, functions, etc.

      Infact, I ment the old Basics as implemented on the Amstrad/Schneider CPC, the ZX spectrum, the early IBM PCs (GWBASIC/BASICA), the C64 etc. After all, these were the "golden times" of Basic.

      At the time where BASIC interpreters/compilers actually got all the fancy features, it was already dying (replaced by Turbo Pascal f.e.)...

    4. Re:Not really that uncommon by reallocate · · Score: 1

      How could BASIC be "dying" at the same time it was adding all those other features? No one applies similar logic to other languages.

      Condemning today's BASIC's because they are much advanced over their 1970's predecessors is equivalent to condemning keyboards and video displays for replacing punch cards.

      --
      -- Slashdot: When Public Access TV Says "No"
    5. Re:Not really that uncommon by i_really_dont_care · · Score: 1

      How could BASIC be "dying" at the same time it was adding all those other features? No one applies similar logic to other languages.

      Back in the days where the OS was stored in a ROM and the command line was effectively a BASIC interpreter, BASIC was _the_ language to code in (on my old Amstrad, I had Word Processors, Games etc., all written in BASIC). Today, most serious commercial software is written in another language (like C, Delphi etc.). Basic is used only for scripting, shareware and in-house apps (e.g. business logic in Visual Basic). And even here it gets more and more competition from new languages like Java, C#, Python etc.

      So in short, compared to its former popularity, Basic has died.

    6. Re:Not really that uncommon by GigsVT · · Score: 1

      Does no one use Delphi anymore?

      I'm curious, because we recently puchased a large commercial (expensive) payroll system that is written in Delphi (it also happen to be a buggy pile of shit).

      We also have one other commercial app we bought written in Delphi (it's OK, but the installation process is complex, and it seems to break easily if you change anything).

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
    7. Re:Not really that uncommon by reallocate · · Score: 1

      Primitive BASIC's were available in ROM on a few early consumer PC's -- Apple/Atari/Commodore -- because they were small (because they were primitive) and because they typically provided file handling capabilities, thereby either eliminating the need for an OS or reducing its footprint.

      I'll agree that most commercial shrink-wrapped applications aren't written BASIC, but those apps represent a small segment of the market compared to "scripting, shareware and in-house apps". (If the shrink-wrapped market was the only one available to developers, there'd be very few developers.) Many of those "business-logic" apps are written in Visual Basic or some other BASIC. Why? Because the language is capable, easy to understand, appropriate to the task, and well supported by modern tools. Why would a BASIC developer switch to another language if that meant downtime for study, slower deliveries to customers, and no increase in useful capabilities?

      --
      -- Slashdot: When Public Access TV Says "No"
  22. Good agains DOSS attacks by acegik · · Score: 1

    This server might be the soltution for DOSS attacks since he will responde too slowly to the request - its like an old man in the supermarket, takes his time and doing his job :D

  23. Oh good... by WWWWolf · · Score: 1

    I was looking at the 6502 part and immediately thought "Commodore BASIC". So they made their own BASIC interpreter, very cool!

    And since they made a custom BASIC, I had to take a look at the language reference. To be honest, it doesn't look that much advanced compared to Commodore BASIC v2 (apart of being custom-made and thus being way cooler), apart of some interesting machine language-related functions (word poke/peek). It may be whole lot better engineered and more efficient than the Microsoft-Commodore monstrosity, but there sure aren't that much more language features. You know, the kind of BASIC that Dijkstra called "mental mutilation", not the ones that are produced today.

    So, it seems like a limited BASIC interpreter, which makes coding this server thing extremely impressive.

    Back 15-10 years ago I was coding simple text adventures in Commodore Basic. Those worked just fine. A few months back I got a crazy idea to code a Tetris clone. That was painful. Very painful. Especially to someone who has, during these long years, got used to luxuries offered by C and Perl - simplest example of these would be local variables and named+parametrized subroutine calls.

    A homebrew BASIC interpreter is nice, while it's a shame it's not as feature-packed; Writing a server in this thing is amazing.

    1. Re:Oh good... by AndroidCat · · Score: 2, Informative
      You might want to do a search on "Tiny Basic". After BillG wrote his snooty anti-piracy letter way back when, some of the first open source projects were a number of Tiny Basic interpreters. (It's how Dr. Dobb's got its start.)

      They were slow and limited, but playing with them and extending them was a great way to learn. After those came the Small C compilers--never looked back.

      --
      One line blog. I hear that they're called Twitters now.
    2. Re:Oh good... by Hakubi_Washu · · Score: 1

      simplest example of these would be local variables and named+parametrized subroutine calls YOu haven't had a look at BASIC a really long time... Even evil M$ QBasic has had those for years :-)

    3. Re:Oh good... by WWWWolf · · Score: 1

      Let me clarify: I tried coding again in the same Commodore Basic that I had been such an integral part of my programming hobby since the early days.

      Since those days, I have coded in many many languages, including QBasic and VB, and noted that most new BASICs indeed do not suck (at least not as much as the old BASIC).

      Commodore BASIC v2, on the other hand, has not got all neat programming constructs, mostly because it obviously has been sitting in the same ROM chip all these years with no upgrades. It was still the same, limited, SLOW and painfully programmable interpreted heap of junk I so much loved back in the day.

      In fact, Commodore BASIC was the only steaming heap of junk BASIC that Microsoft has ever produced. I was surprised to learn that a company known for producing more or less brilliant BASIC interpreters had produced that garbage, but obvious solution was given... They were not the ones designing it - C64 BASIC was designed to be 100% compatible with PET BASIC.

  24. Damn by (insert+nick+here) · · Score: 0, Flamebait

    Why can't everyone just agree that BASIC is dead, should stay dead and preferably staked through the heart?

    I personally can't see any use at all for BASIC.

    1. Re:Damn by Dogtanian · · Score: 2, Interesting

      Why can't everyone just agree that BASIC is dead, should stay dead and preferably staked through the heart? I personally can't see any use at all for BASIC.

      I'd probably agree with you on that one.... but it's interesting to note that many of the commonly-criticized features of Basic were the result of memory-kludges and featuritis, that the original designers of Basic did not approve of at all (according to their book 'Back to Basic').

      Unfortunately, I don't have the book to hand to check out the details, but here's a link to it anyway.

      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
    2. Re:Damn by Mr.+Tokyo · · Score: 1

      You have to be a true old school hacker to appreiciate his work. Sure BASIC is dead, but just imagine what this guy can do in C.

  25. scripting language by slartibartfastatp · · Score: 1

    the first-choice scripting language would be basic. no, it would be too slow. maybe 6502 assembly... ;)

    --
    -- --
  26. Just tell me how... by dubbayu_d_40 · · Score: 1

    ... 'stack' is in any way appropriate to describe TCP drivers.

    1. Re:Just tell me how... by Atzanteol · · Score: 1

      The 'stack' refered to is typically the OSI stack. The TCP/IP protocols are built on top of other layers (being parts of the layers themselves).

      See here for more info.

      --
      "Ignorance more frequently begets confidence than does knowledge"

      - Charles Darwin
    2. Re:Just tell me how... by Anonymous Coward · · Score: 0

      TCP sits on top of IP, which in turn sits on top of another link layer (e.g. ATM, ethernet, PPP).

      Stack.

  27. I must be getting rusty. by mhandlon · · Score: 5, Funny

    I've looked at assembly and not understood it, I've looked at C and not understood it, and I think every time I have looked anything in perl I've not understood it. But, now the unthinkable has happened and I've looked at basic and not understood it.

    --
    Nyquil = Nectar of the devil
    1. Re:I must be getting rusty. by Bake · · Score: 1, Funny

      I think every time I have looked anything in perl I've not understood it.

      That's not being rusty, that's being normal. :-)

    2. Re:I must be getting rusty. by el-spectre · · Score: 1

      As a Perl hack, I think I'll take that as a compliment!

      --
      "Faith: Belief without evidence in what is told by one who speaks without knowledge, of things without parallel." - A.B.
  28. data statements by magarity · · Score: 5, Informative

    It's the chuncking through those data statements at the end that helps really beats up performance. Defining all those as strings at the beginning will ameliorate that problem.

    1. Re:data statements by Atzanteol · · Score: 1

      He may not have the memory to do all that though. He doesn't mention what exactly he's running on (sounds like a Commodore, but I could be wrong).

      --
      "Ignorance more frequently begets confidence than does knowledge"

      - Charles Darwin
    2. Re:data statements by bhtooefr · · Score: 1

      RTFA. It's a SuprChip V with EhBASIC, an AT keyboard port driver, an LCD driver, an ISA slot (for the network card), etc., etc.

    3. Re:data statements by Atzanteol · · Score: 1

      I hadn't seen that page (looked at the others). But, that still doesn't tell me how much RAM the system has.

      --
      "Ignorance more frequently begets confidence than does knowledge"

      - Charles Darwin
    4. Re:data statements by bhtooefr · · Score: 1

      Unless he's using page swapping, 64K.

    5. Re:data statements by Allitnil · · Score: 1

      that still doesn't tell me how much RAM the system has.

      32k RAM $0000 - $7FFF
      32K ROM $8000 - $FFFF
      32K NVRAM on the I2C bus to SAVE/LOAD basic programs to/from

      Lee.

  29. Memories. by CFBMoo1 · · Score: 1

    Oh this just takes me back.. Back to when I was in elementry school in the early 80's and working on an old NCR with two 5.25" floppy disk drives. Coded a text RPG on that in basic with two full levels.

    Then I got a Radio Shack color computer 2 with a tape cassette drive and a thermal printer that made like a cash register tape. Also had a nice 13" color tv monitor to hook it to. Luxury computing... mmmmmm... 16k of memory.

    Coded a light cycles of Tron game on that cause I got tired of plopping quarters in the arcades. My elementry school teacher never got over the day I handed her a roll of paper that looked like a grocery reciept when it was actually a typed and printed book report from my Coco2. :D

    --
    ~~ Behold the flying cow with a rail gun! ~~
    1. Re:Memories. by Mr.+Tokyo · · Score: 1

      LMAO! Grocery reciept book report. I can see it now.

    2. Re:Memories. by Anonymous Coward · · Score: 0

      I did the same thing back in jr. High school, at the time home computer printers were so rare, the teacher couldn't get over how "smart" I was. I didn't want to tell her I was just lazy and didn't want to write it out on paper.

  30. I don't know, guys... by Talia+Starhawke · · Score: 1
    from the rebirth-of-the-line-editor dept.

    Sounds a bit more like it should be from the "reinventing-the-wheel dept."

    --
    +5, Female ;)
  31. Brainfuck webserver? by fezadow · · Score: 1


    That BASIC stuff is boring (eg too easy to understand <g />)...

    Has anyone seen a webserver written in brainfuck yet? That would be real fun!

  32. Sweet Deal by tomakaan · · Score: 1

    It's interesting just because of the fact that it can be done. Impractical, but I'd be interested in seeing what else he can do with this thing (since he states that it is not finished yet, and just provided as a proof of concept). I don't forsee it ever becoming practical.

    What makes me laugh is that when I was using BASIC, I was printing a man to the screen as he went through the positions of a jumping jack. Clearing the screen after each position made it seem as though he was doing a jumping jack because of the processing speed.

    It's amazing what some people will do to waste...errr, entertain themselves.

  33. What next? by hak+hak · · Score: 1

    So what's the next revolution? A web server written in Brainf**k?

    1. Re:What next? by glenstar · · Score: 1

      Hm... I had a project quite some time ago called PyFuck that translated Brainfuck into obsfucated Python. There were a few extensions such as a mechanism for importing Python modules. I should dig it out and write a web server in it. Or, I could not. I think I won't. 10 screens of +++>---+ would give me boils.

  34. EhBASIC by iantri · · Score: 5, Funny

    And here I was thinking this was some sort of obscure Canadian BASIC..

    1. Re:EhBASIC by Anonymous Coward · · Score: 0

      I've just looked at the source (and saved it), gonna have a go at translating it for my Sinclair +3 (shouldn't be too difficult) with its 9600 baud modem... atlast! Some good use to put all those old boxen to! Now I won't have a static museum anymore!

      Next:...
      Imagine a Beowulf cluster of... aw, fergeddit!

  35. BBC Basic was like that by DrSkwid · · Score: 4, Interesting

    inline-assembler
    definable functions
    re-entrant procedures

    http://www.bbcbasic.com/

    Sophie Wilson did a great job and did anyone at school in the UK who was interested in computing the biggest favour of all - she gave us the gift of learning structured programming from day 0

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    1. Re:BBC Basic was like that by iamacat · · Score: 1

      Although I would hate to use a language without structured features, I hope its not imposed on students from day 0. A square equation program doesn't really need functions to be readable. Let them make spagetti code long enough to hang themselves first, then introduce structured programming as a way to simplify it.

      By the same token, only someone working on a very big project can appreciate OOP.

  36. EhBasic? by headkase · · Score: 4, Funny

    When I first read its name, I thought it was Canadian. :)

    --
    Shh.
    1. Re:EhBasic? by Anonymous Coward · · Score: 0

      No, no no. The Canadian version would be BasicEh. There's also CEh, C++Eh, JavaEh and the admiral PerlEh. There's also .NetEh.

    2. Re:EhBasic? by Anonymous Coward · · Score: 0

      BasicEh would be Canadian Back Basic.

  37. My Comment by retrogramer · · Score: 1

    Whoever wrote that must have had a lot of spare time on their hands! I can't even get a simple game to work in BASIC without LOTS of debugging of problems that are problems because of the stupid nature of the language!

  38. BasicX Server by SiliconRedox · · Score: 1

    This reminds me of a similar project I did about 6 months ago. A Webserver on the Bx24 microprocessor. The whole system fit on a 1.5 inch by 3.5 inch breadboard and served pages off of an EEPROM. The TCP/IP stack was handled by the ethernet controller thank god, but that made room on the processor for a really lame inline assembly like script that could embed into pages being served. Here is the only picture of the server I can find

  39. Note to self... by Pedrito · · Score: 1

    Don't write TCP/IP stacks and web servers in Basic!

  40. Not new by wumpus188 · · Score: 4, Informative

    Actually, Parallax was doing this since what... 1992? They got TCP/IP stack for their BasicStamps too. But of course, their stuff runs a bit faster than 1MHz... :)

  41. it isn't complete by BoneFlower · · Score: 4, Funny

    Until it breaks mozilla while running fine in IE.

  42. If The Open Source Crowd Invented BASIC Today... by reallocate · · Score: 1, Flamebait

    This story will surely provoke a batch of silly and ignorant BASIC-bashing posts from people who think learning about programming stops when they choose a language, but consider:

    Suppose BASIC didn't exist, and some contemporary open source developer released a full-blown compiler for a language equivalent to ANSI BASIC, or the dialect supported by PowerBasic, or even Visual Basic. Some folks, I imagine, might like what they see.

    --
    -- Slashdot: When Public Access TV Says "No"
  43. Basic Rulz by Anonymous Coward · · Score: 0

    OK so all you youngsters have been raised on these unreadable to regular folks languages like C (where you, yes you, get to be the frigging precompiler and speak the machines language rather then the other way around) may think they're the cats whiskers, but for an old fart like me who was raised on process based code it's nice to see someone still doing clever stuff within the limitations of a language. Fact is that for all this fancy (read silly) argument about object oriented vs. procedure oriented vs. whathave you oriented languages, to the machine it still looks like 10111010 10101011 00101110. The rest of the debate is about how well the langague is readable to humans and how easy or hard it is to code some particular function. If you like languages that make you do most of the work and write code that requires days to read even simple functions (if written by some other programmer) then more power to you. Me, I vote that it's lazy compiler writers that have sluffed off the work on you. If you want to work that hard then program in Assembly by all means. I like Basic, I've yet to find a damn thing that can't be done in it, and it's written the way HUMANS think, not computers. I want my source readable, it's the compilers job to make it nice for the computer. So feeeeggghhh to you Basic bashers.

    P.S. I started writing code in RPG. As far as I'm concerned BASIC was a God Send.

  44. security vulnerability by Hubert_Shrump · · Score: 1

    This doesn't even cover buffer overruns > 64K -- man, that's weak.

    --
    Keep your packets off my GNU/Girlfriend!
    1. Re:security vulnerability by Sigma+7 · · Score: 1
      This doesn't even cover buffer overruns > 64K -- man, that's weak.

      Last time I checked, Basic always implemented a form of bounds checking - including the Microsoft QBasic that was distributed with MS-DOS.

      Depending on the type of overflow, the error message is either "String too Long" or "Subscript out of range". The only way a buffer overflow can occurr is if the program uses pokes into memory to store a buffer - which this "web server" does not do.

    2. Re:security vulnerability by Hubert_Shrump · · Score: 1

      I was referring to a packet larger than addressable memory...

      Probably not that funny, anyway.

      --
      Keep your packets off my GNU/Girlfriend!
    3. Re:security vulnerability by Allitnil · · Score: 1

      It does, it ignores anything bigger than one ethernet packet.

  45. R *this* FRFC. by L.+J.+Beauregard · · Score: 4, Informative
    There are more special IP ranges than the private network ranges in RFC 1918. They are documented in RFC 3330. The one in question is:

    169.254.0.0/16 - This is the "link local" block. It is allocated for communication between hosts on a single link. Hosts obtain these addresses by auto-configuration, such as when a DHCP server may not be found.
    --
    Ooh, moderator points! Five more idjits go to Minus One Hell!
    Delendae sunt RIAA, MPAA et Windoze
    1. Re:R *this* FRFC. by oldmildog · · Score: 2, Funny

      Ah, good link. Thanks. I always thought Microsoft pulled that IP address out of their ass for workstations that can't reach the DHCP Server. MS following an RFC... what a crazy world.

      --
      They have the Internet on computers now?
    2. Re:R *this* FRFC. by Anonymous Coward · · Score: 0

      HAHALOLLERS M$ si teh bad!

      You disgust me.

  46. oops, wrong version by DrSkwid · · Score: 4, Interesting

    unlike the others I wrote mine from scratch in response to the post

    sadly I posted a slightly wrong version

    here's the one that works

    http://www.proweb.co.uk/~matt/rc/webserver.rc

    it's only a toy, of course.

    http://server/../../../../../../etc/passwd

    will get you the passwd file

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  47. that's nothing. by stew77 · · Score: 1

    If that impresses you, what do you think about the C64 streaming server? It's not in BASIC, but it's running on about the same CPU (the C64's 6510 is a 6502 with additonal lines for the tape recorder).

  48. This makes no sense. by Anonymous Coward · · Score: 0

    I mean, c'mon: BASIC ... must be pretty hard to write code with buffers overflows which is obviously needed in a TCP/IP-stack.

  49. Am I the only one by pommiekiwifruit · · Score: 2, Funny

    Who saw that and thought lda #254, $e2 - wtf, illegal opcode? :-)

  50. There should be a prize... by sverrehu · · Score: 2, Interesting

    ... for stuff like this. The annual Totally worthless, 100% hack value, too-much-geek-time-to-spare prize. And the 6502 BASIC TCP/IP stack-based web server should be the first winner.

  51. Well... by theTerribleRobbo · · Score: 0

    ...Go on then. Post it up.

    You know you want to.

  52. Pfft. by theTerribleRobbo · · Score: 0


    Better yet, write one in F*ck F*ck.

    You know you want to.

  53. clarification by MegaFur · · Score: 2, Interesting

    It's worth mentioning that, for the C64/128 at least, you could actually have variable names longer than two characters but only the first two characters would be recognized. All the rest were ignored. By way of example, here's a made up code sample. Since my C128 is currently in the closet, I can't guarentee this example's accuracy. Some other pedant may wish to.

    Example
    10 LET FROGS = 16
    20 LET FRAGGLE = 12
    30 LET FRANCE = FROLLIC * FROBNITZ
    40 PRINT FROGS

    Output: 144

    --
    Furry cows moo and decompress.
    1. Re:clarification by GigsVT · · Score: 1

      You are right, I had forgotten. I only remembered seeing long variable names.

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
  54. Are you kidding? by iamacat · · Score: 1

    VB is alive and well, and used for pretty much the same reason as original BASIC - simplicity. Although there are many additions, old stuff still works. The other day I "fixed" a friends program with some old fashioned for loops and labels.

    1. Re:Are you kidding? by pla · · Score: 4, Insightful

      VB is alive and well, and used for pretty much the same reason as original BASIC - simplicity.

      I would agree it still lives, but disagree about your reasons...

      VB strips away all the simplicity normally present in BASIC, in that if you know basic, you don't necessarily know VB (very similar to C vs JAVA... They have very similar atomic statements, but the different paradigm makes proficiency in one not map 1-to-1 to the other).

      VB excels in making pretty GUIs under Windows. I have yet to find a language that makes creating a spiffy user interface anywhere *near* so easy. People rave about JAVA for GUIs, but I would say that, line-for-line, it takes just as much work as using pure Win32. Tk does fairly well, as long as you like the system default of everything, but if you want more control, it makes you jump through all sorts of unpleasant hoops. But VB... Just no way to beat its level of GUI-oneness.

      Unfortunately, it crawls when it comes to execution speed. I remember writing an app for a professor back in college, did nothing but text processing and a few simple stats to compile student evaluation surveys. Running through a list of only 30-50 students took almost two minutes. Incidentally, I prototyped it in C (but he wanted a spiffy GUI, and I hadn't yet mastered raw Win32), and the same thing would finish in well under a second.

    2. Re:Are you kidding? by h0ss · · Score: 1
      I have yet to find a language that makes creating a spiffy user interface anywhere *near* so easy.

      If you ever have a couple hours free near a modern mac with the developer's toolkit, take a look at Interface Builder/Project Builder. Particularly with Applescript.

      It's really easy. Pathetically so. I know that a lot of people won't have the ability to check it out, it being a mac-only app, but it's worth the trouble if you have a chance.

    3. Re:Are you kidding? by listen · · Score: 1

      Try:

      QT Designer
      Glade
      Interface Builder
      etc etc.

      GUI Builder != VB. In fact, VB has just about the worst GUI builder still in serious use.

      VB is a nightmare. It is not simple in any way at all, and leads most to produce the worst and least usable guis possible.
      Execution speed wise - there are tons of gotchas that will slow you down. Messing with big strings is one. Its really not predictable unless you spend ages researching it. VB use in any area is a sign of brain damage.

      Raw Win32 API is an interesting way to fuck up your brain. I wouldn't recommend it, very little requires it. Use a real toolkit, eg QT if you like C++ or SWT if you are Java bound( which has no free gui builder...yet ). wxWindows is also not bad. QT is probably the most complete solution, but for commercial stuff its pricey.

    4. Re:Are you kidding? by Hethcox · · Score: 1
      The Mac tools are great, but, I still find that the best tools only make 85% of a GUI job pleasant. That last 15% is a grind.

      Speaking of the old school (we were weren't we?), those spiffy Mac apps were part of NeXTStep back in the day. I could bang out interfaces that made the jaws of my fellow developers -sadly using X- hit the floor like a hammer.

    5. Re:Are you kidding? by pla · · Score: 1

      VB is a nightmare. It is not simple in any way at all, and leads most to produce the worst and least usable guis possible.

      Pehaps I've simply never used anything better (entirely possible, as most of my work involves embedded code or performance-over-appearance work, thus not all that much time spent in evaluating packages for prettyness), but I really didn't find VB all that bad. You just lay out your window in an almost MS-Paint-like interface, and poof, it all automagically works at runtime. VC and BCC have similar GUI builders, but take quite a lot more work to interface with it in the code itself, assuming you want more than a trivial popup window.


      Raw Win32 API is an interesting way to fuck up your brain. I wouldn't recommend it, very little requires it.

      Actually, compared to MFC, Win32 saves more sanity than it costs. Now, I'll admit, I'd rather avoid it whenever possible, but in terms of making Windows do what I want rather than what it thinks I want, Win32 fits the bill nicely. Of course, I've written a few stubs I always import to just pass NULLs to 90% of the parameters of some of those hellaciously long function calls (try setting a font - Oy), but that makes more a matter of aesthetics than a real programming-related problem.


      But, lest you get the wrong idea - Overall, I tend to consider GUIs a complete waste of time in 99% of programs (really, I don't need to have a button to press just for the sake of having a button to press - If I bother to start the program, I really do want it to run). If you need some crude graphics capabilities, just usurp the handle of your console window and treat it like the whore of a frame-buffer you really wish Windows made more easily available. So take my opinions of tools for making GUIs with a grain of salt. ;-)

    6. Re:Are you kidding? by Anonymous Coward · · Score: 0
      The other day I "fixed" a friends program

      Methinks you got the double quotes three words too soon...

  55. Vic-20 by FattMattP · · Score: 0, Offtopic

    Finally, a use for my VIC-20.

    --
    Prevent email address forgery. Publish SPF records for y
    1. Re:Vic-20 by FattMattP · · Score: 1

      Offtopic? VIC-20's have a built in basic interpreter.

      --
      Prevent email address forgery. Publish SPF records for y
  56. PowerBASIC by arashiakari · · Score: 2, Interesting
    I use PowerBASIC every day. It is the best Win32 (soon to be cross-platform) compiler I have ever seen. And yes, it has TCP/IP stack. :) Being a 32-bit compiler it using OS APIs to create TCP/IP connections.

    I use it in conjunction with .NET and ANSI C. Check out their company history for some background then take a look at the delicious capabilities of their Windows and Console compilers.

    They also have a kick-ass DOS Compiler that has put dinner on my table for years. As we know, many people are still using DOS and DOS-mode apps every day.

    When looking at PowerBASIC you have to get rid of any preconcieved notions of BASIC or how it has been implimented in the past. PowerBASIC is a dream to use, has a huge community, and compilers smaller and faster than most ANSI C programs I've seen. Also, check out their partial client list - you'll be in good company.

    No, I do not work for them. I am a loyal customer and a geek that loves cool stuff. PB delivers.

  57. DoS attacks in BASIC? by dysprosia · · Score: 0, Redundant

    10 PING WEBSITE 20 GOTO 10 I shudder at the thought! ;)

  58. Re:Cowabunga! Nope! by UncleRoger · · Score: 2, Informative

    Somebody needs to attend the Vintage Computer Festival! The TRS-80 Model I, II, III, 4, et al used the Z-80, not the 6502. Unless you mean the Color Computer, which (iirc) used the 6809. There was another one (Model 6000?) that used the 68000, iirc. But no 6502's.

    --
    Stupid people will be persecuted to the fullest extent allowed by law.
  59. Why so "impossible"? by ant_slayer · · Score: 2, Informative

    Okay, I recognize the value of doing this (as a hobbyist myself). The fortitude required to accomplish such a feat is noteworthy. However, I have noticed a strange trend in these kinds of posts on Slashdot. Why do so many people respond with comments like, "I didn't know it could be done!"?.

    Technically, all of these languages are mathematically reducible to Turing machines. Thus, they are all *technically* able to perform the same tasks (ok, sure, you might have to extend your interpreter/compiler to handle things like syscalls, but hey, it's within the scope of reasonability). We could effectively use any programming language to produce any program. If the first web server is written in C, then by mathematical extension, we know that it could also be written in Perl, Forth, Fortran, and even BASIC. The difference is just that it might be a royal pain.

    I don't mean to denigrate the work this guy did -- in fact I'm amazed that he did it. But I'm not amazed *that it's possible*.

    What should elicit such responses? If the guy wrote a web server in HTML (a markup language). That is theoretically impossible. There are all kinds of languages that are not reducible to Turing machines -- make a web server using nothing but regular expressions and *I'll* say "Wow, I didn't know that was possible!"

    -Josh O-

  60. what basic did you use? by way2trivial · · Score: 1

    two letter variables? not in my basic
    and what about "on gosub" ?

    --
    every day http://en.wikipedia.org/wiki/Special:Random
  61. java days and pip by goombah99 · · Score: 1
    back in days of yore you used to load the language by hand (say off of a tape, after toggling in the boot loader by hand) or had it pre-loaded on cd rom. then you wrote or loaded a program in the language that was the operating system.

    any one remember PIP on the altair?

    in any case when java came along I bet that one reason MS saw it as a threat was that between java and a browser you really did not need to have an OS at all. you just needed to have the computer wake up in java and then write the OS or load OS du jour written in java. applications would be simply forked java jobs. java would be doing all the system level connection.

    you might say that well java was now the OS. that i'm just playing word games here. but if that were really true then why did you have to pay 200$ to microsoft for your Windows operating system but you got JAVA free? if you could replace the OS with java then well redmond is out of the OS bussiness.

    not a pipe dream at all since that's how it all began way back when

    --
    Some drink at the fountain of knowledge. Others just gargle.
  62. Get this man some Venture Capital! ;) by Not_Wiggins · · Score: 1

    I can just see the business plan around this thing...
    if it had happened pre-year 2000:

    Business-Guy: "See... we can pick up a bunch of these Z80's from the local electronics store for about $3 a pop, slap them together into a cluster config, and advertise that our webservers are not only CLUSTERED, but have a failure rate MUCH less than IIS and Apache combined! Here's how we make that claim: if on average (pulls number out of fanny) 1 in every 50K pages fails to display, it'll literally take us 2.8 years before we have a single failure!"

    Venture-Capitalist: "GENIUS! Here's $50mil in money from blue collar workers... we expect brochures by next year!"

    ;)

    --
    Diplomacy is the art of saying, "Nice doggie!" until you can find a rock.
  63. Woohoo by Anonymous Coward · · Score: 0

    Yeah, we need more BASIC systems programmers. Maybe they'll rewrite both Visual BASIC and Windows in Visual BASIC next. Hey, does Visual BASIC implement POKE and PEEK? That would be really kewl.

  64. Violating our IP by el_jake · · Score: 1

    Hey the code are violation our intellectual property!

    I can't tell you which line, but GOSUB 10000 and the command REM are violating our IP..!!

    Watch out.
    (btw. you may license the use of REM for a small fee)

    McBeef

    CEO

    (TDP)-1

    --
    In order to form an immaculate member of a flock of sheep one must, above all, be a sheep.
  65. BASIC Webserver by gmcclel · · Score: 2, Interesting
    There is a production webserver written in ProvideX (a Business Basic dialect). It's been around for 4-5 years. I use it for my Kevin & Kell website. The main index.phtml page looks like:
    master=hfn
    open (master)"file"
    first_strip$=kef(master)
    today=jul(0,0,0)
    last_strip$=dte(today:"%Yl%Mz%Dz")
    if len(current$)=0 or current$>dte(today:"%Yl%Mz%Dz") {
    current$=dte(today:"%Yl%Mz%Dz")
    }
    get_desc:
    read (master,key=current$,dom=*next)*,kkdesc$; goto GOT_DATE
    [...]
    --
    --- Gary McClellan
  66. HA HA by Anonymous Coward · · Score: 0

    You are teh funny

    1. Re:HA HA by Anonymous Coward · · Score: 0

      Yes, yes I am. I am teh funneh supreem!!!!112

  67. HA HA by Anonymous Coward · · Score: 0

    You are teh funny.

  68. Re: i and j by dbremner · · Score: 1

    The use of i and j as loop counters come from Fortran. Fortran IV had implicit typing based on the first letter of a variable name. I - M were implicity integer. I think of i and j as variables for when the language is too low-level to have foreach.

    --

    Life is a psychology experiment gone awry.
  69. Re:Cowabunga! Nope! by Anonymous Coward · · Score: 0

    It's a Model 1, Level 1. I'm using the cassette port to talk with my cable modem.

    Translating to Z80 op codes is no big deal, I just convert to Zilog as I'm entering the text. And I have 4k of linear address space to work with!

  70. When is a 404 not a 404? by MattBurke · · Score: 3, Insightful

    34040 DATA "HTTP/1.0 200 OK",$,"Content-Type: text/html",$,$
    34041 DATA "<HTML><HEAD><TITLE>Error 404</TITLE></HEAD><BODY BGCOLOR=#"

    is it just me who's spotted that the 404 page isn't really a 404? ;)

    1. Re:When is a 404 not a 404? by MicroBerto · · Score: 0

      Well, yes and no. What he did was flip the two fours, so that it's a 404 instead of a 404. So it's a bit different.

      --
      Berto
    2. Re:When is a 404 not a 404? by Alsee · · Score: 1

      34040 DATA "HTTP/1.0 200 OK ",$,"Content-Type: text/html",$,$
      34041 DATA "Error 404

      It TEXT on the page says "Error 404", but the page itself is actually HTTP/1.0 200 OK. As far as your browser is concerned the requested page exists and was properly served. Caches, proxies, and spiders such as Google will all believe it is a normal error-free page.

      It's like a 25 watt lightbulb with the text "100 watts" printed on it. That doesn't make it a 100 watt bulb any more than the text "Error 404" makes it an actual error.

      -

      --
      - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
    3. Re:When is a 404 not a 404? by Allitnil · · Score: 1

      is it just me who's spotted that the 404 page isn't really a 404? ;)

      Oh! Oh! Me! Me! Me! I spotted it as well!

      8^)=

      Lee.

  71. Nooooooooo by cnb · · Score: 2, Funny

    A server written like...

    1248 goto 10

  72. VB not slow by drodver · · Score: 1

    The VB compiler makes very efficient compiled code. The reason why your program was slow is that string operations become extremly expensive on large strings. Namely building a large string from many different small pieces in a loop is murder. Some examples:

    Sloooow:
    For lIndex = 1 to 10000
    sLarge = sLarge & sSmall1 & sSmall2 & sSmall3
    Next lIndex

    As sLarge grows copying it gets more and more expensive. In this example sLarge will be copied three times as each small string gets appended in turn.

    2-3x faster:
    For lIndex = 1 to 10000
    sLarge = sLarge & (sSmall1 & sSmall2 & sSmall3)
    Next lIndex

    Using parens to group the small strings means the three small ones will be first formed into one string before being appended to sLarge, meaning space for sLarge is only reallocated once.

    The really fast way to build large strings in VB is to keep them in small chunks in an array of fixed size strings and when done assembling do a Join.

  73. Welcome Apache ATARI 800 server by Pepebuho · · Score: 1

    Let's port the Apache server into the ATARI 800 and do some serious web gaming.

  74. Inevitable quote [with some additions] by maroberts · · Score: 1

    Imagine a Beowulf cluster of these!

    Ok, this has been said before but then I thought of an application...

    Next time Slashdot points to your web site, have a primary web server redirect the duty of serving the web page to one of a beowulf cluster of these. Because of the intrinsic delay your site won't be Slashdotted. K00l!!

    --

    Donte Alistair Anderson Roberts - hi son!
    Karma: Chameleon

  75. This story reminds me of.... by shortscruffydave · · Score: 1

    The web server at humanclock.

  76. I hope he cut a deal with SCO by RedlumF · · Score: 1

    He better have cut a deal with SCO before going public. Can you imagine the license that SCO would want for such a thing?

  77. First Contiki, then XGamestation, and now this... by master_p · · Score: 1

    Since so many people have so much free time, why don't they do something useful, instead of hacking out such impractical applications ? Linux is in need of many things.

  78. Re:If The Open Source Crowd Invented BASIC Today.. by RevAaron · · Score: 1

    I can't help but laugh when someone makes a post like this- and folks moderate it as Flamebait. I mean, the content of the post is obviously true, and moderating it as flamebait only confirms this. Slashduh- gotta love it!

    --

    Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  79. Re:If The Open Source Crowd Invented BASIC Today.. by reallocate · · Score: 1

    I usually don't even notice if one of my posts is moderated (What the hell is moderation anyway, and why would anyone care?), but you're right -- this is especially silly. Sort of illustrates that this is a cult (there's only one way to think) and not a community.

    Somehow, I can't get rid of this image of some 19-year old sophomore slouched over a keyboard in his room in the dorm...

    --
    -- Slashdot: When Public Access TV Says "No"
  80. Your Own HTML in Lines 32--- by Anonymous Coward · · Score: 0

    I note that one can place their own HTML for the web page in lines 32000 up, and that there is a misspelled word in line 32004.

    1. Re:Your Own HTML in Lines 32--- by Allitnil · · Score: 1

      and that there is a misspelled word in line 32004

      Awwww crap!

      Lee.

  81. Concerning Karma by process · · Score: 1

    Offtopic, yes I know.
    Anyhow, writing a web server in basic should qualify for som karma points! =)

    --
    computers let you make more mistakes faster, with the possible exception of handguns and tequila.
  82. Wow! by HeadHits · · Score: 1

    Now my Apple ][ plus can serve web pages!

  83. This explains everything by extrasolar · · Score: 2, Funny

    I know rusty was trying to cut costs on kuro5hin.org, but this is rediculous.

  84. This has already been done. by Anonymous Coward · · Score: 0

    It's called IIS.

  85. You gotta dumb it down... by Baloo+Ursidae · · Score: 1

    Look, if you're going to talk networking to a programmer, you gotta simplify it in terms they can understand.

    --
    Help us build a better map!
  86. chrooted version by DrSkwid · · Score: 1

    So I pondered and decided to investigate chroot
    I had to make the following tree ./bin ./bin/tcpserver ./bin/webserver.rc ./bin/cat ./bin/date ./bin/head ./bin/tr ./bin/wc ./bin/awk ./bin/magic.mime ./bin/file ./bin/test ./bin/rc ./bin/ls ./bin/server.rc ./bin/sed ./document_root ./document_root/index.html ./usr ./usr/libexec ./usr/libexec/ld-elf.so.1 ./usr/lib ./usr/lib/libc.so.4 ./usr/lib/libgnuregex.so.2 ./usr/lib/libm.so.2

    then as root :
    chroot /home/matt/awkwebserver/ bin/server.rc

    and bin/server.rc looks like

    #!bin/rc /bin/tcpserver 192.168.1.100 8012 /bin/webserver.rc -u 80 -g 80

    and viola : a secure* read only web server
    You can add more options to tcpserver to limit the connections / memory usage etc.

    20 seconds to respond seems to sound wrong I hope

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  87. SCO owns him already! by sbraun · · Score: 1

    In fact, they own all of us...

    Think about the following: (a) the human brain scales without problems to many millions of neurons, (b) it has parallelism unreached by any computer - anytime (c) it exceeds the reliability of unix - my brain hasn't crashed for decades (d) it can be used to build clusters - those are called teams.

    Clearly, this could not have been possible without access to the original unix sources. Therefore SCO has intellectual property in everybody's dna and all derivative work.

    So let's just hope they don't realize this and claim our immortal souls and our first-born children... Or maybe they could declare us invalid...