Leaving Github - <AUTHOR> http://bytbox.net/blog/2012/08/leaving-github.html <comment><USER2> You can still get the full git diff out of a pull request by appending .diff to the pull request URL on github. Even better, you can get output similar to git send-email by appending .patch.

Likewise there's nothing stopping you applying an emailed patch in your local copy and then pushing to github.

This post seems to be making a mountain out of a molehill.

<comment><USER3> > Likewise there's nothing stopping you applying an emailed patch in your > local copy and then pushing to github.

Right. Now let's say you are the one not using github (you use raw git), and you want to send a patch to somebody using github ("not git"). As TFA notes, either nothing gets done (you send-email and the other guy just doesn't see/want it) or something has to give, you have to create a github repository with the result of your patch or the other guy has to learn git-am.

That _could_ be fixed if github had better mail integration (and more generally more hooks for standard git behaviors) and you could essentially create a pull request by git-send-mail-ing some sort of special address @github. And the pull request got its own mail thread (so the initial sender got replies & al without needing to go on github).

As far as I know, that's not the case.

<comment><USER4> That's something that github could easily add, given their current level of resources. The million dollar question is "why haven't they added it?" There are at least two possible answers: not many people have asked for it, or to increase lock-in.

It's a feature that github SHOULD add. There are some people who want it, and these people are the type of people that can become quite vocal proponents or detractors.

More importantly it signals quite strongly that github intends to become a good citizen in the nation of git rather than trying to appropriate it.

<comment><USER3> > There are at least two possible answers: not many people have asked for it, > or to increase lock-in.

Watching Zach Holman's various presentations on Github and how they work interally provides a third one: since Github uses pull requests internally (and new githubbers are probably github users in the first place) nobody has any issue with _not_ supporting `am` and `send-mail` there, so nobody went and built support for that.

</comment></comment></comment></comment><comment><USER5> GitHub is closed source, but has open APIs to interact with every aspect of the system. It would be completely possible to create an email dropbox for git send-email that would create pull requests from an email. The reason that such a thing doesn't exist is that nearly everyone loves the crap out of GH pull requests.

If you don't like pull requests, you can use GitHub as nothing but a git remote. If you use <https://github.com/defunkt/hub>, you don't even ever have to visit the GitHub website once you've signed up.

GitHub does enhance and doesn't replace git. You're proclaiming an "embrace, extend, extinguish" when the fact is that nothing on GitHub is incompatible in any way with git off of GitHub. If one day GitHub were to torch their servers and disappear, all I'd have to do is git push to another remote and we're back in business. I'd lose my issues, but git doesn't exactly ship with an issue tracker.

</comment><comment> mh- _"services like github and sourceforge are just fads, with very little (I think no) added value."_

I can't tell if the author is being hyperbolic or is just out of touch with reality.

 _"A couple nights ago, I needed to set up gitweb (a story for another post), and learned that no, nginx did not support CGI, and fcgiwrap was a little annoying to get working on OpenBSD. I whipped up a quick 80-liner in go to serve a single CGI script, and then told nginx to reverse proxy." (from previous blog entry)_

oh.

<comment><USER6> He's out of touch with reality.

 _Xanga, MySpace, Digg… the lists extends to infinity, and only fools could think that Twitter and Facebook, giants now, won't be added to that list within the next five years._

I wonder if his tune will change in 5 years when Twitter and Facebook are still giants?

I'm not sure how much I'd be willing to bet that they'll still be "top dogs" in 10 years...

But asserting that " _only fools could think they'll survive 5 more years_ " is crazy.

<comment><USER7> I agree with you about the 5/10 year deal, but I think it needs to be said _why_ Facebook will survive, and why Xanga, MySpace and Digg did not.

All of the latter three sites did multiple things wrong:

1\. Fail to compete with competitors 3\. Fail to build a community

Issue 1 manifested itself differently for each site. Xanga couldn't keep up with LiveJournal, which not only arrived on the scene after Xanga but out- innovated them as well. MySpace was a clusterfuck of design and functionality that got stale while Facebook was improving constantly. Digg ignored the hell out of its users and simply had nothing compelling vs Reddit.

Also, none of the sites pulled in people and kept them. The narrative for MySpace users was that people were becoming "friends" with hundreds of people who they did not know. It doesn't take a genius to realize that this essentially invalidates the whole point of a social network. Xanga never got a large audience and also suffered from the same problem of anonymous users. Digg? Digg never even really tried. Shouts were pathetic.

Facebook solved these problems. While MySpace appeared to do nothing after News Corp acquired them, Facebok kept changing the site in a very public way-- and even when they got negative publicity (e.g. privacy settings), they made sure that people knew they were actively developing the site. Additionally, users on Facebook know the people in their network, and users are constantly given a reason to come back (communicate with your friends! apps! interact with companies!). Faceboook survived because they made it clear that they are the best game in town.

</comment></comment></comment><comment><USER8> _Github is not like that. The github engineers quite clearly see github as a product built on git (the technology) rather than a product operating within git (the protocol). They do not improve or contribute to git itself_

GitHub has a number of employees that contribute to libgit2 (<https://github.com/libgit2/libgit2>), and the language bindings for a number of languages. I think that is a serious contribution to the Git ecosystem.

full disclosure: I replaced GitSharp with LibGit2Sharp (the C# bindings to libgit2) in Git-Tfs

</comment><comment><USER9> This is quite an audacious article, considering that the author's web- interface to his destination git repo is not set up properly:

<http://git.bytbox.net/>

      <base href="http://localhost:8081:8081" />
      <link rel="stylesheet" type="text/css" href="static/gitweb.css"/>
      <link rel="alternate" title="bytbox.net Git projects list" href="?a=project_index" type="text/plain; charset=utf-8" />
      <link rel="alternate" title="bytbox.net Git projects feeds" href="?a=opml" type="text/x-opml" />
      <link rel="shortcut icon" href="static/git-favicon.png" type="image/png" />

<comment><USER10> Yep, it's still broken.

<base href="<http://git.bytbox.net/> /> fixes that page, but pages reached from there are still suffering the some bad base href.

</comment></comment><comment><USER4> I also get that "silo" feeling from git's pull requests, but for a different reason. That great big "merge & close request" button seems nice and handy, but if you press it, you're doing it wrong. You should probably be merging it locally, running your automated tests and some manual sanity checks, and then pushing it to github. What github should do is have a button that pops up a dialog containing some commands you can cut and paste to the command line to do just that. My flow looks something like this:

\- click around to find the author's repository URL

\- git remote add it

\- git fetch that remote

\- copy the author's issue branch name from the pull request page

\- git merge that

\- run the automated tests, and check functionality

\- then either git push or delete my own master branch and then check it out as a tracking branch from origin/master

That last step is probably suboptimal, but it doesn't happen often and I know how to do it that way. It illustrates my point, though: why doesn't github tell me how to do it?

<comment><USER11> I've complained about this before too, but if you click the "i" with a circle around it in the bar that says "this pull request can be automatically merged" you get a nice box with all the git commands to do a local fetch and merge. I think this functionality should be less hidden away but it is there and quite useful.

</comment></comment><comment><USER12> I see this guy's point, and I understand it's not unique (we've seen Linus' thoughts on Github's Pull Requests), but personally I don't see it as a big deal. Pull Requests are very simple to use and in my experience, do what they are meant to very well.

I recently made my first contribution to an existing open source project, and it was an interesting experience. One of the things I always wondered was, how do I go from "Ok, I have a bug fix / new feature" to "Great, it's part of the software now!". For this particular project it was as simple as forking the Github repository, making my changes, and sending a pull request- done. I could leave that Github repo on my account to easily show off my contribution to friends or potential employers, or delete it if I felt it was clutter. I didn't have to learn how `git am` or `git send-email` work or making a patch and sending it to a development list or anything like that.

And if someone wants to contribute to a project of mine on Github, but they don't want to use Github's system, that's cool too. If you're willing to help me out, I'll gladly learn how to take your contribution and get it into my project.

<comment><USER13> Same with me. I recently made my first contribution to an open source project using Github. There is no way I would have done the same if I had to deal with patches, emails, arguing with other developers or some other process that wasn't as simple as a few clicks.

I honestly believe Github is the best thing to happen to OSS in a long time.

</comment></comment><comment><USER14> I was under the impression that GitHub stuff is orthogonal to git. In other words, GitHub pull requests don't make the existing git functionality go away and there's nothing stopping anybody from using whichever one they want. If you don't like GitHub pull requests just don't use them. Am I mistaken?

<comment> mh- >Am I mistaken?

no. as others have pointed out in the last few minutes, GH is perfectly capable of being a standard git remote.

I've only found two limitations to hosting on GitHub:

* Can't use real git hooks. understandable in the shared environment, but an annoyance and it's worth mentioning.

* Can't prevent force pushes; no fine-grain permissions- grant read or read-write to a repo.

The permission gripe has a solution in GitHub Enterprise, but I don't use it and can't speak to its usability.

<comment><USER15> > _Can't use real git hooks. understandable in the shared environment, but an > annoyance and it's worth mentioning._

It's also worth mentioning that the selection of hooks available pretty much trumps any standard git hooks that I've ever dealt with. And if you really need some custom functionality to fire, you can set up a custom webhook URL that points to your own server somewhere.

<comment><USER16> This then requires exposing a crucial part of your development workflow at a public URL (even if the resource is authenticated). For various reasons, this is quite simply a non-starter for many shops who might otherwise be prepared to bite the bullet and put their source code on Github's servers.

<comment><USER17> > this is quite simply a non-starter for many shops

And, for those people, github offers an appliance that sits on your network.

<comment><USER16> I didn't know github offered an appliance, that sounds like a good fit for those folks as long as it's priced reasonably.

<comment><USER18> It's actually absurdly expensive :(

It's a very cool app (Github, only on your own server, basically), but it's priced out of the range of anybody but large enterprises.

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> I'm sure I'll get downvoted for this, but the fact that github makes it so that I largely don't have to use git is why I use it.

Despite my best efforts, every time I try to use git I run away screaming in terror.

I've used sccs, cvs, svn, mercurial, and a few other version control systems over my development lifetime and I can just never wrap my head around git.

That may be because I spent so many years using Mercurial before git, but I just can't seem to bring myself to enjoy using it.

git makes things far more difficult than mercurial (in my opinion) and has encoded it's creators process and workflow into the tool.

Tools like github for mac (or the arguably superior tool, SourceTree) make git bearable for me.

<comment><AUTHOR> This is, I think, a legitimate reason to use github (although I personally think you'd be much better off really forcing yourself to use and grok git).

But it would be better for the rest of us if, despite not using git, github made it look exactly like you _were_ using git. But that's not quite the case - quite a bit of git's functionality is missing (cherry-pick), and other bits are replaced with non-compatible pieces (PRs vs am+send-mail, which provide the exact same functionality, but can't talk to each other). As things are, collaborating with you on a project would require me to use github's interface.

Or in reverse, if you wanted to collaborate with me on a project, you'd have to use raw git. If github supported foreign clones and PRs (via send-email and friends), it would seem much less "trapping".

</comment></comment><comment><USER20> I thought this was about an employee leaving GitHub and thought "oh shit, there goes their winning streak"!

On the actual post: what prevents one from using `git am` locally and then pushing the changes to GitHub?

<comment><USER21> > On the actual post: what prevents one from using `git am` locally and then > pushing the changes to GitHub?

Absolutely nothing. His entire 'Github vs Git' thesis is a false dichotomy.

<comment><USER22> _"false dichotomy"_

How can you commit to the linux kernel using github's interface? I have not seen a button for `git send-email`.

<comment> mh- I'm not sure I understand the basis for your conclusion..

There's a lot of git operations you can't do with the Github web interface.

How do you do a non-ff merge? A rebase?

You use the git cli.

<comment><USER22> I think that is the thesis of the linked story. I did not write the linked story nor am I in complete agreement with the author. But I think that the thesis is that there is the github way and then there is the git cli way. To use the author's analogy to gmail, what actions do you drop to the shell to complete instead of using gmail's interface.

<comment><USER23> If that is the thesis, then his example of gmail is strange. After all, he uses fetchmail, alpine, mutt and Thunderbird to use the service. I strongly doubt that gmail has every single feature of mutt in their web UI!

<comment><USER24> It is also strange since gmails IMAP implementation is so horrible due to the way they changed how email works (labels, archive, etc).

</comment></comment></comment></comment></comment></comment></comment><comment><USER25> Github is not loyal to the Git way of life. They reinvent or add sugar to parts of Git that do not appeal to amateur developers.

For example, Github for Mac hides the Git workflow with semantics that are similar to Dropbox and SVN. They have also switched the default authentication from SSH-based to username and password based.

This is very intelligent on their part. Less scary = more developers = solidified Github as THE code repo of the Internet.

<comment><USER26> Increasing the accessibility of Git isn't treason. Quite the opposite: Git is now used by far more developers. That's a win for the "Git way of life."

And the original, "expert" workflow is still available for those who want it.

<comment><USER27> > That's a win for the "Git way of life."

No it isn't. That's a win for the GitHub workflow. People learn how to use git locally, if they aren't using the mac or windows client. They don't learn how to collaborate the standard way, though.

</comment></comment></comment><comment><USER28> I agree wholeheartedly with disliking their pull-request interface (the encouragement to use a non-mailed-patch workflow plus the fact that push notifications don't include diffs means that diffs never land in my inbox, which is unfortunate), and disliking the popular equivalence of Github with git.

That said, "They do not improve or contribute to git itself" is simply untrue. Many of the most active git contributors are Github employees. The git website itself was designed by Github people and is hosted by Github; the Pro Git book is written by an employee.

</comment><comment><USER29> I see where the author is coming from with his arguments, but I'll bet 10 bucks his project won't be seeing any pull requests moving forward. Github did not supplant git, it created the market for git. If it weren't for github, we'd all still be using SVN (yes yes and mercurial and blah blah other minor league players).

<comment><USER16> I have little doubt that a great many of the programmers here adopted DVCS long before commercial web frontends became popular. You have it backwards: Github has git to thank, and not the other way around.

<comment><USER30> Er, both are true.

Github is fundamentally a "value added" on top of git. It obviously owes a huge amount to git's fundamentally good design, and especially in the beginning, to a pre-existing git community (which jumped at a somewhat slicker way to set up git repos and interact with other git users).

But OTOH, github's slick layer on top of git really helped push git into areas that might have been a harder sell otherwise. [and that's what's amazing about git these days: not that it's popular amongst hackers (duh!) but that it has become popular amongst more conservative corporations and less technically inclined users.]

They help each other. Win-win.

<comment><USER27> Let me spell it out for you: git would exist if not for github. The inverse is not true.

<comment><USER31> I doubt git would be nearly as popular without a really polished hosting site, though. Github is git's killer feature.

And there are other DVCSs. As it is, the main hosts for bzr and hg are clearly less slick and less popular than Github. But had Git not been there, it's quite plausible that someone would have built an equivalent site around another technology.

<comment><USER27> > I doubt git would be nearly as popular without a really polished hosting > site, though. Github is git's killer feature.

GitHub isn't polished. It just has engagement mechanisms like twitter does, that keep people coming back. When people say how much they like GitHub they're usually talking about the community or git, both of which GitHub takes way too much credit for.

> And there are other DVCSs. As it is, the main hosts for bzr and hg are > clearly less slick and less popular than Github. But had Git not been there, > it's quite plausible that someone would have built an equivalent site around > another technology.

There were a lot of people moving to git from hg when GitHub came out. I think it was clear there was demand, and if not for GitHub other services would have sprung up to fill in the gap.

</comment></comment></comment></comment></comment></comment><comment><USER32> This doesn't make sense. You can use Github purely as a git remote, and nothing else--just as you can use Gmail as an IMAP host, and nothing else.

<comment><AUTHOR> > You can use Github purely as a git remote, and nothing else

And then you start receiving pull requests.

Github, purely as a git remote, adds no value over self-hosting, and is significantly slower. (Seriously - try self-hosting and notice how different 'git push' feels. It surprised the hell out of me.)

<comment><USER33> You don't receive pull requests if your repo is private.

So where is the value you are asking? Well for one, we don't worry about the server git is on going down. But more importantly, we are exposed to a lot of tools usable via the site that are hard to replicate on the command line. For instance, they have a great "view changes" feature for comparison between repos, this help sort out why master was ahead of development by some commits the other day. I could go on (stats, ease of sending links to diff to non- technical people that just want to see a text change was made, etc.) but go take a look yourself. That's not to say that git is for you, but your premise that github offers no value as a git remote is false.

<comment><USER16>
      Well for one, we don't worry about the server git is on
      going down

github has been down for far longer in the past four years than the server where I keep my repositories, which has only been offline for maintenance reboot. This is my main reason actually for not wanting to put anything commercial on github; the performance benefits are just gravy on top of that.

      they have a great "view changes" feature for comparison
      between repos, this help sort out why master was ahead of
      development by some commits the other day

It sounds like you're referring to branches, not repositories. `git diff` handles this very well for me and is far more flexible. Even on an open source project I host on github, I'm going to use `git diff` to perform this operation.

      ease of sending links to diff to non-technical people
      that just want to see a text change was made, etc.

gitweb handles this fine if I need it to, though.

<comment><USER34> Yeah. And I could easily set up a box with postfix, an IMAP daemon a webmail and a spam filter.

But in my personal case it's a waste of my time compared to just using GMail. Obviously that's not true for everyone and I'm not trying to say it is. Nor do I thing the pro-Github folks in this thread are trying to say github is always the answer.

<comment><USER16> It is simpler and easier to set up a new git repository on a webserver than it is to do the same on github. It is also simpler to set up post-receive hooks and the like when you want them to do sophisticated things. The ramp-up to get git working on a webserver is this: Do you have SSH connection? Are your contributors' umask okay? To compare this to the complexities of configuring good SMTP/IMAP/POP with SSL shows that you don't know very much about any of these matters, or that you are not thinking seriously about them.

P.S. I find great benefits of hosting my own email, chiefly, once again, that I can guarantee that my mail service is working, and that I get my mail very quickly. gmail has been offline more in the past four years than my mail server. I also don't have to worry about password resets, a webmail UI constantly in flux, or Gmail constantly hitting me up for my mobile phone number.

<comment><USER13> >It is simpler and easier to set up a new git repository on a webserver than it is to do the same on github.

Is this a joke ?

<comment><USER35> If you already have a webserver, even just a ~/public_html folder (something very common for people at universities, for example, to have), anywhere on the Internet that you have SSH access to push content to (and honestly: I would find it highly unlikely that your average developer does not have at least one), you can push a local repository to it with a single shell command: you just push to a folder on the server as if it exists, it will be created, and the folder can then be used via the web server for anonymous git clones and pulls. As in: if GitHub requires even a single additional step of "type in the name of a repository into a website" it has already far lost; so no: it doesn't seem even remotely reasonable to insinuate that oinksoft's comment is "a joke". If you don't already have a working web server (again: seriously?) then setting up an account that has one in this day and age is really not going to be much harder than getting an account at github, and once you have one it will again be simpler per repository to push.

<comment><USER36> I'd argue that the "average developer" has probably never used SSH, or so rarely that it's practically as if they don't know what it is beyond a way to type commands into a remote machine. Think FTP. _That_ is something that would be a little safer to assume that an "average developer" would have.

I have to consciously remember that a lot of the development tools I use on a day-to-day basis (ssh, git, emacs, rails, django, js unit testing, diff, etc), while commonly discussed on HN, are not actually the norm in "the rest of the world".

FTPing a pile of PHP files, versioned using .zip files, and merged by hand without diff tools seems to be the "average developer" when I start looking around a bit.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER37> The real added value from Github is not Git support per se. It is the knowledge that you won't need to do what the author is about to do; maintain one more service by yourself.

It's not that it is a particularly daunting task, so isn't maintaining your own mail server, mailing list, NAS, blog... But it piles up, and at the end of the day you're probably better off not wasting your time supporting things that other people can do well enough (and probably cheaper).

</comment><comment><USER38> Not that I'm against compatibility or that I'm in love with Github, but what about having one place where you track most/all of your OSS project of interest? Integrated issue tracker? Ability to collaboratively work with people across the planet with line by line comments? The value of having entire communities completely familiar with a common platform to collaborate on?

Github can and should further improve its relevance while becoming increasingly compatible and just right. But I fail to see how whipping up a self operated server replaces all of that.

I don't even want to mention backups, security updates, power interruptions...

</comment><comment><USER39> I've been using github side by side with self-hosted git repositories for years and I've yet to notice github doing anything to my git repositories which makes them harder to use outside github. Am I missing something, or is this article just FUD?

<comment><USER40> The article is a bit mixed. The valid complaint of pull requests v. send-email is fairly important. The rest of the complaints aren't well thought out, and seem to be pure whinging.

</comment></comment><comment><USER41> That title is misleading... I expected blood!

About the post itself: I personally use github as a git host of public code only, other than viewing code (which does a great job at, IMO) and hosting I have no other use for it.

All the other things I do them with the cli.

</comment><comment><USER42> How is pull-requests in github different from e.g. tasks in gmail? If you use the gmail task feature, I believe you are unable to access it via IMAP or from your mail client either. Or perhaps the filter options in gmail too? (can you sync these easily with procmail?). I don't use it much, but some of the google-plus integration might also go beyond simple email...

I think there must be other examples of unique features that gmail offers over email.

That being said, if I continue to look at the email as an analogy, look at what's happening with facebook. They removed the subject line, gave people facebook.com address, built their own messenger app, all seems to work quite well, with many of my friends stopping to use email and rely solely on facebook messages. Sure, it sends you an email, but effectively obscures your email address from your friends... I think this is worrying, and I can understand at least some of the sentiment of the author about github implementing a feature that people like, use and depend on, but one that is essentially incompatible or draws away from git.

</comment><comment><USER43> Can someone explain to me why these articles are so popular here? They are always subjective, reflect a single viewpoint and are typically decorated rants - yet for some reason they constantly appear. Why?

<comment><USER44> Because this website is awful and full of drama queens.

<comment><USER45> LEAVE HACKERNEWS ALONE!

</comment></comment></comment><comment><USER46> If you are leaving github and self-hosting, check out <http://gitlabhq.com/> \-- still has some rough edges, but getting better fast.

Fine grained permissions as well.

</comment><comment><USER47> Valid complaint. I felt this exact way when I first started using github 2 years ago, and I almost didn't use it because of that.

But everyone is on github. It won. Even if the article makes 100% valid points, that won't change anytime soon, and until then, I'll be on github. And despite the problems mentioned, it is still an awesome free service.

</comment><comment><USER48> OP isn't the only one who feels this way: [http://www.wired.com/wiredenterprise/2012/05/torvalds_github...](http://www.wired.com/wiredenterprise/2012/05/torvalds_github/)

</comment><comment><USER49> I think the author's personal feelings towards Github the company are blinding them to logic:

> They do not improve or contribute to git itself (edit: as pointed out on HN, > many individual employees at github are git contributors - but none seem to > do so under the auspices of github, and the most prolific were contributors > well before github came into being)

Sure...by hiring prolific Git contributors, and allowing them to continue to work on the product, they display their disdain for raw Git, because they didn't make them use a company account.

</comment><comment><USER50> I agreed with most of the article, but the last paragraph is really silly: "ultimately, services like github and sourceforge are just fads, with very little (I think no) added value."

</comment><comment><USER51> related HN discussion : Linus Torvalds won't do github pull requests

<http://news.ycombinator.com/item?id=3960876>

</comment><comment><USER52> Funny post… Github is built on git. Usually whoever is running a project sets up the protocols for contributing. So any confusion over the send-email versus pull-request is a bit over blown. I have watched experienced devs struggle to come to terms with Git. Github makes the transition easier. Then piece by piece they investigate how to use Git properly.

Why do these posts show up after major funding happens. Is it because Github is now not the plucky underdog?

</comment><comment><USER53> IM assuming this rant is about public open source repos that allow users to submit pull requests. Reason I say that is because I've used git for years with numerous teamsall of which used a bit repo. We had no issues you speak of. We never logged into the WebUI to do anything other than admin of adding users or keys.

</comment><comment><USER54> Funny, I had no clue git even existed - I thought Github was Git. Honestly, I don't really care if Github follows the git protocol, it makes version control so painless and easy to use. Setting it up manually is tedious and time consuming. So in short, it solves a pain for me. That's all that matters.

</comment><comment><USER55> This is why I always use Bitbuekt. As far as I am concerned, I dislike Linus so I won't use git. Well, I still use Linux because it's a great software, but git? Nah. Stick with Mercurial myself. No wonder why Python and Django and Python stick to Bitbucket lol

</comment><comment><USER49> The author makes It sound like Github actively prevents him from using git://github... as a simple remote:

> Self-hosting is easy and cheap, I easily collaborate with people who prefer > other solutions, and pushes take a quarter of a second.

</comment><comment><USER56> Actually, why isn't there a git extension for github tasks? Theres no reason why I shouldn't be able to do git send-github gitusername <branch> and have it pop up a commit editor to type the pull request text, etc.

<comment><USER57> <https://github.com/defunkt/hub>

<comment><USER4> But that's not an extension. It could easily be. The fact that it isn't, and Defunkt's suggestion to alias hub to git nicely illustrates the original author's point.

</comment></comment></comment><comment><USER58> > As far as marketing goes, git has effectively become _git_ , just as search > became google.

I think this should be:

> As far as marketing goes, git has effectively become _github_ , just as > search became google.

</comment><comment><USER59> To be honest, the _only_ reason I am still using GitHub is because it's by far the easiest way for me to show my work to potential employers.

</comment><comment><USER60> I just discovered the git note command. To add to the article github could have used that for their commit comments, or do they?

</comment><comment><USER61> I think of github more in terms of a foundation than a fad. Something that ought to last throughout time and forever.

</comment><comment><USER62> Let me guess... you are a LEX & YACC fan!</comment>


LibRaptorQ: Fountain Codes for C/C++ - <AUTHOR> https://fenrirproject.org/Luker/libRaptorQ <comment><AUTHOR> Fountain codes provide a reliable encoding stream for UDP. This prevents the need to use a complex transport on top of UDP for both unicast and multicast streams.

</comment><comment><USER2> These fountain codes are some of the coolest and most useful algorithms around. It really is almost like magic, even after you know how they work. I wrote an article a couple years ago about using them for an off-chain file storage layer for a bitcoin-like blockchain that gives a basic overview of why they are useful: [https://bit.ly/2Y0ut6X](https://bit.ly/2Y0ut6X)

</comment><comment><USER3> What's the current patent status?

<comment><USER4> [https://datatracker.ietf.org/ipr/2554/](https://datatracker.ietf.org/ipr/2554/)

<comment><AUTHOR> It looks like they've always reserved patents for use in any wide-area wireless. So, 3G/4G/5G handsets and chipsets. I'm pretty sure wifi would not be included here, since wifi is not wide area.

<comment><USER5> Qualcomm didn't invest Raptor codes (they bought out the earlier LT codes, which apparently are still patent protected[1]) so it's still somewhat a concern.

[1] [https://patents.google.com/patent/US7139960B2/en](https://patents.google.com/patent/US7139960B2/en)

</comment></comment></comment></comment><comment><USER5> Rust version is faster and in active development.

[https://github.com/cberner/raptorq](https://github.com/cberner/raptorq)

[https://www.cberner.com/2019/03/30/raptorq-rfc6330-rust- opti...](https://www.cberner.com/2019/03/30/raptorq-rfc6330-rust- optimization/)

<comment><USER6> Citation needed.

The Rust thing goes at about 1 Gbps. It doesn't say how fast this one is. "In active development" can mean "not mature yet".</comment></comment>


A compiler from Go to JavaScript - <AUTHOR> http://www.gopherjs.org/

<comment><AUTHOR> Pretty interesting idea... and they even have an online playground: [http://www.gopherjs.org/playground/](http://www.gopherjs.org/playground/)

</comment><comment><USER2> There is discussion elsewhere on this site...</comment>


Microsoft Has PMS - <AUTHOR> http://www.cringely.com/2009/02/microsoft-has-pms/ <comment><USER2> Cringley's argument rests upon the idea that Microsoft is driven too much by technology and not enough by usability. He says this is because features are owned by PM's who are technical, but I'm not going to engage that particular claim because I disagree with the first idea.

Windows' usability isn't bad. It isn't quite OSX, but if anything it is still easier for the majority of the population to stay with Windows because everyone knows it and is used to its quirks. The only "usability" problem in Vista I can think of that's big enough to be a game-changer is UAC. That's a combination of a legacy problem and an engineering problem (namely, previous versions of Windows weren't well engineered to be secure, and moving to a stricter model while maintaining backwards compatibility with apps accustomed to the looser model was bound to cause user experience headaches, unless they went a pure sandbox/VM route).

Look elsewhere in the company. Live search has fine usability but just isn't on par with Google technically. The XBox has excellent usability (and in particular was miles ahead of the competition in terms of an easy online gaming experience), but an engineering problem with the heatsink cost the company billions.

I'm not saying that technical issues are the root cause of Microsoft's problems either. There are many different problems but if I had to pick one to call the biggest, I would say a simple lack of innovation, both on the product and technical side of things. This lack of innovation is a contributing factor to two big problems: 1- Big customers are seeing fewer and fewer reasons to buy new versions of Windows and Office. 2- Microsoft is unable to execute on its traditional "fast follow" strategy where they do not create a market but are eventually able to build a product as good or better than the original innovators and then use their muscle to control the new market. Compare Microsoft vs. Netscape to Microsoft vs. Google.

</comment><comment><USER3> tl;dr: Microsoft lets Product Managers own features, and their PMs are just engineers with different hats, so as a result MS products are badly designed.

I find this entirely unconvincing. The crux of the author's argument is that because PMs have engineering backgrounds, when development goes up against usability (whatever that means) usability loses.

Well, I doubt MS makes a practice of hiring PMs incapable of doing their jobs. I also don't see why a technical person should be considered incapable of assessing usability. In my (admittedly limited) experience, non-technical HCI people are sometimes worse at designing interfaces than programmers, whatever the oh so amusing stereotype might be. As a counterexample: While MSFT has about double the PM:Dev ratio of Google, Google PMs nearly always come from CS backgrounds too...and I don't think the author would make the same accusations about Google that he makes about MS.

</comment><comment><USER4> I agree in principle with his overall point, however his assertion that people don't change doesn't ring true to me. Maybe I'm naive, but I think smart people DO change. Change is also called learning from our mistakes, and It's a trait I see a lot of in entrepreneurial-types. The real issue is that large companies rarely allow for the sort of 1:1 ratio of actions and consequence that are necessary for real personal change. If I'm running my own startup and I'm a jerk, I will feel the consequences of that. If I'm midlevel management at a big corp, the fact that I'm otherwise competent will protect me from the chance to see how my behavior impacts my situation poorly.</comment>


Getting Started with C# - <AUTHOR> https://www.microsoft.com/net/tutorials/csharp/getting-started <comment><USER2> I must admit that Microsoft is champion of creating tutorials and documentation about their programming languages. It is difficult to find the equivalent number of resources dedicated to one programming language as C# has.

</comment><comment><USER3> I really wish there was an IDE for this that was NOT Visual Studio.

<comment><USER2> There is Omnisharp [1] - plugin for Atom, Brackets, Emacs, SublimeText, Vim and is built-in VisualStudio Code [2]. Also you may try Mono-develop/Xamarin Studio [3] but it worth noting they were made especially for Mono. Both solutions are really pleasant to use and personally I prefer the second one since I use macOS/Linux a lot.

[1]: [http://www.omnisharp.net/](http://www.omnisharp.net/)

[2]: [https://code.visualstudio.com/](https://code.visualstudio.com/)

[3]: [https://www.xamarin.com/studio](https://www.xamarin.com/studio)

<comment><USER4> I think he meant for the tutorial :P

<comment><USER2> Examples in tutorial uses Monaco [1] which is integrated in various Microsoft tools not only VS (Code) and also open-sourced. If you do not like it then there is i.e Ideone [2] which gives possibility to play around with C# online without tinkering with the VS installation which may be too lengthy.

[1] [https://microsoft.github.io/monaco- editor/index.html](https://microsoft.github.io/monaco-editor/index.html)

[2] [http://ideone.com/](http://ideone.com/)</comment></comment></comment></comment>


Get Out Your Crayons. We Need to Color Us Some Bits. - <AUTHOR> http://devcentral.f5.com/weblogs/macvittie/archive/2010/07/22/the-crayola-network.aspx

<comment><USER2> Tempted me in with chat about crayons and color. Scared me off with some uber- complex subject within two sentences.</comment>


Mark Zuckerberg Speaking Chinese: Brave, Foolish, or Both? - <AUTHOR> http://www.theatlantic.com/international/archive/2014/11/mark-zuckerberg-speaking-chinese-brave-foolish-or-both/382254/

<comment><USER2> As a native Chinese mandarin speaker all of my other Chinese friends and family I spoke to were completely shocked at how well he spoke Chinese. Yes, his tones are off but the majority of non Chinese speakers tones (and sometimes my tones are off when I haven't spoken Chinese in a while) are usually off so when you take that into account, and how he said he wanted to learn Chinese because of his wife's grandma who only spoke Chinese, its very cool to see someone in his position (as a multibillionaire ceo) where Chinese has become a hobby and a passion.

</comment><comment><USER3> Who cares? He gave something a go and gave it a shot. I'm pretty sure his goal has nothing to do with speaking perfect mandarin. If people are going to judge him and spend their days writing articles about judgement on him and giving something a go, it's a little sad in my eyes(not necessarily referring to the article itself as such and i've only scanned through it so perhaps i'm missing something).

</comment><comment><USER4> I think this was an incredible move by zuckerberg and he should be applauded. I studied mandarin in grad school and then spent some time in China studying female chinese consumer behavior. Though my study participants were excited to practice their english with me, i was shy to practice my mandarin with them and I totally regret that as now my mandarin is almost gone. By truly taking steps to communicate with the very important Chinese market, Zuckerberg once again demonstrated his leadership skills by being brave as he made himself vulnerable to mistakes. I'm sure the many people in China who idolize him were also humbled to see him try something outside the comfort zone of a billionaire ceo.

</comment><comment><USER5> I've only been studying Mandarin for a few months, so I can attest to the difficulty of understanding tone. Having learned a few languages over the years, including Spanish, Japanese, French, Italian, and Tagalog, I'd say that the hardest part of the learning process is getting the courage to speak to a native speaker without looking like an idiot. It's hard enough to order a meal in the language, but an on stage interview on camera is another level entirely. I applaud anyone brave enough to do that after just a few years of study.</comment>


The History of Ctrl + Alt + Delete - <AUTHOR> http://m.mentalfloss.com/article.php?id=51674

<comment><USER2> _And yet, few of these consumers were aware of Bradley's shortcut quietly lingering in their machines. It wasn't until the early 1990s, when Microsoft's Windows took off, that the shortcut came to prominence._

In an indirect sense it came to prominence in the 1980s, but via Apple. Apple borrowed the CTRL + ALT + DEL soft-reset idea by adding a CTRL + OPEN APPLE + RESET soft-reset functionality to the IIe (the 1983 upgrade of the Apple II series). That became fairly well-known, even (or perhaps especially) among schoolkids.

<comment><USER3> I'm from the Macintosh generation, but I remember it being Apple-Option-Esc to force quit and Apple-Ctrl-Power to restart.

</comment></comment><comment><USER4> I've always wondered whether the creator of Ctrl-Alt-Del was aware that the MIT Lisp Machines were rebooted with Ctrl-Meta-Ctrl-Meta-Rubout, or if this is just a case of convergent reinvention. Does anyone know?

<comment><USER5> I can't verify, because I can't find old WordPerfect docs, but I remember hearing that CTRL + ALT + DEL was save for WordPerfect. The hint was that MS chose that as a monopoly-extending tactic. Might be thinking of ALT + F4, though, and this might be total nonsense.

<comment><USER6> If you read the article you will find that Ctrl+Alt+Del was selected by an IBM employee, not Microsoft.

Alt+F4 I believe was also picked by IBM as part of the Common User Access standard.

[http://en.wikipedia.org/wiki/IBM_Common_User_Access](http://en.wikipedia.org/wiki/IBM_Common_User_Access)

</comment></comment></comment><comment><USER7> CTRL+SHIFT+ESC does what CTRL+ALT+DEL used to do -- goes straight to the task manager.

CMD+ALT+ESC on mac, btw.

<comment><USER8> _> CMD+ALT+ESC on mac, btw._

That goes to Force Quit, whereas CTRL+ALT+DEL on old Windows used to open the real task manager the Mac equivalent of which would be Activity Monitor (sadly, there doesn't seem to be a default shortcut to it).

<comment><USER9>
        CTRL+ALT+DEL on old Windows used to open the real task manager

Really? Define _" old Windows?"_

I have vague memories of the "three finger salute" invoking a reboot on Windows 3.1, as well as MS-DOS. (early 1990's)

<comment><USER8> It wasn't supposed to be an insult. My last Windows experience was XP and the TFS invoked the Task Manager on that OS. I never used 3.1, so I don't know. But the GP seemed to suggest that the Task Manager shortcut has changed in newer versions.

<comment><USER10> Windows 95, 98, and Me used Ctrl+Alt+Del for Task Manager.

Windows NT, 2000, XP, Vista, 7, etc use Ctrl+Shift+Esc for Task Manager, while Ctrl+Alt+Del was reserved for the lockscreen.

What was confusing, though, was that Windows XP (and ONLY Windows XP, not 2000 or Vista) in default settings would use Ctrl+Alt+Del for Task Manager, although in domain mode Ctrl+Alt+Del would still open the lockscreen.

</comment></comment></comment></comment></comment><comment><USER11> Bradley -- Dr. Bradley -- taught my section of Digital Logic Design at NC State. Ace the final and he'd autograph your keyboard.

<comment><USER12> He was an interesting teacher. Not the most forgiving, however. One learned not to ask him a silly question.

</comment></comment><comment><USER13> Didn't address how the "system is screwed up, restart" sequence was adopted as the "do this to initiate first login".

<comment><USER14> _When we were designing NT 3.1, one of the issues that came up fairly early was the secure attention sequence - we needed to have a keystroke sequence that couldn 't be intercepted by any application._

 _So the security architect for NT (Jim Kelly) went looking for a keystroke sequence he could use._

 _It turned out that the only keystroke combination that wasn 't already being used by a shipping application was control-alt-del, because that was used to reboot the computer._

 _And thus was born the Control-Alt-Del to log in._

 _I 've got to say that the first time that the logon dialog went into the system, I pressed it with a fair amount of trepidation - I'd been well trained that C-A-D rebooted the computer and...._

\- [http://blogs.msdn.com/b/larryosterman/archive/2005/01/24/359...](http://blogs.msdn.com/b/larryosterman/archive/2005/01/24/359850.aspx)

</comment></comment><comment><USER15> Funny that this article seems oblivious to the fact that Ctrl-Alt-Del was used during the MS-DOS era by all users.

Revisionist history from someone who clearly wasn't even there.

</comment><comment><USER16> > And yet, few of these consumers were aware of Bradley's shortcut quietly > lingering in their machines. It wasn't until the early 1990s, when > Microsoft's Windows took off, that the shortcut came to prominence.

What? I've programmed the PC since 1982 or so. Everyone knew about C-A-D.

<comment><USER17> Agree, this article is factually incorrect. Everyone who used DOS experienced crashes from time to time and quickly learned about Ctrl-Alt-Del. This was not a Windows thing.

It was sent by the keyboard controller of the PC/AT. [http://zet.aluzina.org/images/d/d4/8042.pdf](http://zet.aluzina.org/images/d/d4/8042.pdf) "Bit 0 of the keyboard is connected to System Reset..." But I think it may have been a pure BIOS thing in the PC/jr/XT.

It was the only way to get a hardware non-maskable interrupt from the user and thus became the basis for the "secure attention key" sequence you had to hit before you type your password on Windows NT. AIUI, this was an Orange Book security requirement.

</comment></comment><comment><USER18> Hmm, it's a very long time ago that I pressed that key combination. I tried it out, and apparently it is wired to the Logout function of KDE...

<comment><USER19> Yeah- it was a pretty standard thing in Desktop Managers for a while for <C-Alt-Del> to be logout (or return to DM, depending on what you're using). I think GDM 3.0+ finally threw it out, but you'll still see it in KDM, LightDM, and Slim.

<comment><USER20> It's not even universal across all KDM et al installs. None of my Arch + KDE4 log out when using ctr+alt+del.

On a side note, ctr+alt+backspace used to kill Xorg (still can if you enabled it - but these days that shortcut key is disabled by default)

</comment></comment></comment><comment><USER21> What about the CTRL-Left Amiga-Right Amiga on the Amiga systems?!

<comment><USER22> That takes me back! I still remember the sound of inserting the floppy disk and the disk controller reading from it... nostalgia.

</comment></comment><comment><USER23> Bill made it famous with his crashy software that made knowing it needed...

These days of windows 8 I still have to use it regularly because of freezing programs and OS issues.

<comment><USER24> I'd rather say it's was the crashy software running on top of Windows that made it famous. Can't even remember last time I needed to use it for a Windows component itself.

<comment><USER25> It's been famous for probably longer than you've been paying attention, then. Windows stability has made huge strides over the past 20ish years.

<comment><USER24> I know, I've been using it for more than 2 decades :P And I always had the feeling that the amount of crashes due to actual OS bugs is way lower than what the common belief seems to be. Way over 90% of problems I witnessed myself was duewas dues to faulty software, drivers or hardware. And as you say it just got better with most releases which is (just guessing) partly due to less OS bugs and partly due to the OS taking better care of dealing with bad 3rd party software.

<comment><USER20> Faulty 3rd party software should never be allowed to cause kernel panics (aka BSODs)

<comment><USER25> That is possibly overstating the case. Depending on demands on performance and/or control it might make sense to sacrifice some stability... but it _does_ count against the stability of the system.</comment></comment></comment></comment></comment></comment>


Ask HN: Has anyone tried to keep track of hires resulting from HN? - <AUTHOR> I think it'd be really interesting to see what kind of data exists for hires that have resulted from HN hiring threads or otherwise. Maybe an anonymous survey or something could capture this? <comment><USER2> I've yet to see a working survey in HN, especially if the group asked is small (people who applied and/or got hired). I asked the question open now ([https://news.ycombinator.com/item?id=19811805](https://news.ycombinator.com/item?id=19811805)), let's see.

From older questions like [https://news.ycombinator.com/item?id=17826312](https://news.ycombinator.com/item?id=17826312) (and others I can't find right now) it seems companies get good candidates. But the who-wants-to-get-hired and freelancer posts don't get enough contacts, those threads also receive much less upvotes and disappear faster from the frontpage.

Personally I wonder if users realize the who-wants-to-be-hired thread has multiple pages? There's a 'More' link at the bottom because it got over 500 comments.</comment>


An Executable Semantics for C is Useful - <AUTHOR> http://blog.regehr.org/archives/523

<comment><USER2> You might also like <http://blog.frama-c.com/index.php?post/2011/04/05/QuickLZ-1> and, say, [http://blog.frama-c.com/index.php?post/2011/06/04/Valid- comp...](http://blog.frama-c.com/index.php?post/2011/06/04/Valid-compare- pointers)

</comment><comment><AUTHOR> See also: <http://news.ycombinator.com/item?id=2491424>

</comment><comment><USER3> While obviously not as powerful as the presented tool, gcc has a lot of optional warning flags which may be useful. -std=c99 -pedantic might help you avoid the worst compiler-specific features.

<comment><AUTHOR> Thanks for that, as a result I had a look at the GCC man page section re: Options Controlling C Dialect and also the one re: Options to Request or Suppress Warnings.

Haven't done any real C coding in years, so it's good to know about those options.</comment></comment>


The difference between PUT and POST – get it right - <AUTHOR> http://zacharyvoase.com/2009/07/03/http-post-put-diff/ <comment><USER2> The RFC cited in the article is authoritative, of course, but if this distinction still bothers you, think about using PUT for a location, and POST for a service.</comment>


Ask HN: Easiest way to set up a static HTTPS site in 2016? - <AUTHOR> Github pages + ? Kloudsec is dead, so you have to do SOME work. <comment><USER2> Amazon S3 + Cloudfront.</comment>


Email is dying among mobile's youngest users - <AUTHOR> http://techcrunch.com/2016/03/24/email-is-dying-among-mobiles-youngest-users/ <comment><USER2> was it ever "alive" among those users?</comment>


Crowd-Sourcing Indoor Locations – Google Patent - <AUTHOR> http://appft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PG01&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.html&r=1&f=G&l=50&s1=%2220150204676%22.PGNR.&OS=DN/20150204676&RS=DN/20150204676 <comment><AUTHOR> This patent was accepted July 23, 2015. Does it mean Google is mapping our homes/offices with our phones?</comment>


Protests paralyze Catalonia as marches head for Barcelona - <AUTHOR> https://www.thestar.com/news/world/europe/2019/10/18/new-protests-planned-as-marches-converge-in-catalonia.html <comment><AUTHOR> I know some people who almost didn't get home from a vacation because strikes are affecting the airports, buses, and railroads</comment>


The history of deafness is as old as humanity - <AUTHOR> http://www.historytoday.com/alison-atkin/no-longer-deaf-past <comment><USER2> As someone who is deaf, I recently went from hearing aids to a single cochlear implant and it was really uncomfortable for a while for a weird reason: one that this article bought up. I've spent most of my life with hearing aid moulds in my ears and when I got the CI I always thought insects were gonna have a field day inside my ears.

My heart raced when I read ant eggs were used. Horrifying.

</comment><comment><USER3> rather interesting article but the title kinda sucks

<comment><USER4> Why do you say the title sucks?</comment></comment>


Show HN: s3-lambda – Lambda functions over S3 objects: each, map, reduce, filter - <AUTHOR> https://github.com/littlstar/s3-lambda <comment><USER2> Its weird how S3 seems to be the unwanted stepchild of AWS.

So many obvious innovations just aren't turning up.

For example, strangely, AWS introduced tagging for S3 resources, but you can't search/filter by tag, nor is the tag even returned when you get a list of objects, you can only get the tag with an object request. The word "pointless" springs to mind.

In fact it's strange that there is NO useful filtering at all apart from the very useful folder/hierarchy/prefix filtering. But apart from that you can't do wildcard searches or filters or date filters or tag filters.

I'm building an application right now that needs to get a list of all the jpg files - the only way to do that is get every single object in the bucket and manually filter out the unwanted ones - feels like its 1988 again.

It seems like it would also be valuable for there to be alternate interfaces to S3 such as the ability to send data via ftp or SMTP or sftp or whatever, but there are no such interfaces.

Hopefully Google will goad AWS into action on S3 innovation by implementing such features.

<comment><USER3> S3's API is so rudimentary that I prefer to think of it as a non-enumerable key/value store.

I learned this the hard way: We had an application where made the mistake of storing about a billion files in a nearly flat structure — one level of nesting, probably 100m "folders" in the root. Then one day we needed to go through it to prune stuff that was no longer in use. Unfortunately, if you don't have a "shardable" prefix, list requests are impossible to parallelize efficiently (because you can't subdivide the work), and our scripts took _weeks_ to run to completion. Hard-earned experience: If you're storing large quantities of stuff in S3, _always pick a shardable prefix_. The upload date is a good choice. A random string will also do.

After this, my solution for any non-trivially-sized storage use case is to store an inventory of objects separately in a performant PostgreSQL database, and make sure all writes go through a service layer that shields the consumer from the details of S3. This has some benefits over a hypothetical centralized approach (but some downsides, like the possibility that things get out of sync if you sidestep the inventory). Overall, I wish S3 would store its metadata in something like BigQuery.

Anyone know if Google Cloud Platform's S3 equivalent, Cloud Storage, improves on these issues?

<comment><USER4> I wonder if "bucket notifications" are reliable enough that one could keep such an index DB populated automatically?

<comment><USER5> Yes, just hook those up to a lambda function and write to dynamodb or something

<comment><USER6> I tried this, but if you want to query by tags, using an RDS database works much better. DynamoDB is not well suited to this particular problem.

</comment></comment></comment></comment></comment><comment><USER7> Might make sense to rename this to avoid confusion with AWS Lambda (I immediately thought it was related). Otherwise, looks like an awesome library!

<comment><AUTHOR> Ah yeah, just realizing this...what would you recommend?

<comment><USER8> I also came here thinking this is some sort of aws lambda triggered within the context of certain s3 file. I would say anyone who's heard of AWS lambda would think that way.

Maybe functional-s3?

<comment><AUTHOR> Okay this seems like a good alternative. I just renamed the repo. Renaming it on npm...is a bit cumbersome :|

</comment></comment></comment></comment><comment><USER9> First impression: this is a brilliant piece of software design.

The ability to compose a map/filter chain and execute it in parallel against every object in an S3 bucket that matches a specific prefix - wow.

The set of problems that can be quickly and cheaply solved with this thing is enormous. My biggest problem with lambda functions is that they are a bit of a pain to actually write - for transforming data in S3 this looks like my ideal abstraction.

<comment><USER10> ... Except it's not!

The "lambda" here isn't AWS Lambda. It's a locally executed function.

Now if this scheduled a bunch of real Lambdas to execute the work for each bucket then yes that'd be awesome.

<comment><USER9> Bah. My first impression was totally wrong in that case. Here's hoping someone builds a version of this that executes magically in the lambda cloud.

<comment><USER11> Well, you could run it on a large EC2 instance (x1.32xlarge?!:O) and it would be running the lambdas on the cloud, technically... ;-)

</comment></comment></comment></comment><comment><USER12> see also aws athena [https://aws.amazon.com/athena/](https://aws.amazon.com/athena/) ?

<comment><USER13> That seems cool but paying per query (per TB scanned) frightens me. I imagine having to fret about how efficient my queries are...

<comment><USER11> It's not that bad. You can compress the data on S3 in ORC or Parquet format, and you only pay for the compressed data you read, so 1TB can be 130GB after compression. Plus, these formats store summary data, so queries like SELECT COUNT don't have to do a full table scan - they can read just a few KB of summary data for the result.

<comment><USER13> But that's a lot of work....Just to have sane costs for _reads of your data_

<comment><USER11> It's actually just two commands:

1\. hive 2\. INSERT INTO parquet_table SELECT * FROM csv_table;

</comment></comment></comment></comment></comment><comment><USER14> So... the client-side code iterates S3 objects matching a certain filter, and then schedules a lambda for each one of those objects. Is that right? Or does the iteration procedure itself is a lambda? Also, when you chain several operators together, where does the chaining happen?

I'd like to understand where different parts of the code are being executed.

<comment><USER15> On a quick page-down through the code, I think this is not related to AWS- Lambda, it's more 'local lambda' where the map etc is run locally.

</comment></comment><comment><USER16> This is a nice project. For real-world use cases, we have good alternatives:

1\. Migrate s3 ==> gc and use BigQuery which does support udf

2\. Register to databricks (I'm not affiliated)

3\. (for the brave) poke aws support to implement udf on Athena

</comment><comment><USER17> If anyone is interested in this same kind of architecture for multi-cloud file-system providers ( no cloud lock-in ), please check out this project: [https://github.com/bigcompany/hook.io- vfs](https://github.com/bigcompany/hook.io-vfs)

Used in production, but it could use some contributors.

</comment><comment><USER18> Getting aan index of (millions of) files on s3 is very slow for us, like, days. Is there anything you do to work around this? It seems since this is not an AWS Lambda project the client first has to acquire an index from S3 before concurrency benefits set in?

<comment><AUTHOR> This does not have to do with AWS Lambda, I'm thinking about renaming it to "functional-s3", or something similar.

To answer your question, there isn't really a workaround for this yet, although indexing should be much quicker than "days". All the keys are listed recursively before running the lambda expression locally. If you have a huge number of files, this can take several minutes, maybe hours depending on the scope.

A workaround I've been considering is using a generator function to list the keys; that way, the lambda expression can start immediately, generating keys as it needs them.

</comment></comment><comment><USER19> Is this susceptible to any of S3's eventual consistency constraints?

<comment><AUTHOR> I'm not aware of S3's consistency constraints. What are those?

<comment><USER20> [http://docs.aws.amazon.com/AmazonS3/latest/dev/Introduction....](http://docs.aws.amazon.com/AmazonS3/latest/dev/Introduction.html#ConsistencyModel)

</comment></comment></comment><comment><USER21> I thinking having the default be destructive for mapping is a strange design decision. That is going to bite someone one day soon.

<comment><AUTHOR> Good point...I will make it so that destructive is opt-in

</comment></comment><comment><USER22> Really nice to have a generic functional interface to S3. Thanks.

</comment><comment><USER23> where actually you can use it ? in which cases? can you provide examples?

<comment><AUTHOR> Sure. We have application logs that come in to s3 and are stored by date prefix. I have CRON jobs that run node scripts that do various counts/statistics.</comment></comment>


Hello World, by Oracle - <AUTHOR> http://download.oracle.com/javase/tutorial/getStarted/application/examples/HelloWorldApp.java

<comment><USER2> Is the upvoting from a cynicism that the legal disclaimers are 10x the code? :D It is a compelling situation, on the other hand, I have been generally impressed that Oracle has their house in order, for sure. Thanks for posting this, though!

<comment><USER3> Unfortunately the license is necessary. Without a license the code is covered by copyright by default, making any redistribution or usage of the code a copyright violation. Although a one-liner "do whatever the fuck you want" "license" is sufficient for redistribution or usage, it gives other people the opportunity to sue Oracle if the code somehow causes any kind of damage. Granted, it's just a Hello World, but in the US anybody can sue anyone for anything so I'm sure some jerk can come up with a stupid reason to sue someone over a Hello World. All this has made lawyers extremely careful.

<comment><USER4> I'm surprised it's missing the standard stipulation that the code is not to be used in nuclear facilities or life support systems, and that it not be exported to Iran, Cuba, Syria, or North Korea.

<comment><USER5> That's part of the overall license you sign/agree to when you pay for the licenses or download it from their site.

</comment></comment></comment></comment><comment><USER6> I find it most interesting that Hello World is now an "App".

<comment><USER7> As I learned it [many years ago, in the blitz to learn java for AP CS AB], people use the App suffix to denote classes that had a main function (and could be used as an applet or application).

</comment></comment><comment><USER8> Is this why people call "Java is too verbose"?

<comment><USER9> No, this doesn't have anything to do with the language it's written in.</comment></comment>


No country has embraced prepackaged food as much as the United States.  - <AUTHOR> http://www.nytimes.com/2010/04/04/business/04metrics.html?ref=business <comment><USER2> I've just started watching Jamie Oliver's Food Revolution series on ABC and it's quite shocking to see so much prepackaged/processed foods. This trend is happening everywhere, but nowhere as much as the States. I really hope movies like Food Inc., the new ABC series and articles like this will reverse that trend.

<comment><USER3> There is zero chance Food, Inc. is going to change anything. Agree with it or not (and I'm very sympathetic), it is neither cost- nor time- effective to eat in the way that Food Inc. suggests. Normal people do not have access to a supply chain that provides cost-effective and palatable protein from local, "responsible" producers. For a lot of families, the 6 pack of Tyson chicken breasts _is_ the fancy, careful dinner.

</comment></comment><comment><USER4> Carboxymethyl cellulose! This article is good, but flawed. There are no conclusive studies that link higher intakes of fat to higher rates of heart disease... but higher intakes of fat AND carbohydrates are a different story. Read this: [http://www.amazon.com/Good-Calories-Bad-Controversial- Scienc...](http://www.amazon.com/Good-Calories-Bad-Controversial- Science/dp/1400033462)

</comment><comment><USER5> It is because in the US, it seems that people don't have enough time to do all the things they want to do in a day. Most of them eat, drink, put their make, etc etc on the way to work.

This is just an observation though.

Relax anyone?

<comment><USER6> I don't buy this explanation. In my personal experience, the people with the least time are the most likely to eat well.

Consider programmers, quants, bankers, and other such overworked types. Observing their shopping baskets at Fairway (upper west NYC) suggests they eat mostly fresh products.

On the other hand, you have poor people, the vast majority of whom don't work at all. They have nothing but free time. Observing their shopping baskets (in Harlem or Jersey City) suggests they eat lots of packaged foods.

I suspect laziness is a better explanation for packaged foods than free time.

<comment><USER7> I'd say it's cost, not lazyness. And also the fact that there aren't any real grocery stores in poorer areas. I'm way lazier than most poorer people, but eat only fresh food that I make myself.

<comment><USER6> _I'd say it's cost, not lazyness. And also the fact that there aren't any real grocery stores in poorer areas._

This is simply not true. Fresh food is available in both the poor areas I mentioned (and is cheap), people just don't buy it. It's not overpriced either, on a per-meal basis (rather than a per-calorie basis) it tends to be cheaper than prepackaged crap.

When I lived in Harlem [1], I noticed an interesting fact. There was almost a perfect correlation between the contents of a shopping basket and the appearance of the person carrying it. Poor looking people ate prepackaged crap, yuppies ate fresh food.

[1] For those unfamiliar with NYC, Harlem used to be a terrible neighborhood. It became safe under Giuliani/Bloomberg and yuppies have moved in because it's cheap. The neighborhood is now roughly 50% yuppie, 50% local.

<comment><USER8> Eating fresh foods isn't necessarily more expensive, but there's the common misconception that is and many people just don't take the time to find out otherwise. Often times, people who try it end up spending more, too, because they're not used to it and don't make a full committment to it, so all that fresh produce they bought sits in their fridge and goes bad, taking a back seat to the pre-packaged stuff they bought along with it. So there's another thing that can be seen by them as driving up the cost. They end up wasting a lot of food and thereby wasting a lot of money.

What a lot of them don't realize as well is that healthy food is more filling than pre-packaged crap. Your body is getting all of the nutrients it needs with less food, so you don't stay hungry all the time or need huge quantities, so you can actually buy less food.

Also, many people in poorer communities who are, for example, on food stamps, will get their $250 in food stamps at the beginning of each month of whatever and they think they need to go out and buy $250 in groceries with it right then, because they're on a limited budget and they think this will be an easier way to see what they have/need and balance that budget. So they buy pre-packaged stuff, because they can throw it in the cabinet and it will still be good 4 weeks later, or 6mo later, just in case they lose those food stamps or that minimum wage job.

</comment></comment></comment></comment></comment><comment><USER9> I wonder why prepackaged foods are always so bad. If I make a big homemade meal, I can put some of it in the freezer. Then I can take it out and microwave it later and it is still a good meal. It stays good quite long in the freezer too. Why can't I buy something like that? Sure there are ready- made meals marketed as "healthy", but it usually just means smaller portions and no taste.

I think the reason is that since you cannot tell what went into a packaged meal, the producer has every incentive to replace good ingredients with something cheaper, and hide it will coloring, flavors, etc.

<comment><USER3> Because producers A/B test their food, and rapidly find that (a) things that increase shelf stability at the price of freshness _don't_ cause consumers to buy less, and (b) things that increase increase perceived sweetness, saltiness, and unctuousness _do_ cause consumers to buy more.

In any mainstream market there's room for a cost leader than operates at atypical economies of scale, and for several narrow-line high price niche producers. People who shop at Safeway aren't going to pay $10 for frozen pilaf. You're either going to be driven inexorably towards cheap, highly shelf-stable, highly marketable products, or you're competing at Whole Foods.

Cooks Illustrated finds this all the time when they test ingredients. They don't always pick the sweetest (say) tomato sauce, but the hyper-organic natural brand with no additional sweetener often comes in last. And that's a test panel of chefs.

<comment><USER10> By unctuousness did you mean umami?

<comment><USER3> No, more like "fatty mouth feel", which sounds much worse than "unctuous".

</comment></comment></comment></comment><comment><USER11> All about marketing: this is big business, so a _lot_ of money is spent pushing the convenience life style.

I have a difficult time relating to this however since cooking is a favorite activity of mine and my wife. We just got home from a trip so yesterday I made up a shopping list of fresh food that my wife picked up and in the afternoon I made Pad Thai with 6 different fresh vegetables from our garden and our local market.

Cooking is a lot of fun, and I can't understand why people can not make it a priority.

<comment><USER2> I love cooking too, but my wife couldn't care less. It's not everyone's hobby! (sadly)

<comment><USER8> I absolutely hate to cook, but I have found it's much easier to grab some fresh fruits/veggies and a handful of nuts or make a decent sandwich on whole grain bread than it is to heat up some microwave something. I think that's another misconception some people have. Fact is, you don't have to do a lot of cooking to eat healthy. Eating your fruits, vegetables and whole grains raw is healthier than cooking them and requires no more effort than a quick rinse in the sink.

</comment></comment></comment><comment><USER12> Its just the spinning of that tray in the microwave has us mesmerized is all.</comment>


The Consolidation Of Talent, Capital and Returns in Biotech - <AUTHOR> https://lifescivc.com/2017/03/inescapable-gravity-biotechs-key-clusters-great-consolidation-talent-capital-returns/?ref=endpts <comment><USER2> A biotech management recruiter commented:

      MA will pull away with the lead soon from Bay Area
      based on cost of living. I have senior management
      members tell me daily that they'll move anywhere
      BUT Bay Area. You'll pay $3.2m for 3/4 BR in Palo
      Alto. South Bay and North Bay aren't too much better.

<comment><USER3> Yeah, but SF has the money, so they'll just have to put up with it. I mean, is there any other reason to be in SF for a biotech startup?

<comment><USER4> Boston has no money?

<comment><USER3> Does anywhere in the world have venture capital the way SF/SV has? No, and suggesting otherwise is absurd. Boston has the best research institutions, but cash is king.

<comment><USER4> > Does anywhere in the world have venture capital the way SF/SV has?

For biotech deals, Boston does.

[http://www.fiercebiotech.com/venture- capital/top-15-cities-f...](http://www.fiercebiotech.com/venture- capital/top-15-cities-for-biotech-venture-funding)

</comment></comment></comment></comment></comment><comment><USER5> Oklahoma City has a small but strong Biotech and medical device scene ($6.7B Revenue, $2.2B salaries for a workforce of 51,000). Even then most companies in OKC raise money in SF & Boston and either have an office there or move back and forth. Which is pointed out in the section on satellite offices. The satellite office trend I don't see stopping given how cheap flights are and how fast communications have become between coasts.

</comment><comment><USER6> Uh, San Diego conspicuously not on the list here?

<comment><USER4> What list? San Diego is mentioned in the article and is #5 in the list given in the first link.

</comment></comment><comment><USER7> > These data are striking.

The use of 'data' to mean 'plural of datum' continues to fall out of favor in modern usage. Encountering it in a Saturday-morning browse was a note of angelic harmony to start the day.

<comment><USER8> Would you not agree that it might be a bit of a British thing (the author is Oxford educated)? A reflexive urge to pluralize bands, companies and other startup-proximate collective nouns.

'"Data are" doesn't roll of their tongues smoothly. But for British readers the plural is more natural.' [0]

[0] [https://www.economist.com/blogs/graphicdetail/2012/07/point-...](https://www.economist.com/blogs/graphicdetail/2012/07/point- information)

BTW I looked you up. Do you know anything about Richard Muller's ideas for realising table-top detectors of gravitational waves?

<comment><USER7> Whether it's a British thing or not is beyond my knowledge. I just wanted to celebrate something that made me happy :).

Regarding Richard Muller's proposals: I don't -- confusingly, I _am_ familiar with Holger Müller's proposals, and it would appear that they are both at Berkeley.

Experiment is the arbiter of truth; whenever any new instrumentation can demonstrably reach the relevant sensitivity and systematic-effect rejection necessary to do a job better than it has been done before, we'll all switch to it.

</comment></comment></comment><comment><USER9> Wow this article is pretty condescending towards the biotech scene in Europe...

I'm going to go out on a limb here and say, maybe there are fewer biotech startups in Europe because profiting off of people's illnesses is generally frowned upon?

My guess is progress in that area falls more into the realm of government grants, with maybe the exception of classical pharmaceuticals (there are plenty of old companies like Bayer).

Biotech is not my field so I'd be interested in hearing other people's opinions.

<comment><USER10> You should go back and reread the entire article. This isn't a US is better than the rest of the world post, it's a Boston/SF are getting really good at the whole life science startup thing.

<comment><USER9> Sure, I'd see no problem highlighting how far they've come. Sharing success stories is important. Which is why I found it odd that they were making multiple condescending references to Europe such as (paraphrasing) "if you're not in Boston or SF you might as well be in Europe" where it's making it sound like Siberia...</comment></comment></comment>


Ask HN: Need help with this startup idea regarding decentralized/blockchain bank - <AUTHOR> PMC bank: https://en.wikipedia.org/wiki/Punjab_%26_Maharashtra_Co-operative_Bank got sort of bankrupt leaving people with the option to withdraw only around INR 10,000 monthly or so causing a huge outrage and making life really hard for the account holders.
So I came up with this idea to develop a bank on blockchain or a decentralized bank over which nobody has complete authority thus making people's money safe and under their control.
Could you please help me with this? Like how to proceed & what to keep in mind? <comment><USER2> Banks don't store the cash, they lend most of the cash to other people. If the other people don't pay back or the other people don't exist because the bank is a scam, there is no cash to give to the people that put money in the bank.

You can create a 100% reserve bank that doesn't lend money, it can be created in real life or in the blockchain. (There are a looooooooooooo...ooooooooooooot of regulations.) But this bank will not pay interest, and must have fees to get money to pay the employees, buildings, ... So people will not put the money in this bank.

Most internet exchanges work like this with a 100% reserve, but we all know the story of MtGox.

[Hi from Argentina! We have a global bank run every 10 years.]

</comment><comment><USER3> In the US (where I am), this would be very difficult because of regulation. But maybe where you are it's easier?

It would be easy to simply make a nice UI around Bitcoin and speed up the transactions where possible with cash

</comment><comment><USER4> Why would anyone trust you with their money? Specially when your asking for help

<comment><USER4> And what about all the crptyo currencies trying to do the same idea?</comment></comment>


1939 New York in HD Color - <AUTHOR> https://www.youtube.com/watch?feature=player_embedded&v=WgqRN40TXrE

<comment><USER2> That's really something, thanks for sharing.</comment>


Indian firm asks staff to chip in $1,600 each to pay bail for boss - <AUTHOR> http://www.cnbc.com/id/101534498 <comment><USER2> He was accused of collecting money from investors illegally, and the head of the firm skipped out on a hearing related to the first set of charges in order to be with his sick mom. He is now held in contempt and needs bail money.

Ironic solution? Obviously, sell equity in the company to the employees to raise the bail money! What could possibly go wrong with this awesome plan?!</comment>


RobotsDisallowed: Make Sure Your Site Doesn't Do This - <AUTHOR> https://github.com/danielmiessler/RobotsDisallowed <comment><USER2> The title of this post is wrong, its also not what the project is about.

There are good reasons to put urls in robots.txt. You can use it to exclude parts from your website from search engines. This is however not a way to hide parts of your site. So don't use it to hide parts, but for parts you don't want indexed.

/admin/ is a good example. This is a login page to your admin backend. Telling search engines to not list that page is fine. Assuming /admin/ would not be accessed if you put it in robots.txt is not. Claiming because /admin/ is in robots.txt it would be a greater security risk is just wrong.</comment>


Sharing SQLite databases across containers is surprisingly brilliant - <AUTHOR> https://medium.com/@rbranson/sharing-sqlite-databases-across-containers-is-surprisingly-brilliant-bacb8d753054 <comment><USER2> I'm amazed at the fact that more people don't push mostly static or rarely updated data to local sqlite instances or flat files.

In my line of work, the goverment distributes a daily file with all those tax ids that can emit tax deductible invoices. Since it has every tax id along with additional information, the file is quite large (30Gb of XML split into 4 files because of the format). This file has to be downloaded and used daily by all our front end servers.

Every Engineer immediately proposed throwing the data on the Galera cluster that we're currently running. They didn't see the problem of slowing down the main database every day with a huge update cycle (you could diff it previously but it's still a large update). We'd also be querying a network storage for basically static data, which I thought idiotic.

I proposed having a simple daily task in a job server that downloads the data, parses it and writes it to a sqlite database. It then pushes this file to all of our frontend servers. The frontend servers simply reference that file. It's a lot faster, especially since the whole thing can fit in memory when its compressed binary data (drops down to about 12G), and you simplify your reads.

I completely agree with the statement made by the author too:

"Aside from the quirk of sharing SQLite across containers, it delivers extremely well on one core idea: the thematic shift of complexity from the data plane read path to the control plane write path."</comment>


Starbucks Japan is selling pens with built-in NFC wallets - <AUTHOR> https://www.theverge.com/2019/9/18/20871830/starbucks-japan-touch-nfc-pen-announced <comment><USER2> The way I loose pens, not something I would want</comment>