Camelia, the Perl 6 bug

IRC log for #november-wiki, 2009-03-06

| Channels | #november-wiki index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
02:37 Tene joined #november-wiki
06:22 masak joined #november-wiki
06:39 Tene Hmm.  Looks like neither Template::Declare or Markapl are thread-safe.
06:39 Tene Which is unfortunate.
06:40 masak Tene++ # never even thought of that
06:40 Tene I'm trying to think about where I can implement it better.  I'm pretty sure that we care.
06:40 masak me, that is.
06:40 masak Tene: could you please add that thought somewhere in the repo?
06:40 Tene The way they work is just maintaining a global stack of buffers.
06:40 masak perhaps along with why thread safety is important.
06:40 masak it's not immediately obvious to me, because I'm new to this.
06:41 Tene Eh, for most uses it's really not.
06:41 masak ...but...?
06:41 Tene The problem is when you want to start doing some kind of threading in your app, and you suddenly find out that some random lib acts weird if used from multiple threads
06:41 Tene 1) it's weird hard to debug problems
06:42 Tene 2) you have to throw the lib out, and find or build a new one
06:42 masak ack
06:42 Tene this particularly counts in Perl 6, where there are plans for auto-threading
06:43 masak indeed.
06:43 masak is there a simple concrete example of when one would want to switch a webapp over to multi-threading?
06:45 Tene maybe doing something for a big list of users
06:46 Tene @users>>.do_something()
06:46 Tene or whatever the hyper syntax is for that
06:47 masak does that affect the dispatcher?
06:47 masak seems to me the hyperthreaded call is far away from the dispatcher in this case.
06:47 Tene dispatcher?
06:47 Tene It runs do_something() on each element individually, and order isn't guaranteed.  The implementation is free to run multiple calls in paralell.
06:47 masak oh, sorry, you were talking abou Template::Declare, not the dispatcher.
06:48 masak Tene: right.
06:48 masak I don't really see how that could be a problem for Template::Declare, but I'll take your word for it.
06:48 Tene So if do_something() used a tags library implemented like template::declare, you could get content from one element mixed in with content from another element.
06:49 masak ouch.
06:49 masak I see.
06:51 masak why would do_something() use a tags library in the first place? isn't that a kind of bad separation of logic and, um, serialization?
06:51 masak I can see that it's entirely possible that something like that'd happen, though.
06:51 Tene Maybe it's doing something like formatting the username according to some criteria
06:52 masak ah, ok.
06:53 Tene It's certainly not a worry for most normal cases.
06:53 Tene I'd like to avoid this problem if I can anyway, though.
06:53 masak aye.
06:53 masak slapping 'threadsafe' on a lib seems like a feather in the hat, somehow.
06:53 masak people know that it matters in some cases.
07:36 masak http://use.perl.org/~masak/journal/38601
07:36 zarah masak's link is also http://tinyurl.com/b8kc69
07:46 moritz_ congratulations to the november hackers!
07:48 masak a big thank you to the Perl 6 community! \o/
07:52 moritz_ I was a bit surprised that the announcement took s long
07:53 masak the january-march delay was mostly our fault. we wanted the www.november-wiki.org site to look nice.
07:53 masak a bit ironic that that address isn't part of the original announcement. :O
07:53 masak (but it's linked from many of the links in the announcement, so it still matters, of course)
09:10 masak http://blog.ianbicking.org/2008/12/27/avo​iding-silos-link-as-a-first-class-object/
09:10 zarah masak's link is also http://tinyurl.com/82mn36
09:17 moritz_ links as objects - I like that
09:18 masak I'm generally trying to figger out how to build web stuff so that people don't feel frameworked in by it.
09:18 moritz_ I don't think you need an framekworky aspect here
09:19 moritz_ anywhere a link is expected, you can just put an object in
09:19 moritz_ and it'll be stringified when rendered
09:19 masak aye.
09:19 masak I meant that the post is about avoiding silos.
09:19 masak I want to avoid silos too, perhaps in a more vast sense than the post means.
09:20 masak I want Web.pm to be a sane, mostly opt-out-able set of defaults.
15:04 Tene_ joined #november-wiki
16:46 szabgab joined #november-wiki
16:46 moritz_ joined #november-wiki

| Channels | #november-wiki index | Today | | Search | Google Search | Plain-Text | summary