There's a map for that
github.com
github.com
Our startup ( http://microco.sm/ ) is working on improving communities, which most people read as vBulletin, phpBB, Discourse... but my view is simply that if you have a group of people together around some interest (topic, locality, project) that they want to communicate, share, transact at every level.
And that, the fragmented experience of going to Google Maps, Facebook Events or Eventbrite, Wikipedia, review sites, eBay, etc... just to bring the last 5% into a community... well that's frustrating and a poor user experience.
Instead the first 60-80% of the functionality elsewhere should just be in the tool. Where the community already is.
And we're starting with forums and going outward, in every direction (it feels). And here is github, starting with the code, and also heading outward, in every direction.
I've a great deal of love for Github (as a dev, how could I not)... so I wish them well. They're solving things from a dev/work perspective, and we're aiming at consumers/users/hobbies/interests... but still, I've no doubt that we've a lot to learn from them, and when we're up to speed perhaps we can teach them a thing or two.
It's by no means ideal (the building footprints dataset is hidden behind a 2GB compressed JSON blob) but it's still useful and a step in the right direction.
It's still aimed squarely at developers using the data, though. Asking a "normal citizen" to submit a pull request is still a pretty big ask.
Git is a powerful version control and collaboration system for any plain text (or maybe even binary) files.
There's nothing special about programmers that makes it so they are the only ones that can learn about these tools and use them. With something like TortoiseGit (or Github's app) I can totally see people you would never expect start taking advantage of this.
Authors, mathematicians, research agents, cartographers, government agents (all those legal documents need version control badly), lawyers, etc.
As the world trusts computers with more and more of their files, they might start picking up the tools that programmers have held so dear.
Why not empower them?
Similar is how the Linux filesystem code flatly refuses to care about what encoding scheme filenames use as long as the byte 0x2F (ASCII '/') is only used to separate pathname components, the byte sequences 0x2E (".") and 0x2E 0x2E ("..") appearing alone in a component are special, and the byte 0x00 (ASCII nul) is only used to terminate the entire pathname. The kernel is so stupid it only sees byte sequences and only cares about those specific values and sequences; as a direct result, users can use any character encoding which guarantees those values will only be used for their respective purposes, and rely on easily-configurable applications to sort it out.
Here's Torvalds, Viro, and Ts'o chewing out someone who thought the kernel should enforce UTF-8 file and directory names:
https://github.com/blog/612-introducing-github-compare-view
However it seems the UI has changed, and the only way I could find to use it was to manually construct the URL.
I'd love for someone to show me some obvious UI I've missed. Diffing is really fundamental for a VCS. I'd much rather Github cleaned up the UI for existing features than added these little flourishes that I can't imagine even 1% of users use.
1. View the branches page: https://github.com/github/markup/branches 2. Click the "Compare" button next to a branch. 3. On the following page there’s a control at the top where you can change the comparison range to compare any branch, tag, or SHA with any other.
Hope that helps!
Github lets you see the diff for a single commit on their site. This makes sense, because you can use this information to take action on their site, by either approving or denying the pull request.
The only use case for commit-commit diffs that I can think of, though, is if you plan on manually merging them and resolving conflicts, which you cannot do on Github (to my knowledge). There exist many graphical and command-line utilities that you can run on your machine, the same place you will be making those changes.
To me, Github's two jobs are to host reposiitories, and to make it easy to find and view the repositories of others. They do both of these jobs very well, and this map plugin makes Github better at the second in at least some cases. Once it comes time to actually start changing things, though, I get off of Github, and work on the local copy I have with the tools on my machine. Replicating this functionality isn't, to me, what Github is for.
As an aside, if there is a way to manually construct a url, there's a shortcut to getting Github to add it to the UI. A few months ago, someone made a JavaScript bookmarklet to add a search bar to any repository, since the UI for this functionality was so clunky. Because of its popularity, Github added a proper repository-specific search bar.
The fact that you still cannot do side by side diffs on pull requests makes it a less than useful code review tool.
http://screenshots.gitsense.com/index.html
that illustrates where side by side becomes a requirement for me. Yeah I can make sense of things with a unified view but the side by side really makes things more obvious.
Note you can find this diff at github at https://github.com/joyent/node/pull/5615/files#L0L80
https://www.youtube.com/watch?v=fi7GvcW1NKA
Unfortunately I don't show you how to switch to the side by side view. To do this, you just click on the view toggle button at the top left corner of the diff window.
https://bitbucket.org/birkenfeld/sphinx/pull-request/146/res...
Click 'Side-by-Side Diff'. Github has a lot going for it, but bitbucket is the clear UX win as far as reviewing pull requests goes.
It seems that they are steadily tracking towards a browser-based cloud IDE. GitHub also seems to be a popular choice for devs hosting their blogs. I wonder if they're hoping to be a more all-round app hosting service?
In the short term, any small project like this that makes GitHub a little cooler is fair game.
git pull && git log -p -w --color-words
lets me see exactly which words he added/removed/changed ignoring the fact that he changed all my tabs to spaces in that commit.Also, if I have a conflict, it's also nicer to use a specialized tool to merge than relying on git's linewise merges.
I imagine github could incorporate some of these tools too.
GitHub allows you to ignore whitespace in diffs by appending _?w=1_ to the URL [1]. They should make this more obvious with a button in the diff interface.
a shift is taking place: "Now we are finding that it's not just about the code; it's about, 'Hey, I want to work on this with you.' That's really eye-opening to us and gets everyone here superexcited. Working with someone else is just an awesome part of being alive. Creating art, creating tools, creating documents, doing homework, anything--it's not limited to programming. I don't see why musicians wouldn't want to work this way, for example."
Take that, and now consider how much a forward-thinking city could do with its data as GitHub adds features like this. I don't think it's about being just an IDE/app hosting service ... it's (eventually) about collaboration/control/revisioning beyond purely software projects.
[1] http://www.inc.com/magazine/201303/will-bourne/2-reasons-to-...
It looks like GitHub is looking at allowing collaborations between knowledge domains. Within their blog post, it said "People are already using GitHub to store everything from Chicago zipcodes to community radio stations to historic hurricane paths, and we can't wait to see what the community will begin to collaborate on next."
So I am guessing that GitHub is putting a few small services that folks could use with the collaborations. Mapping services is one of them, another could be public transport information services. I think it all depends on what kind of data are being held in GitHub.
Now, if this collaboration idea is spun off to someone like to DropBox where there are truck loads of data in there, we could see some interesting things.
I remember reading somewhere (probably here) that part of the reason the railroads failed to adapt to cars was because they thought of themselves as railroad companies instead of transportation companies. Maybe github is thinking of themselves as a collaborative work company rather than a collaborative coding company and trying to adapt to that.
In the U.S., intercity railroads found they could make more money by focusing on freight and leaving passengers to poor Amtrak. If Warren Buffet's acquisition of BNSF is any indication, the private railroads are quite profitable.
The decline of intracity passenger rail in the U.S. has many causes (massive public investment in the Interstate highway system for one). Still, it's worth remembering that auto companies played an active role in acquiring and disassembling streetcar lines: http://en.wikipedia.org/wiki/General_Motors_streetcar_conspi...
I think Github is probably vulnerable to a team that stays focused on the bread-and-butter tools that are actually important to developers.
[1] http://www.ted.com/talks/clay_shirky_how_the_internet_will_o...
cat gps_data.txt | github --pretty-maps > the world
We like to call it 100% time. Work on what you're interested in.
In this case, Ben — who handles a lot of our outreach to government agencies — knew that GeoJSON is something that could be a big deal for open data in government, so he built the feature. There's not much more to it than that.
Leaflet is the library used by Mapbox.
Pretty sure if you add a pull request to Leaflet with code for TopoJSON that Mapbox will get it too and then Github will have it.
I don't think I will update it to work in 'real time' because it would not make much sense, but it was fun to play with.
[1]: https://github.com/eskerda/cb-geojson/blob/master/networks.g...
[2]: https://github.com/eskerda/cb-geojson/blob/master/citibikeny...
One could question, who would want maps on github? Sometimes one cannot know what something can be used to until being able to actually use it, that should be the whole point on technology.
And as you mentioned, sometimes just providing the tools empowers the community to do to do amazing things.
Eg why can't github just let visitors preview this html file: https://gist.github.com/dergachev/5769111#file-index-html
For now, I have to link bl.ocks.org, which is nice but far from perfect. And check out http://htmlpreview.github.io
(I understand that there are security concerns, but I'm sure they can be addressed with an iframe or by clicking an external link)
What if they spent their time improving: 1. Github Pulls - Have you seen the hoops one needs to jump through to submit a single-commit pull request? One needs to be extra careful about the workflow.
2. Let me determine the Project/Repo language - How many repos do you have that are labeled Javascript when its really a Python, Ruby or something else Project? Not critical, but seems really silly that I have to wade into the src to determine something like base lang.
3. Make git, itself, more intuitive - Surely if they can add the crazy cool features they've added, making the management of git repos DEAD simple should be a priority. Look at the questions tagged with "git" on stackoverflow and see how many you could devine an answer from using github.
4. Git fast forward - Could github provide an way to see what is going to happen to a repo when issuing git commands? All these cool visualizations online and we have to experiment with git locally seems a bit odd.
Free idea; Gitfiddle. See what your crazy ass commands will do to your repo before you spend the next 4 hours figuring out why you didn't want to do that.
Ie. Find the merge base between your branch and master: ‘git merge-base master yourbranch’ Assuming you’ve already committed your changes, rebased your commit onto the merge base, then create a new branch: git rebase –onto <basecommit> HEAD~1 HEAD git checkout -b my-new-branch Checkout your ruggedisation branch, and remove the commit you just rebased: ‘git reset –hard HEAD~1′ Merge your new branch back into ruggedisation: ‘git merge my-new-branch’ Checkout master (‘git checkout master’), merge your new branch in (‘git merge my-new-branch’), and check it works when merged, then remove the merge (‘git reset –hard HEAD~1′). Push your new branch (‘git push origin my-new-branch’) and log a pull request.
the above from: http://steveko.wordpress.com/2012/02/24/10-things-i-hate-abo...
It's really hard to screw things up that badly with git, you can nearly always go back using $ git reflog and $ git reset --hard .
The truth; Git is hard. My opinion, I want to write code and keep it somewhere. I'm not a professional developer and I want to contribute to open source in my free time. That means git || hub, generally. It would be awesome for Github to make git exploration from the browser easier. Yes, I pay github every month and I am happy to do it.
Even cooler would be if they showed the 2-4 top languages in a repo (depending on screen space), but again preferably with JS/CSS only counting at 10% or something..
(Edit: All fixed, thanks Oompa!)
When you click and hold to move the map, and you scroll the mouse all the way off the map, the map acts like you are continuing to hold the mouse button down, even if you let go of the mouse button. When you return the mouse to the map, it acts like the button is still pressed and the map sticks to the pointer...for which you have to click again to get out.
This is unexpected behavior, especially if you are trying to scroll through more than one screen with repetitive mouse drags. The map scrolling should maintain the same behavior of the mouse button hold even if you scroll off the map.
Want to show a place or some directions on your website/blog/... ?
Just create a gist with geojson format and embed it on your blog, as programming blogs embed code gist right now.
Congrats!
And GitHub is becoming a whole universe. What a wonderful service, idea, design, usability! I am really amused.