Show HN: Posters of Your GitHub Contributions
commitprint.com
commitprint.com
Tangent: I don't understand the fascination with one's own commit heatmap (or any other commit heatmap for that matter). Maybe it seems a bit too self-congratulatory? Vain? I don't know quite what it is, but it rubs me the wrong way and I wouldn't be interested in putting something up like that in my home or office. Maybe because it implies quantity over quality? Whatever the reason, your poster project is nice regardless of whether or not I would buy one.
That said posting it on a wall to say "Hey look what I've done" its a bit much for me. But I would defintely buy a poster for my engineering team, that would fantastic!
I'd love to get this for my team after a major release.
"Ah heres when the whole site went down one Saturday"
"This was when we left for the week long offsite"
"Here is where we released and had to make a bunch of hotfixes but then look here we rarely had that problem after..."
The problem with heatmaps and how they are currently used by popular tools, is they only provide novelty metrics. That is, metrics that are interesting to look at and nothing more.
Commit heatmaps are actually quite useful for answering a lot of questions, if used properly.
Here's an example, that shows how they can be used to help you navigate to the first commit.
https://gitsense.com/first-commit.mp4
They can be used to provide visual aid, to show how frequently certain files are modified.
But the first one will only work for the first commit, you can't really pinpoint any other one. Using a heatmap for that is probably even overkill.
Yeah the heatmap only really shines when it's sparse, as the noise can be too much. The heatmap is intended to be used as a secondary visual aid. What I normally recommend, is for people to use the line chart first, to help select larger swaths of time. And if you need to, use the heatmap to help you drill further. Below is an example of what I mean.
https://gitsense.com/search.mp4
There are still a lot of ways to improve the heatmap by using animation and other tricks, but I don't have the time to experiment with these ideas.
I guess part of it is I don't use GitHub as a UI to my repos either. When I want to find this information out I go exploring with log/blame.
For me personally, I mainly stick with the "Changes tree", which I prefer to use over log/blame. I'm particular not a fan of using blame, if I need to trace the history for a file, since it can get disorienting. I use what I've dubbed as rapid diffing, which makes it easier to see how a file evolved. Here's an example.
[...] because I'm rendering actual JPGs server-side so that the prints will be identical to the previews. I could probably do it much faster if I did it all client-side with SVGs, but I went with what I already knew. Maybe v2.0 will be more awesome.I'm fetching the user's history from GH, which is working OK at best right now, and also rendering them server side.
So... 0 for 2.
Keep up the good work!
Similar to my project https://commits.io
Shoot me an email (ortuna AT gmail) if you want to compare notes. I've done a lot of work on how to get those generation times down.
Recommendation: Allow users to generate an image and either share it on social media, or embed it in their blog. This way you at least get promotional value out of customers who do not intend to buy.
Not kidding.
Post definitely forthcoming!
I hope I'll see a new rise of decentralized solutions. For now I'm frightened of the monopolism here.
At the same time it's better to have a working project and having the satisfaction of shipping than going in circles trying to appease everyones definitions of open source.
If I created a website for you to turn a user's facebook activity statistics into a T-Shirt I would hope that you don't think it is contributing to facebook's monopolism of social media.
Then if I can't find it that way, I begrudgingly head over to Google.
I speak from experience, having built a crawler and search engine that extracts changelogs from open source projects on Github, parses them, and provides an API for changelogs. [1] I probably never would have built this project if the only thing that had been available to me was bare git repos. It's the github API that makes this search engine possible.
The side effect of the Github "monopoly" is that Github can afford to provide a decent API that makes it possible to do things that simply aren't feasible if you are facing a non standard collection of bare git, svn, mecurial, etc repos.
Nowhere does this project say that "GitHub = open source" and I'm not sure why you're harping on it here. In fact, this project can even include private (ie. non-open source) commits, making your point even more irrelevant.
First, git is decentralized by default. GitHub has very little secret sauce here; most, if not all, of their cool git tricks are actually pushed upstream into the git client to benefit everybody. For remote management, I can run `git init --bare` in any directory on any ol' ssh box I want and then set it up as a remote and get the same exact `git push` experience. Or use any of the strategies that git supports for interacting with remotes.
So GitHub chose a great decentralized tool as their foundation, and then got the community UX right. There's easy permissions management, easy SSH key management and instructions, issue and PR tracking, easily-accessed discussion, etc. GitHub is 95% about community and 5% about easy repo management, IMO.
That said, they're no longer the only player in town. They're the most universally understood, but you can easily set up a GitLab CE server on your own hardware if you want the same thing for free, but there are management costs associated with that.
I think the other critical reason GitHub is associated with open source software is that, after all, it's 100% free for open source software. You get all the above features for free if you don't discriminate about who can see and clone your code. GitLab will give you free private repos, but in my opinion I think GitHub takes the better stance here for the Open Source world. "You want free tools? You have to either pay up or share."
They never were. Before github everything was on sourceforge.
GitHub's secret sauce was to use dark patterns meant to accelerate the network effect working in their favor.
Specifically:
1. Quietly kill patches as the main currency in open source
2. Redefine "pull request" to mean "the thing that happens when you click a certain button on github.com"
The end result is that collaborating with GitHub-hosted projects is made arbitrarily difficult unless you're also hosting your work on GitHub.
How are you getting these printed and shipped? Do you do it yourself or consume a 3rd party service?
I'm not big into electronics, but can't you adjust LED's brightness by changing what voltage is sent to them?
"I don't have a lot of public commits, can I use private commits?
You can, actually. You'll have to make that change on github.com though. Go to your profile and scroll down until you see your contribution graph and click "contribution settings" to change it."
In any case, I doubt so, or it doesn't even matter. Nothing in the world is really so unique, and especially app ideas on the internet. It's not a new idea to make an infographic style poster from data, so who's ripping off whom?
I guess everything is a matter of perspective.