skysight-inc/HackerNews huggingface dataset:
Farming is only 'hard' in a competitive landscape. If you have redundant food sources such as fishing or small game and a lot of high quality land it's a relatively low effort and low risk activity. It's only after your population booms and you need to subsist completely off of farming that it's risky.

Consider, vermin are going to take more of the harvest the longer it's around. But, if your only trying to cover winter months then even fairly small harvests can make a huge benefit which dramatically reduces effort.
I assume so: The only real issue would be BIOS compatability, so it might take some work, but it should be possible.
when everything is golden, it ain't worth much
> The main reason this happens in Python is that creating actual datatypes is incredibly clunky

It's not clunky, it's outright impossible. Datatypes are inhabited by compound values (data constructors applied to arguments), but Python simply doesn't have compound values. All it has is object identities, which are primitive and indecomposable values no matter how compound the object is.

Sadly, the same is true in Scala.
You should check out GNU Social and Pump.io. They are existing networks that achieve something very similar.
Uber, at least in the past, has been offering subsidies to its driver in many markets to grow its market share, Basically making up the difference between what customers are willing to pay and what drivers are willing to work for. The driver may very well be earning $25 for that $20 ride with Uber making up the difference.
As tantalor reminds us in a sibling comment, the named tuple works nicely in this role.
At many times, they pay drivers minimum amounts to enter the pool even if there might not be enough jobs out there. They also hand out loads of vouchers to promote the service. Plus lobbying, marketing, PR, etc. Multiply by however many countries they're in.
JSON is best when it's solely used for serialization (or config files).

Using it deep into the project makes no sense, the first step in handling JSON should always be to code it into native data structures.
But you don't have to send your people 1000 years away.
Top google result for "mock nbc twitter ban london 2012"

http://deadspin.com/5930153/nbcs-no-1-tweeting-critic-has-be...

Apparently his offense was publishing the work email address of an NBC division president.
All you need to do is use the `is` operator to see how even tuples (named or otherwise) are objects, not values.
I think this might be where tools like Flow or TypeScript can become useful, since you can have typed javascript objects.

On the other hand, the fact that there's no runtime typecheck renders static analysis somewhat impotent when it comes to the result of a network call.
Ok lets make a list of Socialist societies that formed through rebellion and the formation of popular governments? Its seems to be a Socialist trait that it cant happen without being forced on a population by intelligentsia. Is that fair?
Better article on this topic: https://mathiasbynens.github.io/rel-noopener/
They're Facebook's property. They have all the rights to grab whatever the heck they can find on you, to slice and dice the data for their advantage.

Stay two miles apart from their properties, if you do not wish to be touched.
Let's say you comment out some line of code in go and go complains about an unused import. You run goimports and it removes the import. If you uncomment out that line of code and re-run goimports, will goimports automatically re-add the correct import statement every time?
Neat. I rather like the idea, although these days any OS that doesn't target embedded systems and doesn't sport a web browser is instantly filed as a tech demo...
Technically, you can but you a limited time window.

https://www.whatsapp.com/faq/general/26000016

This is a dark pattern. In fact, once you say "Agree" you only have 30 days to opt-out.

> After you agree to our updated Terms of Service and Privacy Policy, you will have an additional 30 days to make this choice by going to Settings > Account > Share my account info in the app.

I can't see such an option on my phone.
Perhaps something like this? http://ethertweet.net/
They often guarantee drivers a minimum hourly rate to ensure there is a pool of available drivers for their users. If they don't do this, users will get frustrated at times and give up on the service.

They're essentially loss-leading until a few things happen:

- fuel prices drop away
- self-driving cars are available
- their competitors die out
Agreed. While to goal is noble, the description sounds like something written by 10th grader. I mean, com'on, are memes and GIFs are really among the most important things?
I've never had good experiences with automated serialisation -- even though it sounds like other people do it with success. What's the secret?

To give you a flavour of the kind of poblem: In C# (or rather .net) json.net reads JSON and calls setters from the target class.

That means the setters have to be public, and you don't know what order they will be called in, and you have no real signal about when it is all done. The constructor is no longer enough to guarantee the object's invariants are met.

Most awkward.
Using data to measure the current international state of banana-peeling
You'll find that a few on this list of benefits...

http://www.symbolics-dks.com/Genera-why-1.htm

...still aren't available in mainstream OS's despite being totally awesome. I particularly like how they came with integrated editor and source so an OS-related problem in app makes editor show you the problem (data or whatever), the source code involved, and a REPL letting you live-update it. Academics keep building prototypes that approximate any one of these steps to some degree for Linux or BSD. Not the whole thing, consistency, and production grade. :)
Isn't it good to go public until valuations are high?
I can not prove it, but I feel github/google and fb has something of a deal.

I communicated with a guy on github and gmail for a project, I got his recommendation as a friend on facebook. He lives million miles away from me, have never met him, have 0 mutual friends, yet there he pops up, since then I have never used facebook on my personal laptop.
This is a fun toy.

As our forefathers did program upon the metal in Zetalisp, now thou shalt program upon the metal in Common Lisp.

:D
New job milestones
Coupling your code to the JSON you receive over the web can lead to some interesting problems. If the system on the other end decides to make some change you are not expecting, it can lead to errors.

In JavaScript, a simple thing that helps is to use lodash.get and provide a path to the property you are wanting.

lodash.get(someObject, 'path.to.a.property')

If the path isn't there, the lodash.get returns undefined. This is much nicer than getting the error "Cannot read property 'to' of undefined" when "path" isn't there.
Awesome work!! Please release the source!
I think it should be called "digital hallucinations" - non-reproducible (but not totally random either) visualizations, renderings of some data gained from a device build according some biased and grossly oversimplified models. It might have strong correlation with micro changes in blood flow or biochemistry, etc. but obviously have nothing to do with thoughts.
Anemic objects and whether they are harmful or harmless has been debated in software engineering for long.

I find over-relying on encapsulation more harmful than useful nowadays specially if you are going to write scalable software that are inherently distributed. For example, hiding accessing a database behind a simple getter function makes another programmer ignore performance implication and other issues that may arise.
If you've ever tried jrebel or even the default hot swap feature on the JVM the edit-and-continue feature feels like a bad joke though. Any non-trivial change requires a restart, and you are forced through a series of distracting button presses and dialogs any time you want to use it.

In Eclipse (for example) you just start typing code, (none of this silly locking the IDE while debugging stuff), and the debugger will update the running program instantly. With jRebel you can even change things structurally without restarting.

Oh how I would love an actually working hot swap feature for .Net.
I get that, I just wondered whether it's technically possible (with supported git operations, not hacking down at FS / byte level).
Fluxbox is great though.
faceboook
When I was last writing C++ (awhile ago now) this was a great environment to do so, the autocomplete and var color hashing were pretty fantastic.
http://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:120...

Charter of Fundamental Rights of the European Union

Article 8

Protection of personal data

1. Everyone has the right to the protection of personal data concerning him or her.

Article 11

Freedom of expression and information

1. Everyone has the right to freedom of expression. This right shall include freedom to hold opinions and to receive and impart information and ideas without interference by public authority and regardless of frontiers.

Article 13

Freedom of the arts and sciences

The arts and scientific research shall be free of constraint. Academic freedom shall be respected.
Wonder what were the revenues from the monetization of collected data?
Let's have a talk about copyright, at least, in our societies, instead of having laws and persecutions just pushed on us from the top, in batches?

I don't see any democracy in observing how this system works, only sense of entitlement of the minority.
This is why using phone numbers as account identifiers is a bad idea. (For the users, at least. Not necessarily for the companies who want to own those users.)
Looks like http://hooli.com/ :

"We're more than the sum of our collective accolades."

"We're bigger than our innovations."
A file input (dropzone) management component for React
Ok, there is no _practical_ algorithm that would matter for a keyspace this small. Assuming they are hashing the values at all, I think it's pretty unlikely they are using a high work factor KDF...
Seriously, read the book instead of repeating nonsense: https://realworldocaml.org/v1/en/html/functors.html
Just did a bit of digging, seems there are two ways:

https://www.whatsapp.com/faq/general/26000016
So we just need references? Let's all switch to XML (just kidding) or YAML (maybe not kidding)!
Uber is wildly overvalued. If there was a reasonable way to short it, I would. Heavily.

They're building an airline. It will stabilize as a large business with minuscule (at best) margins.
Then you don't have principles, you have exorbitant prices for your labor. Principles can change, yes, but if they do so only because there is a reward involved, then you are no different than my cat near dinner time. In fact, my cat may have more principles as he wont stop puking on the rug no matter the bribe I give him.
Agreed, human equivalent AI is probably several hundreds of years off, at best. but we don't need anything that sophisticated to trigger an "overlords" scenario.

I'm picturing something like a very good legal AI, being abused by a foreign state's hackers to ensure the incarceration of political opponents, in preparation for a coup. We're not far off from that being a plausible scenario now, but if we all had the benefit of a personal legal AI, or access to a collective legal AI, then it would be a lot harder for anyone to use the legal system against an individual opponent, as a simple weapon.
https://www.change.org/p/european-parliament-save-the-freedo...

The above petition had an effect on European MEPs.
You only need a parking lot with cleaning staff. As soon as it was detected that the car needs to be cleaned it will automatically drive there. Should be much cheaper than paying drivers full time. And in most cities finding employees shouldn't be that hard.
Ok, but this comparison seems a bit unfair since there are tools to "type" words faster like Swipe-to-Type. I mean, it has been literally years since I typed continuously character by character in the old-fashion way (there are always words that are not part of the dictionary and you have to type them character by character).

I have even found that it's faster for me to switch the language of the keyboard and keep using Swipe-to-Type than typing in the classic way.
WhatsApp's New Privacy Policy [fixed]
Do they actually collect anything that Google could not infer purely from location and time data?
Maclisp came from Lisp 1.5. Code was simply ported to Maclisp. Some Lisp 1.5 code runs mostly unchanged in CL.

Maclisp shared code with Common Lisp. For a lot of stuff there was a single code base at MIT for several Lisp dialects, including Maclisp. After some time Maclisp development ended and sharing ended. For example the source code for the complex LOOP macro was at one time a single file for Maclisp, NIL, Lisp Machine Lisp and Common Lisp.

People ported programs from Maclisp to CL by changing them or by translating them with tools, not by rewriting them.

There were also code bases which worked both in early Scheme and CL.

Emacs Lisp has a huge CL subset and even includes a version of CLOS. Since both Emacs Lisp and Common Lisp are coming from Maclisp, both languages are very similar anyway. Basic operators are the same, differing in various details - like dialects often do.

Common Lisp had Interlisp compatibility packages, while Interlisp was still used. There were translators, too.

Xerox had Interlisp and Common Lisp integrated in one Lisp.

Kent Pitman wrote an ISLISP compatibility package for Common Lisp.

There are compatibility packages for Portable Standard Lisp, which allow the unchanged use of PSL code in Common Lisp.

etc etc

There is zero code sharing between Lisp, Clojure and Racket. Compatibility with the Lisp 1, Lisp 1.5, Maclisp, Common Lisp, Emacs Lisp, CL, ISLISP, main line of Lisp wasn't a goal for Clojure and Racket. That's fine. They got rid of historical baggage and could design new languages.

Basic rule: if a language has LISP in its name, there is some chance that it actually is a LISP.

People usually name their language LISP something, to give the impression that the language is compatible with Lisp. They use different names, when the language is different: Scheme, Javascript, Logo, Dylan, Clojure, ...

Take a Lisp 1.5 manual, look at the function index and check which functions and special forms are provided. If most of those are absent (or doing something different), it's not a Lisp: append, atom, car, cdr, cond, cons, eq, eval, intern, list, load, map, member, pair, print, read, prog, quote, reverse, return, set, setq, trace, ...
For crying out loud, you don't have to build an object hierarchy around the thing (although it would make sense to in this case), but at least have the common sense, or the sense of shame, to abstract away data lookups into separate functions. That's data structure abstraction 101.
And every other Lisp community.
Or scrub your HN post history of old content. Even Facebook lets you go back and (one by one, painfully) delete all your old content all the way back to day one. Of course they're probably soft-deleting everything, but they provide the ability.

Funny irony that Facebook gives me slightly more control over my content than HN!
I think the two ways most likely to trigger an HN discussion on the topic are:

1. Build a prototype and post it as a "Show HN". This has the advantage of moving toward the desire to write one.

2. Post an interesting article [or articles] about the topic.

A variant of 2 is to post a self-authored article[s]. Writing articles probably has the advantage of furthering understanding of the problem more so than just reading about it.

Writing about or prototyping are more likely to produce previously unconsidered technical information than a question because of the internet's natural tendency to produce 'You Are Wrong' comments.

Good luck.
>You can speak to a real person, but can you dictate to a person while they're typing?

Isn't that what secretaries and court-room clerks have been doing for over a century?

Besides businessmen, also lots of succesful (print) journalists and writers in the 30s to 80s had personal assistants that they dictated their articles etc to.
"on a mobile device". Talk about tying your hands. I'm sure on a real keyboard with a competent typist, there's still no contest - the typist will win.
You mean a cataclysmic planetary flood every so often. All that ice suddenly exposed to continual bright sunlight is going to melt fast.
No one is claiming that a random event (?) occurs the exact same way. They just use statistics, based on some known factors and yes, a lot of guesses.

We know how stars form, how galaxies form, how solar systems form. We know the general consistency of the galaxies around us, and some systems in our same galaxy. It's not a big leap to assume that some percentage of them will be hospitable (for a time) for life, at least life as we know it.

I'd say the arrogant views are that the whole universe was created for us, or that life must be thoroughly plentiful throughout the universe. The least arrogant view is that it's somewhere in-between, but more importantly, to always adapt to the latest evidence.
The problem at least on iOS is that at least the last time I tried it it doesn't recognize when I'm switching languages for some words. This is extremely annoying when asking for a song with an english song title.

Another issue is that it doesn't recognize my dialect. I don't want to talk differently just so a computer understands me.

And last (this is also an issue with autocorrect!) it doesn't like at all when I'm using nonce words. I feel like the cause is that they seem to be not as common in English as in German, and compound words are usually written as two or more words instead of one.
Big disclaimer for me was that dictation was faster than typing on iPhones. Doesn't look like they even used swype!
Is Elon Musk the next king of trucking?
Johnny Cab in Singapore
> Its seems to be a Socialist trait that it cant happen without being forced on a population by intelligentsia. Is that fair?

No, given the evidence, it's not fair. You could say the exact same thing for Capitalism.

Please. Now you're just being purposefully insulting.
> Formalism aside, it seems like it's most useful in practice to think of type as defining what can be done with a value.

That might be a simpler way of explaining it, since "proposition" is rather abstract. Or perhaps, a type defines the valid state transitions your program can undergo at any given point, ie. given the data in your program (the program state S0), the types of all of that data define a set of valid transitions to another data set (program state S1).
Building a Fun Ethereum Game (illustrated programming tutorial)
The thing is, though, would those be allowed by style guides at the enterprise companies where C# is most common?

The C# style guide of a former employer of mine (an enterprise C# user) forbids both of these snippets because of the unbraced statements in the former and the LINQ and lambdas in the latter. But admittedly I don't know what's common among C# users, so maybe they were in the minority.
This is a good article:

https://stevebennett.me/2012/02/24/10-things-i-hate-about-gi...

> Once you understand Git's data model, the UI is perfectly intuitive

So it's not intuitive at all.

Not to mention that every damn command is inconsistent with every other command! To remove a file, git rm. To remove a branch, git branch -D. To remove a commit, git reset --hard HEAD^. How is this intuitive, consistent, or even sane?

"I understand git" and "git is easily understandable" are completely different. Git is not easily understandable, at all.
WhatsApp has always said to take user privacy seriously. It's been one of their arguments of being a subscription-based app instead of free when they were not owned by Facebook yet: they didn't want to show any ads.

Now, this pretty much sums it up:

> Another change is potentially more controversial: WhatsApp says it will begin "coordinating" accounts with Facebook by sharing WhatsApp users' mobile phone numbers and device information, such as the type of operating system and other smartphone characteristics. The company says Facebook will employ the phone number internally to better identify WhatsApp users on Facebook, so it can recommend friends or show targeted advertising.
I don't understand it personally. They sort-of remind me of how the US brought cable TV to the UK. There was huge investment on infrastructure and an amazing service. The funding ended, service declined but that infrastructure, which was decades ahead of anything else still existed.

Uber is similar, but anyone can set up a taxi service. Their own taxi drivers can even do it. Existing competitors can take over when the discounts disappear. It just doesn't make sense, it's like a pyramid with no foundation.
wonderful, a successor for whatsapp is now getting its chance. Everybody i know was using gmail for sending messages, and then they did a few awkward redesigns and told us that we should not expect too much in terms of privacy [1]. Whatsapp got its chance and promised privacy and integrity - and everybody started to use WhatsApp instead of mail (still they have to store the messages on the server for delivery and don't tell you for how long they do that). I guess new startups that do messaging get another chance.

[1] http://techland.time.com/2013/08/14/google-says-gmail-users-...
Taxis are craaaazily expensive in Japan. (The quality of service is high though, which perhaps you were referring to.)
First forays: Multi-camera spherical video
> Technically, you can

Technically you can't

The Facebook family of companies will still receive and use this information for other purposes such as improving infrastructure and delivery systems, understanding how our services or theirs are used, securing systems, and fighting spam, abuse, or infringement activities.