Camelia, the Perl 6 bug

IRC log for #mojo, 2011-05-05

| Channels | #mojo index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:54 preflex left #mojo
00:58 preflex joined #mojo
01:05 metaperl joined #mojo
01:18 Alias joined #mojo
01:23 Akron left #mojo
01:47 xaka left #mojo
02:05 xaka joined #mojo
02:31 * tempire likes the name Mojolicious::Plugin::Nodejolicious
02:31 tempire even though it only kind of makes sense
02:31 tempire sri!
02:31 tempire are you finished with your mongodb odm yet?
02:31 * tempire taps on the floor impatiently
02:31 * tempire keeps tapping
02:31 * tempire starts to tap dance
02:32 * tempire breaks ankle
02:32 * tempire waits quietly on the floor for mongodb odm
02:33 tempire marcus, you should come to yapc::na and give your talk there as well
02:33 tempire I'll contribute to your flight
02:33 tempire $10, at least
02:40 xaka|2 joined #mojo
02:40 xaka left #mojo
04:00 Foxcool joined #mojo
04:28 mattastrophe left #mojo
04:49 tempire left #mojo
04:51 kaare joined #mojo
04:55 Foxcool left #mojo
05:06 Foxcool joined #mojo
05:13 ysyrota joined #mojo
05:16 koban joined #mojo
05:28 kaare left #mojo
05:30 Foxcool left #mojo
05:42 Foxcool joined #mojo
06:10 AmeliePoulain joined #mojo
06:20 sri good morning fellow thirsty people
06:21 marcus hurgle
06:21 * marcus is in pain
06:22 sri whatever you are doing... don't do that
06:23 Alias left #mojo
06:25 jamesw left #mojo
06:30 Christian joined #mojo
06:30 Christian moin
06:43 * sri waves
06:47 zakame joined #mojo
06:47 zakame eh?
06:47 Foxcool left #mojo
06:48 zakame netsplit?
06:48 purl netsplit is at http://en.wikipedia.org/wiki/Netsplit
06:52 tabbi joined #mojo
06:52 koban left #mojo
06:52 tabbi left #mojo
06:54 sri oh near, we can now have chrome alpha builds for os x
06:54 sri s/r/t/
06:55 cosmincx left #mojo
06:59 zakame left #mojo
07:00 zakame joined #mojo
07:02 Foxcool joined #mojo
07:10 fhelmber_ joined #mojo
07:11 gabiruh_ joined #mojo
07:11 gshank left #mojo
07:12 gshank joined #mojo
07:12 gabiruh left #mojo
07:14 abra left #mojo
07:20 bosphorus joined #mojo
07:21 Beirdo_ left #mojo
07:21 Beirdo joined #mojo
07:23 xaka|2 left #mojo
07:23 bosphorus left #mojo
07:23 bosphorus joined #mojo
07:25 abra joined #mojo
07:29 arthas joined #mojo
07:34 trone_ is now known as trone
07:39 koban` joined #mojo
07:44 Foxcool left #mojo
07:47 Foxcool joined #mojo
07:59 perlrocks Twitter: "Excption stuck in mojolicious http://post.ly/1zc1T" (bg) --meettya http://twitter.com/meettya​/status/66049302300065792
08:06 ajgb joined #mojo
08:09 bosphorus left #mojo
08:10 bosphorus joined #mojo
08:21 koban` left #mojo
08:29 marcus sri: was at beer tasting yesterday
08:29 marcus didn't spit :p
08:30 sri :D
08:30 sri then don't stop doing that
08:33 snearch joined #mojo
08:42 cosmincx joined #mojo
09:02 GitHub191 joined #mojo
09:02 GitHub191 mojo: master Sebastian Riedel * 7a99fc5 (3 files in 3 dirs): improved Mojo::Template inline comment handling - http://bit.ly/jC5gia
09:02 GitHub191 left #mojo
09:13 snearch left #mojo
09:20 GitHub199 joined #mojo
09:20 GitHub199 mojo: master Sebastian Riedel * 6837077 (2 files in 2 dirs): better comment filter - http://bit.ly/lUqTox
09:20 GitHub199 left #mojo
09:35 spleenjack joined #mojo
09:47 koban` joined #mojo
10:06 sri hmm, i hate both :/
10:07 sri maybe we should just not support inline comments on the last line at all
10:12 cosmincx left #mojo
10:12 cosmincx joined #mojo
10:13 sri or i add a empty line to the end of each template
10:20 sh4 joined #mojo
10:24 GitHub3 joined #mojo
10:24 GitHub3 mojo: master Sebastian Riedel * 4982c14 (3 files in 3 dirs): switched back to old inline comment handling - http://bit.ly/jnsA4B
10:24 GitHub3 left #mojo
10:24 sri someone else should figure that one out
10:28 spleenjack left #mojo
10:29 spleenjack joined #mojo
10:43 GitHub37 joined #mojo
10:43 GitHub37 mojo: master Sebastian Riedel * f867e85 (3 files in 3 dirs): improved Mojolicious::Routes exception handling - http://bit.ly/jQQepP
10:43 GitHub37 left #mojo
10:49 koban` left #mojo
10:50 koban` joined #mojo
11:01 Foxcool left #mojo
11:06 Foxcool joined #mojo
11:10 * sri wonders why it's so silent today
11:14 * Christian that's the calm before the storm comes
11:27 koban` left #mojo
11:28 koban` joined #mojo
11:45 * sri hides
12:01 cosmincx left #mojo
12:19 Foxcool left #mojo
12:32 Foxcool joined #mojo
12:34 cosmincx joined #mojo
12:56 Sugar joined #mojo
12:59 snearch joined #mojo
13:00 Akron joined #mojo
13:15 sh4 left #mojo
13:19 Sugar|2 joined #mojo
13:20 dekimsey joined #mojo
13:23 * mateu waves to his anti-framework conspiracy companion
13:25 Sugar left #mojo
13:28 gabiruh_ is now known as gabiruh
13:31 metaperl left #mojo
13:37 Christian left #mojo
13:40 perlrocks Twitter: ""Dynamic" routes in Mojolicious: I would like to implement something like "dynamic" routes in my Mojolicious app... http://bit.ly/l9Ismw" --CharlesFung http://twitter.com/CharlesFu​ng/status/66135229433262080
13:40 perlrocks Twitter: "\"Dynamic\" routes in Mojolicious: I would like to implement something like "dynamic" routes in my Mojolicious a... http://bit.ly/l9Ismw" --stackfeed http://twitter.com/stackfee​d/status/66135236228034560
14:02 zakame left #mojo
14:02 koban` left #mojo
14:05 perlrocks Twitter: "#perl "Dynamic" routes in Mojolicious http://goo.gl/vUf3W" --perloop http://twitter.com/perloop​/status/66141581769580544
14:18 amoore joined #mojo
14:22 metaperl joined #mojo
14:26 AmeliePoulain left #mojo
14:31 metaperl sri - changes to the Mojolicious::Lite startup script, the one I invoke with ./start.pl daemon --reload, do not result in the daemon being reloaded when it is changed
14:33 sri metaperl: you're doing something wrong then it works flawless here
14:35 mateu plackup -L Shotgun works well for me.
14:37 metaperl left #mojo
14:38 GabrielVieira joined #mojo
14:42 Foxcool left #mojo
14:51 metaperl_ joined #mojo
14:52 metaperl_ Hmm, I dont know what I could be doing wrong.
14:52 metaperl_ oh well
14:54 moritz metaperl_: the reloader isn't very reliable
14:54 metaperl_ moritz - how hard is it to be reliable? Doesnt it just check the mtime of the files versus what it recorded as previous?
14:54 moritz metaperl_: I had cases where it didn't reload, and many cases where the reload botched it
14:56 sri unreliable because it doesn't restart the process
14:57 sri it just reloads files over and over again
14:57 sri so garbage starts to add up and it gets less reliable over time
14:58 sri has nothing to do with mtime checking and stuff... just the way perl works
15:00 metaperl_ oh it would be better to simply exit the daemon and have a supervisor process restart afresh
15:00 sri that's fun to do portably
15:01 sri we have a first class restarter in hypnotoad, zero downtime and all the bells n whistles... but it is unix only
15:01 * mateu chants the Shotgun mantra again
15:07 cosmincx left #mojo
15:07 bosphorus left #mojo
15:10 sri moritz: have you had any problems with the reloader recently?
15:10 sri i remember your last reports predate a few important updates
15:11 kaare joined #mojo
15:12 moritz sri: most of my problems where related to DBIx::Class botching up the class hierarchy on reload
15:12 moritz sri: sometimes I also didn't get a reload (yes, after the changes) when some of the files changed
15:12 sri i see
15:12 moritz sri: and then I stopped using it, because of the dbic stuff
15:13 mateu what was dbic doing?
15:13 moritz dbic does magic with @INC when loading the schema
15:14 moritz if you manually re-load a result (or resultset) class, that magic doesn't happen
15:14 mateu no easy way to mimic the magic i guess?
15:14 moritz which sometimes results in "inconsistent c3 linearization" or something similar
15:14 moritz not worth the trouble
15:15 mateu did you ask the dbic channel?  I suspect they dealt with it before.
15:18 moritz no, I did not
15:18 moritz now I just restart my daemons
15:18 dekimsey1 joined #mojo
15:22 xaka joined #mojo
15:22 mateu guess that's the safest way to be sure.
15:22 sri the dbic magic thing makes sense, but i don't understand that file changes are not detected
15:22 sri can you actually replicate it?
15:22 dekimsey left #mojo
15:23 Foxcool joined #mojo
15:24 moritz I could back then, now I don't use it anymore
15:24 AigleNoir joined #mojo
15:25 sri i know we've fixed a few script reloading bugs not too long ago
15:25 sri if you can still replicate it i'm sure it is fixable
15:26 ispy_ left #mojo
15:26 sri but i have a hunch it is gone
15:26 sri dbic magic thing is unfixable of course
15:26 fish_ left #mojo
15:31 perlrocks Twitter: "Looks like #activestate is joining the #perl cloud hosting game. :) http://t.co/NKHmZ5q #mojolicious" --kraih http://twitter.com/kraih/status/66163184758820866
15:34 perlrocks Twitter: "Wow. RT @kraih: Looks like #activestate is joining the #perl cloud hosting game. :) http://t.co/NKHmZ5q #mojolicious" --obfuscurity http://twitter.com/obfuscuri​ty/status/66163741829513217
15:35 fmerges joined #mojo
15:37 fish_ joined #mojo
15:45 sri wonder what they will support database wise
15:47 xaka left #mojo
15:56 ispy_ joined #mojo
16:04 xaka joined #mojo
16:06 xaka left #mojo
16:12 Sugar|2 left #mojo
16:16 ysyrota left #mojo
16:31 ajgb left #mojo
16:32 Akron left #mojo
16:34 metaperl_ Is it possible to run the builtin webserver on Windows? It is! HALLELUJAH! :)
16:39 metaperl_ I'm wondering if there is a plugin to provide a listing on a static directory and allow any files in that directory to be served statically  ... something like what Apache does here - http://static.livingcosmos.org/
16:43 * moritz wonders what to call his curerntly-in-progress module that fetches data from amazon, using mojo
16:43 moritz Net::Amazon::YetAnother maybe? :-)
16:44 metaperl_ why are people using Mojo to fetch via http instead of LWP::UserAgent?
16:44 metaperl_ and why did Mojo bundle an http client?
16:44 moritz why not (to the first question), when I have already loaded Mojo?
16:45 moritz it also makes it easier to integrate the current io loop
16:45 metaperl_ I dont nkow much about the io loop ... just wondering.
16:50 metaperl_ my $in = sprintf "%s\n%s\n%s\n%s\n%s\n%s\n",
16:50 metaperl_ $self->req->param('org_name'), $self->req->param('city'), $self->req->param('state'),
16:50 metaperl_ $self->req->param('common_name'), $self->req->param('phone'),
16:50 metaperl_ $self->req->param('mmapa') ? 1 : 0;
16:50 metaperl_ i meant to paste the gist link - https://gist.github.com/957404
16:51 metaperl_ sorry :)  i was inviting you guys/girls to a game of golf
16:51 metaperl_ I think map { $self->param($_) } qw(org_name city state common_name phone), $self->param('mmapa') ? 1 : 0 ; is tighter
16:52 sri our http client is non-blocking
16:52 moritz metaperl_: that sprintf is pretty pointless
16:53 moritz metaperl_: you know of join() I assume?
16:58 sri Mojo is mostly an implementation of LWPng
16:59 metaperl_ ah, I never think in terms of join ... good point
17:00 metaperl_ join "\n", ( map {   ... } qw( ... } ), $self->param('mmapa') ? 1 : 0 ;
17:12 fhelmber_ left #mojo
17:14 spleenjack left #mojo
17:21 moritz metaperl_: then you have to add a trailing \n yourself
17:22 moritz metaperl_: join '', map $self->req->param($_) . $/, qw/.../, $self->param('mmapa') ? 1 : 0 ;
17:30 metaperl_ the dangers of golf :)
17:54 preflex left #mojo
17:59 sh4 joined #mojo
18:04 Akron joined #mojo
18:16 Foxcool left #mojo
18:24 PerlNinja joined #mojo
18:27 snearch left #mojo
18:40 miyagawa sri: can you confirm POST works on uwsgi/mojo?
18:41 miyagawa mojo+plackup works, plack::req+uwsgi works - just got a report where uwsgi/mojo doesn't - i'll try to repro but wanted to check
18:43 sri miyagawa: not tried it, but would be surprised if it didn't work
18:43 tempire joined #mojo
18:44 metaperl_ "This tasty oneliner will keep your Mojolicious as fresh as possible." - lol
18:44 metaperl_ http://mojolicio.us/perldoc?Mojoliciou​s/Guides/Cookbook#Hello_World_Oneliner
18:45 GitHub77 joined #mojo
18:45 GitHub77 mojo: master Terrence Brannon * 284857a (1 files in 1 dirs): fix typo
18:45 GitHub77 mojo: master Sebastian Riedel * 272e76c (1 files in 1 dirs): Merge pull request #134 from metaperl/master ...
18:45 GitHub77 mojo: master commits f867e85...272e76c - http://bit.ly/kqPcpM
18:45 GitHub77 left #mojo
18:46 sri yay for the green button
18:46 marty left #mojo
18:47 miyagawa sri: no access to PSGI env from Mojolicious runtime?
18:47 miyagawa (just trying to debug print)
18:48 sri $self->req->env
18:48 miyagawa kk
18:51 PerlNinja sri++ for exception handling ... works as advertised even if i was in a slightly dopey state misunderstanding the whole lot of it :d
18:51 sri \o/
18:51 sri wonder if the same change should be made to Mojo::Template, which also has its own __DIE__
18:53 PerlNinja probably but I dont think that gets used if I'm using the TtRenderer
18:53 sri right
18:56 metaperl_ is there some way of listing a directory of static files that is not under public like Apache does here - http://static.livingcosmos.org/
18:56 metaperl_ but it is a subdirectory below where the built-in webserver was started
18:57 miyagawa sri: i confirmed that it hangs on uwsgi
18:57 metaperl_ i guess that's 2 questions... I will ask later. you guys cover this hanging issue
18:58 sri miyagawa: weird, know where it hangs yet?
18:58 miyagawa trying to debug on my local uwsgi + mojo
18:59 miyagawa Just to let you know other combo like Plack::Req on uWSGI works fine
19:00 sri maybe an unhandled read error or so
19:00 miyagawa yeah
19:00 sri the code looks suspicious
19:01 sri hmmm
19:01 sri that part is not equal to the cgi code anymore
19:03 GitHub167 joined #mojo
19:03 GitHub167 mojo: master Sebastian Riedel * fce7094 (2 files in 2 dirs): fixed potential PSGI bug - http://bit.ly/jMsX1G
19:03 GitHub167 left #mojo
19:04 sri maybe that's all
19:04 miyagawa quick, man :)
19:05 sri fingers crossed :)
19:05 preflex joined #mojo
19:09 chansen http://www.activestate.com/blog/2011/05/​stackato-platform-python-and-perl-cloud
19:10 miyagawa sri: Hmm not that, apparently
19:10 * miyagawa keeps digging
19:10 sri aww
19:11 chansen sri: they mention Mojolicious =)
19:12 sri chansen: noticed (and tweeted earlier) :)
19:13 chansen ahh, I'm a bit slow
19:23 sri http://hackerne.ws/item?id=2517430 # dotcloud hijacking the thread is not so nice though
19:23 sri first comment is nice, but those invite codes are a bit much
19:24 miyagawa sri: ok, so this is $env->{'psgi.input
19:24 miyagawa ... $env->{'psgi.input'}->read($buf, CHUNK_SIZE, 0) blocks, where CHUNK_SIZE is bigger than Content-Length
19:24 sri eww
19:24 miyagawa which isn't the case with other PSGI servers
19:24 miyagawa i'm chatting with Roberto, uWSGI author in another windoww
19:25 miyagawa we can initiate a war, but want to avoid it :)
19:28 sri i love seeing peoples perception of perl change =)
19:31 sri metaperl_: we don't do listing at all
19:31 sri could be a plugin though
19:32 sri if it's just about serving static files, i think you can symlink directories into public
19:43 miyagawa sri: http://gist.github.com/957749
19:44 miyagawa roberto is making a fix to make some fix in psgi.input to not block when you read over known body size, but it won't be released immediately. meanwhile this fix should work for now. what do you think?
19:44 sri ouch
19:45 sri i suppose we could add it for the meantime
19:45 miyagawa it doesn't break anything i suppose
19:47 miyagawa want me to open an issue and fork, or you just commit it?
19:47 sri do other implementations block with a 1 byte post?
19:47 miyagawa not that i know of
19:47 sri whatever you prefer
19:48 miyagawa my implementation reads the input in memory (or tempfile if it's too big) before passing to the app
19:48 miyagawa so they're a real temp file handle or a PerlIO for in-memory string
19:48 miyagawa they never block
19:48 sri i see
19:48 miyagawa in uWSGI case it's a socket, trying to behave like a filehandle
19:49 miyagawa we had this discussion about doing the same for Starman
19:49 miyagawa for the performance sake in the big uploads
19:49 miyagawa but turned out it's a bit complicated, and risky to problems exactly like this :)
19:49 miyagawa too long thread, if you're interested http://groups.google.com/group/psgi-plac​k/browse_thread/thread/6ee5b51887d7e2a8
19:53 miyagawa https://github.com/kraih/mojo/pull/135
19:57 chansen how does uWSGI handle chunked (as in RFC 2616) requests?
19:58 mattastrophe joined #mojo
19:59 miyagawa i *think* it is unchunked in the nginx
19:59 miyagawa but not 100% sure
20:00 chansen ok
20:00 GitHub26 joined #mojo
20:00 GitHub26 mojo: master Sebastian Riedel * be647bb (3 files in 3 dirs): improved Mojo::Template exception handling
20:00 GitHub26 mojo: master Tatsuhiko Miyagawa * 5eebd49 (1 files in 1 dirs): PSGI: don't try to read over the supplied Content-Length if it's known. ...
20:00 GitHub26 mojo: master Sebastian Riedel * 6a43f59 (2 files in 2 dirs): updated changes
20:00 GitHub26 mojo: master commits fce7094...6a43f59 - http://bit.ly/lYVMfL
20:00 GitHub26 left #mojo
20:00 chansen luckily they are quite uncommon from clients ;)
20:00 miyagawa sri: thanks ;)
20:01 sri guess i'll release soon
20:01 mattastrophe left #mojo
20:01 sri miyagawa++
20:03 tempire left #mojo
20:04 tempire joined #mojo
20:17 GabrielVieira2 joined #mojo
20:20 fmerges left #mojo
20:22 GabrielVieira left #mojo
20:32 sh4 left #mojo
20:43 GitHub190 joined #mojo
20:43 GitHub190 mojo: master Sebastian Riedel * 468ae5e (2 files in 2 dirs): release preparation - http://bit.ly/jgpUr4
20:43 GitHub190 left #mojo
20:47 perlrocks Twitter: "Mojolicious 1.3 by KRAIH - http://frepan.org/~kraih/Mojolicious-1.3/" --cpan_new http://twitter.com/cpan_ne​w/status/66242605498904576
20:47 perlrocks Twitter: "Released #mojolicious 1.3 (Tropical Drink), enjoy! :) http://t.co/fVB0t4A #perl" --kraih http://twitter.com/kraih/status/66242701233893376
20:49 kaare left #mojo
20:56 metaperl_ is there a way within a Mojolicious::Lite app to register additional directories as public? symlinking to public wont work as I'm serving directories on Windows
20:56 sri no there is not
20:56 purl i already had it that way, sri.
20:56 metaperl_ I mean as static? Shouldnt there be?
20:57 sri mojolicious is not a general purpose web server
20:57 sri serving static files is more of a fallback
20:58 sri generally you should have a real web server or cdn to do that stuff
20:58 chansen serving static files from a framework isn't smart
20:59 sri yea
21:00 metaperl_ chansen - is that for speed reasons?
21:01 metaperl_ each static directory is only going to have one download... ever.
21:01 metaperl_ I guess I will look into symlinks for windows vista
21:03 dekimsey1 left #mojo
21:04 chansen metaperl_: for speed and caching
21:04 metaperl_ yes - things irrelevant for my low-volume purpose
21:04 chansen is caching also irrelevant?
21:05 chansen sri: does mojo support etags, and if-modifiyed headers?
21:05 sri etags not, but if-modified
21:06 sri also range requests
21:06 chansen ok
21:07 sri and we set last-modified
21:07 chansen nice
21:10 metaperl_ chansen - caching is irrelevant because we are just serving these files once per customer
21:10 metaperl_ anyway Windows Vista apparently has symlinks so I can do it that way
21:10 chansen kk
21:11 PerlNinja wait what
21:11 purl Sure, I can wait. I've got plenty of time. It's you mortal meat bags that need to hurry
21:11 PerlNinja vista has symlinks?
21:11 PerlNinja o_O
21:11 metaperl_ PerlNinja - http://www.howtogeek.com/howto/windows-​vista/using-symlinks-in-windows-vista/
21:11 PerlNinja :D
21:11 sri :o
21:11 PerlNinja fukken sweet
21:12 PerlNinja now I can finally solve my dad's problem and get his annoying disturbing ass out of my hair ... hallelujah
21:12 sri windows also has native async io on filehandles i heard
21:12 PerlNinja figuratively, that is... before people take that literal :P
21:12 metaperl_ lol
21:13 chansen symbolic links has been supported by Win32 since Windows 2000
21:14 * miyagawa confirmed 1.3 works with POST on dotcloud
21:15 PerlNinja \o/
21:15 chansen sri: thats also true, but it's not exposed trough the perl interpreter
21:16 sri damn, swarm of maybugs banging against my windows :o
21:17 chansen sri: http://msdn.microsoft.com/en-us​/library/aa365683(v=vs.85).aspx
21:17 mateu mayfly or june bug, don't ask me why
21:17 chansen sri: I haven't developed for win32 in the past 7 or 8 years, so no tricky questions ;P
21:18 sri just learned it from some node.js slides :)
21:18 chansen =)
21:19 PerlNinja ohnode...
21:22 sri wonder when the first web framework will require two languages on the server side
21:23 sri rails is close with coffeescript
21:23 PerlNinja >.>
21:23 * PerlNinja hides his JS plugin
21:24 PerlNinja <.<
21:24 PerlNinja nobody saw a thing
21:24 sri they now have a universal js binding that will use whatever js interpreter it can find
21:24 PerlNinja o_O
21:25 sri aparrently os x ships one that can be used from the command line
21:27 chansen well, node.js is having a momentum (several of my hardcore Java/.NET friends are looking into to it)
21:28 sri https://github.com/rails/rai​ls/compare/9333ca7...23aa7da # still makes me giggle
21:31 chansen lol
21:34 chansen js engines has more momentum than p5, node.js has more momentum than any p5 framework, that gives?
21:37 sri node.js needs more coffeescript and less callbacks
21:38 sri could be really pretty with coroutines
21:40 sri but i suppose then it wouldn't be close enough to client side js
21:43 sri hmm.... #node.js 622 people... #perl 620 people
21:44 chansen sri: http://www.rethinkdb.com/blog/2​010/12/making-coroutines-fast/
21:45 sri i would kill for native coroutines in core perl
21:46 arthas left #mojo
21:47 sri don't think i've heard of rethinkdb before
21:48 chansen ok
21:52 PerlNinja left #mojo
21:55 mattastrophe joined #mojo
21:55 mattastrophe left #mojo
22:01 amoore left #mojo
22:11 abra left #mojo
22:12 metaperl_ left #mojo
22:21 abra joined #mojo
22:41 metaperl_ joined #mojo
23:01 ZadYree joined #mojo
23:59 Akron left #mojo

| Channels | #mojo index | Today | | Search | Google Search | Plain-Text | summary