TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

BBS, Lua, Coroutines, Mongrel2: Part 1

62 pointsby alexkayover 14 years ago

12 comments

fogusover 14 years ago
I ran a BBS in the Baltimore area as a kid. Of course, it was only open after midnight and closed again at 4 am. I used to set my alarm and sneak upstairs to turn off/on the ringers on the other phones. I had about 8 regular callers from all over MD -- this was practically international to a 9 year-old. I ran TriBBS.
评论 #1801280 未加载
elibenover 14 years ago
Somewhat related to the coroutine vs. FSM issue: <a href="http://eli.thegreenplace.net/2009/08/29/co-routines-as-an-alternative-to-state-machines/" rel="nofollow">http://eli.thegreenplace.net/2009/08/29/co-routines-as-an-al...</a><p>[apologize for the plug, but IMHO it's very relevant]
评论 #1800889 未加载
评论 #1801349 未加载
yummyfajitasover 14 years ago
<i>Enter Lua's coroutines, which are really the only full and complete coroutines.</i><p>I'm curious, could someone explain this statement? I was under the impression that Python had coroutines as well. Syntactically they are a bit uglier (yield statements everywhere), but functionally similar: <a href="http://www.python.org/dev/peps/pep-0342/" rel="nofollow">http://www.python.org/dev/peps/pep-0342/</a><p>(Admittedly, I don't know a lot about coroutines, so I could be way off here.)<p>In code: <a href="http://gist.github.com/630921" rel="nofollow">http://gist.github.com/630921</a>
评论 #1800440 未加载
评论 #1801261 未加载
评论 #1801413 未加载
jens187over 14 years ago
I ran a BBS out of Stockholm, Sweden on my Atari 1040STFM with a MegaDrive 60MB harddrive which was really loud in my bedroom all day and all night, like a vacum cleaner. Many different people from all over the country dialed my one phone line connection. People downloaded mostly Public Domain applications have music in MOD-format. I met up with some of the people logging in, they were often older than me and could by booze, haha. Just reminiscing....
cagefaceover 14 years ago
The problems Zed lists for a co-routine based web app (essentially tying important state to a single server) are also problems for the Scala/Lift framework. Dave Pollak, the author of Lift, claims that maintaining some server-side state solves more problems than it causes but I haven't had a chance to test this myself in a real app.
chriseidhofover 14 years ago
Does anybody have a good solution for the "Sharing Coroutine State Sucks"-problem? I've thought a very long time about this (in my case, using continuations in FP instead of coroutines in Lua), but I still can't seem to come up with a good answer.<p>I guess one way to deal with it is by mechanically transforming the co-routines into a FSM. This is very similar to defunctionalization. However, I don't know of a language that does this well. Any suggestions?
评论 #1801185 未加载
评论 #1800470 未加载
评论 #1800641 未加载
评论 #1800453 未加载
Rickasaurusover 14 years ago
I ran a Renegade BBS on a machine inside my step-dad's office (Hartford CT area). He was nice enough to let me use his fax number (as he almost never did) with the caveat that he could disconnect people if he needed it.<p>Very fun times. I used to love the Barren Realms Elite leagues most of all.
johngaltover 14 years ago
Sysop of a Wildcat BBS on a 286. Still remember how excited I was to upgrade to a 386 with an optical drive. The idea that I could store 650MB available for download! If I ever needed more I could just change the disk.<p>Missed many nights of homework working on that thing. Making contests for LoRD or Tradewars. Zed described the death of BBSs very accurately. It went from THE thing to do, to lights out almost overnight.
endgameover 14 years ago
Good timing. I'm working on a MUD server with lua scripting and this coroutine stuff is a much better way to handle input.<p>Eventually I'm going to stick ZMQ-based RPC onto it as well, so other services (M2?) can interrogate the server for things like player lists.
quadhomeover 14 years ago
Use <a href="http://dpaste.de/xtDj/raw/" rel="nofollow">http://dpaste.de/xtDj/raw/</a> instead of the given URL.
评论 #1801271 未加载
osiover 14 years ago
web-programming with coroutines has been around.<p><a href="http://cocoon.apache.org/2.1/userdocs/flow/continuations.html" rel="nofollow">http://cocoon.apache.org/2.1/userdocs/flow/continuations.htm...</a> for one example, but that was still based on prior art.
ggchappellover 14 years ago
Figlet "large" font sighted about 20% of the way down. :-)