The web in a box - a next generation web framework for the Perl programming language

IRC log for #mojo, 2014-02-28

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

All times shown according to UTC.

Time Nick Message
00:08 d4rkie joined #mojo
00:15 Stefan joined #mojo
00:15 GabrielV_ joined #mojo
00:20 sri yea, turns out i hate writing coffeescript
00:20 jack joined #mojo
00:37 skullbocks joined #mojo
00:50 marty joined #mojo
00:58 mire joined #mojo
01:01 zacts joined #mojo
01:09 laouji joined #mojo
01:24 laouji joined #mojo
01:25 mire_ joined #mojo
01:33 D4RK-PH0ENiX joined #mojo
01:37 ka2u joined #mojo
01:48 mire_ joined #mojo
02:24 dsteinbrunner joined #mojo
02:46 klapperl_ joined #mojo
03:00 aggrolite joined #mojo
03:10 sri i'll be damned
03:10 sri looks like i've got a working perltidy plugin that even handles UTF-8
03:20 aggrolite joined #mojo
03:33 d4rkie joined #mojo
03:38 donk joined #mojo
03:44 donk is it possible to use mojo to get post parameters from an ajax call?
03:45 sri https://github.com/kraih/atom-perltidy # my first package ;p
03:45 donk grats :D
03:46 donk super gemacht
03:48 donk what do you think of atom so far?
03:49 sri it's pretty close to ideal for me
03:49 sri documentation sucks, but debugging extensions is so fricking easy
03:49 donk cool
03:50 donk is it going into beta soon?
03:50 sri it is in closed beta
03:50 donk ahh
03:51 donk any other perl devs invited?
03:53 sri http://atom.io/packages/perltidy # \o/
03:53 donk that's awesome
03:54 nicomen /usr/local/bin ?
03:54 purl rumour has it /usr/local/bin is first in dha's path, but it's going for /usr/bin/vim
03:55 donk weather?
03:59 * malikai reads backlog and wants in on the fun
03:59 * malikai remembers he doesn't use OSX
03:59 * malikai sadfaces
04:04 D4RK-PH0ENiX joined #mojo
04:19 laouji joined #mojo
04:28 mattastrophe joined #mojo
04:28 * sri is certain atom is going to be big
04:29 aggrolite joined #mojo
04:30 donk bigger than sublime text? :P
04:30 sri much
04:30 donk awesome, i'm excited :D
04:30 donk when do you think it will go live?
04:30 sri atom is really what sublime wanted to be, with lots of developers from github behind it
04:30 donk ohhh nice
04:31 sri only way they can still screw it up would be a massive price... but that's not github style
04:32 sri it's pretty amazing how it does not at all feel like a web app... and then you start the webkit debugger to modify stuff at runtime :)
04:32 donk how much do you think it will cost?
04:33 * sri asks his crystal ball
04:33 donk does it have real-time syntax checking and auto-completion for perl?
04:33 sri no answer
04:33 purl well, no answer is okay. heh.
04:35 malikai heh.. it's not open source?
04:35 * malikai frowns again
04:35 sri neither is sublime text
04:36 donk open source doesn't necessarily mean free anyway
04:36 malikai free as in freedom.. 'a community of developers from github behind it' implies freedom
04:37 sri they will post the source code, with a commercial license it seems
04:37 tianon heh
04:37 tianon github isn't open source either
04:37 sri so it will be open source, but not free software
04:37 sri anyway
04:37 sri http://noneedtoapply.com/wp-content/uploads/2013/04/shut-up-and-take-my-money2.jpg
04:38 malikai github may not be open source, and as a service, that's expected.. but git most definitely is, as is gitlab..
04:38 malikai meh.. if it's really good i can see it being successful even if it is commercial
04:38 donk yeah, bitbucket has some free repositories
04:39 sri by that logic... vim is free, so atom is fine?
04:39 * malikai loves vim
04:39 donk yeah, if it's under $100, i would probably get it
04:41 donk if they commercialize it, though, you should get a piece of the pie for beta testing :P
04:42 malikai (or rush to patent/trademark little bits of it to force your piece of the pie)
04:42 malikai 4tehlulz of course
04:42 donk lol
04:43 * malikai prepares the cease and desist orders
04:44 donk "One of the main reasons for building Atom was that the company wanted an editor that 'will be welcoming to an elementary school student on their first day learning to code, but also a tool they won’t outgrow as they develop into seasoned hackers.' "
04:45 donk if it's commercialized, i doubt schools are going to want to pay huge licensing fees for an editor
04:47 cfedde selling software is pretty much a dead end at this point.
04:47 cfedde sell platforms.  But apps?  not so much.
04:49 d4rkie joined #mojo
05:01 ka2u joined #mojo
05:02 * malikai decides to patent the for loop
05:02 donk lol
05:13 ka2u joined #mojo
05:16 punter joined #mojo
05:19 GabrielVieira joined #mojo
05:33 donk anyone know the mojo equivalent for this cgi line? my $user = param('user');
05:34 plenum joined #mojo
05:35 donk someone suggested i use mojo instead of cgi directly, but i'm struggling to convert simple code
05:46 GabrielV_ joined #mojo
05:47 sujithm joined #mojo
05:51 tl joined #mojo
06:09 sri http://atom.io/packages/language-mojolicious # and my second package is out \o/
06:09 sri highlighting is actually nicer than in TM2 :D
06:10 donk you're a machine, sri... do you ever sleep?
06:10 aggrolite joined #mojo
06:10 sri the first part answers the second
06:11 donk what part of germany are you in?
06:13 jberger joined #mojo
06:18 sri hah, and now there is even a screenshot :D http://atom.io/packages/language-mojolicious
06:18 sri far north
06:18 donk kiel?
06:18 purl kiel is at the end of the world
06:19 sri north/west of hamburg
06:19 donk ahh cool
06:26 malicious donk: http://mojocasts.com/e1
06:26 malicious pretty sure everything in that episode is the same
06:26 donk ahh thanks
06:27 sri you can also link to the wiki, i made a list of errata there https://github.com/kraih/mojo/wiki#wiki-screencasts
06:29 sri Bender: trust malicious
06:29 Bender OK, sri
06:29 malicious dangerous territory
06:29 sri yea, i have a feeling i'm gonna regret this
06:30 sri BUT
06:30 sri http://i3.kym-cdn.com/photos/images/newsfeed/000/511/991/3a5.jpg
06:31 sujithm_ joined #mojo
06:32 sujithm joined #mojo
06:40 sujithm joined #mojo
06:40 malicious Is there anything special needed to pass strings into ->find with mango?
06:40 * malicious mongo is being a strange duck
07:14 dod joined #mojo
07:25 Vandal joined #mojo
07:27 batman sri: you're absolutely right. my brain considered those errors to not occur, since a dev would never do such an error...
07:27 batman ERR! :P
07:28 * batman is feeling better today. hopefully my brain is more functional as well.
07:34 ka2u joined #mojo
07:37 dotandimet joined #mojo
07:44 hrupp joined #mojo
07:46 dod joined #mojo
07:57 GabrielVieira joined #mojo
07:58 rawler joined #mojo
08:03 basiliscos joined #mojo
08:03 eseyman joined #mojo
08:13 dod joined #mojo
08:16 odc joined #mojo
08:19 trone joined #mojo
08:20 GabrielV_ joined #mojo
08:24 ka2u joined #mojo
08:32 donk hmm... i copied the example code for the simple login app for mojo lite and i get this error: Template "login.html.ep" not found.
08:32 donk yet the code is exactly the same
08:35 bpmedley donk: http://liveperl.us/tutorial/params  <-- Does the code look like this?
08:36 donk pretty much, but i'll try that one too
08:37 donk yeah, i copied that code exactly, and get the same error
08:37 donk Page not found... yet!
08:38 donk i guess it must be something in my apache settings
08:38 bpmedley Hrmm.  How are you running the script?
08:38 donk i just run it in the browser
08:38 bpmedley Ahh, can you try straight morbo first?
08:39 donk i don't know how to use morbo... does it work for windows?
08:39 bpmedley Yes, I believe so.
08:40 bpmedley c:\> morbo script.pl
08:40 donk oh wow, that works
08:41 donk thanks a lot
08:41 bpmedley So, we know it's a deployment issue.
08:41 bpmedley How are you deploying?
08:41 donk http://localhost:12345/app/t/login.t
08:42 bpmedley Rather, are you using CGI to deploy with apache or virtualhosts or ?.
08:42 donk well, i was trying to use virtualhosts
08:42 donk but i think it's just cgi
08:43 bpmedley Mojo can detect CGI and just work with it.
08:43 bpmedley You may need to set an env var or somesuch.
08:43 bpmedley Another option is Plack::Handler::Apache2.
08:43 donk hmm
08:44 donk i was hoping to use a solution that can migrate to shared hosting
08:44 bpmedley Ok, hrmm.  I bet the CGI would work.
08:44 Andy2 joined #mojo
08:45 bpmedley Can you put your script in a cgi-bin dir and run it?
08:45 donk well, my script runs fine if i just output text
08:45 donk instead of $self->render(template => "slash", name => $name);
08:46 donk if i just do $self->render(text => "test");
08:46 donk it works
08:46 bpmedley Ok; hrmm.
08:47 dotandimet joined #mojo
08:47 bpmedley What is the error message with template?   Is the template in the __DATA__ section?
08:47 donk yeah, i copied your working code exactly
08:47 bpmedley Ok, put the slash.html.ep into "template\slash.html.ep".
08:48 Dandre joined #mojo
08:48 bpmedley Everything from lines 17-22 go into the slash.html.ep file.
08:48 bpmedley Also, you may be able to use this to deploy to a host that has perl 5.10.1 and no mojolicious: https://metacpan.org/pod/App::FatPacker.
08:49 donk ok, trying that now
08:51 donk hmm, can't find the template dir
08:52 bpmedley And you're running via apache?
08:52 donk yeah
08:52 bpmedley MOJO_HOME=/home/sri/myapp  <-- Try setting the MOJO_HOME env variable
08:55 donk ok, moving it to the templates dir worked
08:55 donk so it just doesn't work in the same file
08:55 bpmedley Sweet.  Did you have to set MOJO_HOME?
08:55 donk nope
08:56 donk well, thanks for your help... that had me stumped for hours, lol
08:56 donk bpmedley++
08:56 bpmedley Cool.  Glad to spread the Mojo.
08:58 donk i have a feeling once i get used to mojo, it's going to make my life a lot easier
08:59 bpmedley Yes, it's amazing.   Makes CGI seem barbaric.
08:59 donk it's nice to know that it's being actively maintained and the creator is a regular here
08:59 D4RK-PH0ENiX joined #mojo
09:00 donk i'm so new to perl that i don't even know all of the pitfalls of cgi, but i ran into one issue involving trying to use relative paths from the script's directory, and i just couldn't figure it out
09:00 donk then someone pointed me to mojo, and it has a nice $app->home variable
09:00 bpmedley Ahh.. I see.  We're glad you're here!
09:00 donk i already love it, lol
09:01 donk can't wait to see how powerful it is :D
09:02 donk i start work on monday and i'll be on a team of about 10 perl developers, so i'll spread the word if they aren't already using it :D
09:02 bpmedley Sweet
09:09 denisboyun joined #mojo
09:10 Jonneh joined #mojo
09:13 Jonneh joined #mojo
09:13 nic I was reading AnyEvent::DBI::MySQL last night and its mention of using Mojolicious to handle CGI requests
09:13 nic nearly choked on my strawberry milkshake
09:30 sujithm joined #mojo
09:36 skullbocks joined #mojo
09:42 GabrielVieira joined #mojo
09:45 ver joined #mojo
09:50 mattastrophe joined #mojo
09:52 dpetrov_ joined #mojo
09:56 dexteruk joined #mojo
09:59 dod1 joined #mojo
10:01 mire_ joined #mojo
10:02 Dandre hello,
10:02 dod joined #mojo
10:04 Dandre is there any way to test whether a route name exists? I am using controller->url_for but if the route name doesn't exists I get a url composed of the base url followed by this name
10:23 al joined #mojo
10:31 Dandre Ok in my controller I do
10:31 Dandre $self->url_for ('routename',id=>'foo')  if $self->app->routes->lookup('routename');
10:31 Dandre I am not sure whether it is the best way
10:41 ka2u joined #mojo
10:46 meshl joined #mojo
11:06 d4rkie joined #mojo
11:16 dotandimet I've got a test that hangs under perl 5.16.3 (no EV, uses IO::Poll) and runs fine under Perl 5.18.2 (has EV).
11:17 dotandimet of course I'm doing silly things with delays,
11:19 dotandimet I suspect this is my bug and EV is guarding me from it by being more averse to hanging?
11:39 bowtie_ joined #mojo
11:45 dsteinbrunner joined #mojo
11:46 bpmedley Dandre: http://mojolicio.us/perldoc/Mojolicious/Routes#lookup <-- You might try this
11:47 bpmedley Hrmm.  I guess that just usues route names.
12:10 judofyr joined #mojo
12:11 judofyr sri: I saw you made an Atom package. what'd you think of Atom? is the plugin API decent?
12:13 ascent joined #mojo
12:26 rem_lex| joined #mojo
12:29 ka2u joined #mojo
12:41 bluescreen joined #mojo
12:50 dexteruk Hi, im looking at using Mojolicious for building an API, but i dont see people talking about developing API on Perl they normally talk about Python and Ruby..  What are peoples thoughts
12:51 bc547 dexteruk: an API by itself is language agnostic...
12:52 dexteruk I love perl, im still very new, but i think Mojolicious to develop and API is very simple
12:52 judofyr dexteruk: I think that is mostly related to the fact that Ruby/Python in general gets more coverage when it comes to web dev. there's nothing about Mojo that makes it less suitable for building APIs
12:54 dexteruk Well i have been looking at performance, i know Ruby seems quicker but i think perl is more rounding language with much more going for it
12:54 dexteruk Well i have been looking at performance, i know Ruby seems quicker but i think perl is more rounded language with much more going for it
12:56 dexteruk Is there any reasons why not to use Mojolicious to build API, thinks i should look out for
12:56 dexteruk thinks = things
13:01 bpmedley dexteruk: There is no reason not to, imo.
13:01 dexteruk Cool, then i look forward to my new adventure :-D
13:01 bpmedley dexteruk: Said another way, Mojolicious would make the api pretty..
13:02 mattastrophe joined #mojo
13:07 mkad joined #mojo
13:07 mkad Hi
13:08 mkad I would like to use Xilinx Impact with Mojo
13:08 mkad how do I do that?
13:08 bpmedley What is Xilinx Imapact?
13:08 mkad How to find out which version of bootloader do I have
13:08 mkad lmao
13:08 mkad left #mojo
13:10 bc547 Mojo on hardware ASIC's? :-)
13:14 jkg I guess it was this mojo: https://www.kickstarter.com/projects/1106670630/mojo-digital-design-for-the-hobbyist
13:16 cfedde joined #mojo
13:18 Adurah joined #mojo
13:24 dotandimet joined #mojo
13:24 trone joined #mojo
13:25 denis_boyun joined #mojo
13:38 nic https://metacpan.org/requires/distribution/Mojolicious
13:38 nic :)
13:47 skullbocks joined #mojo
13:50 dotandimet1 joined #mojo
13:51 gnephiak joined #mojo
13:52 clynamen joined #mojo
13:53 clynamen I'm getting a (maybe) strange behaviour with mojo. I'm calling children on a DOM object, but I always get a collection with only one element, even it is supposed to have more.
13:53 clynamen e.g. http://stackoverflow.com/questions/13809845/parsing-html-with-mojolicious-user-agent If I call $dom->find('div#yay')->children->size I get 1
13:58 clynamen is this the expected behaviour?
14:01 plenum joined #mojo
14:09 go|dfish clynamen: in that example he uses $dom->at() not $dom->find()
14:10 clynamen go|dfish: sorry goldfish, I used that example just for an example dom. I was not clear
14:11 clynamen go|dfish: however, what behaviour should be expected with that dom?
14:13 go|dfish Well, $dom->at('div#yay')->children->size returns 6
14:13 ua left #mojo
14:18 sh4 joined #mojo
14:19 go|dfish at() returns a Mojo::DOM and find() returns a Mojo::Collection, and children is a Mojo::DOM method, so I'm not quite sure what's going on with find()->children, perhaps someone will more knowledge than I will be able to help
14:21 malikai wish i could help, but i've been fortunate enough to avoid screen scraping thus far
14:21 asarch joined #mojo
14:22 malikai but i'll bet i've asked 100% of all the top X dumbest server side questions these cats have heard
14:23 go|dfish Ah, I think this has something to do with it... http://mojolicio.us/perldoc/Mojo/Collection#AUTOLOAD
14:24 hesco How do I attach an id to this select field in mojolicious' empedded perl renderer?  https://gist.github.com/hesco/b734f935acfacf1d0a04
14:25 hesco .
14:26 go|dfish hesco: http://mojolicio.us/perldoc/Mojolicious/Plugin/TagHelpers#select_field has some examples with ids
14:27 hesco Thanks go|dfish will take a look at that.
14:29 Jonneh joined #mojo
14:34 sujithm joined #mojo
14:36 clynamen go|dfish: at works as expected, and I can do what I need. thx a lot
14:39 dotandimet joined #mojo
14:42 punter joined #mojo
14:51 hesco Thanks go|dfish, took reloading the daemon, but I'm getting the id's now.  Thanks.
14:53 btyler joined #mojo
14:57 marty joined #mojo
15:01 bpmedley joined #mojo
15:06 nicomen if this app I inherited doesn't seem to be reloading changed files by watching them, (using morbo, just script/app daemon), how do I check what it is watching?
15:06 D4RK-PH0ENiX joined #mojo
15:08 mkad joined #mojo
15:16 Coke sri: I have six passing tests.
15:17 Coke (which isn't bad for the 20 minutes I spent on this yesterday. :)
15:18 bjakubski joined #mojo
15:20 d4rkie joined #mojo
15:29 plenum joined #mojo
15:31 aggrolite joined #mojo
15:31 marty joined #mojo
15:33 gryphon joined #mojo
15:41 marty joined #mojo
15:42 marty_ joined #mojo
15:49 laouji joined #mojo
15:51 bpmedley nicomen: morbo -v
15:53 nicomen bpmedley: hm, but it doesn't seem to be watching lib
15:53 mire_ joined #mojo
15:54 bpmedley nicomen: https://metacpan.org/pod/morbo  <-- checkout -w
15:54 nicomen is there some way I can set it with ->watch from a regular script/app file? before app_start or something?
15:55 nicomen hm works with explicit -w
15:55 nicomen weird
16:01 ka2u joined #mojo
16:03 rem_lex|pivo joined #mojo
16:03 Lee joined #mojo
16:12 aggrolite joined #mojo
16:21 ka2u joined #mojo
16:23 skullbocks joined #mojo
16:31 sri judofyr: so far i like Atom a lot, the API is good, but of course still very much underdocumented
16:32 sri mostly had to read the code to get stuff done
16:32 Eitz joined #mojo
16:35 marty joined #mojo
16:36 donk that would make it nearly impossible for someone like me :P
16:36 marty joined #mojo
16:38 dexteruk Hi, newbie here... I have just created a simple script to add data to a mysql database via a post, it works fine on morbo but when i change to hypnotoad  posts dont get added to mysql database, has this got to do with blocking, i see no error messages
16:41 malicious dexteruk: not enough information to help
16:41 tianon joined #mojo
16:41 malicious make a minimal example and post it to gist.github.com
16:41 dexteruk its ok i found some logs im looking now
17:11 thowe joined #mojo
17:18 ka2u joined #mojo
17:42 sujithm joined #mojo
18:07 Jonneh joined #mojo
18:12 plenum joined #mojo
18:27 webart hmm there must a be a way to make perl -Mojo  be a one line xml to json converter ...
18:30 webart even when the main server and software stack is not mojo/plack/perl ... but it's trying to grab "live updated" data sources that seem to be streamed straight out of some database in XML format
18:30 nic joined #mojo
18:42 beyondcreed joined #mojo
18:42 webart something that duct tapes an xml stream to a json using application with a simple "mojo in the middle"  xml->json  would be nice
18:55 sri there's a spec for turning html into json... but i kinda doubt that's what you have in mind http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html#json
18:56 sri in general... xml to json concerting is just silly
18:57 sri if there's a spec i might be overlooking, please enlighren me
19:00 sri s/r/t/
19:03 DaTa XML?
19:03 * DaTa runs away
19:07 ua_1 joined #mojo
19:10 GabrielV_ joined #mojo
19:13 sujithm joined #mojo
19:21 mattastrophe joined #mojo
19:22 sri actually... i take back what i said earlier about the Atom docs... the reference is pretty decent once you know the concepts
19:22 sri way ahead of sublime text at least
19:23 sri the api is very very good, only thing that annoys me is scrolling behavior, which doesn't feel very native on os x
19:26 * sri just figured out how to make the cursor sticky for the perltidy package o/
19:27 sri http://atom.io/docs/api/v0.61.0/api/ # you can mostly guess what everything does
19:28 sri and i'm free to use only javascript, no coffee needed
19:29 dsteinbrunner how is the undo.. is it mac like or char by char?
19:29 asarch joined #mojo
19:31 sri it's hackable actually
19:31 sri you can make your own undo of you like, there are transactions to combine steps and stuff ;p
19:32 sri s/o/i/
19:33 sri automatically inserted chars are part of a transaction usually, and undone together
19:34 sri like brackets and quotes
19:34 sri or copypasta
19:34 purl i guess copypasta is a kind of spam?
19:36 sri general handling of TM2 i still like a little better, but split window editing, git state for every line and stuff like that makes up for it
19:37 abra joined #mojo
19:39 sri think atom won me over
19:43 sri https://github.com/kraih/atom-perltidy/blob/master/index.js # just look how easy it is to write an extension
19:52 Jonneh joined #mojo
19:55 dod joined #mojo
19:58 sri also interesting how atom updates itself... seems to work exactly like chrome... just happens in the background
20:03 sri haha, perfect example for the hackability... don't like the blinking cursor? make a stylesheet! http://discuss.atom.io/t/blinking-cursor/1544
20:04 sri ok, i'll stop now ;p
20:10 ashleydev don't stop
20:10 tianon believing
20:10 purl believing is easier than thinking.  many people are lazy.
20:20 chansen joined #mojo
20:36 GabrielVieira joined #mojo
20:53 dsteinbrunner_ joined #mojo
21:04 skullbocks joined #mojo
21:08 GabrielV_ joined #mojo
21:34 bpmedley dexteruk: Did you get your question answered?
21:37 aggrolite joined #mojo
21:39 GabrielVieira joined #mojo
21:59 denisboyun joined #mojo
22:00 bpmedley I wonder if a deployment option should be detailed where an App::FatPacker Mojolicious::Lite script is used in a CGI shared hosting setup?  Perhaps on the wiki?
22:05 dsteinbrunner joined #mojo
22:07 denisboyun joined #mojo
22:10 sri node.js gets all the drama this week... no fair...
22:10 sri http://blog.npmjs.org/post/78085451721/npms-self-signed-certificate-is-no-more
22:12 punter joined #mojo
22:12 BenGoldberg joined #mojo
22:24 Akron joined #mojo
22:29 Akron As atom platform independent? As an emacs user I would be mostly interested in the split-screen capabilities.
22:29 Akron As -> Is.
22:34 denisboyun joined #mojo
22:39 cfedde it depends on the browser.
22:39 mudler joined #mojo
22:43 Akron It's chrome dependent, but I think I read it's mac only.
22:43 tianon currently mac only yes
22:43 tianon dunno if that'll change
22:43 tianon but I don't see any reason why not
22:44 Akron tianon: Thanks! The website doesn't sa anything about it.
22:44 tianon What platforms does Atom run on?
22:44 tianon At the moment Atom only runs on OS X (10.8 or later). Windows and Linux releases are on the roadmap.
22:44 tianon http://atom.io/faq
22:45 tianon there's our answer for sure :)
22:45 sri yea, the architecture is quite interesting
22:45 Akron Oh - thanks.
22:45 sri a cutomized chromium with node.js
22:46 sri it's a real desktop app though, and you don't notice it's based on webkit until you customize stuff
22:47 sri feels like a desktop app you can hack on like a web app
22:47 Akron Well - I think I have to wait for a Linux release and then for an org-mode integration, but I like the concept and the extensibility.
23:00 sri that reminds me... i still have to try http://atom.io/packages/vim-mode
23:03 jmmills joined #mojo
23:33 GabrielV_ joined #mojo
23:42 Akron joined #mojo
23:46 Akron The coupling of the package repository with github is nice - but could be improved I think. e.g. the wiki integration and some stats could be embedded.
23:53 GabrielVieira joined #mojo

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