13:48:53 <sgallagh> #startmeeting Gource: Telling Stories via Source Code 13:48:54 <zodbot> Meeting started Sat Aug 10 13:48:53 2013 UTC. The chair is sgallagh. Information about MeetBot at http://wiki.debian.org/MeetBot. 13:48:54 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic. 13:49:30 <sgallagh> Hi, my name is Suzanne Reed 13:49:38 <mizmo> #meetingname Gource: Telling Stories via Source Code | Live stream: http://ur1.ca/ezp2r 13:49:38 <zodbot> The meeting name has been set to 'gource:_telling_stories_via_source_code_|_live_stream:_http://ur1.ca/ezp2r' 13:49:43 <sgallagh> My presentation is Gource: Storytelling via source code 13:49:58 <sgallagh> ah, go ahead mizmo. Didn't realize you were covering htis 13:50:03 <mizmo> i'm not 13:50:04 <mizmo> sorry 13:50:07 <mizmo> just trying to fix /topic 13:50:07 <sgallagh> oh 13:50:15 <mizmo> #topic Gource: Telling Stories via Source Code | Live stream: http://ur1.ca/ezp2r 13:50:41 <mizmo> #meetingtopic Gource: Telling Stories via Source Code | Live stream: http://ur1.ca/ezp2r 13:50:45 <mizmo> #meetingname Gource 13:50:45 <zodbot> The meeting name has been set to 'gource' 13:51:43 <sgallagh> Gource itself is a version-control visualization tool 13:52:03 <sgallagh> Takes the code from a repo and visualizes it in nodes/leaves that are files and branches that are directories 13:52:13 <sgallagh> We can play with it to control the results 13:52:17 <sgallagh> Works with non-git 13:52:26 <sgallagh> Gource can parse a git repo on its own or use custom logs 13:52:45 <sgallagh> If you just run gource on a repo, you're gonna get a kind of information, colors, avatars, names 13:52:55 <sgallagh> Using custom logs, we can affect how the story is written 13:53:05 <sgallagh> The tool we use to do that is caolled log_generator 13:53:16 <sgallagh> Multi-gource is combinming multiple repos 13:53:33 <sgallagh> If you're interested in openstack you can go to their webpage and clone all of their repos 13:53:44 <sgallagh> It will stitch them together and create a fake gitlog that can be used instead 13:53:52 <sgallagh> That way gource can parse it as a single repo 13:53:56 <sgallagh> colorize is another tool 13:54:15 <sgallagh> We can use the colorizing to change the colors to match your organization or show the different projects being stitched together 13:54:22 <sgallagh> Also used in user-highlighting 13:54:31 <sgallagh> Show all the commits written by Suzanne in green 13:54:41 <sgallagh> Branches by year 13:54:53 <sgallagh> Prepends a date ahead of a directory so that each new branch is a new year of the project 13:54:58 <sgallagh> Let's generate some logs 13:55:27 <sgallagh> A regular git log would just look like "a commit, author ,date and commit message" 13:55:36 <sgallagh> And yuou can adjust and reparse it in log-generator 13:55:47 <sgallagh> Use a little shell code to generate the log to add the name status 13:56:04 <sgallagh> Tells us if you've added, modified or removed a file which changes the color 13:56:12 <sgallagh> Settings can be controlled by either a commandline or a config file 13:56:20 <sgallagh> On the command-line, options are just given with other optoipns 13:56:30 <sgallagh> A config file in gource looks a little something like this. 13:56:42 <sgallagh> Everything in brackets is a comment, everything else affects the story 13:57:16 <sgallagh> Auto-skipping seconds when nothing happens speeds things up 13:57:24 <sgallagh> Changing seconds per day is faster 13:57:31 <sgallagh> You can hide many things like filenames 13:57:41 <sgallagh> Bloom is the aura around visualizations. Can control intensity 13:57:50 <sgallagh> We found the cleaner look (removed) was better overall 13:58:08 <sgallagh> Character development: custom avatars are how to highlight users and groups 13:58:14 <sgallagh> We created avatar-gen to help create them 13:58:29 <sgallagh> Gource handles the avatars with an individual file per avatar 13:58:38 <sgallagh> Users need to match git username exactly to be the same avatar 13:58:52 <sgallagh> The avatar generator uses the email domain to map the avatars 13:58:59 <sgallagh> Red Hat->Shadowman, etc. 13:59:04 <sgallagh> Gravatar can also be used. 13:59:13 <sgallagh> "And they look pretty sweet" 13:59:26 <sgallagh> To publish visualization, a ppm stream is piped into ffmpeg 13:59:38 <sgallagh> <describing command in slides> 13:59:47 <sgallagh> This is the best configuration that I've found 13:59:52 <sgallagh> Most consistently good results 14:00:02 <sgallagh> Github repo has other options, as does Gource docs 14:00:16 <sgallagh> Idea of what some of these things do: 14:00:26 <sgallagh> Look at the yum log 14:00:31 <sgallagh> This is a custom log 14:00:47 <sgallagh> <describes layout> 14:00:54 <sgallagh> Different users are getting different colors 14:00:58 <sgallagh> Part of user highlighting 14:01:14 <sgallagh> We chose to publish yum as our first major story 14:01:35 <sgallagh> I started this beforehand, and I though that it was a way to show the impact of Seth Vidal 14:01:46 <sgallagh> So we highlighted his commits and put a special emphasis on his work 14:01:53 <sgallagh> <demo> 14:02:06 <sgallagh> Each branch is a new year 14:02:13 <sgallagh> Right now ,all commits are Seth's (blue) 14:02:22 <sgallagh> Other commits show up as white, but right now you can't tell 14:02:29 <sgallagh> Red Hat/Fedora joins in 14:02:40 <sgallagh> As the community got more involved, it became a stream of people working on the project. 14:02:51 <sgallagh> Letting demo run 14:02:58 <sgallagh> (Looks pretty excellent -- Steve) 14:03:20 <sgallagh> Yum looks best broken up by year 14:03:28 <sgallagh> Because it has a lot of work but a small nuber of files 14:03:59 <sgallagh> A couple other things we played with a lot: timing 14:04:07 <sgallagh> Seconds per day vs overall speedup by time 14:04:20 <sgallagh> Most config files can be slightlt modified to fit another project 14:04:29 <sgallagh> But all need tweaking because each story is different and unique 14:04:32 <sgallagh> <demo ends> 14:04:49 <sgallagh> It's also on youtube if you're interested in seeing it 14:04:57 <sgallagh> Higher-quality copy being published soon 14:05:10 <sgallagh> <acknowledgements> 14:05:18 <sgallagh> (From the slide) 14:05:51 <sgallagh> That is Gource. 14:05:54 <sgallagh> Are there any questions? 14:06:08 <sgallagh> "When working on this project, have you been looking at other similar projects?" 14:06:20 <sgallagh> I know there are some other projects. I myself haven't worked with them. 14:06:44 <sgallagh> One really cool one looked like a pong game for your website/server. If the server missed a request, the paddle missed. 14:06:46 <sgallagh> Logstalgia 14:06:53 <sgallagh> Demo of it on Fedora Infra 14:07:17 <sgallagh> <lmacken> lewk.org/logstalgia.webm 14:07:46 <sgallagh> <buffering> 14:07:56 <sgallagh> Also written by Andrew Caldwell 14:08:05 <sgallagh> Always open to input and requests for features 14:08:18 <sgallagh> "Do you have any videos of OpenShift or OpenStack stuff?" 14:08:26 <sgallagh> I haven't gotten it running. Overly-massive 14:09:03 <sgallagh> "Are there tutorials on how to set up a visualization?" 14:09:09 <sgallagh> The documentation is very good 14:09:20 <sgallagh> Some of the descriptions can be misleading 14:09:31 <sgallagh> "make the background transparent" is not what it sounds like 14:09:34 <sgallagh> Some are confusing 14:09:43 <sgallagh> But if you play around, you can get a good idea of what you're doing 14:09:56 <sgallagh> "Example configs?" 14:10:03 <sgallagh> Yes, I have a bunch that I have pushed 14:10:13 <sgallagh> I'm going to do a quick screen demo that I couldn't actually get to work 14:10:19 <sgallagh> I have it written, should be available soon 14:10:22 <sgallagh> "Github location?" 14:10:33 <sgallagh> http://github.com/gourciferous 14:10:46 <sgallagh> http://github.com/FOSSRIT/gourciferous 14:11:05 <sgallagh> "If someone wanted to contribute, where should they start?" 14:11:14 <sgallagh> Add sound/music? (audience) 14:11:22 <sgallagh> I wonder if that should be Gource or an extension 14:11:34 <sgallagh> As for things to add: We're working on a GUI but that's having troublke 14:11:42 <sgallagh> If anyone wants to fix glade, that would be a good place to start 14:11:51 <sgallagh> We also have a couple template ideas on the glade branch 14:12:02 <sgallagh> There's a couple pictures/paper mockups that we're transferring into glade 14:12:09 <sgallagh> That's definitely a tool that would be most helpful to everyone 14:12:18 <sgallagh> "Can we see one of the mock-ups?" 14:12:22 <sgallagh> I can probably pull it up. 14:13:11 <sgallagh> This is what I'm working on so far 14:14:37 <sgallagh> Avatar generator does the same thing gource does 14:14:54 <sgallagh> It creates avatars for email domains and then a filesystem page 14:15:04 <sgallagh> But its default is to pull avatars from Gravatar 14:17:00 <sgallagh> Gource can do defaults and overrides on the gravatar images 14:17:14 <sgallagh> You can change any of the files in the per-entity config file 14:18:05 <sgallagh> "It would be cool in the future if we could give it a github organization and have it clone all repos in the org" 14:18:19 <sgallagh> "How long does it take to run something like the Seth/Yum video?" 14:18:24 <sgallagh> Rendering it took about three hours 14:18:36 <sgallagh> Gource does have to render each picture as it goes along, so it's very time-consuming 14:19:22 <sgallagh> "Xen was experimenting with the OpenShift organization. We're still trying to figure out the benchmarking for how many repos we can handle at once" 14:19:34 <sgallagh> "Just running Gource will bog down the box, let alone rendering" 14:19:41 <sgallagh> Rendering is not a fun time 14:19:49 <sgallagh> (Quotes above were Remy) 14:20:19 <sgallagh> Gource does not like handling large number of file additions at once. Heavy load. 14:20:55 <sgallagh> Rendering requires a good video card 14:22:35 <sgallagh> <vigorous applause> 14:22:40 <sgallagh> Enjoy the rest of Flock! 14:22:44 <sgallagh> #endmeeting