Slashdot Mirror


World's Smallest Web Server (We Have a Winner)

sysadmn writes "This web server is the latest contender for "World's Smallest". Two chips and a diode - so they had to leave out Linux :-). It's based on the world's smallest implementation of a TCP/IP stack -- which is implmented on a small 8-pin low-power microcontroller using 512 words of program ROM. Where would you put a $1 web server? " If its real, its amazing.

189 comments

  1. Umm... people... by Anonymous Coward · · Score: 0

    IT'S NOT REAL.

    Doesn't anyone remember this from the first time it was posted on Slashdo?. This is clearly a hoax. There's no way you could implement a TCP/IP stack (not to mention the HTTP server running on top of it) in 512 words.

    1. Re:Umm... people... by Anonymous Coward · · Score: 0

      You can do a pretty nice pop code interpreter in this amount of space with high level machine assist ... then do the real coding in the external eeprom. The FORTH guys used to put a lot of power in almost no space with this trick. The thing doesn't need to implement a full tcp stack, it really only needs to pick the right fields out of an incore structure and xmit using preformated packets. Given the stated variable code length, I suspect it's hoax too, but it wouldn't take much to do a real implementation with a Forth like iPic firmware and a good sized flash eeprom.

    2. Re:Umm... people... by Anonymous Coward · · Score: 0

      Who says that the gadget has to implement a complete TCP/IP stack? Before posting rubbish like this, do take the time to actually read the article. The author claims RFC 1122 compliance. Not a subset, not the minimum. Compliance, period. Perhaps you should, I dunno, actually read the document and understand all that it entails. From a protocol standpoint, this includes at least: - SLIP or PPP - IP - TCP - ARP - ICMP - HTTP (a minimum subset is allowed, as it's not defined in RFC 1122) All this, implimented in 256 12-bit words? This is obviously, to anyone who cared to pay attention, a hoax.

    3. Re:Umm... people... by Anonymous Coward · · Score: 0

      once u have sockets, its easy to write a webserver in less than 10 lines of code remeber the C-64? they did shit loads of stuff in just say a 4k demo/intro

    4. Re:Umm... people... by Anonymous Coward · · Score: 0

      Well, as an SA at the UMass cs department, I can tell you that it's connected via slirp over a serial line. The demo pages are served via HTTP redirects from a webserver on the machine running slirp. So the http implementation is minimal, yes, but the rest of it is there.

    5. Re:Umm... people... by Xenu · · Score: 1
      Doesn't anyone remember this from the first time it was posted on Slashdo?. This is clearly a hoax. There's no way you could implement a TCP/IP stack (not to mention the HTTP server running on top of it) in 512 words.

      Who says that the gadget has to implement a complete TCP/IP stack? There are all sorts of ways to do this with a minimal subset of TCP/IP and HTTP. I've seen very small TCP/IP stacks used in systems that boot over a network. It wouldn't be difficult to write software for a micro-controller that would receive IP packets over a serial SLIP link, extract the sender's IP address and port number, and send a canned web page back over the SLIP link. I'm sure it could be done in 512 words of memory.

    6. Re:Umm... people... by Anonymous Coward · · Score: 0

      > Who says that the gadget has to implement a > complete TCP/IP stack? He claims its rfc1122 compliant. This is clearly impossible to implement in a PIC. You could do a severely cut-down tcp/ip but not one thats rfc1122. Thus its a hoax. QED.

    7. Re:Umm... people... by Anonymous Coward · · Score: 0

      Read their claims before spouting.

  2. If it's hacked... by rjreb · · Score: 1

    do you get to keep it?

    --
    Pork is not a verb
  3. oppss by Anonymous Coward · · Score: 0

    "what... that if i have a web server? well sure... its right here in my pocket -along with my change... god damnit i just gave it to that homeless guy. meaby if it was bigger than quarter... "

  4. Re:it's not the bytes; it's the words... by __aaswyr5774 · · Score: 1

    Who cares if you can't fit a friggin' header in, compute everything you need on the fly and shuttle it out the port as you do it!

  5. Re:Probably bogus, and why..... by Anonymous Coward · · Score: 0

    Um no, Midi files are around 1K to 5K for a moderate length soung. 500K of MIDI is hours (days) of orchestra type music. GIFs can fit in a few K as can web pages. Java applets I'm not sure about but they are not really all that big for simple ones (15K - 20K probably). Pi to 800 digits is less then a K. So this can all fix quite easily.

  6. Re:it's not the bytes; it's the words... by Eric+E.+Coe · · Score: 1

    Yes, a really tightly coded byte-by-byte state machine implementation, maybe...
    --

    --
    An esoteric scratched itch:
    Homeworld Map Maker Tool
  7. I'm skeptical too, by jmpvm · · Score: 1

    But heres a news link from U. of Mass.

    http://www.umass.edu/newsoffice/press/99/0810shr i.html

  8. I'll be impressed when... by Anonymous Coward · · Score: 0

    ...they can fit a network device in the space required to represent ethernet packet, with full payload, in atoms of the desigers choice. ...think about it...

  9. Usefulness? by Diggety_Dank · · Score: 1

    While I have to admit that such technology makes one marvel at what scientific achievements are possible, this tiny webserver also makes me question the value of this. Would one's time be better spent trying to make a better real-world webserver (perhaps something that is able to combat the slashdot effect?), or are litte projects like this leading the way to a new kind of webserver..?

    --just my two cents. ;P

    --
    --- Stampede linux for me! I play with fire to break the ice..
  10. Re:IPv6 by Anonymous Coward · · Score: 0

    anybody who's ever had to manage system wide crypto keys, knows that IPv6 has bitten off more than it can possibly chew, with respect to crypto (much to the government's delight). The first deployments of IPv6 switches will not have crypto and I wouldn't expect the feature to show up until somewhere between 3rd to 5th gen.

  11. Re:IPv6 by Anonymous Coward · · Score: 0

    You must be one of those domineering, repressive, control-freak type personalities...

    Anyone with a clue knwos that true states of synergy can only be reached when appliances become even modestly aware of their environment and can communicate that awareness (in whatever limited finite state automata way) to other devices.

    So to address your point, the only thing simple than operating current appiances is not having to operate them.

    ...thank about it...

  12. Re:Poor thing! by shogun · · Score: 1

    True, you might be able to fit in enough could to make it display a LILO prompt somewhere though.

  13. Re:It can be done by Zurk · · Score: 1

    hmm..lets see..
    stateless TCP/IP protocols:

    These protocols, particularly HTTP, don't maintain a persistent connection between browser and server. Each request from the browser is an independent contact, as is each response from the server. Problems : Developers can no longer rely on a network connection that remains active for the duration of a session.

    now why did your boss prevent you from explaining this ?

  14. Claims eternity just does a redirect by Jim+Morash · · Score: 1

    Somewhere on the page (actually, it may be on the 'technical details' page) it is mentioned that eternity.cs.umass.edu is catching all the http requests for hit-counting purposes, then bouncing them to the iPic.

    I'm still skeptical, but this sure would be neat.

  15. Re:Webserver Matches? by Anonymous Coward · · Score: 0

    According to the data sheet, 72 PIC12C509As will fit in a cubic inch if you trim the pins. If 72 4mHz processors run as fast as 1 288 mHz processor... I think I can find a 1 cubic inch, 300mHz processor for $90, these days.

  16. Uh, obvious question by Joe_NoOne · · Score: 1

    If this is all hardware, how can it "crash" ??

    1. Re:Uh, obvious question by Mignon · · Score: 1

      It's still programmed - i.e. the hotly debated TCP/IP stack - so if there's an infinite loop in that, for example, I'd count that as a crash.

  17. What would really impress me... by eyeball · · Score: 1

    What would really impress me is if this sucker were hooked to a small CCD package.. I'm assuming the IP stack uses DHCP, so all you'd have to do is plug the thing into any Ethernet port and bang -- instant network webcam (or spycam, depending on your slant).

    --

    _______
    2B1ASK1
    1. Re:What would really impress me... by degroof · · Score: 1

      > ...instant network webcam...
      From the info on his web page, it looks like he's working on that.

  18. Re:Old news by Anonymous Coward · · Score: 0

    The Digital machine _is_ the router. It is doing port fowarding.

    Try to find the link to the "old version of this page" in the main page, it's all explained there.

    And a very small chip acting as a DSP... I think some of them in a PCI card would be interesting...

  19. Re:Old news [here's the link] by ivan256 · · Score: 1

    Um.. I don't see this one anywhere in the old slashdot article you linked (unless it's in the comments, and that doesn't really count now, does it...)

  20. Re:DOS your toaster by Anonymous Coward · · Score: 0

    Heh... Now we would have infoterrorists exploding household machines via the wireless IPv6 net...

    I think I've been watching too many Hollywood [movies]...

  21. Less or more complicated? by QBobWatson · · Score: 1
    ...our everyday appliances have become quite sophisticated and complex to operate...

    I would think that adding a web interface to our household appliances would make them more complicated and difficult to operate. I mean, how hard is it to press "play" on your DVD player?
    Joe Rabinoff

    1. Re:Less or more complicated? by bhorling · · Score: 1

      I disagree. There are some functions (like "play"), which clearly do not require any more ease-of-use improvements. There are others, however (like programming your VCR), that could stand a little improvement, and I would wager there are scads of features that designers never added to their products because a tangible UI would be prohibitively complex and/or expensive. To me, this technology would seem to work best as an augmentation, rather than a replacement, of traditional physical interfaces. In such a product you get the best of both worlds - a simple phyical interface for day-to-day operation and a dynamic, ethereal one for more complex/less frequently used functions.

  22. Re:DOS your toaster by DarkFyre · · Score: 1

    No, that's not what it means. What this means is that your toaster could serve you a single static page. Whoopee.

    All these tiny servers are pretty useless, because they're basically single function devices. There's a massive difference between serving a page and enabling web-based control over an appliance.

    I'm betting that a device to allow dynamic content/CGI/whatever you need to control an appliance would be exponentially more expensive and bigger than anything we've seen here. At least PalmPilot sized.

    ---
    I switched to NT when Linux crashed five times in one day. Funny, I used to tell people Linux was superior due to its stability.

  23. iPic by drwiii · · Score: 2
    This was on Slashdot a month or so ago, but the article was pulled. There was quite a nice discussion thread going on too.

    If I recall, it doesn't interpret HTTP requests, but serves you a document based on whichever port number you connect to it via.

  24. Re:It can be done by Anonymous Coward · · Score: 0

    No, the client browser still thinks there is a connection, but the server doesn't have any idea about a connection, thus stateless. It was my detailed description he objected too.

  25. Re:?? by Anonymous Coward · · Score: 0

    it has no use. they just built it because they can. ;)

  26. Demonstration link seems not to work... by Anonymous Coward · · Score: 0

    Slashdotted already? Or maybe somebody just stepped on it...

    1. Re:Demonstration link seems not to work... by Anonymous Coward · · Score: 0

      Well dude it's just a 115200 bit/sec link. Don't expect this to work when it's on slashdot! Anyway this a pretty cool device. Perfect gizmo for home automation but you'll have to hide a lot of cable. You could setup a SLIP server on linux and control stuff in your home but be prepared for some serious hardware hacking tough!

    2. Re:Demonstration link seems not to work... by The+Anonymous+Cow · · Score: 1

      I managed to connect to it (momentarily) before it was totally slashdotted. The transfer rate (according to Netscape) was 3 bytes/sec!!

      --
      Moo!
  27. oh people ... see comment and conclude by Anonymous Coward · · Score: 0

    Hi there !
    I saw the page ! A flip-flop is the same size that one of those chips ! please ...

    I did some interesting research !
    I got the URL from the so called microWeb Server.
    it is: http://128.119.41.46:4175/home0.html

    so here is the output of some nice nt commands:

    Microsoft(R) Windows NT(TM)
    (C) Copyright 1985-1996 Microsoft Corp.

    D:\ams>ping 128.119.41.46

    Pinging 128.119.41.46 with 32 bytes of data:

    Request timed out.
    Request timed out.
    Request timed out.
    Request timed out.

    D:\ams>finger @128.119.41.46

    from what u can se .. its a plain unix machine !
    that doesnt fit in a chip o.K. ??????????

    bye ppl,

    [128.119.41.46]
    Login Name TTY Idle When Office
    shri H.Shrikumar *p1 Wed 19:36 A305 LGRC (413)545-4753
    shri H.Shrikumar p3 13 Wed 17:55 A305 LGRC (413)545-4753

    D:\ams>finger -l @128.119.41.46

    [128.119.41.46]
    Login name: shri (messages off) In real life: H.Shrikumar
    Office: A305 LGRC, (413)545-4753 Home phone: (413)549-8484
    Directory: /usr/users/shri Shell: /bin/csh
    On since Aug 11 19:36:17
    on ttyp1 from nscs23.oit.umass.edu
    On since Aug 11 17:55:51 13 minutes Idle Time
    on ttyp3 from localhost
    Project: And to what do I owe the extreme pleasure of this company?
    Plan:


    +------------------------------------------------- ------------+
    | |
    | |
    | |
    | |
    +------------------------------------------------- ------------+



    -- //Shrikumar +1(413)549-8484

  28. Webserver Matches? by Kintanon · · Score: 1

    Hrmm... So when can I get a lighter doubles as my monitor?

    If they can make an entire PC this small, does that mean they can make a beowulf cluster the size of a softball? How fast is this thing? I couldn't find any real stats on it on the website... It would be nice to know just how powerful this little thing is, and how much it costs. From the picture it looks like that if those 2 chips aren't phenomenally expensive it's a 5$ radio shack system.

    Kintanon

    --
    Check out JoshJitsu.info for Brazilian Ji
    1. Re:Webserver Matches? by Kintanon · · Score: 1

      Silly me, I must have missed it the first time I read through. 4mhz?
      Won't it be interesting when some script kiddie starts hacking peoples houses? Poltergeist! Poltergeist!!

      Kintanon

      --
      Check out JoshJitsu.info for Brazilian Ji
    2. Re:Webserver Matches? by Kintanon · · Score: 1

      So what prevents someone from mounting all of those 486 processors onto 1 largish board? The connection would have to be faster, the space needed would be less, and I imagine the energy usage would be cheaper to just cool the entire room... Couple of wall sized fans maybe? Is this even feasable?

      Kintanon

      --
      Check out JoshJitsu.info for Brazilian Ji
    3. Re:Webserver Matches? by adolf · · Score: 1

      However, the page describing said webserver places the cost at $1. For simplicity, let us assume it is exactly one dollar. 90 * 4 = 360MHz. The tiny webserver wins hands-down, at least in terms of aggregate clock speed.

    4. Re:Webserver Matches? by Anonymous Coward · · Score: 0

      You can't do a multiplication of MHz like this and hope to get any sort of real result. Its a very hard problem to schedule tasks across more than 1 processor.

    5. Re:Webserver Matches? by Chandon+Seldon · · Score: 1

      It says it's running at 4mhz and that the storage/RAM avalible is such that they couldn't even fit a complete OS kernel on it.

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
    6. Re:Webserver Matches? by MostlyHarmless · · Score: 1

      They can't get an entire PC that small. The chip, as a matter of fact, isn't even running an OS. It's just a PIC chip and an EEPROM. A PC still needs the hard drive, I/O cards, etc. so it won't get that small in the future.

      But I like your theory anyway... I'd be dying to get my hands on a beowulf softball! :-)

      --
      Friends don't let friends misuse the subjunctive.
    7. Re:Webserver Matches? by Kintanon · · Score: 1

      The beowulf clusters don't need all of that though. Well, they don't need hardrives (Right?).
      They would just need a processor (Preferably better than 4mhz, but when you can put a million of them in a small cardboard box...) How many I/O cards would you need for something that isn't much more than another processor? In fact... I was wondering what the difference between a Beowulf cluster and a multiple proccesor server is. Maybe I'm just misunderstanding the function of a beowulf, but it seems to me that it's just a bunch of procerssors linked together. If I'm wrong someone let me know...

      Kintanon

      --
      Check out JoshJitsu.info for Brazilian Ji
    8. Re:Webserver Matches? by Anonymous Coward · · Score: 0
      > Hrmm... So when can I get a lighter doubles as my monitor?

      http://www.comicro.com.

      juan large moose
      (dang, I left my /. password in my other antlers)

    9. Re:Webserver Matches? by ivan_13013 · · Score: 1

      No.

    10. Re:Webserver Matches? by Anonymous Coward · · Score: 0

      PIC12C509A : $1.26 24LC256EP : $3.03 from http://www.arrow.com/ And I got through to the demo just fine, but it took about 4 min. The guy says it should handle 7600 hits/hour.

    11. Re:Webserver Matches? by Stonehand · · Score: 1

      I believe the difference is between multi-computer cluster (e.g. a room full of old machines connected w/ Fast Ethernet, and all w/ local storage) and a single machine with, say, 2K CPUs all sharing the same basic resources and probably communicating through some specialized bus.

      The former can be done with a horde of, say, 486s; the latter is nicely represented by, perhaps, a T3E. The former's a lot cheaper, but it's not really a single mondo computer with one large pool of memory and really fast inter-processor connections...

      --
      Only the dead have seen the end of war.
  29. Hmmmm by Anonymous Coward · · Score: 0

    If this server, which is said to be able to fit on a match head, takes too many hits/sec (i.e. slashdotted), will it catch on fire? (Light a match, get it?) Heh.... heh heh, hahahahahahahahahahahahaha... Ok, lame joke's over. This could revolutionize things a bit. If you can get a minimalist server to fit in such a small area, just think of what can be done if we didn't confine it to a match head. IOW, make it like a Cobalt Qube, but with the capabilities of a modern server (HTTP 1.1, etc) and cheap!!

  30. Old news by TallGuy · · Score: 2

    I'm pretty sure I've seen this a month or two back on slashdot. Same link, same pics, and still no connection to the thing. (Oh, and according to most of the linux hackers, it's a scam, since you can't write a TCP/IP stack in 512 words)

    1. Re:Old news by Pope+Slackman · · Score: 1

      They say it's connected thru a serial line,
      (SLIP?) so there's another machine at the IP, acting as a gateway...

      I don't know about TCP/IP in 512b, but I suppose
      at least a limited stack could fit.

      --Kevin





      =-=-=-=-=-=

    2. Re:Old news by Anonymous Coward · · Score: 0

      >Oh, and according to most of the linux hackers, it's a scam And Linux hackers are the 'authority' on TCP/IP? (Given the number of pages needed to document TCP/IP, to get the code down to 512 words of code would be VERY hard. Not to mention what the PIC is supposed to do, driving any kind of complex environment would be hard)

    3. Re:Old news by Anonymous Coward · · Score: 0

      The web page says it's hung off a serial port on that dec machine ... read the full text for the port numbers.

      I suspect it's a scam too given the variable codes sizes for various functions.

      But ... I suspect that it can be done with an iPic and modest sized flash eeprom using a pop code interpreter (like Forth) with some high level machine assist. The chip only has 25 bytes of ram and a few registers that are volatile store, so it would require a decode the packet on the fly, saving the target IP, and build the reply on the fly, without in memory buffering. Using preformatted packets for each web page, editing in the target IP and cksumming wouldn't take much code.

      Basic code flow would be flush packet header to port number, switch on port number to packet type routine. Output initial output packet header, copy remote IP to output port from input stream. Copy selected packet from eeprom to output port updating cksums while flushing reset of input packet. It doesn't take much code to do this.

    4. Re:Old news by DrPepper · · Score: 1

      I agree - I think its a scam: > $ telnet eternity.cs.umass.edu > Trying 128.119.41.46... > Connected to eternity.cs.umass.edu. > Escape character is '^]'. > > > Digital UNIX (eternity.cs.umass.edu) (ttyp3) > > login: ...nice one guys, but its not April Fool for a while yet ;-)

    5. Re:Old news by Josh+Turpen · · Score: 2

      (Oh, and according to most of the linux hackers, it's a scam, since you can't write a TCP/IP stack in 512 words)

      You've never read the story of mel have you? You should try stepping through something like, oh, NES Zelda with an emulator and see how they fit that game into 32k. (Hint: Parts of the executable code are also used as sound samples!)

      I could definitely see a TCP/IP stack being implimented in 512 clever bytes. I would hate to debug it though.



      --
      --- A Jesus Fish eating a Darwin Fish only proves Darwin's point.
    6. Re:Old news by On+Lawn · · Score: 1

      Wow, your right!

      Do you suppose that its connected to the Digital machine at all like it says it can be connected to a router? I mean it does use its own port after all.
      ^~~^~^^~~^~^~^~^^~^^~^~^~~^^^~^^~~^~~~^~~^~

  31. Slashdotted... by Anonymous Coward · · Score: 0

    ...already

  32. cooling by Anonymous Coward · · Score: 0

    You know that they were built before .25 micron fabs, and they will get VERY VERY hot..... so I'd much rather cluster a bunch of cheap celerons (lot cooler), or even K6's or K62's since they are .25 micron and run cooler.

  33. No Way. by Anonymous Coward · · Score: 0

    Hey, I'm An old Skool coder, 8bit Microprocessors
    are still in my scheeme of things, and i can seriously say:

    1. 256 byte TCP/IP stack, highly unlikley, otherwise, where's the PC version ? :)
    seriously lets see the source. B.T.W. it is possible if you assume dedicated on logic.

    2. 256 byte HTTP1.0 Compliant Web server ?
    hey, you can hardly fit a http packet header
    in that much code, let alone a HTTP/FTP/etc compliant server code. B.T.W. it is of course
    possible with dedicated on chip logic.

    So i say to them prove its not Bullstomm,
    i'd like to see some info on the code,
    let alone any 'dedicated on chip logic'

    Also sod the /. effect, (even that it seems infeasable to exist) on a crap serial connection like that, how many users do you think it can handle concurrently ?
    lets talk session information, concurrent connection information, in a microcontrollers
    512k ram?

    I'm impressed :)

  34. How many /.ers can dance on the head of a match? by Wah · · Score: 1

    not too many it would seem...

    /. strikes again.

    --
    +&x
  35. Connecting... by Anonymous Coward · · Score: 0

    Congratulations. We've just slashdotted the smallest web server in the world! So much for that. The poor thing's probably gonna splode.

  36. Re:It's not scam, only a joke! by Anonymous Coward · · Score: 0

    If it's a joke, it's not a very good one. No real punch-line.

  37. Me too! by MostlyHarmless · · Score: 1

    I had that same problem. Maybe it was overloaded by the large number of hits it undoubtedly received after being written up in the news (how much stability can you get into 512 words anyway? :-) )

    --
    Friends don't let friends misuse the subjunctive.
    1. Re:Me too! by erl · · Score: 1
      Surely more stability than into 10 Megabytes.


      A program of 512 words of ROM shouldn't be too hard to get rock solid.

  38. About the hardware by Anonymous Coward · · Score: 0

    This is a simple EEPROM based microcontroller that runs at about 4 MHz, based on an internal oscillator. It costs less than $5 and you can build a simple programmer for it for less than $10. Yes, the TCP/IP stack IS real and has been around for quiet some time. Just do a search for "PIC microcontroller" on the web. They are made by Microchip.

    You can find the code for the TCP/IP stack rather easily (sorry, no links off the top of my head), and the rest should be pretty simple. None of this is really that new.

    -Andy

  39. Poor thing! by erl · · Score: 1

    I can't stop myself from pitying that little thing as it's being slashdotted. It looks so helpless.

    1. Re:Poor thing! by chromatic · · Score: 1


      I think we've just found a low-end machine that actually can't run Linux.

      --
      QDMerge -- data + templates = documents.

    2. Re:Poor thing! by chromatic · · Score: 1


      I tried. Pity. There was only room for the first two characters.

      sigh!

      --
      QDMerge -- data + templates = documents.

  40. Demo link works, but this is OLD NEWS. by Tau+Zero · · Score: 1
    It was working when I clicked on it.

    However, this is

    • NOT NEWS
    . This identical item was on Slashdot a few weeks ago, and then the article suddenly disappeared.

    To re-post this as a new item is misleading and a disservice to the Slashdot community.

    --
    Time is Nature's way of keeping everything from happening at once... the bitch.
  41. IPv6 by ChadN · · Score: 1

    If this concept catches on (and especially if chips like these go into production), I would hope they will support IPv6. Hell, they'd probably have to before too long, if people want to have IP addressible doohickys everywhere. What a nightmare to keep track of all those addresses (just as you have to remember a billion new passwords and PINs everyday in the 'wired' world)

    --
    "It's overkill, of course. But you can never have too much overkill." - Anonymous Slashdot Coward
    1. Re:IPv6 by Tony+Montana · · Score: 1

      To actually implement IPv6 internet wide in my opninion is a ways off. People don't even agree on and that type of stuff let alone convincing the sys admins in boboland to switch their networks.

      There is a common misconception that I see people spreading that implies the wiring of one's home would require a real IP addy for your toaster, espresso machine etc... With IP masquerading and other tricknologies a house hold might only need one real internet reachable IP. Much like the people use a 486 linux box to connect their basement network to their dsl line :)

      not that any of this has anything to do with the worlds smallest webserver...

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

      WTF would anybody want a web enabled toaster or expresso machine. ITS TOO FREAKING SIMPLE AND CHEAP ALREADY:

      makeing toast: adjust dial, put in slice, push down lever

      expresso: grind beans, fill cup, fill water, turn
      on

    3. Re:IPv6 by Anonymous Coward · · Score: 0

      shit hitthe button too fast... anyway:

      espresso: turn on or set timer

      only a techno-zen-dweebie-loser-geek-from-celibacy-land could give a shit about such a complicated web-comaptible simple appliance.

    4. Re:IPv6 by Anonymous Coward · · Score: 0

      The only thing that is holding IPv6 back is its most interesting feature, link-level crypto.

  42. Re:Scam? by ivan256 · · Score: 1

    So, even if it were real, telneting to the machine that they claim is running Slirp for it proves nothing... Why don't you try to telnet to the proper port...

    (you can get in, but it proves nothing.. .It could be a simple server proggy running on the alpha box, and bound to that port...)

  43. Re:Hey!!! by cookd · · Score: 1

    No. It seems that the webserver is connected to a serial port on a DEC machine, which listens on a port and routes all traffic going to that port to the webserver, and all traffic leaving the webserver back onto the net. So I think you are pinging the DEC machine, not the chip.

    --
    Time flies like an arrow. Fruit flies like a banana.
  44. John Harvard's Kicks Ass by Anonymous Coward · · Score: 0

    Do I need to say more than "Irish Stout" and nachos?

  45. I GOT IN!!! by Spazmoid · · Score: 1

    I have seen this before.... neve rlistened to it thought it was a hoax. Never could get the demonstration link to work. well it was slow an 8088 with 512k ram but my browser finally got in.. I kept getting hung after the name resolution then i finally got the "host contacted waiting for reply" took about 3 minutes after that to give me a text only page of more garbage.... wow... when can I get some Nike's with embedded webservers that allow me to tie the laces remotely???

  46. Slashdotted demo. by Lord+Kano · · Score: 1

    I feel bad for that poor little webserver. If it can't stand up to a good slashdotting, it's not worth anything.


    But seriously, imagine a webserver embedded in your answering machine (with IPv6 this is possible) so that you can check your messages from your web browser at work. I didn't read the whole thing, but this baby can't draw much power. I think that a 9volt would run this thing for several months.

    LK

    --
    "Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
  47. Nimrod Armcharm Programmers (Re:Old news) by Anonymous Coward · · Score: 0
    I could definitely see a TCP/IP stack being implimented in 512 clever bytes. I would hate to debug it though.

    Truely spoken like someone whose never implimented TCP/IP on an imbedded system (or anything else, for that matter). Story of Mel? A blackjeck program is a touch removed from a network stack, child.

    When you feel like being enlightened, take the time to actually read RFC 1122, and then try and figure out how it can be completely "implimented in 512 clever bytes". P.S. - the author claimed an implimentation in 256 12-bit words. We'll give you 512, just to be generous, since you seem to claim understanding of the solution.

  48. RFC 1122 in a PIC, not likely! by Anonymous Coward · · Score: 0

    They make some impressive claims, that seem too good to be true. He claims full RFC1122 compliance. Let's take a look at how credible that claim is...

    Here's a few selected bits from RFC1122, which seem to be impossible with the claimed usage of 9 bytes of RAM. The low end PICs (12 bit opcode) use 5 bits in their opcodes for the RAM address, and some use bank switching for more, but consider how much ram would be required for:


    3.3.2 Reassembly

    The IP layer MUST implement reassembly of IP datagrams.

    We designate the largest datagram size that can be reassembled by EMTU_R ("Effective MTU to receive"); this is sometimes called the "reassembly buffer size". EMTU_R MUST be greater than or equal to 576, SHOULD be either configurable or indefinite, and SHOULD be greater than or equal to the MTU of the connected network(s).


    That'd seem to suggest you'd need at least 576 bytes to buffer a packet fragment.


    3.2.2.6 Echo Request/Reply: RFC-792

    Every host MUST implement an ICMP Echo server function that receives Echo Requests and sends corresponding Echo Replies...

    ...Data received in an ICMP Echo Request MUST be entirely included in the resulting Echo Reply. However, if sending the Echo Reply requires intentional fragmentation that is not implemented, the datagram MUST be truncated to maximum transmission size (see Section 3.3.3) and sent.


    You simply must buffer ping packets and echo back their data. Most versions of ping send at least 56 bytes!


    3.3.1.2 Gateway Selection

    To efficiently route a series of datagrams to the same destination, the source host MUST keep a "route cache" of mappings to next-hop gateways.

    3.3.1.3 Route Cache

    Each route cache entry needs to include the following fields:

    (1) Local IP address (for a multihomed host)
    (2) Destination IP address
    (3) Type(s)-of-Service
    (4) Next-hop gateway IP address

    ...The cache needs to be large enough to include entries for the maximum number of destination hosts that may be in use at one time.


    Even if the route cache is only one entry (lame), and field #1 isn't req'd, it's still a good portion of the PIC's total memory.


    4.2.2.9 Initial Sequence Number Selection: RFC-793 Section 3.3, page 27

    A TCP MUST use the specified clock-driven selection of initial sequence numbers.


    Hope they're using a least a few bytes for this counter... it's required.


    4.2.2.13

    When a connection is closed actively, it MUST linger in TIME-WAIT state for a time 2xMSL (Maximum Segment Lifetime). However, it MAY accept a new SYN from the remote TCP to reopen the connection directly from TIME-WAIT state, if...


    MSL is a long time (4 minutes is required). They need to store at least 4 bytes for each lingering connection, assuming the ip numbers are known because they only do slip.


    And the list goes on... the RFC1122 claim is even more absurd if you look at what's required for TCP!


    Recent work by Jacobson [TCP:7] on Internet congestion and TCP retransmission stability has produced a transmission algorithm combining "slow start" with "congestion avoidance". A TCP MUST implement this algorithm.

    4.2.2.17 Probing Zero Windows: RFC-793 Section 3.7, page 42

    Probing of zero (offered) windows MUST be supported. A TCP MAY keep its offered receive window closed indefinitely. As long as the receiving TCP continues to send acknowledgments in response to the probe segments, the sending TCP MUST allow the connection to stay open.



    4.2.3.1 Retransmission Timeout Calculation

    A host TCP MUST implement Karn's algorithm and Jacobson's algorithm for computing the retransmission timeout ("RTO").

    o Jacobson's algorithm for computing the smoothed round-trip ("RTT") time incorporates a simple measure of the variance [TCP:7].

    o Karn's algorithm for selecting RTT measurements ensures that ambiguous round-trip times will not corrupt the calculation of the smoothed round-trip time [TCP:6].

    This implementation also MUST include "exponential backoff" for successive RTO values for the same segment. Retransmission of SYN segments SHOULD use the same algorithm as data segments.


    4.2.3.3 When to Send a Window Update

    A TCP MUST include a SWS avoidance algorithm in the receiver [TCP:5].


    4.2.3.4 When to Send Data

    A TCP MUST include a SWS avoidance algorithm in the sender.


  49. Re:see what you can do in a small amount of code by Anonymous Coward · · Score: 0

    Wow, that's amazing!

  50. Re:It can be done by dkessner · · Score: 1

    Hardware flow control won't help. You still won't get the accuracy required in the baud clock for reliable communications-- at any baud rate. Sure, flow control would give you time to process the received bytes but none of that matters if 75% of the bytes you get are corrupted.

    --
    David Kessner davidk@free-ip.com
  51. Hmm, if that's the truth... by is+not · · Score: 1

    Then we just slashdotted the world's smallest webserver. I wonder what a match-head sized webserver does when it feels the wrath of slashdot. melt? explode? scream? That is... if it's even real, which I don't think so


    --
    I disagree and hold myself in contempt, what blashphemy!
  52. Hmm, by ph43drus · · Score: 1

    I've got a bunch of toaster ovens. Should we beowulf those together? (think of how many Gigabites of pizzarolls we could make.. ;)

  53. melt down! by RoLlEr_CoAsTeR · · Score: 1

    "The smallest web server ever created melted down today, trying to bear the burden of a link from the infamous geek portal site, Slashdot."
    "Looking around to find the melted remains of the teensy server, the team of intensely trained, tweezer-armed sweepers were saddened to find that it had been swept up."

    --

    Insert mind here.
  54. Re:You know what would rock? by the_tsi · · Score: 1

    What kind of RC5 rate do you think...

    oh just forget it.

    -Chris

  55. Re:What, again? by Anonymous Coward · · Score: 0

    What is funny is watching how a lot of people are posting the exact same comments (or type of comments at least) as last time. We've got the 'burst into flames' posts, the 'slashdotted' posts, the 'bogus' posts...

    Hmmm. Are we predictable?

  56. Re:Scam? by dirty · · Score: 1

    As people figured out last time this link was posted the url is just a redirect to the server. Also, the server didn't appear to impliment any sort of true file system, since each of the links actually pointed to a different port, not to a different filename. I guess there wasn't room to fit a TCP/IP stack and file system on the chip. Also, this machine uses either 12 or 10 (i think it's 12) bit bytes, not 8. So 512 words is not 1024bytes but 1536bytes (in the 8bit sense) or 1.5KiB(see the power of two post from yesterday). Is that possible? probally. Extremely difficult? definately. I really would like to see the machine code for this posted. It would certainly be a truely beautiful hack.

    --

    -matt
  57. Re:Scam? by Anonymous Coward · · Score: 0

    At the site it says that the telnet address for it is 128.119.41.43:9023. (which I can't connect to)

  58. Re:DOS your toaster by Anonymous Coward · · Score: 0

    No, it's called TINI, by Dallas Semiconductor. (the people who made those stupid I-Buttons)

    Check out their site.

  59. Get serious! It's just a hack on a router. by timc · · Score: 1
    Hardly a "real" web server if it has to interface directly to a router. The HP "BFOOT" gizmo seems much more practical:
    • Customizable Web server
    • Standard 10Base-T Ethernet interface
    • Standard IEEE 1451.2 interface (up to 255 channels)
    • Serial interface / Serial gateway
    • HP Time Synchronization (< ±200 ns)
    • VxWorks real-time operating system
    • Custom node applications

    And it looks smaller than a credit card.

  60. Re:Hey!!! by Spazmoid · · Score: 1

    It says its directly connected to a router thru a 115k serial line. I really think this as more vaporware crap. Probably put out by micro$oft.

    Bill Gates: "look at those geeks.. they'll believe anything. Hmm my next lie will be that I will open source windows and do a code merge with linux.. that'll turn some heads"


    Ugh... vaporware smells worse than my underwear...

  61. Re:DOS your toaster by Anonymous Coward · · Score: 0

    Not really. I'm guessing twice the size, at worst, to control a 4-button device. I don't remember it's exact size, but I've worked with a webserver with executables fitting on a 24k eeprom that served and controlled a device much more complex than a toaster. The device had its own processor already, though, and by the time it was mounted on a board, it was about palm-pilot sized, but this was for mounting in a 50lb, 2 sq. ft. chassis - so size was not a major issue. If you assume this server isn't a scam, I'm certain it could man a digital toaster as is.

  62. Here's how it works by edwdig · · Score: 4

    Ok, this was on Slashdot about a month or two ago. Back then, I took some guess as to how it worked and emailed the author. He confirmed my suspictions. Here's the details.

    First things first: it does NOT use a FULL tcp or http implementation. The system has its network configuration hard coded into it. And it is designed to only work in a very specific environment - when wired directly to the serial port of a router running a SLIP connection.

    This means that data to or from the server only has one possible path. That simplifies the protocol tremendously. This setup also guarentees their are no transmission errors. (direct wiring from the serial port on the pc to the pins on the microprocessor. it either works or it doesn't, no errors.)

    Next, as for HTTP. It's not parsing your request at all. Send garbage and it'll work. It just looks at the port the connection is coming in on, then looks up the port number in a table, which tells it what file to send.

    Under those circumstances, it's not that hard to make a server that small if you know how to code in asm, especially not on a PIC chip.

    Ed

    1. Re:Here's how it works by edwdig · · Score: 1

      Pay attention to the sentence you quoted. It said "is compliant with all *applicable* requirements". That's the reason for the specific setup. He did do what he is claiming.

    2. Re:Here's how it works by incandenza · · Score: 1

      If that is how it really works, it makes a lot more sense. However, some of the statements on the web page then seem to be basically blatant lies: e.g., "it [the tiny IPic TCP/IP stack] is compliant with all applicable requirements of RFC-1122". Well, yeah, but only if you count all of the code running on the router machine as part of the "tiny IPic TCP/IP stack".

  63. Hardware TCP/IP stack by Anonymous Coward · · Score: 0

    An TCP/IP stack can be implemented in full custom silicon so why not. You can do much with 512 bytes of pure machine code. Remember that the thing dont handle HTTP requests, its only sends an page out to anyone connecting to the 80 port, that dont take much code to do, so its not an "real" webserver anyway.

  64. Re:wow, that's small by evilpete · · Score: 1

    They should put them in cereal. Then you could say "I eat webservers for breakfast!".

    Added bonus - once you'd digested it you could still say you had one up your butt.
    +++++

    --
    +++++
    The harder you look the less you see. That's what we're up against.
  65. Software UART by Anonymous Coward · · Score: 0

    This cannot be true, you can't have a software UART running at 115Kbauds with a 4MHz clock.
    Impossible

  66. Re:Why web? by gorilla · · Score: 1

    An obvious reason is so that you can have an TV Guide type page with a link to your VCR to record the program.

  67. Re:Old news [here's the (correct) link] by Anonymous Coward · · Score: 0

    The correct link, for those of you who need _more_ about this, is http://slashdot.org/articles/99/07/14/1937221.shtm l

  68. I'd like to know how Digital UNIX can fit in 256b by Anonymous Coward · · Score: 0

    Especially when all of the links that it connects to identify them as Digital UNIX! It's a joke. Only Morons would believe this stuff!

  69. What about RFC2324 ? by Anonymous Coward · · Score: 0

    This thing seems suitable to implement HTCPCP on it :-)

  70. Re:It's for virtual consoles. VERY useful. by Ungrounded+Lightning · · Score: 1
    WTF kind of toaster do you have?

    It's a Kitchen Aid, model Ultra Power Plus. Single slot, wide enough for a split bagel or two slices of ultra-thick french toast bread. Plastic outside to prevent burns if you bump it. Picked it up at Fry's.

    Controls:

    Shade control: Button: lighter, Button: darker. 7-segment LED showing current setting. (This stuff simulates a slider.)

    Options: Button/light: reheat. Button/light: frozen. Button/light: bagel. Button: stop/reset.

    Miscelaneous indicator: Light: toasting.

    In other words, a computer controls the timing of the cycle. (I haven't seen any indication that it modulates the power level or only lights one side for bagels.) It provides a convenient interface in terms of type and state of bread and desired doneness, computing the required cycle time.

    Unlike a mechanical thermostat, it can compensate for the toaster being preheated, so if you do a second set of slices right after the first they come out the same. And you don't have to burn up a couple loaves or bags of bagels or waffles figuring out the right slider setting.

    --
    Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
  71. It is a hoax. by dkessner · · Score: 1

    This thing can't be for real. Here's why:

    They claim to have a PIC 12C509 microcontroller
    running at 4 MHz, and a serial link running
    at 115.2 kbps. Let's look at that closely.

    The first thing that I notice is that there
    isn't any RS-232/422/485 line drivers on
    their PCB, so that brings up some credibility
    problems. But, I'll give them the benefit
    of a doubt on this one.

    That particular PIC doesn't have a UART on
    it. So, they must "bit-bang" the UART function
    in software. This CPU executes an instruction
    every 4 clock cycles, or at 1 MIPS at the
    specified 4 MHz. That works out to be 8.68
    instructions per bit. Anyone who has bit-banged
    a UART knows that it's damn near impossible to
    do a UART in that many instructions, and even
    if they managed to pull it off they have NO
    time for anything else, like serving up a web
    page.

    Next is the claim of using the internal
    RC oscilator for this CPU. Now, RC oscilators
    are not particularly accurate things. In
    fact, at a supply voltage of 2.5 volts that
    CPU has an oscilator frequency range of 3.5
    to 4.26 MHz. Since this clock is also
    used as the alleged baud rate generator,
    any inaccuracy in this clock translates
    to an inaccuracy in the baud clock. Thus,
    there is 12% error in their baud rate.
    Now, in many situations an error of more
    than 5% is a bad thing and would cause
    severe communication errors.

    So their claim of a serial connection
    at 115 kbps is doubtful at best. Never
    mind the difficulty of putting a TCP/IP
    stack and web server into that thing.

    -David Kessner, davidk@free-ip.com

    --
    David Kessner davidk@free-ip.com
  72. Re:What, again? by antizeus · · Score: 1

    ...not to mention the "this was posted before" posts.

    --
    -- $SIGNATURE
  73. Good old Dr. Nather by Don+Negro · · Score: 1

    I took Ed Nather's Astronomy in Science Fiction class at UT in the spring of 1997.

    God, was that man cool.

    I had previously read The Story of Mel, but it wasn't until just now that I put the two together.

    He got his Bacherlors in 1947, and his Doctorate in 1972 (I had a bad habit of checking out my prof's credentials). I always meant to ask him what he did for those 25 years; now I guess I know.

    Check out Ed's work with the Whole Earth Telescope sometime. It's pretty cool.

    Don Negro

    --

    Don Negro
    Perl 6 will give you the big knob. -- Larry Wall

  74. Will wonders never cease? by The+Weaver · · Score: 1

    It looks like the little tike has been /.-ed! That's one way to break it in!

    --
    (2C)||(!2C), That is the question.
  75. Re:see what you can do in a small amount of code by Knos · · Score: 1

    4k of amazing gfx dos code . less is better .

    --
    . . . . . . . .. . . . . . . .
    may u!sh 2 sm!le at dz!z bad nn.!m!tat!ion
  76. Why was the article pulled? by Anonymous Coward · · Score: 0

    Does anyone know?

    1. Re:Why was the article pulled? by Anonymous Coward · · Score: 0

      Because its a hoax, and the editors were embarassed over falling for it?

  77. it's not the bytes; it's the words... by lophophore · · Score: 1
    PIC assembler is remarkably efficient; PICs are "Harvard Architecture", and much of the data can be combined with the instruction so the operator and operand fit into a single word... The instruction words & bus are either 12 or 14 bits wide (depending on the PIC; the 12C509 has 12-bit instructions), but the data bytes and bus are eight-bit.

    So it's not 512 bytes, it's 512 cleverly crafted words...

    jeff


    there are 3 kinds of people:
    * those who can count

    --
    there are 3 kinds of people:
    * those who can count
    * those who can't
    1. Re:it's not the bytes; it's the words... by tzanger · · Score: 1

      bytes, words, whatever.

      it's 512 INSTRUCTIONS. each instruction is 12 bits wide, which allows you to embed a 7 or 8 bit byte into that program instruction.

      The thing STILL only has (IIRC) 48 BYTES of data memory. Fit a TCP/IP stack into that. It won't be able to fit the goddamn header of a TCP packet in!

    2. Re:it's not the bytes; it's the words... by Anonymous Coward · · Score: 0
      The thing STILL only has (IIRC) 48 BYTES of data memory. Fit a TCP/IP stack into that. It won't be able to fit the goddamn header of a TCP packet in!

      But you're forgetting there is an EEPROM available. You could set aside 1k of memory for some scratchpad space.

  78. Re:Not with an 8-pin PIC! by awesjosh · · Score: 1

    Not quite, since serial data is synchronized at each start bit, a moderate amount of time drift can occur and still be synchronized. Using the R/C clock you can get a 1Mhz instruction rate, which is more than plenty to handle 115Kps.

  79. Re:What, again? by tzanger · · Score: 1

    I don't buy it. At all.

    I am a self-proclaimed expert on PIC devices, having worked with them since 1995 and writing over 50000 lines of assembly language on these things.

    the 12C509 runs on an internal RC oscillator at 4MHz unless otherwise tickled, which these guys aren't doing. That means it does 1MIPS.

    doing 115200bps at 1 instruction per us means that you have 8.6 instructions to get that bit out, not including tickling the SDA/SCL lines to do sync. serial to the I2C EEPROM, nor the filesystem overhead, nor the TCP/IP overhead. There is no room for a FIFO, no room for a TCP/IP stack, no room for a filesystem.

    The I2C interface to the EEPROM takes up a fair amount of code in itself, as does the async. communications.

    The chip has 512 bytes of PROGRAM memory, not data memory, of which this has (I think) 48 bytes.

    In short. No. Not unless the host computer is doing a LOT of work for it, in which case this isn't a "complete web server" now, is it?

  80. Ya know what these MIGHT be good for though... by tzanger · · Score: 1
    Take this thing and modify it a little.

    • Run it off of house power, transformerless power supply.
    • slap on an X10 interface or RS485
    • have an internal ID that's 10 bits or so
    Now get yourself a Coldfire eval board, but the modified uClinux on it (just go here and have it dish out / take back commands via the much simpler serial interface.

    Now you have an army of quick little PICs to do your bidding around the house. Now you have your toaster, light bulb, microwave, catfood-dispensers all controlled from the web. Anything that requires some power (relays, etc.) will either be AC relays driven with a triac or will use a heftier power supply, since the base unit would only need about a milliAmp or so of current to talk and sense.

    And... AND.. it's not fraud this time! :-)

    ... Every device doesn't need to be TCP/IP. Just one. the rest need to be able to talk to this proxy. Why put all the power in each device like that?
    1. Re:Ya know what these MIGHT be good for though... by tzanger · · Score: 1

      bah. and I did preview too!

      the IDs/capability bits will let you run an DHCP/BOOTP-style program on the server so you don't have to allocate addresses. Just look at the MAC and go.

      one control module per phase in the house and any number of minions.. :-)

  81. I thought reruns were only on TV by db · · Score: 1

    This was definately posted about 2 weeks ago. Whee.

    --
    Dave Brooks (db@amorphous.org)
    http://www.amorphous.org

  82. Re:Not with an 8-pin PIC! by culturedvirus · · Score: 1

    We do 187.5K with a PIC running Profibus-DP protocol. This is about the upper limit.

  83. Re:Old news [here's the link] by EricWright · · Score: 1

    That link was about many products competing for the title "World's Smallest Web-Server"
    Besides, I didn't see UMass on that list.

  84. Why web? by Anonymous Coward · · Score: 0

    But why would you need a tiny web server to do that? Since a vcr hooks to a TV, the obvious solution would be a gui driven by a handheld remote whose output is the TV screen, and you don't need http.

  85. Re:How about smart card web servers? by grrrreg · · Score: 1

    this is, by far, my fave /. comment to date...

    --
    I drink to make other people more interesting
  86. Re:It's for virtual consoles. VERY useful. by Anonymous Coward · · Score: 0
    It's a Kitchen Aid, model Ultra Power Plus. Single slot, wide enough for a split bagel or two slices of ultra-thick french toast bread. Plastic outside to prevent burns if you bump it. Picked it up at Fry's.

    A toaster from Fry's??? Put down the keyboard and call the fire department now! NOW!!!!

  87. factoid server? by LordXarph · · Score: 1

    Now I want to combine one with the factoid... collect facts and then serve them with the world's smallest web server...

    -Lx?

  88. More believable PIC based smallest Web server by jht001 · · Score: 1

    This is a more believable PIC based web server:
    http://www.mycal.net/wsweb/

  89. Not a hoax. by Anonymous Coward · · Score: 0

    Actually, TI had a contest for small embeded system about a year back, and the winner had written a TCP stack in a Pic, similar to the one they are using, so it is not a hoax. Just because you have never engineered and embeded system doesn't mean it can't be done. s2

  90. IP Addresses by Anonymous Coward · · Score: 0

    The Mirror page has the same IP as the server itself. Does this mean it is a fake, or IP masqueraded?

  91. Re:What, again? by azz · · Score: 1
    Since when is 8 instructions per bit a problem? Shift, mask, output, repeat. And you can "freeze" the serial bitstream by using the flow control lines. And I don't think it would be impossible to do this---TCP/IP allows you to simply discard anything that you're not immediately interested in and expect to get it again in a short while.

    "I want to use software that doesn't suck." - ESR
    "All software that isn't free sucks." - RMS

  92. Missing the point by RealWorld · · Score: 1

    It seems to me that many people are missing the point. It is useful to make things smaller, even beyond practicality, so as to explore the possibilities. Sure, this TCP/IP isn't practical. It may, however, lead to the development of minimalist stacks. Then those of us who need to connect to the net for $5 can get there. Anyone know of such a user group?

  93. Re:What, again? by tzanger · · Score: 1

    That's just it.. no flow control lines. and at 8 instructions per bit, there's not enough time to even spit out an XOFF.

  94. Call Guinness (no not the beer) by Anonymous Coward · · Score: 0

    and let them click on the link.... they're used to waiting for days on end to add yet another record to their book. As for the rest of us, who has the time or care to bother with such "small" things. ;^)

  95. wow, that's small by Anonymous Coward · · Score: 0

    That's almost small enough to fit up my butt. That would be pretty cool. I could walk around telling people "hi, I have a webserver up my butt".

    1. Re:wow, that's small by Anonymous Coward · · Score: 0

      Man... you weak little bottom bitch. I have a whole AS400 and a Solaris web farm up my arse. Keeps me warm at night. The serial,power, and cat5 cables hanging out my ass make bowel control a little difficult however.

  96. There ain't no way by Anonymous Coward · · Score: 0

    I wrote a bootloader for the PIC16F87x, and just parsing the hex file (properly) took about 500 instructions. Plus they say they're bit banging a UART at 1/10 the instruction cycle, on a RC clock that's +/- 10%? If this thing isn't a total hoax, it has to be like the EmWare(?) stuff. I.E. it's passing tokens to machine that's doing the hard work. Now that can be used for interesting things, but it should be billed as such.

  97. Re:What, again? by tzanger · · Score: 1

    Lets see the source code (granted, its going to be hand crafted binary)

    eh? why's that? Assembly is just as optimized as machine code, but you can read it. :-)

    Andrew

  98. Applications for the TCP/IP stack by duras · · Score: 1

    I don't particularly care for the fact that they used such a cool tiny TCP/IP stack beneath a webserver. They could have implemented chargen for all I care.

    But there are a whole lot of applications for a TCP/IP stack so small. I don't want to administer my toaster using the web. I hate the web. Its bloated. But if I'm to administer my toaster at all, it has to be done so using a protocol implementable for less than a dollar on a cheap PIC. I don't want Jini with Sun bloat, or the web and its bloat. Whomever was able to implement that TCP/IP stack (if its real) should be working on a lightweight toaster administration protocol rather than running a damn webserver.

    1. Re:Applications for the TCP/IP stack by OnyxRaven · · Score: 1

      mmm... Appliance Administration Protocol - AAP - that would be fun. Stuff it would need:

      Appliance MAC (This is really the address)
      Type (References a table in the client side that has applicable commands)
      Exceptions (extra or omitted controls and returns specific to the device)
      State (On/Off/Busy)
      Commands
      Returns

      so you:
      throw a MAC query onto your AN (Appliance Network) and it returns the appliances addresses, type, and exceptions. The client goes and gets the command structure from a table and adds/omits the exceptions. Client comes up with a nift menu of commands (however graphical or simple you want it). You throw a query packet to a MAC asking it's state, it says On, Not busy. You throw a series of command packets to program your VCR to record a rerun of the final episode of MST3K on channel 60 at 0300 on 11081999. VCR returns a 'program set' - checks for a tape - if no tape vcr sends a ATC (appliance to Client) packet saying 'load tape before program time of 0300 on 11081999'

      oops forgot to load a tape - better do that.

      :-)

      fun fun fun. this is what I would love to do :-)

      -Onyx

      --
      --onyx--
    2. Re:Applications for the TCP/IP stack by OnyxRaven · · Score: 1

      mmm... Appliance Administration Protocol - AAP - that would be fun. Stuff it would need:

      Appliance MAC (This is really the address)
      Type (References a table in the client side that has applicable commands)
      Exceptions (extra or omitted controls and returns specific to the device)
      State (On/Off/Busy)
      Commands
      Returns

      so you:
      throw a MAC query onto your AN (Appliance Network) and it returns the appliances addresses, type, and exceptions. The client goes and gets the command structure from a table and adds/omits the exceptions. Client comes up with a nift menu of commands (however graphical or simple you want it). You throw a query packet to a MAC asking it's state, it says On, Not busy. You throw a series of command packets to program your VCR to record a rerun of the final episode of MST3K on channel 60 at 0300 on 11081999. VCR returns a 'program set' - checks for a tape - if no tape vcr sends a ATC (appliance to Client) packet saying 'load tape before program time of 0300 on 11081999'

      oops forgot to load a tape - better do that.

      :-)

      fun fun fun. this is what I would love to do :-)

      --
      --onyx--
  99. Re:?? by Anonymous Coward · · Score: 0

    Haven't you learned anything in your pitiful life? It's not the SIZE that counts... it's how you USE it!

  100. Re:Smallest WHAT? by Anonymous Coward · · Score: 0

    And the winner of that competition would be a two inch long brainiack hampster-webmaster :-)

  101. disrespecting DEC by Anonymous Coward · · Score: 0

    Digital UNIX (eternity.cs.umass.edu) (ttyp3)
    I don't suppose they fitted an entire OS into that thing as well.
    haha, come to think of it though, kinda fun for an insult I guess.

  102. It just MIGHT be possible! See below... by Jason-IPS · · Score: 2

    Here's a page for a class project at UBC that might lend a little credibility to this:

    http://casas.ee.ubc.ca/475.tinystk.html

    It's short, so I'll quote it here:

    Tiny TCP/IP Stack

    TCP/IP has become the most widely used protocol for data communications. Although several free versions of software to send and receive data using TCP/IP are available, this code is too large to embed in small microcontroller-based products.

    The purpose of this project is to write the smallest possible TCP/UDP/IP stack that is interoperable with most existing software (even if not necessarily standards-conformant).

    You will be supplied with the relevant standards (RFCs) and a sample implementation (BSD 4.2) as a starting point. The success of the project will be measured by the size of your implementation (the target is approximately 2k of code and less than 1k of data). The code will be written in C. You will demonstrate your implementation by writing a very simple HTTP server operating over a SLIP link.

    Project Status

    We succeeded in getting a very small (about 1kB RAM, 2kB ROM) HTTP server. However, it ignored all IP options and only implemented the TCP protocol. The server could only serve two very simple HTML pages which were stored in ROM. It took two students a total of about 120 hours. We used only SLIP over a 6850 serial port to keep the physical interface as simple as possible. Due to the space constraints, the code "squashes" all layers of the protocol stack (SLIP/IP/TCP/HTTP) into one. It cannot be used as a general purpose stack. The code is not available.

  103. I want one! by perlmangle · · Score: 1

    ..make that several, heck at a buck apiece I can get a couple dozen and wire my whole house with those things. Woo!

    --

  104. by ajlitt · · Score: 1

    As about 500 people have previously said, this has already been discussed. C'mon! This guy's attempt is lame. Circuit Cellar did an article last month about a 'C508 used for datalogging that can speak tftp back to a host through a modem PPP connection. That's slicker than a "web server" with a "filesystem" serving "piddly shit" to a routing machine that handles the real connection. Show me one place where this server can do something useful.

    Woohoo! There's a webserver caught up my nose! And it's cabled to a PC! Everybody dance!

  105. Re:You know what would rock? by rjreb · · Score: 1

    you mean a "is that a supercomputer in your pocket or you just glad to see me" uneasy?

    --
    Pork is not a verb
  106. Re:Hey!!! by psaltes · · Score: 1

    yup, definitely, since we all know that ms owns umass, and that the they only let us use digital unix and linux to fool clueless /. readers...

  107. That amazing its/it's bug by Anonymous Coward · · Score: 0

    Two its/it's errors in one sentence! "If its real, its amazing." Let's review: its = possessive of "it" it's = contraction of "it is"

  108. Re: self-proclaimed expert on PIC devices by Anonymous Coward · · Score: 0

    I wouldn't claim to be an expert, but I've built enough single chip toys over the years. The UART is probably async if connected to the serial port of a linux box SLiRP or SLIP. It doesn't take 8 instructions/bit to bit shift and output the bit in an unfolded loop UART. Every project I've done on single chips uses a pop-code interpreter to leverage machine code ROM space. The instruction memory is 512 words of 12 bits. The RAM on this device is 25 bytes plus a few odd bits in registers.

    A 1MIP single chip can generally do pop-code token processing at around 50KOPc's/Second depending upon the average POPcode instruction length. By implementing the interpreter, UART and I2C in machine language the rest of the project can be done in compressed token streams. The speed penalty for compressed token streams is generally about a 20-30% overhead if tightly coded with highlevel machine functions.

    it doesn't take the much popcode to decode the incoming packet on the fly and send out preformated packets with minor editing.

  109. LOL by Anonymous Coward · · Score: 0

    "The smallest web server ever created melted down today, trying to bear the burden of a link from the infamous geek portal site, Slashdot."

  110. Hey!!! by Anonymous Coward · · Score: 0

    It's responding to pings... Can't be too dead...

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

      The page mentions telnet, but when I telnet'd the address listed in the link to the server I got a Digital UNIX prompt. Broken link? or hox?

  111. Re: self-proclaimed expert on PIC devices by tzanger · · Score: 1

    115200 @ 1MIPS?? Plus software-managed I2C? As stated, there's only 8 instructions available for each bit at 115200. Someone mentioned scratchpad RAM in the I2C. Remember you've got to clock and load/unload all the data over I2C yourself as well, not to mention wait for the device to finish on writes (it takes a little bit of time). There just isn't the power there. I'm currently trying to get a PIC12 to do THREE full-duplex async 9600 baud async at once (yes two asyncs, each tx/rx pair is async from any other tx/rx pair), one being IRDA. That's enough of a challenge at 4MHz. But 115200? Gimme a break.

    Anyway the whole excercise was proven NOT to be a "complete TCP/IP stack" as claimed, which was what I was originally pointing out. Yes a little chip with I2C can work with preformatted headers and when spoon-fed this data, spit out something in E2. That's not too impressive, and *is* doable.

  112. ?? by Anonymous Coward · · Score: 0

    but who actually has a NEED for a web server this small?? am i missing the point?

    1. Re:?? by Zach+Fine · · Score: 1

      These folk could use one:
      http://amazon.imdb.com/Title/ASIN=630402925X?005 2722

  113. Re:Me too! Yup, slashdotted. Bet its fast tho! ;) by Sun+Tzu · · Score: 2

    ...or, maybe a bug ate it. They got bugs in that part of the world big enough to eat a whole web server!

  114. Smallest WHAT? by Anonymous Coward · · Score: 2

    They should have a competition for the world's smallest webmaster. That'd be cool too :o)

  115. Not with an 8-pin PIC! by micahjd · · Score: 1

    I don't know about the TCP/IP stack, but these 8-pin PIC's use an internal resistor-capacitor oscillator, which is not nearly stable enough to use for software UARTS.
    I also have never heard of ANY pic being able to do 115Kbps!

    --
    -- 2 + 2 = 5, for very large values of 2
    1. Re:Not with an 8-pin PIC! by tzanger · · Score: 1

      I do it all the time.

      this unit runs at 10Mhz and does it. I know; I designed it.

      I however did not design the web page. Flames go to /dev/null. :-)

      It's quite easy to do 115200 on an 8 bit processor using an RC oscillator. Stable? not if the temperature changes. 115200@4MHz? not unless that is pretty much ALL it's doing. as stated earlier, that leave about 6.8 instructions per bit. Not a lot if you're gonna be doing anything else besides sending and receiving data.

  116. You know what would rock? by DonkPunch · · Score: 3

    Beowulf cluster! Just wire up a bunch of them! A complete cluster that fits in your pocket!

    Although the phrase "pocket cluster" makes me a little uneasy....

    (No, I'm not serious.)

    --

    Save the whales. Feed the hungry. Free the mallocs.
    1. Re:You know what would rock? by hicktruckdriver · · Score: 1

      >Although the phrase "pocket cluster" makes me a >little uneasy....

      "It's not a tumor!"

      --
      darius
  117. Slashdotted the little shit by Anonymous Coward · · Score: 0

    poor poor chip.

  118. Re:DOS your toaster by Anonymous Coward · · Score: 0

    Internet connected remote control devices are indeed ideal for terrorists (not to mention school kids intent on blowing up their school). I'd be careful with their sales, if I were the appropriate regulatory body.

  119. Probably bogus, and why..... by Anonymous Coward · · Score: 0

    Ok I think this has to be bogus, I got onto one of the mirror sites (hitting reload a LOT on a fast connection, oc3+) And it has stuff like complete javaapplets, music files (midi but still) and PI to 800 some digits. I'm sorry but a tiny eeprom can't hold all that (it's easily a meg or more) from their website: For this demonstration, I have placed on this web-server 32 different files. There are files of various types - text files, of course many HTML files a bunch of Java Applets GIF and JPG images Audio files Ok this amount of even simple data would take more then what their eeprom could hold at that size. (Java files ain't small! and audio files even midi's are about 100-500K a peice) Thus this is a hoax (PROBABLY, this is from UMass and I heard of a project like this in conjunction with MIT, and MIT can spit out anything) - "If at first you succedd, what the heck is the color of your rabits foor"

  120. How about smart card web servers? by Anonymous Coward · · Score: 0

    They should make a smart card (these little phone/credit cards) web site. You go up to a booth, and stick in your web server, with your home page on it. I don't know what EXACTLY it would be good for, but it'd be pretty cool.

  121. Re:DOS your toaster by Anonymous Coward · · Score: 0

    I should think that todays technology should allow for that siezed server to control something at least as big and multi-functionned as a car. I mean, using hundreds of circuits you can make thousands of 0 and 1s every second, and that makes at least enough parameters to control a car.

  122. Small? Bah. I want BIG! by rog · · Score: 1

    I'd rather see the BIGGEST web server on the internet, for some definition of BIG. Cdrom.com already has bragging rights for "Highest Volume". How about "Biggest Disk Farm"? "Biggest Physical Size"? "Deepest Redirect Tree"? What are the dinosaurs doing these days? Anybody running a VM/ESA web server? Any railway car enclosures? Diesel generators?

    --
    Saving random seed...
  123. Batter Power by MASTERwho · · Score: 1

    Where is the "battery power" they were talking about and how come it isn't in any of the pictures?

  124. It's for virtual consoles. VERY useful. by Ungrounded+Lightning · · Score: 1
    Once you've got fifty matchhead-sized computers scattered about you, controlling everything from the gas pressure in your running shoes through the setting of your air conditioner to the caffiene level of your blood, what are you going to use for a control panel?

    Back in the early days, control panels were built of discrete components. Every signal you watched needed a lamp, meter, drop flag, noisemaker, or the like. Everything you controlled needed its own switch, knob, slider, or whatever. Every gadget chewed up panel space, required its own expensive wiring back to the thing it monitored or controlled, and created another single point of failure.

    Computers were no exception (and you need to control the computer in any system a computer controls.) But their guts were riding Moore's law, while control-panel tech improves more like manufactured products: Economy of scale and occasional inventions. These days a control panel is a bit more work and cost than a printed circuit board. But even if controls DID improve by Moore's law, eyes and fingers only improve at evolutionary rates - which is effectively not-at-all. So the amount of stuff to be controlled outran the panel space to control it.

    By the '60s mainframes had more than one entire box dedicated just to the switches and blinky-lights, and it still wasn't enough. IBM was already multiplexing each row of blinky-lights across 16 functions with an associated rotary switch (that also changed the labels). Minicomputers were RISK and had less to display, but they were starting to do the same thing, or to skip displaying stuff of interest.

    DEC broke through with the LSI-11. Configuration was still jumpers, but the panel was replaced with a debugger-like interface on the primary serial port. When Amdahl left IBM he saved a lot of work on his first mainframe by building his control panel from a DGC Nova controlling a couple projection displays. Cray did the same BEFORE he left CDC, using a couple big monitors controlled by the 6x00's peripheral processors.

    Virtual control panels worked well for other things than computers, too. Factories began to be controlled from displays on screens. NASA scientists were amazed by a private rocket company who rented one of their engine test stands, but ignored the roomfull of control consoles and ran their test through a display hacked up on an early Mac.

    At first virtual control panels still required special-purpose hardware and software for each application. Later they were done with software on a general-purpose small computer. But they still required a lot of custom software and were limited to one operating system.

    HTML and CGI changed that. They provide a compact representation of arbitrary control panels and a means for switching between them, along with a convenient way to fill in variable display fields and to pass control-setting changes to the processor doing the controlling. And they allow one display to control a multplicity of devices over a network.

    These days my toaster has a custom control panel, with six buttons, four LEDs, and a seven-segment display. My ADSL modem, on the other hand, gets away with one failure-prone moving part - the power switch - by using a web server for its panel.

    Using web-based consoles the graphic interface is done for you, and the software is available (for FREE!) from multiple vendors for all popular platforms. Powerful graphic design tools are available off-the-shelf as well. The last missing link is the web server for the little embedded systems.

    With a rudimentary comm stack and an even more stripped-down web server, filling in the blanks in canned pages and forwarding responses to a cgi-based command handler, you've got all the control and display you need. You can even flip from machine, so you only need one window to run the whole show.

    The smaller the web server, the more of your tiny processor is available for useful work (or the smaller a processor you can get away with).

    So that's why you suddenly see a flood of little web servers for embedded micros, and why it's very important.


    --
    Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
    1. Re:It's for virtual consoles. VERY useful. by Anonymous Coward · · Score: 0

      These days my toaster has a custom control panel, with six buttons, four LEDs, and a seven-segment display. WTF kind of toaster do you have? Mine has a dial and a push down lever, thats it, and it costed $11. Some things are fine the way they are. Web-enabled toaster, f-ck that.

  125. It is a fraud by Liquidity · · Score: 1

    Try telneting to the IP address....
    Trying 128.119.41.46...
    Connected to 128.119.41.46.
    Escape character is '^]'.


    Digital UNIX (eternity.cs.umass.edu) (ttyp3)

    login:

    --------------
    unless this guy implemented Digital Unix in 256 words too.....

  126. It can be done by Anonymous Coward · · Score: 0


    Somthing like this can be done, we looked into
    what we called "stateless TCP" awhile ago and
    decided it was good for pushing data, and
    works poorly for anything else, but it
    is very simple an requires almost no code.

    [I deleted this section about stateless TCP
    and how it works because my boss said so,
    sorry]

    As for his uart, the key is that he is using
    harware flow control, I belive this would be
    useless in a multi drop enviornment as his
    examples show without some sort of extra
    support (ala a linux box). but you can use the
    router as a buffer and only process a byte or
    two at a time then tell the router to stop sending
    me stuph until you've done somthing with the data.
    yea 115K can be done at 4mhz using the above technique, but your effective throuhput is much
    less than 115K (very short bursts of 115K, then
    process, repeat...)

    I still think its a great demo.

    I should know as I did my own wsweb demo
    a few months ago using our technolgy.
    http://www.mycal.net/wsweb

    mike


  127. use for a $1 webserver by Anonymous Coward · · Score: 0
    You could put it in a USRobotics external modem, delete the serial port, add a 10/100 RJ45, and configure the web address through the web server.

    I can get rid of the printserver with a 10/100 attachment to the printer's parallel port. Now I can get rid of the computer entirely, because all it WAS doing was dialing the modem.

    Is there a modem manufacturer listening? No serial port on the external modem, just the RJ45?

    How 'bout it?

  128. 7200 hits an hour? by Mikesch · · Score: 1

    Oh well, I'll try connecting to it in a couple of days. I just got a mental image of this thing bursting into flames from the coming onslaught. On the bright side, they can make a server farm about the size of a floppy disk.

    A really cool idea though.

    Andrew (thinking a web controlled microwave is a really cool idea for some reason, except for when some cracker breaks in and overheats my lasagna)

  129. DOS your toaster by Osmos · · Score: 1

    So, what this means (assuming it's not a scam), is that people will make web-controllable toasters instead of copiers. And security being what it is, there'll be script kiddie scripts lying around to send too much power to the eject lever, and boom! Remote Toast Ejection At High Velocity. fwip!

    Hey, anyone remember Segfault's preview page? iToast? =)

    --
    -- I won't die for Fernando Poo
  130. What, again? by anticypher · · Score: 3

    This webserver was on /. about 2 months ago. It was generally agreed the "compliant TCP/IP stack in 256x12 bit words" was bogus.

    Although the web page has been updated to include more info, I'm still a bit skeptical. Now it has a ROM and the iPIC, so they might be able to allow single connections and serve up a simple page.

    Lets see the source code (granted, its going to be hand crafted binary)

    the AC

    --
    Hemos is like...sci-fi fans;he thinks technology is cool, but he hasn't bothered to understand the science it's based on
  131. Re:Old news [here's the link] by Frederic54 · · Score: 1

    here's a link to the old /. article about it.
    --
    http://www.beroute.tzo.com

    --
    "Science will win because it works." - Stephen Hawking
  132. It's not scam, only a joke! by Kaz+Kylheku · · Score: 1

    You positively cannot do TCP in 512 12 bit words.

    Look, the page starts out with a joke.

    I was especially rolling on the floor laughing when they said that the actual stack was only done in 256 words, and the rest was for miscellaneous code! Masterful comedy.

    I remember programming contests back in the early 80's having to do with what you could pack into 256 bytes of code (for your eight bit micro like the Apple II or what have you). People did some amazing things. But nothing like TCP/IP.

    Consider this: on the Apple II computer, each peripheral had 256 bytes of memory mapped space, in which it could implement a driver. There existed serial drivers that barely fit into that limit, and these had only basic functions for transmitting and receiving characters in a blocking fashion plus a few other functions.

    I had a modem whose hardware was very simple, but which did not manage to cram everything into the 256 limit. There was also a 2K space that was shared by all the devices (one at a time) so most of the modem's driver was crammed into there.

    This was very tight coding. The 256 byte basic area even had overlapping instructions to save space. That is, the data part of one instruction serving as the opcode of another instruction. (Some biological viruses do something like this in their genetic code: two different proteins generated by overlapping areas in the code).

    Anyway, the whole thing is a joke, probably inspired by some recent ``world's smallest web server'' slashdot stories.

  133. Maybe not. by John+Campbell · · Score: 2

    Near as we were able to determine the last time this article popped up, eternity is not the bitty machine, it's a regular old Digital Unix box that's acting as a SLIP router for the bitty machine. If you examine the HTTP response from eternity, you'll notice that it's actually a redirect to another IP and port. If you follow the redirect, you get the page. That's what I found last time, anyway... I can't seem to get through just now to paste the actual HTTP response up...

  134. Fitting... by Pig+Hogger · · Score: 1

    It's fitting that a web server be shaped like a tiny spider...
    -- ----------------------------------------------
    Vive le logiciel... Libre!!!

  135. Slashdot is not very reliable by Anonymous Coward · · Score: 0

    I am shocked how many news articles posted on slashdot are fakes. This is really pathetic, they supposedly handed slashdot over, so they would have more time for the site. I suggest they use that time to check their stories instead of appearing as incompetents.

  136. Cracking the IPic by Anonymous Coward · · Score: 0

    Completely new ways of cracking a webserver... (Hey Phil, you stepped on my IPic!)

  137. Finally by Fractal · · Score: 1

    Jeez, I've known about this little bugger here at UMass for a while now... was sorta depressed to see it not included in the last round of 'smallest web server ever'... Ahh well. :)

    The whole world's gonna be a web server now... imagine wearables with these PIC chips in buttons, serving up a web page with your exact geographical coordinates... who needs a pager? Heh, and if you can't find where you left those clothes, just check the web page for them :D

    The question came up last time, though, on whether it was actually a web server or just a redirect... did that get answered? I'm too lazy to go check the archives... =]

    -Fractal
    "Go!
    Go U!
    Go UMass!
    Go! U! Mass!" [fight songs suck.]

    --
    This .sig deleted to save bandwidth.
  138. News Flash -- Web Server on a Chip beats NT/IIS by Anonymous Coward · · Score: 1

    In a recent Mindcraft Study, Ipics Web Server handily beat a quad Xeon 4gig NT Server running IIS4. Microsoft Engineers only commenting that a fix for this will be in SP83. Mindcraft is the industry leader in running useless benchmarks. Microsoft is the industry leader in marketing poor quailty software.

  139. Scam? by erl · · Score: 1

    $ telnet 128.119.41.46
    Trying 128.119.41.46...
    Connected to 128.119.41.46.
    Escape character is '^]'.

    Digital UNIX (eternity.cs.umass.edu) (ttyp3)

    login: