Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Technology

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

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.
This discussion has been archived. No new comments can be posted.

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

Comments Filter:
  • do you get to keep it?

  • 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!

  • Yes, a really tightly coded byte-by-byte state machine implementation, maybe...
    --
  • But heres a news link from U. of Mass.

    http://www.umass.edu/newsoffice/press/99/0810shr i.html
  • 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
  • True, you might be able to fit in enough could to make it display a LILO prompt somewhere though.
  • 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 ?
  • 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.
  • If this is all hardware, how can it "crash" ??
  • 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).
  • 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...)
  • ...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

  • 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.
  • by drwiii ( 434 )
    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.

  • 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
  • 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)
  • not too many it would seem...

    /. strikes again.
  • 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





    =-=-=-=-=-=
  • 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? :-) )
  • I can't stop myself from pitying that little thing as it's being slashdotted. It looks so helpless.
  • 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
  • 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
  • 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.

  • by ChadN ( 21033 )
    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)
  • 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...)
  • 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.
  • 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???

  • 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

  • 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.
  • 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've got a bunch of toaster ovens. Should we beowulf those together? (think of how many Gigabites of pizzarolls we could make.. ;)

  • "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."
  • What kind of RC5 rate do you think...

    oh just forget it.

    -Chris
  • 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.
  • 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.
  • Hardly a "real" web server if it has to interface directly to a router. The HP "BFOOT" [hpie.com] 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 [hpie.com] smaller than a credit card.

  • 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...

  • by edwdig ( 47888 ) on Wednesday August 11, 1999 @09:24AM (#1751805)
    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
  • 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.
    +++++

  • 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.
  • An obvious reason is so that you can have an TV Guide type page with a link to your VCR to record the program.
  • 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.

  • 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
  • ...not to mention the "this was posted before" posts.
  • 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 [utexas.edu] sometime. It's pretty cool.

    Don Negro
  • It looks like the little tike has been /.-ed! That's one way to break it in!
  • 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.

  • 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

  • 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.
  • 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.
  • 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?
  • 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 [moretonbay.com] 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?
  • This was definately posted about 2 weeks ago. Whee.

    --
    Dave Brooks (db@amorphous.org)
    http://www.amorphous.org
  • 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.. :-)
  • We do 187.5K with a PIC running Profibus-DP protocol. This is about the upper limit.
  • 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".
  • That link was about many products competing for the title "World's Smallest Web-Server"
    Besides, I didn't see UMass on that list.
  • this is, by far, my fave /. comment to date...
  • Now I want to combine one with the factoid [slashdot.org]... collect facts and then serve them with the world's smallest web server...

    -Lx?
  • This is a more believable PIC based web server:
    http://www.mycal.net/wsweb/ [mycal.net]
  • 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

  • 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?
  • > ...instant network webcam...
    From the info on his web page, it looks like he's working on that.
  • 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.
  • 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
  • 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.

  • 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...
  • 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 [ee.ubc.ca]

    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.

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

    --
  • 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.
  • by ajlitt ( 19055 )
    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!

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

  • 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...
  • 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.

  • 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! :-)

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

    --
    QDMerge [rmci.net] -- data + templates = documents.
  • 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.
  • Surely more stability than into 10 Megabytes.


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


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

    sigh!

    --
    QDMerge [rmci.net] -- data + templates = documents.
  • ...or, maybe a bug ate it. They got bugs in that part of the world big enough to eat a whole web server!
  • by Anonymous Coward
    They should have a competition for the world's smallest webmaster. That'd be cool too :o)
  • 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
  • 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!
  • 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!
  • by DonkPunch ( 30957 ) on Wednesday August 11, 1999 @10:09AM (#1751881) Homepage Journal
    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.)
  • 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?
  • Where is the "battery power" they were talking about and how come it isn't in any of the pictures?
  • >Although the phrase "pocket cluster" makes me a >little uneasy....

    "It's not a tumor!"

  • 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.


  • 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.....
  • 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
  • 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 :-)
  • These folk could use one:
    http://amazon.imdb.com/Title/ASIN=630402925X?005 2722
  • 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)
  • 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? =)
  • (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 [tuxedo.org] 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.



  • by anticypher ( 48312 ) <anticypherNO@SPAMgmail.com> on Wednesday August 11, 1999 @08:43AM (#1751906) Homepage
    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
  • 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...

Real programmers don't bring brown-bag lunches. If the vending machine doesn't sell it, they don't eat it. Vending machines don't sell quiche.

Working...