Zotonic
Zotonic
zotonic@conference.zotonic.com
Friday, 30 November 2012< ^ >
arjan has set the subject to: Zotonic - the Erlang Content Management Framework
Room Configuration

GMT+1
[08:12:09] Maas joins the room
[09:00:33] Arjan joins the room
[09:00:58] <Arjan> morning
[09:04:26] andreas.stenius joins the room
[09:04:47] <andreas.stenius> mornin'
[09:21:29] <Maas> g-morning
[09:21:57] <Marc Worrell> good morning
[09:25:44] <Arjan> the CFA meeting yesterday was really nice
[09:25:54] <Arjan> the guy from HanoiDB was there
[09:26:01] <Arjan> explaining how it is better than LevelDB
[09:26:30] <Arjan> pretty convincing talk, and quite technical
[09:26:32] <Arjan> really nice
[09:27:27] <Marc Worrell> yeah, loved to have been there
[09:27:30] <andreas.stenius> cool.. I'm not familiar with HanoiDB nor LevelDB..
[09:27:32] <Marc Worrell> needed to push some updated :(
[09:27:33] <Maas> me too
[09:27:43] <Arjan> atilla was there as well
[09:27:51] <Arjan> he actually wants to get back into zotonic development
[09:28:01] <Arjan> so I invited him to the meeting of tuesday
[09:28:08] <andreas.stenius> :)
[09:28:18] <Maas> sigh.. wife was a bit late from work... couldn't make it.
[09:29:23] <Marc Worrell> There is also some other bladiblaDB : http://highscalability.com/blog/2012/11/29/performance-data-for-leveldb-berkley-db-and-bangdb-for-rando.html
[09:29:49] <andreas.stenius> btw, it turns out taking the easy route with a zotonic mode didn't pay off... but I'm too deep into it now, so I'm biting the bullet. I *will* have a zotonic mode!
[09:30:13] <Arjan> :)
[09:30:16] <Marc Worrell> LOL emacs?
[09:30:18] <andreas.stenius> yep
[09:30:29] <Marc Worrell> Good luck with your lisp :)
[09:30:34] <Marc Worrell> (()))))(()()(()))()()))))
[09:30:40] <andreas.stenius> thanks.... hehe...
[09:30:59] <Maas> where is the zoblim plugin?
[09:31:11] <andreas.stenius> emacs are really enforcing all those braces... so you can't trip it up (unless you make an effort of it)
[09:31:36] <andreas.stenius> @maas: guess you'd have to write one :p
[09:32:50] <Maas> lisp and scheme are pretty nice. Already read "the little schemer"?
[09:33:10] <Marc Worrell> I am adding a small module: mod_artwork
[09:33:12] <andreas.stenius> nope, good read?
[09:33:20] <Marc Worrell> with icons, social icons, logos etc
[09:33:28] <andreas.stenius> ah, nice :)
[09:33:48] <Marc Worrell> we need it :p
[09:34:22] <Maas> It looks like a comic book, but in the end it explains the y combinator.
[09:34:44] <Maas> something different.
[09:39:01] <Maas> mod_artwork. cool. i'm busy with channel synchronize events for multi frame pages. every frame its gen_server process all tied together. events hopping through different contexts.
[09:41:21] <Arjan> multi*frame*?
[09:41:24] <Arjan> as in, <frame>?
[09:41:41] <Maas> yup, and iframe's
[09:41:42] <Arjan> I didnt know there were still web browsers supporting those ;)
[09:42:02] <Maas> still used a lot in admin consoles.
[09:42:20] <Maas> heck, even jqueryui.com has them
[09:42:55] <Marc Worrell> iframes are everywhere
[09:42:59] <Maas> also used as tricks to upload thing.
[09:43:13] <Marc Worrell> all embedded media players use them
[09:43:17] <Marc Worrell> and tinymce
[09:43:22] <Marc Worrell> and advertisements
[09:43:36] <Arjan> iframes, ok
[09:43:37] <Marc Worrell> http://blog.chromium.org/2010/05/security-in-depth-html5s-sandbox.html
[09:44:08] <Marc Worrell> frames are …… (some profanity)
[09:44:30] <Maas> erlang doc's?
[09:44:38] <Maas> haha
[09:45:10] <Maas> sandboxing is a must, but nobody has that currently
[09:47:44] <Marc Worrell> hmm, anybody speaking spanish here?
[09:48:22] <Arjan> yes
[09:48:27] <Arjan> http://translate.google.com/
[09:49:42] <Marc Worrell> I have two translations for "Back" here
[09:49:53] <Marc Worrell> Volver and Atrás
[09:50:03] <Marc Worrell> back as in the button
[09:50:18] <Arjan> http://translate.google.com/#en/es/back
[09:50:35] <Marc Worrell> that is "the back"
[09:50:40] <Marc Worrell> not "go back" :p
[09:51:07] <Arjan> there's more suggestions there
[09:51:32] <Marc Worrell> I just follow the suggestion of Juan Jose Comellas
[09:51:38] <Marc Worrell> he seems to be native
[09:52:05] <Arjan> https://referral.womenonweb.org/article-300-es.html
[09:52:17] <Arjan> Volver
[09:53:49] <Marc Worrell> Juan says the Atras
[09:54:56] <Marc Worrell> http://www.memrise.com/item/2208587/atras-regresar-back-the-name-of-the-back-button/
[09:55:07] <Arjan> ok
[09:55:38] <Marc Worrell> Googl'ing
[09:56:31] <Marc Worrell> allemaal goed
[10:05:25] <Maas> wanna replace my atom netbook with something faster. waiting for 2 minutes for a zotonic recompile is not fun. anyone know a good netbook size laptop?
[10:05:34] <Arjan> yes
[10:05:36] <Arjan> thinkpad X230
[10:05:51] <Arjan> pretty expensive though
[10:06:25] <Arjan> http://www.engadget.com/2012/05/31/lenovo-thinkpad-x230-review/
[10:06:59] <Arjan> I have the X201, is also 12"
[10:07:13] <Arjan> nice and small but very powerful if you get an SSD
[10:08:50] <Maas> Thanks. that looks like a nice machine with ssd... :-)
[10:09:39] <Arjan> I have mine now for over 2 years
[10:09:43] <Maas> was eyeballing this one. a lot cheaper. http://www.engadget.com/2012/08/23/acer-aspire-v5-review/
[10:09:55] <andreas.stenius> YES!! finally. Got font-lock actually locking :p
[10:10:15] <andreas.stenius> I wan't building my list properly...
[10:10:48] <Arjan> :)
[10:11:33] <Maas> my acer netbook surprised me. have it for 4 years now. originally bought for 250,=
[10:12:30] <Arjan> wow
[10:12:39] <Arjan> not falling apart?
[10:12:47] <Arjan> thats what happens to my laptops
[10:13:09] <Arjan> my previuos laptop, a dell XPS, is literally hanging together with gaffer tape
[10:13:28] <Maas> no, still in one piece. keyboard is a bid wonky due to bread crumbs
[10:13:33] <Arjan> :)
[10:14:19] <Maas> used it a lot. also travelled a lot on the back of my rowingbike.
[10:17:31] <Maas> had a dell too, but i didn't dare to move that one because it was a company laptop. didn't want to break it.
[10:33:03] <Arjan> created zotonic demo site on EC2
[10:33:09] <Arjan> pretty easy
[10:54:42] <Arjan> {error,function_clause,
[{mod_acl_simple_roles,can_edit1,
[undefined,[article,location,image,collection]]},
{mod_acl_simple_roles,can_view,2},
{z_notifier,first1,3},
{z_acl,is_allowed,3},
{z_acl,wm_is_allowed,2},
{z_acl,wm_is_authorized,3},
{webmachine_controller,controller_call,3},
{webmachine_controller,do,3}]}
[10:55:26] <Arjan> that's andreas' integer guards kicking in
[10:55:31] <Arjan> mmm
[10:55:43] <andreas.stenius> hmmm
[10:56:06] <Arjan> http://demo.zotonic.com/
[10:56:09] <andreas.stenius> or lack of them...
[10:56:19] <Arjan> maybe dns is not yet working
[10:56:29] <andreas.stenius> cool, yes, it works
[10:56:31] <Arjan> ok
[10:56:38] <Arjan> log in with editor/editor and then visit the homepage
[10:56:43] <andreas.stenius> ok
[10:56:44] <Arjan> you'll see the 500
[10:57:05] <andreas.stenius> got it
[10:58:17] <andreas.stenius> what's the dispatch rule for / ?
[10:58:43] <Arjan> https://github.com/zotonic/zotonicdemo/blob/master/dispatch/dispatch
[10:58:45] <Arjan> home.tpl
[10:59:05] <andreas.stenius> ok...
[10:59:19] <Arjan> https://github.com/zotonic/zotonicdemo/blob/master/templates/home.tpl
[10:59:28] <Arjan> seems m.rsc.page_home.title crashes
[10:59:39] <Arjan> maybe
[10:59:50] <andreas.stenius> do you have a page_home resource?
[10:59:53] <Arjan> yes
[10:59:59] <Arjan> cat = text
[11:00:19] <andreas.stenius> I think adding a {id, page_home} to the dispatch will solve it...
[11:00:30] <andreas.stenius> but that shouldn't be needed... so I'll dig a bit more...
[11:01:25] <Arjan> I'll have the site also locally, so I'll check it too
[11:02:27] <andreas.stenius> ah, ok
[11:02:46] <andreas.stenius> in controller_template, get_id returns undefined, and that is passed to the acl module
[11:03:51] <andreas.stenius> could add a extra check for that in z_acl:is_allowed/3
[11:04:12] <andreas.stenius> to avoid a roundtrip to the acl module for undefined objects
[11:06:49] <andreas.stenius> add a is_allowed(Action, undefined, Context) -> false; here https://github.com/zotonic/zotonic/blob/master/src/support/z_acl.erl#L67
[11:07:35] <Arjan> ok
[11:07:37] <andreas.stenius> and to keep it consistent, could add a similar check to https://github.com/zotonic/zotonic/blob/master/src/support/z_acl.erl#L80
[11:08:36] <Arjan> hmm is that the best place?
[11:08:57] <Arjan> some ACL implementations might not use ACL object at all
[11:09:02] <Arjan> so would pass in undefined
[11:09:07] <andreas.stenius> unless you want the acl module to be responsible for answering actions on undefined objects...
[11:09:14] <Arjan> yes
[11:09:45] <andreas.stenius> in that case the check should be herehttps://github.com/zotonic/zotonic/blob/master/modules/mod_acl_simple_roles/mod_acl_simple_roles.erl#L53
[11:11:05] <Arjan> yes
[11:11:22] <andreas.stenius> may be a good idea to review https://github.com/zotonic/zotonic/blob/master/modules/mod_acl_adminonly/mod_acl_adminonly.erl too then...
[11:11:24] <Arjan> think its better the ACL module does not assume anything about acl objects
[11:11:28] <Arjan> will do
[11:11:34] <andreas.stenius> sounds ok
[11:12:35] <Arjan> observe_acl_is_allowed(#acl_is_allowed{object=undefined}, _Context) ->
undefined;
[11:13:01] <andreas.stenius> yep :)
[11:13:19] <Arjan> same rule in adminonly
[11:13:32] <andreas.stenius> nice. that should work.
[11:13:44] <Arjan> yep works
[11:16:19] <Arjan> rebooting demo site
[11:16:31] <Arjan> to see if auto-git-pull works :)
[11:18:01] <Arjan> yep, fixed :)
[11:20:33] <andreas.stenius> nice :)
[11:27:26] <Arjan> and tweeted about it
[11:27:35] <Arjan> see how soon somebody hacks it
[11:28:14] <Arjan> am also very interested in how much amazon will charge me for this
[11:28:24] <Arjan> 1 8gig volume + 1 8gig snapshow + 1 micro instance
[11:46:17] <andreas.stenius> snapshow? is that to restore the entire VM?
[12:27:48] Maas leaves the room
[12:44:03] <Arjan> yes
[12:44:08] <Arjan> sorry, snapshot
[12:44:57] <andreas.stenius> so, do you have a <shutdown, rollback, boot>-cycle every 4 hrs?
[12:45:17] <Arjan> not yet but its possible to set something like that up
[12:45:56] <andreas.stenius> it's easy enough to rollback the filesystem, but it is worse with the processes... keeping state around in memmory..
[12:46:09] <Arjan> it won't be a running rollback
[12:46:18] <Arjan> e.g. vm shutdown, rollback, vm boot
[12:46:19] <andreas.stenius> ... I'm thinking that I should be able to implement this quite easily with a zone on open indiana... ;)
[12:46:30] <Arjan> :P
[12:46:52] <Arjan> its weird btw
[12:47:01] <Arjan> if you select 'phone' on the demo site, there's nothing there
[12:47:06] <andreas.stenius> and having a reboot makes it real easy... I'd prefer a "hot" rewind :p
[12:47:29] <Arjan> seems the phone base.tpl does not have a block called "main"
[12:47:32] <andreas.stenius> I guess you don't have any templates matching then...
[12:47:38] <andreas.stenius> ah
[12:48:31] <Arjan> Marc Worrell: ping
[12:49:05] Maas joins the room
[12:52:21] <Maas> duh, calling yourself in a cast. not gonna work.
[12:53:06] <Arjan> :)
[12:53:14] <andreas.stenius> do you mean in a call? cast should be fine, right?
[12:53:56] <Maas> nope.
[12:54:47] <Maas> pff, processing asynchronous http request is fun
[12:54:56] <Arjan> calling yourself in a cast doesnt work indeed
[12:55:23] <Arjan> but that should not be neseccary
[12:57:22] <Maas> indeed. the lib module parses html and needs to do start new processes. too much work for the cast anyway.
[13:06:30] <Maas> @andreas. you can send a message to yourself with. self() ! Msg and pick it up with handle_info.
[13:15:28] <andreas.stenius> no, I disagree, you /can/ cast to yourself.
https://github.com/erlang/otp/blob/maint/lib/stdlib/src/gen_server.erl#L208
https://github.com/erlang/otp/blob/maint/lib/stdlib/src/gen_server.erl#L392
http://erlang.org/doc/man/erlang.html#send-3
[13:16:18] <andreas.stenius> which should be essentially the same as self() ! Msg
[13:16:57] <andreas.stenius> or, closer to the truth: self() ! {'$gen_cast', Msg}
[13:17:08] <Maas> i was calling call from a cast.
[13:17:28] <Maas> waiting for an answer is not gonna work.
[13:18:07] <andreas.stenius> ah, no, ok. a bit of misunderstanding here, then.
[13:18:15] <andreas.stenius> ah, yes, I missread your in, as with
[13:18:34] andreas.stenius was confused
[13:19:15] <andreas.stenius> bah, that didn't really make sense either... ah, well. never mind ;)
[13:19:38] <Maas> scratching head
[13:21:29] <Maas> wants a better http client library.
[15:17:54] maas.maarten.zeeman joins the room
[15:18:00] Maas leaves the room
[15:47:52] <maas.maarten.zeeman> @arjan Btw. The kids really like scratch over here. Fun stuff.
[15:48:01] <Arjan> :D
[15:48:05] <Arjan> yeah fun to play with
[15:48:27] <maas.maarten.zeeman> daughter said. this is cool. I love puzzles.
[15:50:01] <maas.maarten.zeeman> Very fun, and with a little bit of help they can already do cool things.
[15:50:58] <Arjan> hehe
[15:51:05] <Arjan> for kids its ideal
[15:51:12] <Arjan> but I really miss functions
[15:51:25] <Arjan> I mean, it has actors and message passing!
[15:51:35] <Arjan> just adding functions and you can run erlang code
[15:51:50] <Arjan> although they have to get rid of the global variables :P
[15:52:12] <maas.maarten.zeeman> :-) kind of got the same feeling when i first fired my first msx home computer.
[15:52:23] <Arjan> :)
[15:52:35] <Arjan> can't wait until arris grows up to experiment with this kind of stuff
[15:52:45] <Arjan> will be a few years
[15:53:07] <maas.maarten.zeeman> it has a way better interface than the lego mindstorms visual programming interface
[15:53:34] <Arjan> it comes from MIT.. :)
[15:53:40] <Arjan> smart ppl there
[15:56:41] <maas.maarten.zeeman> sure.
[15:57:13] <maas.maarten.zeeman> and remember the ibm visual programming interface for java?
[16:00:49] <Arjan> no?
[16:04:10] <maas.maarten.zeeman> hehe. checking for screenshot
[16:04:29] <maas.maarten.zeeman> from 1998
[16:07:16] <maas.maarten.zeeman> for ui programming: http://petegawdunyk.tripod.com/Portfolio/pictures/JobOrderMainPanel.jpg
[16:07:29] <Arjan> holy cow
[16:07:56] <maas.maarten.zeeman> you could also program that way. visual age it was called.
[16:09:45] <maas.maarten.zeeman> can't find any screenshots for the programming part.
[16:10:52] <maas.maarten.zeeman> aha here: http://www.mcpressonline.com/programming/java/vaj-writing-java-programs-without-writing-code.html
[16:22:56] Arjan leaves the room
[16:24:38] Arjan joins the room
[16:39:15] Arjan leaves the room
[16:55:52] Arjan joins the room
[16:57:33] <maas.maarten.zeeman> Wonders if there is a way to trigger the hover pseudo class css with js
[18:12:53] maas.maarten.zeeman leaves the room
[18:15:08] Arjan leaves the room
[18:25:06] maas.maarten.zeeman joins the room
[20:58:52] <Marc Worrell> New: http://zotonic.com/docs/ref/modules/mod_artwork.html
[21:04:57] <maas.maarten.zeeman> That is pretty handy.
[21:05:51] <Marc Worrell> Only the license of the nounproject is a tad complicated
[21:06:01] <Marc Worrell> it is per designer, and all icons are different
[21:06:13] <maas.maarten.zeeman> o wow
[21:06:25] <Marc Worrell> maybe we have to remove the CC BY icons
[21:06:32] <Marc Worrell> nice work to find them
[21:06:33] <Marc Worrell> :p
[21:09:12] <maas.maarten.zeeman> always nice to have a good set of matching icons.
[21:13:32] <Marc Worrell> yes, you can just search on thenounproject to see how to properly attribute
[21:13:37] <Marc Worrell> not too much work
[21:19:04] <Marc Worrell> I just tried to download a single icon from thenounproject web site, and it still waiting… good to have the collection ready to use in a module
[21:19:49] <Marc Worrell> oh it arrived
[21:19:54] <Marc Worrell> and it is in svg format :-s
[23:19:58] maas.maarten.zeeman leaves the room
[23:35:34] <andreas.stenius> that's awesome to have around, Marc. Thank you. :)
[23:37:07] andreas.stenius leaves the room
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!