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