skysight-inc/HackerNews huggingface dataset:
There seem to be 2 questions here:
1) Is Hack type inference total? Answer no: you must annotate parameters and return types.

It would be pretty much impossible to implement total type-inference without loosing separate compilation in Hack.
PHP projects are not organized around a module system, which means that you have "spaghetti" dependencies, and even better, cyclic dependencies all over the place.

So trying to implement total type-inference would be a bad idea, you would not be able to separate the code in independent entities and the checker would not scale.

2) Does Hack support structural sub-typing? Answer: No, but not for obvious reasons.

Fun fact, the first version of the type-checker was implementing structural sub-typing. And it was not scaling, for subtle reasons.

Hack allows covariant return types, so if we implemented structural sub-typing we would have to "dive" into the return types of each method to see if they are compatible. But in turn, these objects could have covariant return types etc ... The process of checking that was too inefficient. Caching is a bad idea (or at least a non trivial idea to implement), because of constraints and type-variables.

Since disallowing covariant return types was not an option (it was crucial to make a lot of code work), we had to kill structural sub-typing.

I hope this answers your question. As a big OCaml fan myself, I like the features you just mentioned (Well, Hack is written in OCaml), but they really didn't seem to be a good fit due to the nature of the language and the kind of checking speed we were shooting for.
Ask HN: What is the significance of the proposed ICANN transfer?
My mom recently asked me about the significance of the US handing over the oversight of ICANN to a yet-to-be-defined international body, and I didn't have a confident answer for her.

http://www.washingtonpost.com/business/technology/us-to-relinquish-remaining-control-over-the-internet/2014/03/14/0c7472d0-abb5-11e3-adbc-888c8010c799_story.html

The instigation for this move is apparently international distrust of the US gov't following Snowden. People have claimed that, through the control of the DNS root zone, an international ICANN could censor swastika imagery (e.g. France), political dissidents (e.g China), or dubious trademark infringement (e.g. US). Others have said that ICANN has essentially no power, and that all of this is a political distraction with minimal real-world effect. Still others have said that, by opening up the process, ICANN will become more transparent than when controlled by an imperfect US.

What are ICANN's actual abilities, and what are the possibilities for international control to lead to good or bad outcomes?
That's what monitor arms and keyboard trays are for. Though they'll cost about as much as the IKEA desk you mentioned.. each.
I have a drafting chair + standup desk (modified IKEA Jerker). I can sit, or stand, total cost $60 (used). Both are solid and will probably outlast me.
Also the end product is much more interesting.
Every rectangle (GUI elements, keys on the keyboard) looks really hard after playing this for a while.
DirectX 12
I recommend using the normal arrow keys, plus press&hold shift or spacebar & arrow keys for the other 2 directions.
Is "discover" really the right word to use here?
I think your analogy, while a good one, is quite a bit off on scale there.

But if I wanted to attempt to build my own Eiffel Tower in my backyard, why is it bad that I wish to do so? Maybe I just want to do it to see if I can accomplish it?
Why can't it be as simple as this:

If you sell direct, you can't have dealers. If you have dealers, you can't sell direct.

Are dealers afraid that manufacturers like Toyota or Ford would just go up and undercut them? I doubt it, that would piss off a lot of their customers (the dealers). The dealer decided to open a particular branded dealership, so if you're in a Toyota dealership they shouldn't give a crap about what anyone else is doing.
A few fun anecdotes illustrated by the video:

[00m00s] In the first few months you can clearly see that Docker is a small side-project within Dotcloud. There is Andrea Luzzardi, Joffrey Fuhrer and myself toiling away and going door to door showing our work to various engineering teams in the San Francisco area. Invisible in this video is an early proof-of-concept written in Python by another Dotcloud employee, Francois-Xavier Bourlet. We ended up going for another architecture and rewriting the code in Go, but it's Francois-Xavier who came up with the name Docker :)

[01m21s] On March 13 you can see a sudden burst of activity. This is when we decided to go all in. We flew all remote employees in and commandeered half of the company to work on Docker full-time for 2 weeks to test it, document it, improve it etc. The other half would hold the fort and continue running the existing product. In parallel we gradually give early access to more and more friends in the engineering community - at this point about 50 people have access to the Github repository, from companies like Uber, Twilio, Meteor, Stripe, Soundcloud, Ebay, Heroku etc.

[01m34s] On March 20 Docker is "leaked" to Hacker News [1] after my lightning talk at Pycon (we expected 30 fellow lxc nerds, but it turns out Pycon lightning talks are a huge thing with an audience in the hundreds... oops!). Note that there is not much change in activity, because the repository is not yet open-source, so it is shielded from the buzz. The term "vaporware" starts being used, oh no! We rush madly to release the code ahead of schedule.

[01m51s] On March 27, one week after the "leak", we are finally ready to open the repository. After the HN announcement [2], pull requests start pouring in amazingly quickly. You can also see the documentation being merged into the main repository at the last minute.

[06m27s] On September 13 after an epic thread on the mailing list [3], we starting vendoring Go dependencies. You can clearly see all the new files appearing, then sitting there pretty much untouched except for the occasional update. Note: vendoring worked just fine for us.

[1] https://news.ycombinator.com/item?id=5408002

[2] https://news.ycombinator.com/item?id=5445387

[3] https://groups.google.com/forum/#!searchin/docker-dev/vendor...
How would you know if it were happening? Quis custodiet...
Wouldn't it be more effective to not conceal your income if you want kids that aren't entitled brats? Trying to conceal your income seems to acknowledge entitlement and conceal the resources subject to it rather than rejecting entitlement.
I had a motorized standing desk from a Danish maker, about 1500USD. The Bosch motor was always shaking everything on my desk and made a lot of noise.

A year later I bought one from Ikea[1], much cheaper around 750USD. The motor was so smooth and felt much more premium. Now we use only those Ikea desks in our office. Picture of desk[2]

I tried looking the desk up in Ikea US website, but it seems it's not sold in the US guys, unfortunately.

[1] http://www.ikea.com/nl/nl/catalog/products/S49895941/
[2] http://cl.ly/image/250M1n3Z1v3H
https://www.facebook.com/MySQLatFacebook
This reminds me of a hilarious Destroy All Software screencast about oddities in certain programming languages: https://www.destroyallsoftware.com/talks/wat
Yeah, but you could have slided the 32 formed left or right to make it 64 and continue.
I've made a version of 2048 on Hexagonal Board - check it out https://play.google.com/store/apps/details?id=com.spiralcode...
lenovo t series, you can use it as a tray.
Outside of a small number of seasonal tourist towns, where short-term rentals are allowed or even encouraged, the types of rentals on AirBnB are overwhelming illegal.

Not 100%. I would guess about 75-85% are illegal based on the small % of listings I've seen for owner-occupied AirBnB listings (which are usually okay).
I recently put together a great sit stand desk using the modtable base. The desk looks good and functions perfectly.
Product list:

* desk base unit ($479): http://heightadjustableworktable.com/index.php/manual-modtab...

* table top ($79.99 - I treated the table top with polyurethane): http://www.ikea.com/us/en/catalog/products/50106773/

* monitor stand ($21.26): http://www.monoprice.com/Product?c_id=108&cp_id=10828&cs_id=...

* mat for standing ($53.99 - optional but highly recommended): http://www.amazon.com/gp/product/B003BYRDK2/ref=oh_details_o...

Total: $580.25 (with mat: $634.24)

Here's a picture of the finished product: http://imgur.com/UW8CvWz (kind of need to organize the wires still)

I recycled this reply from an earlier conversation :)
Why alter the spacebar to be start over? It's the common key in tetris to drop the block!
It sounds like you're letting "ease of test maintenance" drive the architecture of the rest of your app; I'm inclined to accept that incentivizing test creation will lead to more confidence in the face of changes but am somewhat unconvinced it's 1:1 with "less coupled, more maintainable" a priori.

Case in point, I'm really uncomfortable with class names with verbs. Typing CanConfirmTicketPolicy.new(ticket: ticket).allowed? smells bad to my fingers.

It strikes me that you haven't eliminated the coupling? because the CanConfirmTicketPolicy still depends on different domain objects. Kind of by definition, you can't remove it because it's explicitly operating on User, Group and Ticket; the main difference to me seems that they're easier to mock?

I would argue that this ought to be either an explicit inter domain class that models the interaction between Users, Group and Tickets - some appropriate noun like Purchase or GroupActivity or whatever - that can then be solely responsible and reused as appropriate.

You have a bit of text that explains your decisions,

>We could move the logic to a controller mixin, or define the method on the ApplicationController, but it would still not be available in our view

Could you not just define a helper method, then? Helpers are available in both views and controllers if memory serves, are mixed in by default, are equally easy to test as your verbed policy object and have the (minor) added benefit of not polluting your namespace while being equally easy to reason about - it's unclear to me how can_confirm_ticket?(ticket) would necessarily be inferior.

If you're really interested in putting these in models (which is also acceptable) then a regular concern namespaced to your preferred model would work just as well.

Am I missing something? I would like to understand your use case but I don't seem to get it.
It always tries to collapse downwards whenever a merge is possible. I thought this way to avoid any floating blocks. Any better ideas?
I've briefly looked at it in the past but not in much detail. Thanks for the video. I'll have to check it out.
> Describe culture in ways that make people think and debate rather than universally agree.

Great point. As Ben Horowitz compares Square with Amazon, you wouldn't be sitting at a desk made of a door since Square highly values design and Amazon highly values frugality. Also, I can only imagine the discussions at Facebook with the focus on taking huge risk for the sake of innovating.

I guess his sentence also applies to people you would hire - everybody would universally like certain things about a culture, but if you're more risk-averse, I guess you wouldn't fit in as well at FB.
PHP is not perfect but it gets the job done. The biggest problem with PHP is that too many developer write really bad code with it. PHP is just too easy to get into without understanding how to write clean code.

If you follow best practices and use modern frameworks like Laravel, then there should be nothing to complain about PHP.
Great use of small multiples.
The Ugly Flaw of Design at Startups
Larry Page: I’d Rather Leave My Billions to Elon Musk Than to Charity
What makes you think people wouldn't binge buy when the price started to fall out?
Yeah, i had pushed the changes. It will be awesome if you can give a screenshot.
My approach is to buy a Lenovo with a decent processor and screen size and the lowest memory and storage I can find, then upgrade to 16GB and a SSD, since it's much cheaper to upgrade these parts than to buy pre-assembled with the specs you want.
I've made a version of 2048 on Hexagonal Board - check it out https://play.google.com/store/apps/details?id=com.spiralcode...
It's free and has no ads, so enjoy!
I guarantee you will like it.
Digital Marketing: 3 Things to Avoid
I think the point is that you are taking the weights of the candies as proxies for the guesses of individuals - the (sum * 20) procedure is effectively an average-based estimate, like with the 'traditional' wisdom of crowds type approach.

He is then simply showing that for certain populations such approaches won't necessarily give good expected results, and so one should always exercise caution - whether the population is sweets or people's guesses at the weight of a cow is essentially immaterial.
Political patronage doesn't require violence.

Look at the FED.
I have been thinking about this lately. I see your point and it's hard to argue with, but I think there is a line somewhere where the nature of the surveillance changes because of the scale. We've got a lot of legislation and jurisprudence that is probably implicitly based on the assumption that not every corner has a cop sitting there watching everyone 24/7, and that constrains the potential for abuse a bit. Crank it up to virtual, unsleeping cops everywhere, always, collecting and storing all information without regard to active cases, and it gets out of hand.

Maybe we should re-examine the analogy -- are computers with perfect vision, that never look away, and perfectly record any observation they are able to make, really comparable to cops? Are the resulting huge bodies of data that can be retroactively searched, really comparable to anything that existed before?

This is a half-developed thought admittedly; I'm not sure it's a good argument, or what should be done.
Ohh, I see! YOu're 100% right. Will have to put something like hello bar there :)
Thx!
> What major accomplishments in computing that have been built atop crumbling foundations can claim anything even close to the scale of success of these examples?

Wikipedia and Facebook?
Introducing the iOS Reverse Engineering Toolkit
Pratap and the team, awesome work!
If you're considering a stand-up desk, I'd really recommend this review: http://www.thewirecutter.com/reviews/the-best-standing-desks...

It hugely influenced my purchase of a NextDesk Terra :)
Yes, but unlike Facebook, they are largely submerged in seawater.
The whole 2.5 years I lived in California, I left my (eventually expired) old state's plates on my car. I didn't drive more than once a week (to go snowboarding or something else unbikeable), but I never got pulled over.
Is Facebook's code so monolithic that they can't deploy new, decoupled services written in new languages? Twitter did this with Ruby, Java, and Scala. Didn't Facebook create Thrift RFC for exactly this purpose??
Do you mean prove in the:
> vulgar
> scientific
> logic
> maths

Cause it seems to me they way I am using it and the way you are using it are different.

The first two are never provable in the sense of the second two.
Microsoft Publishes Guide To Deploying DNSSEC In Windows Server 2012
> Only way around the type system is void, explicit casts and I guess unions.

And typedefs. Given that there's no parametric types, you run into void* quite frequently as well, so saying "only" inaccurately minimizes the scale of how much C code isn't strictly type safe.
Maybe it's not too late? We need more protocols and fewer "platforms". Is anyone working on writing such a protocol?

The problem is getting somebody to implement and support it. XMPP has suffered because companies refuse to federate, and keep trying to build in their own proprietary extensions.
AirBnB provides little to no value to most cities. Cities lose out on all of the taxes and revenue when someone uses AirBnB instead of a hotel. The types of people who use AirBnB are heavily price sensitive, so the lost tax revenue isn't made up by increased spending elsewhere, i.e., on goods, dining, or tourist attractions.

Also, there's no need for "post-yes" for AirBnB. They already have hotel taxes and regulations (which cover everything from major chain hotels to tiny bread-and-breakfasts).
sometimes called the "Playbook"
If you define "crumbling foundations" as "a dependency that is unreliable in the long term", then your conclusion is circular. Of course no long-term products will be built on crumbling foundations, because if a technology stack has long-term successes then, by your definition, it is not a crumbling foundation.

I think the other posters are using a definition of "crumbling foundation" as "one which most engineers hate, which slows them down through excess complexity". And by that definition, almost all successful projects are built on crumbling foundations, because the fact that the project was successful leads you to add features to it, and adapt it in ways that the original architecture didn't anticipate. This process only ends when the software becomes so complex that all further attempts at modification fail, at which point everybody hates the codebase and it is, by pretty much any definition, a "crumbling foundation".
Continuuity open sources Loom for devops on big data clusters
What Content Marketing And First Dates Have In Common
> I love this desk!!!!!!!!!

Somebody's been drinking a little too much buttered coffee.
yea, public uproar has been a huge deterrent on regulation in the past...
If someone is not to fuzzy about having the crossbar between the legs, scandinaviandesigns sells one at $439, and a bigger, no cross bar, and very good looking one at $879 (org price at $1099). Or go manual with single pivot lever with their $200 tiny desk one.

Or just look into craigslist for office warehouses where they usually sell used $1k ones for 25%-50% off (which is where I got mine).

EDIT: Just want to provide some alternatives for someone who wants/needs one now vs. waiting. I think the standdesk is a very good bargain at $399, I've signed up.
Hey! It's like my game! Have you played my version before creating yours?
https://play.google.com/store/apps/details?id=com.spiralcode...
Yeah, a full end-to-end explanation of how Docker can help you is one of the things we need to get better at. A full revamp of the documentation is underway :)

There's a book being written at http://dockerbook.com/

There's also a really nice online tutorial at https://www.docker.io/gettingstarted/
I hope you guys are successful, I would love a standing desk for $400
Well, I'm still confused.

Company A has a patent, Company B has a product that doesn't use said patent, Company A sues Company B anyway?

Or are you saying that Company B has a product that they think is original by having never seen the patent beforehand?

I'm just getting stuck on the idea of being in a patent lawsuit over a product, or no product I guess, that doesn't involve the company being sued for the patent in question.

As for the second point, a clear and precise patent on something obvious would be easy to use. You simply offer to settle and/or license cheaper than it would be to fight it in court, pushing the idea that invalidation is not easy and not common. It would pay off if you think of the long tail.

The vague patents are for going after the big targets.
Here is a link to the full BBC Newsnight report. The interview with the scientists starts at 6:27 mark

https://www.youtube.com/watch?v=um9TUFXkSsE

I fully support the UCL letter and despair of the Daily Mail. It is such a vile and toxic newspaper with no ethics or integrity (like much of the national British press).
A 3 minute read on Churn
Not the military, but if Tesla or someone else violated the law, it's no exaggeration to say that at some point law enforcement, i.e. armed personnel, would be involved. Of course, it's unlikely anyone would take it that far, but that doesn't mean force or the threat of force is not at work.
The problem here is that you and your government have different goals. The operator of the bitcoin ATM probably has no desire to know your identity or fingerprints but your government requires them to obtain it in the name of maintaining control over crime and the money supply.

Of course, placing the blame on the government instead of the ATM operator doesn't invalidate your observations, but it may alter your view of the solutions.
The level of incompetence and lack of basic structure and organization at these bitcoin "banks" is just shocking.

The biggest hurdle to bitcoin will be finding real brick and mortar "banks" that can reassure people that they understand security beyond trivial platitudes.

Few were comfortable with retail banking until Deposit Insurance was created.

Bitcoin will need a similar thing. Except nobody can provide insurance to companies built in a couple months by one geek on php.
To me Xtend seems like an ideal Java++. I actually like that it compiles down to Java.

The only hitch is that the Xtend is still very much a work in progress. It doesn't support inner classes and anonymous classes!
So you think that flying airplanes into buildings is just "political dissent"? If some terrorist were to set off a nuclear weapon in the middle of a city, that would just be "political dissent"?

I would certainly agree that states have lots of downsides. But I don't see how trying to stop people from flying airplanes into buildings or setting off nuclear weapons in the middle of cities is one of them.
Being compared to Bruce Schneier is quite a compliment. Thank you.
The no one gets access option requires that there be no collection in the first place. The technology used to access it doesn't matter that much.
Hmm standing desks have been the standard for office work in many years here in Denmark. You can buy them in any store that sells office equipment. Seems weird that would not be the case in the US. They usually cost from around $300 to $1000.
I have no problem with verbs in class (or module) names - I'd actually say we should encapsulate more of this "activity" or "verb" behaviour in single-responsibility objects, and not within ActiveRecord models.

Eg, a ConfirmGrouper.perform object (http://eng.joingrouper.com/blog/2014/03/03/rails-the-missing...)

Uncle Bob's talk gives good reasons for this pattern: http://www.confreaks.com/videos/759-rubymidwest2011-keynote-...

Basically, your data-persistence objects (ActiveRecord models) become more composable because they do fewer things and rely less on associated objects being present to work properly.

Your "interactor" objects which perform "verb"-style activities can also be broken down into very small units with single-responsibility and then composed with each other to perform more complex interactions.

Putting all of this logic into models makes it very very hard to break apart units of behaviour and re-compose them.

This is what I mean by "less coupled, more maintainable"