skysight-inc/HackerNews huggingface dataset:
I had a business conflict with Samsung about a decade back. In the end, it cost us nearly a million dollars and probably many times more than that in opportunity cost.

I found them to be extremely dishonest and, by reason of sheer size, very aware of the fact that they are able to virtually exist above the law. What I mean by that is that they have no problem whatsoever throwing their weight and money around to cause so much damage that you'd rather take the abuse and the loss instead of fighting them.

In our case, they had one of their top three US executives blatantly lie in court. I could not believe it. This guy repeatedly lied under oath and his attorney (a Samsung attorney) did the same.

Could we have won? Absolutely. It would have required a million dollars cash (on top of the damage they caused my business) and probably two years of being buried under an intense legal campaign designed to cause damage at every possible turn.

Here's an example of what they did: They filed for a broad TRO (temporary restraining order) to keep us from talking to any of their competitors at a time when they breached a contract and discontinued components we designed into a line of products over a period of about ten months of work. Components the top Samsung executives in the US helped select and vouch for.

The TRO covered getting within a certain radius of a trade show attended by Samsung as well as every single one of their competitors. The radius was such that we couldn't even park a car within walking distance of the convention center, much less come in and go talk to alternative component sources. A few weeks later the judge who oversaw the TRO chewed-out the Samsung attorney for resorting to such a nasty destructive approach. Still, the damage was done. You'd have to fly all over Asia to see the people we could have seen in a couple of days at the conference.

So, yeah, I've seen one side of this beast and it's nasty. Nearly killed my manufacturing company. I don't generally think of large corporations as evil but in this case I could be convinced to make an exception.
Are read-only transactions handled without contention? I understand that a read-write transaction needs to be aborted if a later conflicting write is committed. But read-only transactions can view a snapshot of what was committed before they begin - you trade a little bit of latency for being conflict free. It doesn't even have to be the default as long as you offer it as an option, you might want this if you know you are reading hot keys, or as a fallback if you've been aborted X times.

This was IMO the big innovation of true time in spanner - contention free reads at either now, or at some time in the past.
Aspirin is acetylsalicylic acid. When it's exposed to water vapor, the acetyl group comes off and combines with water to make acetic acid, which is the acid in vinegar [1].

This happens pretty fast. An open bottle of uncoated aspirin tablets can start to smell of vinegar in a day or two, depending on the local relative humidity.

If you smell vinegar when you sniff your bottle of aspirin, toss the bottle. Why? Well, the other hydrolysis reaction product (salicylic acid) removes the outer layer of the skin and is used, for example, to remove warts [2]. Not something you want in your stomach.

[1] http://www.kii3.ntf.uni-lj.si/analchemvoc2/file.php/1/HTML/S...

[2] https://en.wikipedia.org/wiki/Salicylic_acid
Does this release bring us any closer to a formal specification of Rust?
A while ago, as an exercise I decided to implement some of the more popular design patterns in Swift, using more real life like examples. If you're interested you can find it here:
https://shirazian.wordpress.com/2016/04/11/design-patterns-i...
Nokia to bring back historic 3310 mobile phone
Show HN: Elasticsearch learning to rank plugin
Currently dealing with a simple user database in a backend, Play Framework (Java) for a website. After reading this I'm worried doing this with EBean ORM is not good. Any advice/comments from experts?
How to (Scientifically) Pick the Best Domain Name
you're funny.
> No I don't.

And as I said, you might not, which is a totally valid opinion; and I agree with your last sentence. My point was just that the costs of IoT don't erase the benefits, even if you believe that they outweigh them.

As an aside, just off the top of my head, and not to say that you necessarily said anything to the contrary: ignoring potential costs, do you (or anyone else who wants to respond) see the benefits of a fridge that can tell you (or, if you want, the grocery store, or the delivery company) what you're running low on, or a coffee pot that automatically turns on when you're about to wake up or get home, even if that's not at a certain time every day, or a dishwasher/etc that can wait for off-peak prices before running, or a sprinkler system that won't water your lawn when there's rain expected later in the day, or a security system that let's you monitor your home and be alerted if there's anything unusual going on (e.g. movement when no one should be home), or an armed defense drone that can monitor the Internet for signs of an incoming zombie horde?
> Can you explain how exactly the U.S. has yet to "come close to" your list?

Show me a similar incident to the Chinese booksellers thing in America. Or anyone being killed because they represented the political opposition. Miles away.

But that's not even my point. My point is: read the links listed; I'm not traveling to those countries; I hope the world becomes less crazy. That's all!

> And while we're talking deflection, you are the one who took a thread about the US border and its impact on travellers and made it about civil rights abuses by the rest of the world

Huh? I posted some links above. People should read them and make up their own mind, in addition to the OP. It's not a "one or the other" kind of thing, not sure why it would be.
Have been using this for a couple of weeks and it looks really promising! It definitely feels like Heroku for deep learning!
> I had to learn Hibernate architecture, configuration, logging, naming strategies, tuplizers, entity name resolvers, enhanced identifier generators, identifier generator optimization, union-subclasses, XDoclet markup, bidirectional associations with indexed collections, ternary associations, idbag, mixing implicit polymorphism with other inheritance mappings, replicating object between two different datastores, detached objects and automatic versioning, connection release modes, stateless session interface, taxonomy of collection persistence, cache levels, lazy or eager fetching and many, many more.

Welcome to Java …

I generally find that an ORM makes easy things easy and difficult things indescribably hard or impossible. Honestly, the relational model is great, and it's worth understanding well. Frankly, if you're a software developer and you can't learn SQL … you're not really a software developer.
1.9 kilowatts is a sizable amount of power. In comparison a DJI phantom 4 consumes about 175 watts[0]. One could probably keep a decently large drone in the air indefinitely.

[0]http://www.drone-world.com/dji-phantom-4-specs
I wish there was a resource that goes over design patterns with more abstract concepts/classes. I found the example in GoF to be somewhat useful but at a certain point (near the middle) I got lost in the details.
Today's db optimizer builds a set of execution plans and chooses the best one based on "cost". Number of rows, memory access vs. disk access, and other things factor into this cost. Also, the higher the number of joins, the greater the number of plans. 7 joins would be 7! possible plans +. This has to happen fast, so db optimizer cannot generate every possible plan and pick the optimal one. There's a body of research to delve more into how it does this. The point is that the optimizer does real work, as fast as possible to generate the execution plan (they called this dynamic programming in one paper I read).

The LINQ interpreter on the client would have to retrieve the statistics from the server's tables and indexes of interest and perform the same operation as the optimizer (costing more network and some db cpu). Next it would have to send back the plan to the db executor in some way. This plan "marshalling" would cause more network traffic, requiring the executor to "unmarshall" the plan costing more CPU. This is less efficient than the current scheme.

Alternatively the LINQ language could be implemented on the database but with its own inherent difficulties, but in reverse.

Once a plan is cached and is reused, this inefficiency goes away to some degree. So there could be a possible mechanism for the server to send back to LINQ client a hash identifying the plan if it is cached and then have LINQ only send the hash with parameters to the DB on next execution. (You would have to see if this isn't covered by some patent of course!)

The constraint is the network connection. If the network connection between client and server were faster and bigger than the data bus on the computers, then it would change the equation significantly. But longer distances means slower communication all things being equal (lightspeed and all). So a network connection being better than the data bus would be inefficient and quickly remedied in a competitive marketplace.
There have been a series of pardons that probably should never have happened:

https://en.wikipedia.org/wiki/Pardon_of_Richard_Nixon

https://en.wikipedia.org/wiki/Iran%E2%80%93Contra_affair

The Iran Contra people probably helped initiate our present quagmire in the Middle East during Bush II's term:

Elliott Abrams served as served as Special Assistant to the President and Senior Director on the National Security Council for Near East and North African Affairs and then Deputy National Security Advisor for Global Democracy Strategy during Bush II's term.

John Marlan Poindexter got a job on Bush II's DARPA.

Duane Clarridge got involved as Ben Carson's foreign policy advisor during his presidential run. So these people are still tied to the White House to this day.
"raw sql"? SQL is not assembler.
SQL is a descriptive lang a few steps higher in the abstraction ladder from any algol-derived lang as C,java,etc.

If they had chosen to go with plain SQL, maybe the project would be finished successfully by year two.
"I looked at her “like a little girl” when we were having a conversation."

Almost all of the examples of 'having a hard time around other people' amount to their self perceptions not necessarily the authors actions.

It's impossible to 'look at someone like a little girl'. It's mostly likely that these people either feel insecure, or, they project certain qualities upon the author.

I have a very 'straight face' and because of lack of emotional response, people have asked 'why am I angry at them?' when I had not even a whiff of such emotion. I was literally deeply contemplating what they were saying!

Now - it there may be other tons of behavioural signals - and it's possible the author was treating someone as a little girl, i.e. not paying attention, being dismissive, condescending without knowing it - which would then give a different characteristic to that persons opinion.

And it's easy for someone to create feelings when a successful person 'pulls up in a Tesla'. Any hint at bragging/humble-bragging in any way might be taken the wrong way.

But it's a good article, at least it's good to have some self-reflection/self-awareness.
I understand why they do, but I don't understand why more developers don't learn SQL. _it's freaking easy_!!! I become the defacto SQL guy at every job I work because other people don't want to touch it for some reason.

I write SQL (or SOQL...ugh, Salesforce) virtually every day on the job (I do a ton of ETL in Ruby) and use it to give valuable business intelligence.

Constantly I see other programmers jump through all sorts of technical hoops to get things done that could be done in a DB query quicker with more accuracy and less mental overhead.

Just write your own toy ORM sometime. Copy the most-common functions of ActiveRecord. It's that easy. That's all it takes.
It depends a lot of the ORM. SQLAlchemy allows you to ditch the ORM when you need it. But instead of going back to raw sql, you just get a DSL like LINK, which is very flexible and can express most of the stuff you could do with manual SQL, while still retaining many benefits of using a wrapper.

It's my understanding that Hibernate doesn't allow this.

> Basically, if you are going to do quite a bit of SQL, any ORM will just in the way. Should be plainly obvious to anyone with experience.

This is the problem you see : a lot of project don't have somebody very experienced with SQL anymore. Because they need to know a bit of sysadmin, and front en dev, and deployment, and CI, etc. So an ORM helps a lot in that regard, and will help most projects because the problems it causes are smaller that the ones it solves:

- it forces people to put the schema, migrations and validation code in a centralized place.

- it let you reuse your API knowledge instead of having to relearn the stuff for SQLite/Postgres/MySQL/Access.

- it enforces good practices on security with data escaping and cleaning.

- it let you benefit from your language tooling (analytics, linters, completions, doc, shells) to write queries that otherwise would be plain text in the middle of the file for most people.

- it gives a structure to DB operations, so if you look for something, you know where and what to look for.

- it gives you an event system to decouple queries and their effect.

- it gives a common API so you can write easily libs targetting the ORM. This is why the django ecosystem is so rich : you can write an auth backend or a tagging system and know other people will be able to just plug it in.

- it comes with tooling: auto generated admin, forms and APIs, migration manager, paginators...

It does have a cost in perf and sometime flexibility. But for anything that doesn't have 1 million of users yet, it's worth it. Especially in a world where a daily salary can be more than a year of server time.

I cache everything anyway :)
I use ORMs (ActiveRecord in Ruby, Sequelize in node.js) but I strongly believe that the only way to correctly use an ORM is to have a strong understanding of SQL. The ORM is useful in that it makes some things faster to write, makes my code cleaner but I will often revert back to SQL for critical operations that I need to be fast and I also know enough about how the ORM writes SQL to make sure that it doesn't do stupid queries.

TLDR: ORMs are a good tool but must never be used to avoid learning SQL. An SQL knowledge is necessary to not shoot yourself in the foot.
This didn't seem snarky to me. I appreciate the comment. I'm sure it's very hard - and my comment about it was unnecessarily flippant. In fact I know my country has some unjust immigration policies, like skimming the cream from developing nations. They invest in educating people to become doctors, then we lure them here. I'm sure there's a lot of other stuff like this that would be easy to criticize.
This blew me away: "In both cases, I asked what the expected lifespan is for a West Elm couch like the Peggy. Both store employees told me that between one and three years was normal for a couch with light use."

1-3 years for a $1200 couch? Ikea warranties their couches for 10 years, which means you can reasonably expect them to go well beyond that. 1-3 years is ridiculously low.
In spite of explosive sales and growth, hours/day usage of tablets is declining.

Significant US Ownership Growth: http://www.pewinternet.org/2015/10/29/technology-device-owne...

Minutes spent using tablets:
https://www.wirelessweek.com/news/2016/03/death-desktop-65-d...

Sure, from a capitalist perspective it was a great product. It created an entire market and earned lots of revenue.

However, ownership more than doubled and internet usage stayed flat/declined. We succeeded at making people want something, but it was not something they needed.
There's no such thing as "pro-vaxxers".

Please, don't treat your audience as if we were stupid. This is the anti-vaxxer script...
Isn't your stomach already extremely acidic...?
> Palantir's is "Palantir Technologies is a mission-driven company, and a core component of that mission is protecting our fundamental rights to privacy and civil liberties", and they sell to the CIA so they can spy on you.

The CIA doesn't spy on Americans.
Welcome to the lwn.net subscriber gang! I'm an ordinary desktop linux user and have been a subscriber for many years. It has been, and still is, my go-to site for in-depth news on linux, whether on kernel matters or on the linux ecosystem.

I'm the one who posted this article and so far, I have not had any warning mail from lwn.net about posting subscriber only content. But I do take care to try to only post content that I believe is of interest to HN.
Meet Zealandia: Earth's latest continent
This kind of thing is why anyone who says the answer to all unemployment is "make a startup" shouldn't be taken seriously. Hell, the first thing they say is that they basically cut everyone but a couple people out of their life. Most people are not prepared to do that, and quite frankly, they shouldn't in order to put food on the table.
I have the opposite experience. In fact, I stopped using Priority Mail because regular First Class tends to be at least as fast, generally next day within 100 miles or two days almost anywhere within California... for 49 cents.

(First Class Mail package is a little over $2 for 2 ounces.)
Exactly why facebook forces you to use your real name. What if you don't have facebook?
Rust uses error values and its error handling is pretty terse (and more type-safe), so this is more of an indictment against go than error values in general.
I think ORMs are fine for greenfield CRUD apps done with code-first. SQL is the assembly language of the backend.
Man Reports Sensation in Missing Fingers Using Oculus Touch
I implemented some of the more popular design patterns using more real life like examples. You might find them useful :

https://shirazian.wordpress.com/2016/04/11/design-patterns-i...
This is what I think when I first saw the title. Is DDG profit making?
I think these are the short books herbstein was referring to: http://in1weekend.blogspot.com/
As far as I can tell this group was essentially the world's last human-powered compiler. Their job was to translate what was effectively high-level code[1] into assembly language.

That's cool and all, but your compiler probably has far lower error rates, definitely has much higher repeatability, runs in seconds instead of... years, and doesn't cost tens of millions of dollars per year.

The idea that we should be imitating them is laughable. Automated compilers were light years ahead even at the time.

Maybe one day we'll see an article about the high-level code was designed. Probably not though.

[1] '"Our requirements are almost pseudo-code," says William R. Pruett, who manages the software project for NASA. "They say, you must do exactly this, do it exactly this way, given this condition and this circumstance."' - they may use words like 'specification' and 'requirements', but generally those terms are indicate documents that tell you what to do, not what to do and how to do it.
How is any of this a counterargument to the article? And the hypothetical developer in it is a woman. And in their (again, fictional) scenario, they struggled with Hibernate for four years.
If you want your product to extend from the cutting edge to the mainstream, you have to consider good naming.
Keep in mind that google's mission evolved over the years.. but at the beginning, they still had a clear mission of making it easy to search the web (compared to the portals that forced you to their bullshit content).
Brand new project. I added them by putting the dependencies into the cargo.toml file (with the current version), is that how you're meant to add them or is there some kind of "cargo install" command?
For some reason people don't use the phrase " so you don't have to" when selling you on complete abstractions like higher level languages. I've only ever heard that exact phrase when someone is shilling an incomplete abstraction, which is funny because that is case when you still need to understand the lower level.

Everything in engineering is about trade offs. You bullshit detector should go off whenever someone acts like there are only pros and no cons. The phrase "so you don't have to" seems to pop up when someone is trying to pull to wool over your eyes.
Design patterns are patterns which can be used for designs. All patterns can be used for designs; "design pattern" as a phrase merely signals that the pattern was described in a certain book.

Functions are too simple and concrete to be patterns. A function is a mapping from one set to another. Even category theory manages to fully generalize functions several different ways without managing to define something as general as a pattern.

So, you might ask, what are patterns? Patterns are things which repeat somehow. That's it. There might be more to it, but I have yet to find it.

I'm glad that you like Lisp, but it's not the beginning nor the end of programming. For example, the Post correspondence problem is Turing-complete. So are Wang tiles. Where's your functions now?
Thanks for a great intro to the subject !
Yes, I totally agree. Yann LeCun, Geoff Hinton, Jurgen Schmidhuber and others did unpopular work for a long time. And they deserve tons of credit for their perseverance which paid off.

Similarly, I think it's great that there are AI researchers working on techniques which are currently out of favor. It's important to have diversity of viewpoint.

What irritates me about neuromorphic computing is that much of the work I see publicized (including the work in this article) isn't being presented as basic research on a risky hypothesis. Instead it's presented as the future of AI, despite the current lack of any demonstrated utility, and the almost complete disconnect between the AI researchers building the future of AI and the neuromorphic community.

The burden of proof is always on the researcher to show utility, and if the neuromorphic computing community can do that, I'll be super excited! Until then, I'll be waiting for something measurable and concrete, and rolling my eyes at brain analogies.
Is there a standard term for the tension that arises from people depending on the existence of the things that they get paid to mitigate? I've heard people mention the potential conflict of interest where anyone who gets paid to do something would lose their livelihood if that thing stopped being necessary, so in a sense we all have reasons not to want to solve things too well or too completely.

That's not exactly what you're talking about in each case, but it could be relevant.
Good example, but minor correction: Skilling is serving 14 years, resentenced from the original 24 years.

https://www.justice.gov/opa/pr/former-enron-ceo-jeffrey-skil...
Docker Plus Amazonlinux to Build Python Aws Lambda Package
"In times like these, the most important thing we at Facebook can do is develop the social infrastructure to give people the power to build a global community that works for all of ^us^."

'Us' includes: Three letter agencies, marketeers and other data gathering companies.
Why not just work with SML and focus on the compiler building part? Any particular reason to want to use OCaml?
Switch OS Walkthrough [video]
Also SK tried to impeach the president twice in the last decade. That's like two more than the US. In some ways it's a very democratic nation.