Zotonic
Zotonic
zotonic@conference.zotonic.com
Thursday, 19 December 2013< ^ >
Arjan has set the subject to: Zotonic - The Erlang Web Framework & CMS
Room Configuration

GMT+1
[00:33:13] Mawuli leaves the room
[00:51:58] cillian.deroiste leaves the room
[00:59:01] Mawuli joins the room
[01:11:42] Mawuli leaves the room
[01:14:04] Mawuli joins the room
[04:16:51] Mawuli leaves the room
[09:09:55] arjan joins the room
[09:11:49] Steffen Hanikel joins the room
[09:22:48] maas.maarten.zeeman joins the room
[10:05:46] Mawuli joins the room
[10:18:04] Mawuli leaves the room
[10:22:24] Mawuli joins the room
[10:26:59] Mawuli leaves the room
[10:40:02] Mawuli joins the room
[10:59:57] Mawuli leaves the room
[11:16:23] Mawuli joins the room
[11:23:45] Mawuli leaves the room
[12:17:55] Steffen Hanikel leaves the room
[12:41:09] Mawuli joins the room
[12:46:42] Steffen Hanikel joins the room
[13:39:55] Mawuli leaves the room
[13:43:19] Mawuli joins the room
[14:22:15] Mawuli leaves the room
[14:22:32] arjan leaves the room
[14:28:24] Mawuli joins the room
[15:22:55] Mawuli leaves the room
[15:30:30] Mawuli joins the room
[15:43:19] Marc Worrell joins the room
[15:44:57] Mawuli leaves the room
[16:14:33] Steffen Hanikel leaves the room
[16:18:38] <Marc Worrell> Putting together this year's work and preparations for the external file storage.
[16:18:39] mawuli.ypa leaves the room
[16:18:44] <Marc Worrell> Soon we can store data in S3
[16:19:01] <Marc Worrell> (or rather S3 alikes… prefer non-NSA countries for my data)
[16:26:09] Steffen Hanikel joins the room
[16:36:16] Mawuli joins the room
[16:38:47] <Mawuli> Marc Worrel: That is nice. I have a few questions though.
[16:39:17] <Marc Worrell> Always good: fire away :)
[16:40:12] <Marc Worrell> @Mawuli: sent you a copy of some design files
[16:40:42] <Mawuli> It is about the replacement of the current web server with Elli. What is your opinion on something like SimpleBridge or EWSGI ?
[16:42:03] <Mawuli> Link to SimpleBridge: https://github.com/nitrogen/simple_bridge
[16:42:26] <Mawuli> EWGI: https://github.com/skarab/ewgi
[16:42:56] <Mawuli> @Marc: Thanks. I will check it out soon.
[16:43:56] <Mawuli> I don't much about the tradeoffs involved in using either EWGI or SimpleBridge, but what if we decide to switch from Elli to something else in the future? Say, something homegrown?
[16:44:07] <Mawuli> * don't know much
[16:53:59] maas.maarten.zeeman leaves the room
[17:00:49] <Mawuli> @Marc: https://gist.github.com/mawuli-ypa/8041457
[19:11:39] Steffen Hanikel leaves the room
[19:37:00] Steffen Hanikel joins the room
[20:00:37] Maas joins the room
[20:18:26] Steffen Hanikel leaves the room
[20:20:55] Maas leaves the room
[20:45:10] Maas joins the room
[20:55:05] <Maas> Hi @mawuli. Zotonic is mostly build on top of webmachine which implements http semantics on top of a basic web server. This is the current interface between the webserver and zotonic.
[20:56:54] <Mawuli> @Maas: Thanks for the explanation!
[20:57:19] <Maas> The controllers are this interface.
[20:57:40] <Mawuli> I realized I misunderstood how Webzmachine is used in Zotonic
[20:57:57] <Mawuli> I thought it only handled the REST api
[20:58:21] <Maas> No, every http request is going through web machine
[20:58:40] <Mawuli> Ah, nice; good to know about the controllers too. Now, I where to look
[20:59:08] <Maas> Now, this is also a bit of a drawback as some requests are a quite a bit different and not rest like.
[20:59:30] <Mawuli> So, that explains the importance of the new Webzmachine(elli_machine)!
[20:59:53] <Maas> For example, opening web sockets is not really rest like. Doing long-polling isn’t.
[21:00:42] <Mawuli> Ah, I guess the original Webmachine did not have Websocket support?
[21:01:11] <Maas> Serving these kind of requests efficiently (and robust) means that sometimes you need to make different choices.
[21:01:30] <Maas> No original wm can’t do web sockets.
[21:03:36] <Mawuli> Okay
[21:04:06] <Maas> In practice I’ve run into a number of issues with mochiweb+webmachine. At one point it silently dropped connections and returned 400 to the client without a log-message whatsoever.
[21:04:58] <Mawuli> Oh >:o
[21:05:49] <Maas> I only noticed it when I could log into a client’s pc in the usa and look into the debug console.
[21:06:52] <Mawuli> I really appreciate this explanation :)
[21:06:53] <Maas> Because locally everything worked of course
[21:08:02] <Mawuli> Looking at elli_machine now
[21:08:41] <Maas> Work in progress warning... :-) Some things will change.
[21:10:31] <Mawuli> Okay. Since this will eventually replace the current one, I might as well start familiarizing myself with it
[21:11:15] <Maas> haha, yes. The plan is to remove the web socket from elli_machine.
[21:11:31] <Maas> and file-uploads will be done differently
[21:12:00] <Maas> The other stuff will sort of stay the same.
[21:12:34] <Mawuli> Okay
[21:13:55] <Maas> elli has a very simple architecture. Uses binaries throughout, and has architecture which allows easy extension.
[21:14:53] <Maas> The core doesn’t even include logging. This can be done easily by adding a so called middleware handler.
[21:17:24] <Mawuli> Nice
[21:19:20] <Mawuli> I was looking at it today; interesting how even cookies and date headers are left out of the core.
[21:20:18] <Mawuli> I guess that's the good thing about Elli; simple core, and extensible.
[21:21:11] <Maas> yes, this makes it really robust, and easier to debug.
[21:23:09] <Maas> The author is really cautious to accept additions. He is really in the mindset to keep things out of the core.
[21:23:37] <Mawuli> Oh Okay
[21:23:40] <Mawuli> Was speed also a factor in choosing Elli? Because, I imagine once we add extensions on top, it will not be as fast as the barebones core server.
[21:23:55] <Mawuli> I might be wrong here, but that's my guess for now.
[21:25:38] <Maas> There won’t be that much extensions we add and calling an extension is not expensive as it is just a function call in the same process.
[21:26:07] <Mawuli> Ok
[21:28:08] <Maas> elli uses binaries, which is faster, but actually all erlang web servers are really really fast.
[21:29:23] <Maas> this is because all of them use the same code to parse http headers as this is implemented as a bif in the erlang vm.
[21:31:35] <Maas> What sets elli apart from mochiweb/cowboy/yaws is that it doesn’t try to do everything.
[21:35:42] Maas35486 joins the room
[21:35:42] Maas35486 leaves the room
[21:35:42] Maas11512 joins the room
[21:35:42] Maas11512 leaves the room
[21:35:42] Maas78406 joins the room
[21:35:42] Maas78406 leaves the room
[21:35:42] Maas19707 joins the room
[21:35:42] Maas19707 leaves the room
[21:35:42] Maas85857 joins the room
[21:37:35] <Mawuli> I am sold! *elli*
[21:38:26] <Mawuli> Oh btw, looks like there are 3 people named Maas around here :)
[21:39:11] <Maas85857> wow, three? one of them must be my wife using my login i think.
[21:39:25] <Mawuli> Oh okay :)
[21:40:56] <Mawuli> Happened to me this week; the other "Mawuli" just disappeared this afternoon!
[21:46:14] Maas leaves the room
[23:48:58] <Maas85857> wow, playing a bit with new server and elli_machine. Request rate: 84184.3 req/s (0.0 ms/req)
[23:51:50] Maas85857 leaves the room
[23:58:51] Maas joins the room
[23:59:19] Maas leaves the room
[23:59:52] Maas joins the room
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!