

Git blame has never been so much fun - napolux
http://mroth.github.io/lolcommits/

======
goldfeld
I have been wanting to keep daily portraits of myself but never get around to
it because it seems like more hassle than good to insert yet one more habit
into my day that I have to remind myself to do. This actually solves it
brilliantly by putting it on auto-pilot all the while providing meaningful
capture times, plus git bisect could have a whole new dimension.

I think there's potential for analysis tools on top of it, though I think this
stuff should be private (at least to the team) lest we create more data for
companies and governments. With that in mind, I think integration with git-
annex[1] as a plugin to backup the photos would be really interesting. Or it
could already work, honestly I am yet to look into how git-annex works in
practice, but from it's concept I know it's gonna be the right backup solution
for some types of data I have (e.g. audio recordings, for which I currently
use Evernote out of convenience.)

[1]: [http://git-annex.branchable.com/](http://git-annex.branchable.com/)

EDIT: So I tried to set it up, and I installed ruby gems in such a way that it
needs sudo-everything. So sudo gem install lolcommits made me have to sudo
lolcommits --enable. Doesn't necessarily bother me but I guess the program
doesn't have access to save the snapshots and it may be failing silently
(since no ~/.lolcommits was created after my first commit with it.) I haven't
tried lolcommits --browse nor lolcommits --last because I'm using xmonad and I
assume they are gonna try to open something back in my Ubuntu desktop which
will leave me in an interface limbo. Author might want to keep the command
line helper more agnostic, e.g. 'lolcommits browse' cd's you to the directory,
and 'lolcommits browse -g' pops open your gui file manager.

~~~
alecdbrooks
Since all commits are stored in a directory, './lolcommits', and it's
triggered when you make a commit, it seems like it would be straightforward to
create a post commit hook that adds the new image to git-annex, especially as
the filename is the commit's hash. Alternatively, you could simply use the
assistant to watch the directory and sync it for you. So there's no _need_ for
built-in git-annex integration, though it would make it nicer.

------
ranman
So I started working on something like this a year or so ago, mine is not as
pretty as lolcommits though:
[http://gitshots.ranman.org/](http://gitshots.ranman.org/) (source is here:
[https://github.com/ranman/gitshots](https://github.com/ranman/gitshots) ) --
it uses mongo as the backend which was probably not the best choice in the
world but it lets you do some cool stuff with the data.

------
calibwam
The obvious thing is to somehow get this working with
[http://www.commitlogsfromlastnight.com/](http://www.commitlogsfromlastnight.com/)

------
cstuder
A similar project: Take a picture when a merge fails:
[http://andialbrecht.wordpress.com/2009/05/09/when-merging-
fa...](http://andialbrecht.wordpress.com/2009/05/09/when-merging-fails/)

------
harrytuttle
Give me a button that electrocutes the developer when I blame something and
find out it's a rotten turd and I'll be happy :)

~~~
tricolon
That's a good way to hurt yourself ;)

~~~
harrytuttle
I religiously apologise to my team when I screw up :)

Others do not, which is why they need some (electrically) induced motivation.

Well played with the comment though :)

------
mmanfrin
My coworker built a gem that does this about a year ago, minus the meme-like
text:

[https://github.com/gregorym/gitstagram](https://github.com/gregorym/gitstagram)

------
agscala
I've been using this for about a year or so on my spare time trying-to-start-
a-startup project. It's pretty fun to scroll through ~500 images of myself. I
was thinking I may upload the whole series online eventually for people to
laugh at my bad hair days

------
abbottry
This is great! If only Hipchat would allow for image uploads... would love to
send the image to hipchat with the push notification message

~~~
skyebook
And if Hipchat took screenshots when coworkers saw your commits we could
replace performance reviews.

------
russelluresti
I've wanted a tool like this for conflicts - I want to see what people look
like when they do a pull and get a conflict.

------
TazeTSchnitzel
It's a shame it doesn't store them in /commits/<hash> in the repo itself.

~~~
ranman
wouldn't that make checking out the repo a total pain in the ass? or do you
mean just store them there and not upload them?

------
jhartikainen
This might be a bit disturbing if used by teams who work from home...

------
daGrevis
I will enable this at home for my side-projects! This is really LOL.

~~~
sam152
Since their stored in '~/.lolcommits', I don't think this could really impact
any production projects. I think it could be pretty funny, especially for non-
side projects.

~~~
daGrevis
Unfortunately, I don't have webcam at work.

------
Fuxy
This looks very fun :) Kinda disappointed it's ruby but that's just my bias.

~~~
octagonal
Why does that even matter?

It's not as if you have to interact with it beyond issuing a "lolcommits
--enable" command.

~~~
Fuxy
You don't know me do you? Every script/piece of code gets dissected
eventually. It's just a matter of how enjoyable/easy to read the code is.

~~~
daf-
I'm going to go ahead and guess that they don't in fact know you.

------
xmpir
this is a great idea - i wonder that i never thought of it

------
NatCrodo
ahahaha.. lol!

------
kaeawc
May the lulz begin.

------
marianoabdala
Code is to be taken seriously.

You better commit some unbreakable code while using this.

~~~
mroth
I admire your dedication to ensuring all code is serious and no superfluous
fun is permitted.

Have no fear, you can actually use lolcommits as a management tool in order to
audit your workplace and make sure everyone is appropriately miserable. Anyone
caught smiling or laughing while committing can then be fired for not being
serious enough while coding.

~~~
marianoabdala
And I admire the fun way in which you handle criticism.

