00:06:40  <luvit-bb>build #900 of virgo-windows2008_x64 is complete: Failure [failed run build integration tests] Build details are at https://virgo-bb.k1k.me/builders/virgo-windows2008_x64/builds/900
01:12:50  * tsingjoined
01:59:51  * kevwiljoined
03:18:23  * kevwilquit (Quit: WeeChat 0.3.7)
04:10:43  * hij1nxjoined
04:32:11  * tsingquit (Ping timeout: 244 seconds)
04:32:48  * tim_smartquit (Quit: leaving)
04:33:04  * tim_smartjoined
05:11:36  * xmingquit (Read error: Connection reset by peer)
05:14:41  * tim_smar1joined
05:14:41  * tim_smar1quit (Client Quit)
05:49:14  * hij1nxquit (Quit: hij1nx)
06:29:43  * mmaleckijoined
06:40:26  * mmaleckiquit (Quit: Reconnecting)
06:40:33  * mmalecki_joined
07:09:01  * xmingjoined
07:27:13  * mmaleckijoined
07:30:14  * mmalecki_quit (Ping timeout: 256 seconds)
07:31:56  * mmaleckiquit (Ping timeout: 256 seconds)
07:32:21  * xmingquit (Changing host)
07:32:21  * xmingjoined
08:05:42  * mmaleckijoined
08:06:41  * mmaleckiquit (Client Quit)
08:06:52  * mmaleckijoined
08:07:55  * mmaleckiquit (Client Quit)
08:08:08  * mmaleckijoined
08:12:30  * mmaleckiquit (Client Quit)
08:16:49  * mmaleckijoined
08:23:36  * mmalecki_joined
08:23:46  * mmaleckiquit (Quit: Reconnecting)
08:32:19  * mmalecki_quit (Ping timeout: 260 seconds)
09:26:11  * creationixquit (Ping timeout: 260 seconds)
09:31:26  * ljacksonquit (Ping timeout: 260 seconds)
09:35:12  * creationixjoined
09:45:11  * ljacksonjoined
10:17:28  * hij1nxjoined
10:40:10  * mmaleckijoined
10:56:03  * mmaleckiquit (Quit: Reconnecting)
10:56:16  * mmaleckijoined
11:05:43  * hij1nxquit (Quit: hij1nx)
12:07:06  <luvit-bb>build #901 of virgo-windows2008_x64 is complete: Failure [failed run build integration tests] Build details are at https://virgo-bb.k1k.me/builders/virgo-windows2008_x64/builds/901
12:17:28  * mmaleckiquit (Quit: leaving)
12:40:57  * hij1nxjoined
12:50:43  * hij1nxquit (Quit: hij1nx)
12:54:36  * hij1nxjoined
13:39:47  * mmaleckijoined
14:38:47  * TheJHjoined
14:46:36  * tsingjoined
15:10:16  * tsingquit (Quit: Leaving...)
15:12:05  * tsingjoined
16:42:46  * neomantra1joined
16:52:37  * tsingquit (Quit: Linkinus - http://linkinus.com)
16:54:32  * tsingjoined
16:56:12  * tsingquit (Remote host closed the connection)
17:24:29  * mkandrashoffquit (Quit: Leaving.)
17:24:51  * mkandrashoffjoined
17:28:30  <luvit-bb>build #902 of virgo-windows2008_x64 is complete: Failure [failed run build integration tests] Build details are at https://virgo-bb.k1k.me/builders/virgo-windows2008_x64/builds/902
17:40:25  * hij1nxquit (Quit: hij1nx)
17:40:28  * mmaleckiquit (Quit: leaving)
17:48:06  <CIA-117>Ryan Phillips master * r3f69e44 / deps/openssl : bump openssl - http://git.io/RlsTfg
17:55:31  <luvit-bb>build #903 of virgo-windows2008_x64 is complete: Failure [failed integration tests] Build details are at https://virgo-bb.k1k.me/builders/virgo-windows2008_x64/builds/903
18:08:02  <CIA-117>Paul Querna fix_hrtime_types * r10deb74 / src/luv_misc.c : HRtime is a double, lets put it into luvit as a double - http://git.io/EoiEEw
18:08:45  <pquerna>https://github.com/luvit/luvit/pull/239
18:15:38  <CIA-117>Paul Querna master * r10deb74 / src/luv_misc.c : HRtime is a double, lets put it into luvit as a double - http://git.io/EoiEEw
18:15:39  <CIA-117>Paul Querna master * ra9c05ba / src/luv_misc.c : Merge pull request #239 from luvit/fix_hrtime_types - http://git.io/2FtJQw
18:19:39  <creationix>pquerna: you guys are awesome, luvit would be dead without your support
18:20:03  <rphillips>we love luvit
18:20:40  <rphillips>our agent is down to ~4.6 MB rss
18:20:47  <creationix>still using luajit?
18:20:49  <rphillips>yep
18:20:52  <creationix>nice
18:21:03  <creationix>I still want to tweak the build system to make luvit more modular
18:21:05  <rphillips>pquerna trimmed down the openssl library
18:21:09  <creationix>I saw that
18:21:14  <creationix>openssl is pretty big
18:21:21  <creationix>and I usually don't need it at all
18:21:27  <rphillips>plus he took out some dead code
18:22:22  <creationix>I want luvit-core to be just libuv bindings and the lua wrappers around that. Then http will be an external module (with the http_parser lib embedded in a .luvit file and the http.lua file in the module)
18:22:50  <creationix>there will be official modules that are part of luvit, but not hard-coded into the main binary
18:23:07  <creationix>then I want a build tool that takes your luvit tree and combines everything into a single binary
18:23:14  <pquerna>i guess i'm still skeptical about the advantages
18:23:29  <pquerna>i guess if you can compile out whole things you don't need for emebded, that would be helpful
18:23:29  <creationix>well, you don't need http, for example
18:23:30  * hij1nxjoined
18:23:34  <pquerna>we do :)
18:23:38  <creationix>oh, you use it now?
18:23:41  <pquerna>yeah
18:23:50  <creationix>well, for you, you use pretty much everything in luvit
18:23:54  <pquerna>heh :)
18:23:55  <creationix>so not much advantage
18:24:10  <pquerna>i think it could be nice for super-embeded, so +1 in concept i guess
18:24:19  <pquerna>and the number of modules will always grow right
18:24:22  <pquerna>so its a good practice
18:24:33  <creationix>right, mainly I want the customizability
18:24:52  <creationix>I can ship my desktop opengl game as a striped down luvit with some extra stuff baked in
18:27:13  <pquerna>yeap
18:29:46  <creationix>I need to get a faster SD card
18:29:56  <creationix>my raspberry PI is bottlenecked on the disk
18:30:08  <creationix>(which is saying something considering how slow the CPU is)
18:30:12  <levi>Is it easy to build it against the standard lua implementation instead of luajit?
18:30:19  <creationix>levi: I believe so
18:30:33  <creationix>though it's not actively tested
18:30:39  <creationix>why do you want vanilla lua?
18:30:42  <levi>What's the runtime size difference between the two?
18:30:57  <levi>I don't necessarily, I'm mostly just curious.
18:31:02  <creationix>pquerna: ^ what was the difference?
18:31:28  <pquerna>luajit was about 3% more ram
18:31:52  <pquerna>3% of nothing is basically nothing
18:32:11  <pquerna>so we just lept onto using luajit
18:32:21  <pquerna>reverting to straight lua should mostly just be changing the link line
18:32:29  <pquerna>nothing uses ffi in the core anymore (right?)
18:33:15  <levi>Well, I'm kind of interested in evaluating it for doing prototype UIs for embedded systems.
18:33:53  <pquerna>if its a supported architecture/cpu for luajit, I'd honestly vote just keep using luajit
18:34:03  <pquerna>unless you are talking super-super-super slim
18:34:34  <pquerna>creationix: the compile out everything but what you need would be nice for your games too, you prolly don't want to bundle openssl/tls etc, so yeah... gooooo
18:34:46  <creationix>right
18:34:47  <pquerna>also we were talking about that we should do another release soon
18:34:59  <creationix>yeah, I stink about release often
18:35:16  <creationix>though I can throw in a raspberry pi binary now :)
18:35:28  <creationix>for the lucky few to have one already
18:35:51  <levi>If it works with luajit on raspberry pi, it would probably be fine that way for most things I'd use it for.
18:36:16  <pquerna>https://github.com/luvit/luvit/compare/0.3.1...master
18:36:22  <creationix>levi: yeah, Mike Pall has a raspberry PI
18:36:29  <creationix>he's working on optimizing it for that particular arm variant
18:36:44  <creationix>currently it works fairly well and compiles out of the box
18:37:24  <creationix>luajit is pretty darn portable
18:37:41  <creationix>covers most the server, desktop, mobile, and game console markets
18:37:55  <pquerna>ttp://www.freelists.org/post/luajit/LuaJIT-Roadmap-20122013
18:37:58  <pquerna>http://www.freelists.org/post/luajit/LuaJIT-Roadmap-20122013
18:38:08  <creationix>thanks pquerna, I was looking up that link
18:38:25  <levi>Optimizing it for an ARM6 core seems a bit like wasted effort.
18:39:04  <creationix>levi: not if the device gets popular
18:39:19  <creationix>it's really cheap hardware
18:39:26  <creationix>because it's so old
18:41:07  <creationix>btw, regarding luajit on the raspberry in particular http://www.freelists.org/post/luajit/Cost-of-wrapping-ffi-functions,4
18:41:43  <levi>It's a cheap board, and probably a lot of people will buy them to play with, but newer ARM SoCs are dropping in price too.
18:44:37  <creationix>true, though Mike's priorities are largely decided by the people that sponsor him. So I don't know his motives or intentions
18:45:04  <levi>Well, if someone's paying him to do it, I take that back. :)
18:51:59  <levi>It's cool to see the emphasis on cross-compiling in the luajit roadmap.
18:57:32  * mmaleckijoined
19:01:53  <xming>I like the idea of modular luvit core + "official" modules, doens't pancake already have a pkg system? Who is mainly going to do the core config/build splitting? I think I can help
19:05:22  <creationix>xming: I'd do it if I had the time, but I don't
19:05:50  <creationix>xming: so official packages will be things like http, https, openssl, zlib, yajl, msgpack
19:05:54  <creationix>things that make the platform complete
19:06:24  <creationix>but other than having official support (and maybe living in the same source tree), they are on equal ground with third-party modules
19:07:21  <creationix>the nodejs method of not endorsing any modules except those built-in has been both good and bad
19:07:32  <creationix>it's near impossible for a newcomer to know what's good and what's crap
19:07:45  <creationix>but on the other hand, there are tons of creative and good modules out there
19:08:08  <creationix>pancake's package manager (or one like it) is key to making this work
19:17:38  * mmalecki_joined
19:21:22  * mmaleckiquit (Ping timeout: 252 seconds)
19:21:36  <xming>I would certainly like to rip http(s) off the core :D
19:22:13  * mmalecki_changed nick to mmalecki
19:22:19  <xming>creationix: I will have a look in the build system (the Makefile one) and see how I can make things compile-time slectable
19:22:35  <xming>things that I am not familiar with is that bundling stuff
19:22:51  <creationix>I think what I want to do is just have lots of targets
19:23:07  <creationix>core will be luvit itself, then extra optional targets for other modules
19:23:13  <creationix>then a bundle target to combine everything
19:23:26  <creationix>the default "all" target can just build everything and bundle
19:23:51  <creationix>but people wanting to customize can make the desired components manually and then bundle when they are done customizing
19:24:10  <creationix>I'd rather not mess with environment variables or command-line flags to configure which parts are enabled
19:24:39  <creationix>the luvit tree probably needs to be restructured to make this sane
19:24:55  <creationix>currently it's /src for C code and /lib/luvit for lua code
19:25:38  <creationix>instead of can be /core/src and core/lib for the core system and then /modules/http/ for the http module
19:25:49  <creationix>each module will have it's own make file
19:26:00  <creationix>and a package.lua manifest (or whatever we called them)
19:26:33  <creationix>hmm, or just leave out /core/ and keep it /src and /lib
19:27:32  <creationix>we'll need staging folder to put things pre-bundle
19:28:12  <xming>by compile time configuration I mean somthing like busysbox build system
19:28:19  <creationix>how does that work?
19:28:41  <xming>like kernel's make menuconfig
19:29:08  <creationix>sounds complicated
19:29:16  <creationix>we still have two build systems too
19:29:26  <creationix>I wish gyp didn't require python
19:29:39  <xming>creationix: http://www.youtube.com/watch?v=mViCc7TmVCU
19:29:59  <xming>what does gyp actually do? Build system for non unix?
19:30:37  <creationix>gyp generates makefiles
19:30:42  <creationix>it's needed for windows builds
19:30:48  <xming>cmake is cross-platform, can generate Makefiles and vsproj
19:31:02  <creationix>yeah, but libuv used gyp
19:31:08  <xming>ah
19:31:16  <creationix>because v8 uses gyp
19:31:20  <creationix>and libuv was written for nodew
19:31:53  <xming>finding python on an existing windows system is not very common
19:32:07  <creationix>nope, building on windows is a pain
19:32:11  <xming>but libuv is not dependant of v8
19:32:25  <creationix>no, libuv is straight C, no dependencies
19:32:42  <creationix>just gyp if you want to build it on windows
19:32:45  <xming>so making a cmake for it should be "not difficult"
19:33:03  <xming>how about trying cmake (for libuv and luvit)?
19:33:08  <creationix>I don't want to maintain a fork of libuv's build system
19:33:18  <creationix>cmake comes with it's own complications
19:33:40  <xming>I can do that
19:33:48  <xming>at least the unix part :D
19:34:30  <creationix>cmake makes cross-compiling easier right?
19:34:37  <creationix>I know we used it for webOS at palm
19:34:39  <xming>if you don't dislike the idea of cmake and busybox's build system, then I can try to thinker something
19:35:00  <creationix>I just don't want yet another build system that doesn't replace the others
19:35:24  <xming>me neither, but if we dont' try then we'll never knnow
19:35:45  <xming>that is why I propose the idea and discuss it here
19:36:15  <xming>I don't want to jump into doing something that someone objects or it's a dead end from the beginning
19:37:01  <xming>maybe I will start to replace libuv's build system with cmake
19:37:13  <xming>if that works out then I can move forward
19:37:44  <xming>who's using/building luvit on windows?
19:37:50  <rphillips>just us
19:37:52  <rphillips>afaik
19:38:02  <xming>mehhhhh :p
19:38:10  <creationix>I imagine most windows users will just want the binary
19:38:19  <creationix>except for people wanting to build customized builds
19:38:26  <rphillips>node is using gyp... i highly doubt they will change
19:39:10  <CIA-117>Michael Kandrashoff master * rf951078 / : Merge branch 'master', remote-tracking branch 'origin/master' - http://git.io/aQP6zg
19:39:10  <CIA-117>Michael Kandrashoff master * r50bd2f1 / lib/luvit/tls.lua : lib/luvit/tls.lua: Added code to tls.connect() to allow for context import - http://git.io/JGnuhQ
19:39:10  <CIA-117>Michael Kandrashoff master * r935603e / lib/luvit/tls.lua : lib/luvit/tls.lua: Changed function call to createCredentials in connect() - http://git.io/hBQmGA
19:39:10  <CIA-117>Ryan Phillips master * r778ebab / lib/luvit/tls.lua : Merge pull request #240 from racker/tls_context - http://git.io/7v7U0A
19:39:13  <creationix>It would be great if we could offer a build service where people could submit recipes and we spit out binaries for all the main platforms
19:39:43  <creationix>or provide them with tools to do that on their own
19:40:16  <creationix>maybe pre-built luvit that's not yet bundled and include a binary bundler tool that doesn't require any build toolchain
19:40:28  <creationix>then they can just delete files, add lua scripts and bundle
19:40:49  <xming>how does bundling work? Which script/file does that?
19:41:02  <creationix>currently it's the C compiler linking everything
19:41:15  <creationix>the lua scripts are converted to bytecode in .so files by luajit
19:41:30  <creationix>but I'm sure there are other methods that don't involve gcc or a compiler
19:41:46  <creationix>even if the bundled result is just a main binary and a zip-file
19:41:58  <creationix>or the binary packaged as a zip file
19:42:21  <xming>a binary + zip? You mean like java's jar/war?
19:42:34  <creationix>kinda
19:42:42  <creationix>or self extracting zips
19:42:48  <creationix>but instead of extracting, just execute
19:42:57  <creationix>zip is a very flexible format
19:43:38  <xming>that should can be don't w/o compiler IMO, but bundling into one big ELF needs a linker
19:43:47  <xming>php has that phar thing
19:43:52  <creationix>right, linker
19:44:03  <creationix>I always bundle linker with compiler
19:44:18  <xming>complinker? :p
19:44:20  <creationix>or they can just distribute as a folder
19:44:31  <creationix>it makes their assets a little easier to see and modify
19:44:58  <creationix>which I would see as a feature, but others may not
19:45:19  <xming>making luvit core (sasn extra's) and lib/mod/3rd party as zips can make things easier on the long run on multiple platforms IMHO
19:45:44  <creationix>some modules will have binary bits
19:45:49  <creationix>http will have http_parser
19:45:58  <xming>bulde that in the zip
19:46:09  <xming>zip with directory structure
19:46:19  <creationix>so you're saying zip per module?
19:46:29  <creationix>can you dlopen a file inside a zip?
19:46:43  <xming>java/php dpes that IIRC
19:46:49  <xming>does*
19:46:58  <creationix>I guess you can specify the offset or something
19:47:07  <creationix>just don't compress that particular file
19:47:19  <xming>zip has index
19:47:52  <xming>I think mods authors can ship their mods as one zip
19:48:04  <xming>but the user can merge serveral zips in one
19:48:08  <xming>e.g.
19:48:24  <xming>I need 20 zip from different projects (core, 3rd party)
19:48:36  <xming>and I make few of my own
19:48:51  <xming>I should be able to put all of them in one giant zip
19:49:06  <xming>just like jar or war
19:49:08  <creationix>One thing I love about OSX is how apps are bundled (the general concept at least)
19:49:15  <creationix>it's just a folder with .app extension
19:49:23  <creationix>but it's treated as a single file / app by the gui
19:49:33  <xming>they just hide it that it's a directory :D
19:49:41  <xming>they cheat :D
19:49:56  <creationix>right, it's great
19:50:06  <xming>to me I hate it
19:50:07  <creationix>though you can't download an app because it's several files
19:50:17  <creationix>it has to be packaged inside a zip or dmg
19:50:18  <xming>everytime I am on OSX I hate that feature
19:50:28  <creationix>you can open the folder in finder
19:50:33  <creationix>it's just not the default behavior
19:50:43  <xming>makes me want to throw that MBP out of the window
19:51:16  <creationix>anyway, we can't depend on finder stuff
19:51:53  <creationix>regarding cmake, Tom Hughes at Palm was maintaining a cmake system for node
19:51:54  <levi>I like the app bundle on OS X, too.
19:51:55  <xming>creationix: http://pecl.php.net/package/phar
19:51:59  <creationix>but Ryan never accepted it as main
19:52:07  <creationix>then he switched to gyp from scons/waf
19:53:16  <levi>I need to get myself another mac. I haven't had one since the x86 switchover.
19:53:40  <creationix>levi: osx isn't what it used to be
19:53:54  <creationix>it's almost iOS now
19:54:21  <creationix>the default config in finder in lion won't let you get to your home directory
19:54:37  <creationix>only the blessed folders within it (Photos, Music, etc..)
19:54:50  <creationix>and even then I doubt it's the real folder, but rather live search results
19:54:51  <xming>I only ever bought one Mac in 2002, when Apple just left the evil zone and before reentering the evil zone again
19:55:44  <xming>before that I disliked Apple, and after 2007 I start to dislike Apple again
19:56:14  <xming>but there were 5 years when Apple was oss friendlier
19:56:31  <creationix>and they ported dtrace!
19:56:49  <creationix>that was not a business decision, but some engineer doing what he wanted
19:57:56  <xming>zfs almost made it
19:59:08  <creationix>ok, so for new, we'll use the linker to bundle
19:59:11  <creationix>*now
19:59:27  <creationix>people without build toolchains can only deploy as folders
19:59:32  <creationix>later we'll tackle that use case
20:00:14  <creationix>I still think it's rad to be on a fresh window box, download the luvit zip, tweak the files, rename the executible, and distribute as a new app
20:00:47  <creationix>and people wanting to just use luvit as a runtime can use the pre-bundled executable
20:01:13  <creationix>people with a build-toolchain can bundle after tweaking
20:03:04  <xming>how the heck does luajit knows where to find a file in that huge ELF?
20:04:19  <creationix>xming: they are embedded as global char* variables containing the pre-compiled bytecode
20:04:28  <creationix>there is a naming convention that require uses
20:04:55  <xming>if I make a myfile.lua, compile it to bytecode
20:04:56  <creationix>so the linker knows the offset and stores it by name or something
20:05:13  <xming>can I just link it?
20:05:21  <xming>or do I need to something special?
20:05:22  <creationix>how do you compile it?
20:05:35  <xming>luajit can compile to byte code, can't it?
20:06:54  <creationix>right
20:06:54  <levi>I hate the whole directory hierarchy thing anyway.
20:07:17  <levi>(regarding OS X Finder moving away from direct filesystem access)
20:07:30  <creationix>so this hack file exposes the bytecode blobs https://github.com/luvit/luvit/blob/master/src/luvit_exports.c
20:07:38  <xming>to me the whole luvit src tree is confusing (too many build systems)
20:08:05  <levi>Portable systems can't help but be confusing in some way or another, unfortunately.
20:08:27  <creationix>this does the actual compiling https://github.com/luvit/luvit/blob/master/tools/bundler.lua#L93
20:08:27  <xming>creationix: so if I want aad my own .lua, I need to add it in luvit_exports.c?
20:08:38  <creationix>for gyp, yes
20:08:49  <creationix>for Makefile, it runs bundler.lua (I think) which generated the exports file
20:09:00  <creationix>in that case, you need to add it to the variable in the Makefile
20:09:20  <xming>I cna hack Makefile w/o problems
20:09:20  <pquerna>xming: virgo might be a good example?
20:09:32  <pquerna>(but its all based on gyp)
20:09:49  <pquerna>https://github.com/racker/virgo
20:09:51  <creationix>pquerna: weren't you working a bundler tool for node way back?
20:09:55  <pquerna>yeah
20:09:56  <creationix>what happened to that effort?
20:10:05  <pquerna>gave up when we decided we couldn't get memory footprint down
20:10:15  <xming>pquerna: I will have a look
20:10:16  <pquerna>why bundle if its still too fat
20:10:25  <creationix>ok, so that was for virgo?
20:10:28  <pquerna>yeah
20:10:37  <pquerna>that was the plan :)
20:10:44  <creationix>wow, that was a long time ago
20:10:49  <creationix>glad luvit is working out
20:11:11  <xming>I think most people here has the node background except me :/
20:11:28  <creationix>pquerna: so this exports hack isn't always needed right?
20:11:31  <xming>I am new to lua and noob to node
20:11:39  <creationix>I mean I didn't have it originally for linux
20:11:55  <creationix>some compilers on some platforms strip out the symbols if you don't preserve them
20:12:20  <creationix>xming: I was new to lua when I wrote luvit last October :)
20:13:03  <levi>I am also fairly new to node and lua, though I've done one relatively small project in node.
20:13:12  <xming>I don't thing those export are needed with default gcc
20:13:32  <xming>I know exactly zip about node and I am not interested in node nor js
20:13:51  <xming>I choose lua because of coro
20:14:07  <xming>then I started to look at a nice async lib
20:14:11  <creationix>xming: btw, Mike Pall says we're all doing it wrong using callbacks
20:14:15  <xming>there are a lot of them
20:14:47  <xming>callback are not really the lua way, isn't it?
20:15:25  <xming>https://github.com/icgood/ratchet
20:15:46  <creationix>MIke says we should use iterators
20:16:00  <xming>this one is good async lib, but I had many issues to implement what I wanted
20:16:15  <creationix>coros work great on top of luvit callbacks
20:17:10  <xming>anyway I am even a programmer by trade
20:17:27  <xming>it's just I wanted to see how a milter can scale with coro/async io
20:18:29  <xming>sendmail's libmiter is using threads
20:18:41  <xming>about min 1MB per connection
20:19:02  <xming>which is okay because the SMTP servers are FORKING
20:19:57  <pquerna>xming: https://github.com/baudehlo/Haraka
20:20:34  <xming>pquerna: yes that one is interesting
20:20:37  <pquerna>its based on some ideas from Qpsmtpd
20:20:43  <pquerna>but evented, etc
20:20:57  <xming>that 's one of the reasons I like to see a async milter
20:21:42  <xming>but forking SMTP is/was not really a issue, because of disk io is always done with flsuh()/sync
20:21:58  <xming>now with the ermerg of RAID SSD, things are chaning
20:22:30  <xming>pquerna: after I have done that milter thing in luvit, I might tackle SMTP
20:23:09  <xming>I always wanted a non spooling/async SMTP server :D
20:26:27  <xming>imaging *one* SMTP server can do millions of connection, then tarpittting/blacklisting/filtering then forwards to real spooling SMTP servers
20:26:38  <xming>a bit like SMTP firewall
20:26:57  * indexzerojoined
20:35:40  * mmaleckiquit (Quit: Reconnecting)
20:35:42  * mmalecki_joined
20:38:28  * mmalecki_quit (Client Quit)
20:38:45  * mmaleckijoined
20:50:01  <levi>creationix: Iterators are conceptually a restricted form of coroutine anyway.
20:50:29  <creationix>levi: I wonder what Mike means by iterator
20:50:36  <creationix>python and JavaScript 1.6 have "generators"
20:50:41  <creationix>those can be iterated over
20:52:42  <levi>Well, I think Python dropped a generic iterator protocol over just about everything in 3.0
20:53:37  * indexzeroquit (Quit: indexzero)
20:56:03  <levi>I think the iterator protocol papers over the differences between cases where you manually save your state (i.e. as in a callback system) and those in which you use generators to automatically save the state.
21:00:45  <levi>Did Mike say this as part of a mailing list discussion or IRC chat?
21:01:01  <creationix>mailing list
21:01:04  <creationix>luajit list
21:01:38  * mkandrashoff1joined
21:03:39  * mkandrashoffquit (Ping timeout: 260 seconds)
21:09:01  <levi>Hmm, having a hard time finding it.
21:14:17  <creationix>levi: http://www.freelists.org/post/luajit/Anyone-aware-of-a-LuaJIT-FFIbased-libevent-library,4
21:18:04  <creationix>and before he said "they all have their flaws, the most obvious is requiring C callbacks"
21:18:15  <levi>Yup, reading through the thread now.
21:21:33  <levi>Well, apparently by iterator he means the way the C interface of poll, epoll, etc. are set up.
21:21:44  <creationix>that's what I took it to mean
21:21:53  <creationix>I asked the libuv guys about that idea
21:22:00  <creationix>it is more effecient, but much harder to code against
21:22:04  <creationix>for applications
21:22:49  <levi>That probably depends to some degree on your experience.
21:23:09  <levi>And what you're trying to do.
21:23:10  <creationix>I use the iterator style when I write SDL apps
21:23:24  <creationix>I just have a loop where I call getEvent over and over and then switch over it
21:24:58  <levi>Yeah, and the things executed by your switch are essentially event handling callbacks. They're just different parts of the same model.
21:25:21  <creationix>callbacks are really slow in luajit's ffi
21:25:26  <creationix>I think that's why he doesn't like them
21:25:36  <levi>Ah, that makes sense.
21:26:04  <levi>Moving the event dispatcher inside of the lua runtime would make a lot of sense then.
21:26:52  * mkandrashoff1quit (Quit: Leaving.)
21:34:28  * mkandrashoffjoined
21:49:44  * mmaleckiquit (Ping timeout: 260 seconds)
21:50:13  * mkandrashoffpart
21:56:22  * mmaleckijoined
22:01:29  * neomantra1quit (Quit: Leaving.)
22:25:54  * TheJHquit (Ping timeout: 260 seconds)