skysight-inc/HackerNews huggingface dataset:
The issue isn't force-pushing.

The issue is pushing to multiple branches.

This is a local developer's Git issue, not a Github issue: http://stackoverflow.com/questions/948354/git-push-default-b... but one they've thankfully changed: http://stackoverflow.com/questions/13148066/warning-push-def...

Summary: By default Git push used to (they've changed it) push ALL your branches, not just your current one. It is pretty much the first thing I've historically reconfigured whenever starting on any new project. This guy didn't do it, and paid the cost.
Nice writeup. Especially interesting to see that CloudFlare is using Go for its DNS service. I run a DNS hosting service (https://www.SlickDNS.com) and currently use tinydns from the djbdns suite in my name servers, but I'm writing a drop-in replacement in Go. The goal is to make it much higher performance by using multiple goroutines (tinydns is a single process).
I predict this will happen a LOT more often with git 2.0 changing the default push behavior to pushing all branches. If you've ever --force pushed over a temporary remote branch (e.g. to show something to a coworker), 2.0 will run the risk of overriding everything. Hooray!
Most popular Google Analytics funnel reports
Ah but when you're dealing with humans instead of machines, having _less_ power is often a strategic advantage!
If the function has less chance of erroring than a hardware failure, why check? I have a function that calls functions that call functions and so on. At the top level function I check if Go has panic()ked; if so I recover() and report the nice error message I want. Seems to offer close enough functionality to try...catch.
> It depends on what you consider an operation, doesn't it?

Exactly. I see far too many people lately who want to point out the technically correct (a.k.a. best kind of correct) version of algorithmic complexity where e.g. multiplication is not constant time. Often this is paired with the contrasting complexity analyses having different meanings for the N in the big O notation, e.g. bit complexity of input vs. number of elements input. Note, this is not the case above, but is often what I see happen. It's very sloppy to directly compare the two as they are making wildly different assumptions on what is constant time. The model matters. An example used in a parallel computing class I took was that comparison based sorting on P parallel processors could be done in log N time (less than the Nlog(N) lower bound of comparison based sorting) in the PRAM model where memory access across parallel processors is still O(1).
I actually rather like it. I had a similar idea a year or two ago which became something more like a text snippet site, but I originally had ambitions along these lines.
Amazon and USPS will offer Sunday delivery starting with New York, Los Angeles
I just assumed it meant the opposite of polymorphic, but no it's not even related to that..
Ideally personal topic branches, not yet ready for world consumption, would be pushed but to a different repo. This would allow the main repo to have a global "No force pushes!" setting, and would prevent branch name collisions (how many developers have a scratch branch sitting around named 'scratch'?)
The Fall and Rise of Podcasting
EDGE Headcon: What's new in Social Science?
To this guy, and many others like him, I would ask one question: "Is your code shorter?". If not, then I can be quite confident the modification was worse than nothing. (Most of the time, "simpler" and "shorter" mean the same thing.)

When I rewrite code, at least I make sure the result is simpler than whatever I started with. If not, I simply revert back to the the previous version.
oops, I guess that comment insinuates that I'm the creator of MyHDL. The creator of MyHDL is actually Jan Decaluwe(Sigasi, Easics). I just implemented the interfaces feature and develop uhdl.

Rgen looks really interesting. I hope you do manage to get it opensourced so that I can play with it!
That's correct. During open (non-minimally invasive) procedures in which you're being virtually proctored, you want a head-mounted camera and display. This is because if you have just a head-mounted camera, every time you look up at a monitor to receive instruction your camera's field-of-view changes.

And that was roughly the original title, pre-editing.
I downvoted you before I realized that you coming at this from a position of ignorance rather than ego.

Mongo is a way of storing 'stuff'. You don't have to define the form that the stuff takes before you shove it in the database. This makes things easier by lowering the knowledge barrier to getting started, which is a double-edged sword.
too true. i'm being forced to do this to my team at another very large tech company. the large data-set curve approach is completely toxic in small teams that are destroying themselves to meet crazy goals.
I'm glad at least there's a big target (Rap Genius) to hopefully fight this fight for the little guys, even if I don't like the direction the site(s) are going.
Bytecoin [1] is intended to be exactly this. As others have mentioned, there are many imitators [2], many of which have innovations.

[1] https://bitcointalk.org/index.php?topic=164569.0

[2] https://bitcointalk.org/index.php?topic=134179.0
I wonder if cutting teams instead of people would be a better idea.
Amen! I'm glad someone said something. That really bothered me. It's actually the only reason I clicked on the link. In my head, they'd somehow mapped Javascript onto another language and were able to convert interchangeably between the two or something like that. Needless to say, I was disappointed.
Always always _always_ use git push <remote> <branch>. Always. Did I mention always? :)
I just started hacking on Rendr last night, so I don't know if it shares state between Express on the server and the client-side app. My guess would be that Rendr does not have this built in as it's stated design goal is to stay small/modular.

However, Yahoo already released a solution for shared Express/client state: https://github.com/yahoo/express-state
Why would providers partner with you? I work in healthcare and I'm having a hard time imagining how you sell this to them.
More than 30 of the Global 2000 now use Neo4j in production for a wide range of use cases, many of them surprising, even to us! (And we invented the property graph.)

A partial list of customers can be found below:

www.neotechnology.com/customers

The "too niche" comment might have been true a few years ago. I won't speak for all graph databases, since many are clearly very new and haven't had much time to mature yet. But Neo4j has been in 24x7 production for 10 years, and while the product has of course evolved significantly since then, it'd built on a very solid foundation.

Most the companies moving to graph databases--speaking for Neo4j, which is what I know about-- are doing so because either a) their RDBMSs weren't able to handle the scope & scale of their connected query requirements, and/or b) the immense convenience and speed that comes from modeling domains that are a graph (social, network & data center management, fraud, portfolios, identity, etc.) as a graph, not as tables.

For kicks, you can find a number of customer talks here, from the four (soon five) GraphConnect conferences that were held this year in major cities around the world:

http://watch.neo4j.org/

If you're in London, the last one will be held next week:

www.graphconnect.com

You'll find a summary below of some of the technology behind, with some customer examples.

www.neotechnology.com/neo4j-scales-for-the-enterprise/

One of the world's largest postal delivery services does all of their real-time package routing with Neo4j. Several customers have more than half of the Facebook social graph running 24x7 on a web application with millions of members, running on a Neo4j cluster. Railroads are building routing systems on Neo4j. Some of the world's largest customers are using them for HR and data governance, alternate-path routing, etc. etc.

The best way to really understand why graph databases are amazing is to try. Check out the latest v2.0 M06 beta milestone of Neo4j (www.neo4j.org) which includes a brand-new query environment. I've seen connected queries ("shortest path", "find all dependencies", etc.) that are four lines in the Cypher query language and 50-100 lines in SQL. I've seen queries go from minutes to milliseconds. It's convenient and fast. Glad to see you exploring graphs!
You might be interested in cocotb, which is a "coroutine based cosimulation testbench environment for testing VHDL/Verilog RTL using Python".

cocotb is developed in part by Solarflare communications.
Congrats to Ivan and team, this update reflects many months of work and a lot of improvements. Hope many students who are trying to learn a semester's worth of calculus in just the next few weeks can benefit from this update.
Nobody's yet commented on... what is it you can do to force push to ~180 different git repos at once?

Normally, it would be difficult to do this even if you tried, no? 180 repos would usually be in a 180 different clone directories; what can you do that somehow force pushes them all at once, even ones you didn't mean to be working on at all?

In the thread, the person who made the mistake seems to suggest[1] it has something to do with a 'gerrit replication plug-in'? I am not familiar with gerrit. Anyone?

Mistakes will happen; but for a mistake to have this level of consequence took amplification, apparently by the 'gerrit replication plugin'? I'd be inclined to blame that software, rather than human error (or github permissions or lack thereof! If you have write access to a bunch of repos, of course you can mess them all up, no github permissions will ultimately change that. The curious thing remains how you manage to mess up a couple hundred of them in one click).

[1] https://groups.google.com/d/msg/jenkinsci-dev/-myjRIPcVwU/v8...
I think this kind of problem is what open allocation is supposed to solve.
I am currently reading a bunch of the Toyota Way books, Deming, etc. and sometimes I wonder if one of the most basic assumptions in the West is that the individual is the root and the system is a derived thing. This assumption starts, maybe, with Christianity which tells us that we stand alone before God judged on our individual character, not on our wealth or social position. Buddhism, on the other hand, tells us that even our perception of selfhood and autonomy is an illusion to be rooted out and discounted.

To toss out an assumption as fundamental as these would require a huge realignment of all sorts of things -- how we punish and reward, our sense of self worth, who is good and who is bad, etc. So we don't really want to go there.

I think the West could benefit from a swing to the Systems/ Wholeness side of the dichotomy, but I wouldn't want to discount how powerful and what a creative force our individualism has been throughout the last 2000 years.

(EDIT, PS: Deming is the real deal, and the Toyota Way/ Lean books and movement tries to take some of his surface ideas and implement them without challenging their readers in the way Deming wanted to.)

(EDIT, PPS: Toyota / Buddha says "You see a problem? Change the system." Microsoft/ Jesus says "You see a problem? Roast the culpable individuals, reward the virtuous individuals.")

(EDIT, PPPS: Hegel and his philosophical descendants have the best take on the dynamic movement between individual and collective, without discounting either of the two viewpoints.)
This case wasn't a matter of pushing multiple branches, it was a script that force-pushed multiple repositories :)
Yes, you should move back to Postgres. The reason is you can do many more operations on structured data than on structure-less data. You found that out already with the many-to-many thing. There are plenty of other intangibles that will bite you in the ass later.
Hi, I'm the author of Json-Wikipedia. It's different from DB-Pedia. DBPedia converts the semistructured data containined in the infoboxes in rdf triples, while Json-Wikipedia converts ALL the content of the page (text, infoboxes, links) into a JSON object. I did this because I need some features that were not available on dbpedia (e.g., the whole text of an article, all the anchors referring to an article etc etc). Also Json-Wikipedia simplifies the processing of a Wikipedia Dump on Hadoop.
Valve "stack ranking" is for bonuses only. In other words, an error that puts you toward the bottom of the stack reduces your payout from a pool of money you were never promised and to which you are not entitled. You get another chance next year to excel and come out on top. Over time, the errors should smooth out.

Microsoft-style stack ranking, on the other hand, completely fucks up your career in the company, even if you were just unlucky. You don't get another chance. This can happen when a company falters (layoffs) but it shouldn't be by-design.
CloudFlare is awesome. They're living out one of my fantasies of productizing really well done front-end web serving infrastructure, which I love to see. They appear to have gathered solid team. And they're doing it with Go!

I'd love to see those libraries (sans proprietary modules) show up on GitHub!
"The guarantees needed to avoid leaving the server in a bad state when handling panics would be impossible without the defer mechanism Go provides."

I'm only passingly familiar with defer, but I understand it to be equivalent to RAII in C++, Python's with statement, Common Lisp's unwind-protect, and others - does is actually provide something more, and if so, what?
What I've gathered is that the tradeoff of not having to deal with schema migrations now is something I'll have to pay for with data integrity down the road. Do you think that's a good summation?
But even this is necessary sometimes.

Yes, it seems counterintuitive that a version control system should ever let you lose previously committed data. "What's the point of version control, if there's a chance you won't be able to revert?" you might ask.

So at first it seems like we should establish the principle that you can't permanently delete committed data. (Unless you step outside the tools provided by the VCS and do something like hacking the contents of the .git directory.)

But sadly, real-world constraints get in the way of this principle.

Disk space is one such constraint. Sometimes, we need to bring a repo's disk footprint down to a reasonable size. This could happen if we committed a bunch of huge files that we no longer want, or if the repo is simply very old.

Another constraint is intellectual property, secrets, passwords, and such things. Sometimes you check in something that other people shouldn't see. Maybe it's an accident, or maybe you just don't realize the data is sensitive. You need a way to redact the contents of the repo, and that means deleting historical data.
You can give my extension a try : http://www.shoptimate.com
Agreed. I like "Nomadic JavaScript" better! Or "Unbound JavaScript". Or "Bicoastal JavaScript". Or maybe "Freebased JavaScript". Anything else.
By the way, it is "Jenkins", not "Jenkin".
Golang is perfect for DNS: its concurrency model matches that of DNS extremely well, its standard library is heavily informed both by Unix and by Internet protocols, and its fast and simple. That's unsurprising, since Golang's charter was to modernize C/C++, and DNS is essentially an expression of 1980's C code style.
Isn't the new git2 default to only push the currently checked out branch?
one of the biggest benefits of HLL is that if you are only interested in set cardinalities, you don't have to store the original items at all, just a small HLL data structure which can be used to compute set unions, and with some caveats, intersections.

It would be really great if Redshift supported HLL as a proper data type, and not just an optimization for COUNT(). A proper data type would allow us to store pre-aggregated data instead of billions of unnecessarily granular rows.
I'm sorry, but "switch off the most popular code repository in the English-speaking world to avoid this one thing" is really silly advice.
Turkish Airlines announces 'Invest on board' pitch to investors on flights
>Unfortunately, you won't find a government spokesman or politician coming out and admitting that in most cases...

IMO these overstatements of threat are far less benign than that. I believe they know that the true scope and scale of their secret surveillance activities can only be justified using extreme scare tactics, such as the threat of terrorism. I believe this is true even if the American public was in full understanding of whatever nuanced policy benefits actually resulted for the citizenry as a whole.

That is, the problem may well be that the benefits do not accrue to the general populace, but to a much narrower set of vested interests. So, if Americans knew fully and exactly who benefited and to what degree, they may find that said benefits for the general populace do not justify the NSA's "attack" on the general populace.

So, this is not about avoiding a nuanced conversation. It's that the the measures themselves have been turned against the U.S. citizenry such that the benefits of the resulting policy decisions do not outweigh the affront to privacy and Constitutional rights. If these affronts cannot be justified even while they are turning their powers against the very people who are supposed to be the beneficiaries, then we must naturally ask the question "then whose interests are really being served here?"

That is the real conversation that they wish to avoid.

Further evidence of the dissonance is revealed when you consider the NSA SIGINT mission statement you provided. It's a very generic statement that wouldn't cause concern given what we knew and expected of the NSA's actual activities (i.e. prior to the Snowden leaks). It's only when you realize the fuller scale of NSA activity and its targeting of the broader U.S. population that this statement seems woefully inadequate to justify the attendant activities.
http://blog.cloudflare.com/open-source-two-way-street
I believe the suggestion is to use the "From:" field of the email, which for a significant fraction (perhaps even majority) of people includes their name. I think it's an interesting idea.
Rust was originally implemented in OCaml, though. You're correct theyre not exactly in the same category, but there is influence there.
We're long past the point where mining on a GPU makes economic sense, and this thing is roughly 1/10,000 as energy-efficient as a GPU.
>Why not give everyone the same bonus based on company performance? Make it collective good.

Company performance is not dependent on the performance of any one single individual. That is, I can be the laziest, most incompetent developer or middle manger, and it would have no bearing on quarterly earning. So if you're using company-wide performance bonuses to stimulate productivity, in a company of thousands of employees, you're doing something wrong. The incentive in that case is for each individual to do as little as possible because why exert yourself if you're just going to get as much as the next guy anyway, and the result is everyone loses. This is a classic "tragedy of the commons" scenario, where the incentive is to be a cheater.

So the idea of rewarding high achievers (carrot) and punishing under-achievers (stick) is a good one. That's what you need to do, and that's how you properly set up the incentives. The problem is that in a company of thousands of employees, creating a ranking system that works perfectly is pretty darn hard, especially since metrics are usually ambiguous and subjective. So you're not going to get it right 100% of the time.
Increase ghost and expressjs performance with nginx
How to double your server performance when using ghost blogging platform with some simple nginx tuning.
I'd be interested in hearing from anybody using RedShift in production. Currently shopping around for a database to store 1.5 billion interesting things, and RedShift's at the top of my list.

Specifically - how many (small/large) nodes are you using, how big is your data, how many simultaneous users does your setup support, and what kind of performance do you see?

Thanks in advance.
Yes, that's an excellent way of putting it.
I'm pleased that the reaction in this thread is generally with understanding towards the developer. We've all had facepalm moments like this, and probably not as publicly.

But I don't think Bad Thing Prevention is necessarily to be avoided. Undo buttons are sweet, but not everything can be undone. An anecdote: During the first month of my first job in finance I accidentally deleted a few mappings in a database which put the entire company at risk to the tune of about $45million. Complete bone-head move, I was new to the game. It all turned out fine and I got off with a slap on the wrist, but my manager was flogged. When markets are involved, something like that has no undo button. Instead, we put some proper controls in place (tests, mostly) to make sure said mappings were always logically consistent. As far as I know, that brand of problem has not occurred in the 6 years since.
VCs will not save you from the Startup death spiral
It's not at all equivalent to RAII, or really any of those other examples; it's a way of clearing up the control flow of a function that needs cleanup work before it returns, but it is a fussy and error-prone way of expressing scoped resource access.

"Defer" is nice to have, and because it does less than scoped acquisition, it's easier to repurpose for other jobs; that's kind of thematic of Golang --- simple, orthogonal advances over C/Java/C++; a distinct lack of "theoretical" ambition.
Don't Expect Bitcoin To Die Off Anytime Soon
Don't you mean it will happen less often? Git default push behavior in 2.0 will be 'simple'.
Man, there are so many things I love about that blog post (the Go being the least of them). Wish you guys had a presence here in NYC!
The historical answer is that originally Felix programs were being written for the Shootout and the compiler was upgraded so it performed well. In fact it trashed everything. Then control of the Shootout changed hands and Felix got dropped by the new manager. Today, there are no forums for developing new languages.

Felix "targets" people that would like to use Haskell or Ocaml but have a ton of code in C and C++ to interface with. Felix is a C++ upgrade: it discard the syntax, but retains ABI compatibility, at quite some cost to things like safety for example.

Felix is more or less guaranteed to perform on par with C/C++ or better for the simple reason you can embed C++ directly into Felix, this works because Felix generates C++. And of course you can link to your favourite libraries with minimal syntax.

type mytype = "My::Type";
ctor mytype : int = "My::Type ($1)";
fun addup : mytype * mytype -> mytype = "$1.addup($2)";

Unlike Ocaml which requires a lot of hard to write glue logic, Felix and C++ share types and functions. Typically only type glue is required to create a bridge.
Have you done any analysis to see if tinydns was actually a bottleneck? The work of an authoritative DNS server is extraordinarily simple, and tinydns capitalizes on that.
>- it's hard for me to imagine a field that is as 'pure' as that while still having enormous financial impact

Advertising algorithms, recommendation algorithms, pricing algorithms, basically any algorithm that is being run at scale for millions of customers.
Go is perfect for almost every kind of server!

Though handling DNS requests over UDP is pretty easy and fast in almost any language. TCP connections are much more pleasant to handle by spawning a goroutine per connection. I do assume using goroutines is slower than multiplexing though, but still plenty fast.