skysight-inc/HackerNews huggingface dataset:
> but the conclusion seemed to be that the proof technology wasn't so advanced and supported

That depends on the tool. OpenJML[1] just uses SMT solvers, but if you need bigger guns, Krakatoa[2] lets you use either SMT solvers or a proof assistant (either Isabelle or Coq).

[1]: http://www.openjml.org/

[2]: http://krakatoa.lri.fr/
They should reindex their archive of tips. I was baffled by the jump from tip 1 to 55 to 77.

Edit: the indexing is explained in a note on the site.
>The industry is expanding rapidly.

The industry had two major contractions, in the 80s and aughts that it still hasn't recovered from based on CS graduation rates.

https://www.geekwire.com/2014/analysis-examining-computer-sc...
What do you like better than Java & what do you miss? Is deployment not a problem? Any efficiency gains?
Hi everyone, this is my first chatbot. I made it in php with the awesome botman.io framework (really recommended!).

I created this bot because polls are useful but terribly boring, so I decided to change a bit the voting strategy to make it more fun. I believe you never seen such a voting strategy in polls apps.

The bot is currently available for:

- Telegram: telegram.me/PixideBot?start=join-nLD6O

- Facebook Messenger: m.me/pixideapp?ref=join-nLD6O

Please let me know your thoughts, it's the first release so I'm very open to feedback!
Thanks
But I hope whoever does the calculations for you doesn't decide to sell safety barriers from roads because nobody died on them.

I was objecting to the idea that having nobody dying on a project being a bad thing because it implies overspending on safety.
Yet fertility rate in South Sudan is a staggering 4.9 vs 1.8 in USA.
I don't like to be so negative but UEFI feels like a step backwards.
A/B Testing – You’re doing it wrong
This is why I'm always reluctant to sign up for 2FA, opting instead for long randomly-generated passwords and a password manager when I care about an account. Google/FB having my phone number is way worse than someone hacking my crappy FB profile or spam-catching Gmail account.
HN is for very serious discussion, there is no room for humor or irreverence here. And to those seeking enlightening discourse on highly complex technical topics, I say to you . . . it's not exactly brain surgery, is it?
If you're interested in the whole concept of Roman epitaphs, I can't recommend enough Death in Ancient Rome by Valerie Hope [0]. It is a fascinating perspective on the culture of the Roman Empire which demonstrates ideas that were important to them in a way that couldn't be known otherwise. I read loads of books on the Roman Empire, but I could not put this book down. I read it in a very short amount of time. If you only buy three books on the Roman Empire, this should be one of them! Also, you can click on this link confident that it's not a stupid referral.

[0] https://www.amazon.com/Death-Ancient-Rome-Sourcebook-Sourceb...
> 1. Use Bulk Operations

> If you need to insert a lot of rows at once in your database, you really should not use execute. The sqlite3 module provides a way to bulk insertions: executemany.

Note that this is actually part of DBAPI 2.0[0], so pretty much every Python database driver should have an executemany(). Worst case scenario, it's implemented on top of execute() and you get little to no benefits (that's the case for psycopg2 currently[1]), best case scenario it can use much more efficient methods (seems to be the case for sqlite3).

> 3. Cursors Can Be Iterated Upon

That is an optional extension but part of the DBAPI 2.0 spec as well[2], and most drivers should implement it

> for row in connection.execute('SELECT * FROM events'):

The return value of execute() is spec-undefined, so beware that specific method, it is absolutely not portable, neither is execute/executemany on the connection object.

> 7. Use Placeholders to Interpolate Python Values

Warning: the actual placeholder is driver-dependent and not portable, you can query the driver for the preferred param style[3], you can also ask it for its thread-safety guarantees (the sqlite3 module advertises module-level thread-safety but not connection-level let alone cursor-level)

[0] https://www.python.org/dev/peps/pep-0249/#executemany

[1] http://initd.org/psycopg/docs/cursor.html#cursor.executemany

[2] https://www.python.org/dev/peps/pep-0249/#next

[3] https://www.python.org/dev/peps/pep-0249/#paramstyle
The index is related to when the tips were published internally at Google, and are not re-indexed for the sake of those who have already seen them
> However, they're working on a new standard that will finally allow you to store private keys securely.

Could you link to some more reading on this?
I don’t know about the others, but the Amazon claim is basically useless. It’s like claiming “As seen on NBC” when it was a Sunday 4am mention on a Sioux City affiliate. Maybe one in 500 teams (optimistically!) uses Clojure. Many of the Clojure code bases I saw while there were either deprecated or were functionally zombie services.

Amazon also uses Fortran, Assembly, Awk, Mosel, VBA, K, and Bash, but nobody is going around claiming they have much usage on real world projects.
Okay, we get it. Medium inserted a paywall. If we really wanna discuss that, can someone submit a story on it instead of posting top level comments here?

Meanwhile, what do people think of the actual article?

I'm really intrigued about exonerating drugs, but I'm way too scared to switch out my sertralin with shrooms or LSD
It works in a manner which encourages secession for regions which generally hold distinctly different political opinions than the rest of the country.
They're not. They will be using Abseil.
The Raptor has fired more but it is also not finalised in terms of design. The BE-4 is full sized and they don't seem to intend any more changes in the design.

Really the New Glenn competes more with Falcon Heavy then BFR. They are designing a New Armstrong rocket that will be more in the BFR class.

It will be very interesting, in 2020 we have planned New Glenn, Ariane 6, Vulcan and BFR. Falcon Heavy of course will have been flying for a while by then.
You sound like a reasonable person
mostly javascript, but I had a very similar experience in ruby and python. The main challenge was maintaining projects developed by other people.
"which lowers overall insurance costs by factoring in the vehicles' Autopilot safety features"

Are they saying the autopilot makes the care safer? Hasn't the opposite occurred? [1]

[1] https://www.ntsb.gov/news/events/Documents/2017-HWY16FH018-B...
Yes. I considered the distance but before spending more money on switches I don't really need, I figured I'd try with the base next to the switch. Didn't work reliably there either. So I'm not going to dare buying more nodes.

Is there any standard that isnt mesh based? Hub and spoke with lots of power like wifi seems much smarter.

Seems like complete idiocy to use a fragile low power mesh network for something that a) has to have 99.9999 reliability (like lights) and also has unlimited power (2kW+ available at each node!!) like lights.

The reason I went with zwave was because of the need to work behind an existing switch. For sockets it would have been much easier with 433-plugs.
The primary reasons for choosing a particular language for your application server usually come down to developer ergonomics, developer availability and library availability / integration for your specific domain. Performance rarely comes into it; performance while scaling into astronomical request numbers is important for top web sites, but most app servers don't see that kind of load.

Even if some requests needs crunchy CPU power, it's better to offload them into something asynchronous than try really hard to make them perform well enough to be synchronous. Typically, hefty CPU jobs come in varying sizes, they're rarely guaranteed to be runnable under the 200ms or so latency bar for synchronous requests.
They do: https://caniuse.com/#feat=cryptography
It’s also non-free (and under a license that is distinctly not made for code.)
Another benefit not already mentioned is home security. Getting some cheap zigbee window/door/presence senors, I was able to completely set up a home security system for < $200 by myself. That's about an order of magnitude less than existing solutions. Granted its a self-monitored solution, you could just as easily pay for a monitoring service afterwards.
Summary: Except for auto dealerships, retailers don't use personalized prices.

What a terrible article:

1) Its first example of "personalized pricing" isn't actually personalised: it was the result of an A/B test.

2) It says 'Outsize profits can be extracted from “top of the demand curve” customers' when, in fact, the top of the demand curve is normally when price is zero. The author seems to acknowledge this as they reference 'the downward sloping demand curve highlighted in Economics 101'.

3) The only convincing example given in the article is that of 'auto dealerships', which are the least typical retailers there are. People hate going to auto dealerships, but they love doing other types of shopping, in-person or online. Part of the reason is the personalized pricing (and process of haggling), but this has existed for many years, and the rise of the internet has actually made it easier for consumers, not harder, to get a reasonable deal.

4) "A key question is whether personalized pricing, on the web or in-store, is ethical." A better question would be 'How do retailers use personalized prices?'. That's the question I thought would be answered, given the title. The author's answer seems to be "Except for auto dealerships, they don't".
Looks like I missed that point in your original post. Seems about right. I think I was led astray by your last sentence about the skills.
No. Perhaps in a couple of cases, but on average, I believe it has shown to be safer.
I think the more likely reason rates are lower for Teslas is that they log everything happening and send it remotely to Tesla. If someone gets in a wreck and is at fault it's going to be a lot easier for the insurance to see this and deny non-comprehensive coverage.
> direct link http://yattell.com/index/article/read/id/122

I wonder if this embracement of opensource is prevalent in China or if this is out of the norm. It seems to me that widespread opensource projects would level and accelerate developments for everyone with China having more to gain.
>I think Google had something like string_view by 2009 at the latest, using C++03 compilers.

Yeah, StringPiece

http://google.github.io/google-api-cpp-client/latest/doxygen...
One of the price advantages that Blue has over SpaceX is that they will fly with LNG rather then pure methane.

Edit: Will New Glenn also not use a third gas for pressurisation? Like BFR?
The future belongs to Google and Facebook
Illusory pattern perception predicts belief in conspiracies and the supernatural
I worked exclusively with statically typed languages for about a decade before moving to Clojure. I've been using it for about 7 years now professionally, and haven't found dynamic typing to be a problem. If it was I would've gone back to using a static language a long time ago.

I think dynamic typing is a lot more problematic in imperative/OO languages. One problem is that the data is mutable, and you pass things around by reference. Even if you knew the shape of the data originally, there's no way to tell whether it's been changed elsewhere via side effects. The other problem is that OO encourages proliferation of types in your code. Keeping track of that quickly gets out of hand.

Clojure embraces immutability, and any changes to the data happen explicitly in a known context. This makes it much easier to know exactly what the shape of the data is at any one place in your application.

Meanwhile, all the data is structured using a set of common data structures. Any iterator function such as `map`, `filter`, or `reduce` can iterate any data structure, and it's completely agnostic regarding the concrete types. The code that cares about the types is passed in as a parameter. Pretty much any data transformations in Clojure are accomplished by chaining functions from the standard library together, with domain specific code bubbling up to a shallow layer at the top.

There's also the culture of using Spec and Schema in Clojure, so you often have assertions at the interface level. For example, there's ring-spec https://github.com/ring-clojure/ring-spec/blob/master/src/ri... providing the specification for Ring.
I agree with you that it's not necessary or meaningful to "name drop" companies that use some X technology as an indication of its worth. Languages and tools don't need a massive following by enterprise to be incredible and revolutionary. It's like a really good movie that didn't have a large audience but was nonetheless really awesome for those who did see it. That's a lot like how I think Clojure is.
Disaster data and imagery
You’re over-thinking it, I think. All you need to do is provide a service that makes the E-commerce website think you’re not a big spender: geo: live in a poorer neighborhood, and age/gender/preferences must be the most optimal for you not them. Each experience (as they call it was pre-defined and pre-build).
This might sound crazy but my remote dimming hue lightbulb is probably my favorite purchase all year - more than my 55" 4k tv and new gaming computer.

Light dimming alone is a huge improvement but the ability to start a movie or go to sleep without needing to get up to turn off the light is really great. Believe me I was just as skeptical as many people here.

All the other options I tried before the (admittedly more expensive) hue bulb were either clunky/big or unreliable.
I have to say I agree. I came to Go from functional languages (primarily Lisp), so you'd think that the "Functional Options for Friendly APIs" pattern would appeal to me, but I've never seem an implementation that I've actually liked to use.
Maybe the concerned workers could lay the groundwork for their own future and enact change themselves by putting ‘culture fit’ aside and become proponents for older employees.
Bit off topic. The article mentions a book about ants. Any ideas what it is?
It still certainly doesn’t make it illegal to vote. This constitution merely tells you what’s a valid referendum and what isn’t. It’s not against the law to participate in an “invalid” one.
I think it’s possibly an age thing. Java really _was_ pretty slow in the mid 90s, and the reputation has never quite gone away for people exposed to it then. People only exposed in, say, the mid-noughties have less reason to ever get that impression, though.
In the other comment thread [0] there are links [1] to a piece describing the finding of "thousands of discarded foot bones of butchered antelopes unearthed at the site".

Prior to reading that I was also highly skeptical that it was used for capturing wild antelope. Assuming it's truthful it seems pretty strong evidence though.

[0] https://news.ycombinator.com/item?id=15525409
[1] https://news.nationalgeographic.com/2016/08/desert-kites-out...
1,000 requests per second for a hello world micro service is horribly slow. I don't know what architecture they are using bit ~100,000 / CPU for simple requests is completely reasonable making this test very dubious IMO.
You don't even have to use Emacs nowadays. Atom has lisp-paredit and parinfer package, VS Code has paredit, Cursive has a structural mode, and so on.
The largest left truncatable prime
I setup a solution for spam that lets in 0 (zero) spam emails a month. Without having a spam filter :)

If anyone would like to try give me an email address.
> It’s also non-free

Not true. And if there something you don't like about the licensing, it would be more constructive to begin by asking the author privately if they'd be willing to change the license terms rather than complain about it on a public forum.
One issue here is that it’d really be more appropriate to run the test twice and take the second result. This should get most JITing out of the way.

It’s hard to be sure what’s happening given the lack of source code, but 1000 requests per second where the request doesn’t do much is a fairly minor load for a well-written java service on modest hardware. I would expect the ‘lightweight’ java example to do better, assuming it’s just jetty or something.
Page moved?
Since you couldn’t discredit them, apparently I don’t need to look for better ones.

I myself don’t see any particular reason to question Lord Rennard.
Explicit recursion is rarely used in FP, and it's often a code smell. It's almost always better to use higher order functions instead. The advantage is that you can implement a particular transformation once, check for edge cases, and reuse it from there on. You also end up with declarative code that talks about what it's doing without distracting your with implementation details.

Clojure has a rich set of functions for manipulating data such as map, filter, reduce, and so on. There are also libraries such as Specter https://github.com/nathanmarz/specter that allow you to declaratively transform complex data. I highly recommend watching this https://youtu.be/rh5J4vacG98 short video to see how it works.
This is a common compiler optimization. It says little about a language, just the compiler in use.
Hi :)

I feel your pain here and just wanted to let you know how common this is for programmers who initially try out Lisp for the first time. As others have alluded to, I promise this initial "parenthesis shock" goes away rather quickly as you read and write Lisp code. In my direct experience, I have hired junior developers straight out of a coding bootcamp who were able to pick up ClojureScript in their first week using Sublime Text with no editor extensions. In other words: you can definitely do this; it's not magic.

I would strongly encourage you to check out Parinfer [1]. Parinfer makes indentation "significant" so you never have to worry about "closing the parens". Basically, if you can handle Python or CoffeeScript indentation, you can handle Lisp. There are no hotkeys to learn and it is available in most common editors today.

For a first project I would recommend rewriting something you have already written and are familiar with. That way you can focus on just the language and not worry about the problem domain or "how to solve it". Just do a 1-to-1 port of something you've already done and compare how the two solutions are the same or different.

I'm sorry you are being downvoted and being told to "just use emacs" or "use the REPL more". IMO, these are not helpful suggestions for someone new to the language.

Good luck. You won't regret learning Clojure. One of the best things I have ever done for my career.

[1]:https://shaunlebron.github.io/parinfer/
As an arachnophobia Something about looking at spiders really disturbs me at some fundamental level. but I'm extremely fascinated by their biology still. Is anyone else similar?
> return value ... undefined

I much prefer treating cursor.execute like list.append. Mutation methods should return None to emphasize their impurity.
Some quick feedback on this:

* Consider extracting things like the headers hash to a method.

* For things like "search_ingredients_by_name", you'll want to either properly escape the query parameter before interpolating it or use the HTTParty API that passes query parameters separately.

* Review when to use an instance variable vs. when to use a local variable. Code like that in "get_pairings_for_ingredient" is going to fail in unexpected ways when running in a threaded server - two simultaneous requests could be manipulating "@pairings_array" simultaneously.

* Your mock response for "pairings" contains data that the documentation claims isn't there - in particular, the "name" field. The API docs suggest that all you get in that part of the payload is id & href.

* Related: your mock responses don't specify a "Content-Type" so HTTParty doesn't know to automatically parse the body as JSON. Live responses will set this header.

* Consider returning objects rather than primitives. Magic index values - like "id" and "name" - are a sign you probably have structured data.

* Not sure if it's a convention or enforced someplace, but the usual convention for naming ENV vars is ALL_CAPS_UNDERSCORED.
Insurance as a business relies a lot on past actuarial table data to draw up algorithms to price the premiums. It contains factors like gender, age, occupation etc and the car, which is the highlight here.

If insurance companies do find data supporting the fact that these cars are less prone to payouts, due to Autopilot, they will decrease the premiums. So I am confused what is this whole "car insurance world upside down" all about?

The interesting is this:

> "If we find that the insurance providers are not matching the insurance proportionate to the risk of the car then if we need to we will in-source it," Tesla CEO Elon Musk said in February.

So Tesla as a business recognizes the cost of car has gone up due to insurance and might be actively working on subsidizing the costs.

It can either by paying some part of insurance or providing data on crashes. If it is latter, you have to wonder what kind of business Liberty Mutual is running. Any company will always say their wares are safer but it's up to the insurance companies to collect data and verify.
Ask HN: How to get people to talk to you?
Getting feedback and iterating is well understand to be important for getting a product to success. It relies on taking to industry people, potential and current customers and your network. Yet in my experience getting people to talk is outrageously difficult. I’m starting to believe there is a phenomena of deep fatigue around responding to anyone about anything.

By talk I mean respond in anyway: email, social media etc.

There are three groups that I expect to have different success rates:

1. Cold outreach. I expected this group to be the toughest and it is tough. I’ve discovered that even if you only reach out after extensively researching a person and know they will have at least minimal interest in the subject, don’t expect a response, like almost ever to any question (remember this is not sales, just an ask for a question or feed back). Some business books suggest if you just reach out people will be happy to talk. Nonsense in my experience.

2. Users of the product. You have a customer using the product but want to find out what you’re doing right and what you’re doing wrong. Or you have a user who spent several hours using the product but hasn’t been back for a while. You want to know why. My expectation was that these people would be more keen to talk but the response rate may actually be worse than the cold outreach.

3. Your LinkedIn and direct social media contacts. This group includes people you have worked with in person, sometimes for several years. Not friends or family but certainly well known colleagues who definitely know who you are, what your face looks like, your voice, what you like to get for lunch. Expectation is these people will definitely talk. This one is the biggest shocker. They don’t! They ignore messages as if they don’t even know you.

Anyone else seeing this? Have you discovered you were making a big mistake with your approach and changed this up? We have more ways to communicate than ever but no one’s talking.
> Use actual statistics — Do not rely on simple 1 on 1 comparison metrics to dictate what works and does not work. “Version A yields a 20 percent conversion rate and Version B yields a 22 percent conversion rate, therefore we should switch to Version B!” Please do not do this. Use actual confidence intervals, z-scores, and statistically significant data.

This is my key takeaway from the article. So often the desired outcome is to move a needle without being specific about what a degree of movement means.
yup me too