skysight-inc/HackerNews huggingface dataset:
> At some point, if your language(s) of choice are decently powerful and you are decently good at them, you don't feel yourself shackled by a lack of agility, expressivity, or capacity for producing something of quality. Rather, you feel fluent.

I consider myself fluent in Python.

But in my case, that was the extra reason to try to learn something new and different, and after searching for a suitable second language, I kinda settled for F#. (I have also tried Haskell, but never managed to move past some basic examples)
What Went Wrong in British Airway's Datacenter
Standard push/pull working from south-east asia :)

edit: seems like they are back
Daily! And I love it!
Assume strangers.

If it's a choice between him and me, I choose me.

If it's a choice between those ten people and me, I probably choose me.

If it's a choice between a n+1 people and me, I guess I've already done n, what's another one?

Acknowledging that there is a difference between being sent away to war and certain death. That there's a difference between 1 more person and a hundred. I believe that far more people than we'd like to admit would just follow orders.
Breaking changes in Swift 4
Fun fact: "less" means "without", not "fewer", which is what you meant when you said "less threads".
Granted, I specialise in well-sounding rationalisations ;) however, I do think it's true for some knowledge worker jobs that it's not just the direct knowledge we impart into a specific project, but the knowledge distributed within a company.

I know that I've learnt things from meetings where it's evidently a burden/"waste of time" for the party I'm gaining from, and likewise, am fairly certain I've delivered value to others when it's been a waste for me.

It might not be the best way of handling it, but some organisations are designed to work that way, and as much as we can try and mould where we work around us, sometimes it's just a different dynamic.
Combination of many reasons. See also OCaml. Not the main language of its platform. No killer app. Most use cases better served by other languages.

It's sad because F# is a fine language. Just not a popular one.
> This is the main reason why I feel that all conferences should pay speakers, even a small amount. Preparing properly for a talk takes a lot of time, and providing speakers some share of the proceeds from a conference is a way of offsetting the amount of time it takes to prepare and give a good talk.

I've organised a few conferences covering different languages and platforms, and there's two things which prevent organisers from giving more than a token sum to speakers.

1) Most of the "proceeds" from a conference come from an abundance of sponsorship for that year. For the community-organised, non-profit conferences I've been involved in, the per-attendee cost is often much more than what we charge for tickets. (This also depends on the overall sentiment within the organising team. Personally, I'm for charging as high as reasonably possible and offering scholarships and discounts where needed.)

2) The sponsorship climate changes every year, depending on the marketing budget of the various local companies, and the conferences that are taking place in that year. It's very important for conference organisers to maintain a healthy balance for the next year, if only to cover the large deposits that we have to put down for the various vendors.
IMHO in that age range, "proper maintenance" means that you'll replace most of the key parts over the next years.

The difference between maintaining and buying new is thus whether you buy the new parts all at once, or replace them one-by-one as you go..
I spent a bunch of time using F#, and it is good, but C# is a seriously good language and the advantages of F# kind of turned out to be minimal, and most annoyingly, not well supported by the tooling.

On the F# slack channel I asked what was the compelling reason for F#, why isn't it more popular, and basically there wasn't one. There's some stand out language syntax like computation expressions. The community is really good, but F# specific libraries are very quiet, web libraries like suave are ok, but kind of lifeless.

More interestingly, when I shifted a bunch of F# projects to C#, it was relatively straight forward. C# has enough syntax to do a lot of things functionally (though not as concise)
Right, but if you can compromise the webserver, you can get the key and defeat any application-layer encryption a PHP developer would have access to, thereby rendering any other threat models uninterestingly broken.

If you can keep the webserver secure, and on separate hardware from the database, you can protect against some attacks rather than no attacks. And if your database server is used by multiple verticals within a single company, this is an even more defensible design decision to make.
The outage seems to be resolved as of 8:58 EDT
Nice project page.

If only there was a tool/service to create such project pages automatically.
20:55 CST Everything operating normally.
...the free travel to the wrong side of the planet...

We prefer to think of it as the other side of the planet, especially recently.
Agreed. I have tried using F# in my company but gave up after a while. Reasons:

- it's hard to hire people

- most libraries are written for OO style so most code will be written OO style

- most sample code is written in C#

- C# is a pretty nice language. Does F# really provide an advantage?

- will MS abandon F#?

I really would like to see a clear case for F#. When you consider factors like hiring and existing ecosystem the case for F# is not clear to me.
These aren't your average consumer/gamer/enthusiast CPUs though. For what it is, the price doesn't look insane at all. And I'm concerned that AMD is not going to be much of a winner here because most people looking at these top-of-the-line workhorse CPUs are probably going to pick the better performer over the cheaper part -- they aren't exactly doing budget shopping.
Replying to myself: since this comment is so popular, here's a fully working version for node 8:

const util = require('util'),
fs = require('fs'),
writeFile = util.promisify(fs.writeFile),
request = require('superagent'),
stat = util.promisify(fs.stat),
sorts = require('sorts'),
log = console.log;

const getPhotosAndSaveThem = async function(){
try {
const response = await request.get('https://jsonplaceholder.typicode.com/photos');
const photos = response.body.sort(sorts.byKey('title'))
await writeFile('photos.json', JSON.stringify(photos, null, 2))
const status = await stat('photos.json');
log(`I got some data from an API and saved the responses at ${status.birthtime}`)
} catch (e) {
log(`Oh no, something went wrong!`, e)
}
}

getPhotosAndSaveThem()
Ask HN: How do you plan for your vacation?
Hi guys,

We're looking to understand more about how people plan for their vacations (i.e. well thought out? last minute? etc.) and thought HN-ers might have great insight.
Cache digest is a proper solution that will soon be standardized, it's not a cookie-based hack. If you need it today, you can implement it by yourself, just take any existing Bloom filter implementation.
St. Monday and the Sharing Economy
Sure, but is that a reason to force everyone else to do the same? The easier you make it to use a car in a dense place, the more people will do so, and the more people who walk and cycle will die.
Our experience with LiFePo4 is they are slightly cheaper at the cost of performance. If batteries make up the bulk of the cost of a BEV they would probably be the best choice for general fleet vehicles.
> I would encourage you to stick with F# as you will be further along in not only understanding FP, but other modern programming languages

Thank you for your kind words!

As I mentioned elsewhere, I have also tried Haskell, but I never managed to move past some basic examples. With F#, at least for now, it seems like I can more easily read/understand even more complex stuff (and one day maybe even write it by myself).
Funnel Analysis: Finding and Fixing Conversion Problems with Google Analytics
ERC grant to explore the potential of a sw solution for Computational Genomics
My bad, I studied it long back & did not realize that it was experimental physics. What I meant was I really liked the approach in the book, it made understanding concepts really easy for me. I don't do it really well understanding from theoretical principles & working upwards, instead going from application to theory works for me. As far as my interest goes, I am interested in mathematical modelling of social & biological systems, i know this might again be too broad but inputs will be appreciated.
In a discussion where one side freely makes stuff up as they go along and attempts to put the burden of proof on everybody else, I stand by these characterizations.

When someone asserts in an authoritative tone that quantum gravity is the key to unlocking consciousness at the heart of the universe, that is utter hogwash and deserves to be called out as such. You may personally not like my pointing this out, but the entire "field" of quantum consciousness is a religious movement that makes unsubstantiated claims about the nature of reality.

It actually is quackery. Redefining the term 'physical laws' to include magic in order to shield an opinion from criticism is actually sophistry. Insisting that spiritual convictions are factual statements about the universe is actual fundamentalism. These aren't bad words wielded to hurt someone, they are supposed to convey meaning.

I never meant to denigrate anyone personally. I strongly feel that opinions must be fair game though when it comes to criticism. In doing so suppose I must come across more harshly than I intended or maybe I'm just exceptionally bad at articulating myself. Whatever my intent, it's clearly not working out all that well. It's probably a good idea for me to take a break from HN for a while.
Yep. Now wonder what the issue was. Ghost in the shell?
Seems fair enough to me, though the article could do with a lead-in that explains what's being protected, the premise that the database server is a separate machine, etc.

Protecting the client side would be a completely different approach. Outboard/upstream tokenization or something. If it's directly serving up the sensitive data, there's no real way to leverage encryption for protection there.
On average my actual work load is between 3-4 hours including daily reports, correspondence, and meetings. The rest of the day is spent trying to look busy.

I wouldn't mind a 5-6 hour work day. That's plenty of time to get everything done and not feel like I have time bearing down on me.
Dozens of Venezuelans are murdered every day as a result of the Government's inability to maintain even the minimal facade of law in order in many parts of the country. I'm not sure how many people have to die, and how many others have to live in misery, so clearly caused by corruption, before the world acts against the leaders responsible. There has to be some standard, but I think that Venezuela has met it.
> At PyCon US/EuroPython everybody pays by default and the money goes towards financial aid so as many people as possible can attend. As a speaker, you can also apply for finaid of course.

Just to add on — here's the rationale behind it: http://jessenoller.com/blog/2011/05/25/pycon-everybody-pays
Didact: step-by-step guide to build your own React
Neither callbacks nor dependency injection are functional concepts, and implicit loops are pervasive in Ruby (and non-linear control flow in general). OO in Ruby is quite a long way from structs + function pointers.
Even if it is not the silver bullet for every scenario, it will still solve the need for in-lining scripts and styles, which is a big plus.
The idea is that you still do the 5 to 6 hours of actual work and replace the 2 to 4 hours of shallow socializing with gym time or hobbies or deep socializing with friends/family/kids.

At the very least you replace the 1 to 2 hours of commuting with the above.

Honestly, living across the street from the office, I'm pretty fine going into work every day. The 5minute commute is bearable.

My only problem is not being allowed to work from home when I have tight deadlines. I'm much more productive at home.
While I was doing .Net (up until a couple years ago) I really wanted to use F#. But:

- Microsoft had no real support for using it in web projects.

- Functional programming would be great for data transforms in SSIS but that wasn't possible either. You'd think with a common VM you could use any .Net language, but no.

Microsoft has always treated it as a non-mainstream language, saying "do the regular stuff in C# and use F# for the hard stuff." The problem is that C# isn't terrible for hard stuff, and if you spend most of your time using C#, then for you it's probably better.
In theory it would be possible to write a specification for a pure subset of JavaScript. But it's very important to acknowledge that this pure subset doesn't exist, and won't exist unless and until such a specification is written, to the point that it's possible to write an automated tool that can verify whether a given piece of code conforms to this specification. And if such a specification did exist, we would likely call it a "language" in its own right.

Once you write that language and confirm that your library conforms to it you can say your library is pure. Saying your library is pure before you've actually formally checked it is like saying your library doesn't have any bugs in before you've made any attempt to look for them - i.e. almost certainly a false, and so irresponsible to claim that it qualifies as a lie in my book.
How to Solve Problems and Test Ideas in 5 Days: Design Sprint 101
Reminds me of a buddy's 5 year plan. He owned 50% of a company that he bootstrapped to 8 figures in revenue; his co-founder owned the other 50%.

Here's his 5 year plan:

Year 1: work 4 days a week

Year 2: work 3 days a week

Year 3: work 2 days a week

Year 4: work 1 day a week

Year 5: cash cheques, spend time with his family, and do adventure sports full time
Been going on for a while - this is from 2007:

Vulture funds buy up sovereign debt issued by poor countries at a fraction of its face value, then sue the countries in courts - usually in London, New York or Paris - for their full face value plus interest.

https://www.theguardian.com/business/2007/oct/17/debt.law
Congrats, you've discovered entropy. The reason time seems to flow in one direction is only because there was an extremely low entropy state at the beginning.
Definitely agree! Ubuntu have tons of support all over internet. Virtually any problem has been already solved by someone on the internet which is incredible if you are beginner. As for lightweight version of Ubuntu I would recommend Ubuntu Mate.
Thats what google's top result told you right ? You should improve your googling skills.
كرتون نتورك بالعربية
They'll make electrics that don't stand out when there's a market for them. Toyota makes a Camry hybrid but the kind of people who buy hybrids still prefer to buy Priuses.

Although having seen them all in person, I actually prefer the design of the Leaf and i3 to the Tesla. They look a bit cheap but the Tesla looks... disproportionate(?) in person. Maybe it'd just a difference in US design taste vs EU/Japan.
I think there were some paragraphs about 'non-productive' communication with colleagues, like coffee or after hours drinks, in Marx.
I agree, "safety" is just the most common reason people give for rust rewrites, so I'm assuming that's part of their rationale.
Sure it's looking good to investors, but we, the Indian taxpayers (and domestic investors) are financing the losses incurred in the distress sales. While I understand that the Indian government and the Reserve Bank of India need to get India's banks to write down non-performing assets on their books, the interests of the Indian taxpayer and domestic investors need to be taken into accout. The Indian government needs to ensure that there is no disorderly unwinding of the debt markets that hurts citizens.
Reminds me of lambdas in Java 8. It's technically allowed to omit parenthesis for single-parameter lambdas (and tools like SonarQube encourage it), but I never do that, for the sake of consistency and readability.
Csvkit [0] has been my go-to for a while now. I never heard of XSV before, but I will try just about anything with BurntSushi's name on it. Ripgrep is an amazing tool.

[0]: https://github.com/wireservice/csvkit
HMAC is a keyed hash which renders simple brute force attacks ineffective unless the attacker is also able to compromise the key.

Even without the key the system is still vulnerable to frequency analysis. For example if it were used to store passwords an simple sort and count would reveal accounts that have common passwords which could then be brute forced using lists of the most common passwords found on the internet. The suggestion of using blind indexes for searching on partial values (i.e. the first letter of a name) would increase the vulnerability.

Even if the attacker doesn't have access to the key if the application is fast enough he may be able to brute force it by passing every possible value and seeing how it encrypts if the search space is small enough (i.e. common passwords).

Secure key storage is always a challenge and the suggestion that the key is stored on the application server instead of the database has some practical problems. The key in many cases will end up being duplicated in code repositories or build scripts which increases your vulnerability to internal attackers. A better system stored half the key on the database server and the other half on the application server which are then XOR'd to get the encryption keys which can reduce the number of potential internal attackers that could recover the plaintext.

Also when recovering from an attack in many cases it may be difficult or impossible to know how many systems were compromised. Without the ability to prove that both the data and the key weren't compromised in an attack an auditor may require that you operate on the assumption that the data was compromised with associated requirements for notification and penalties.

Banks long ago solved the problem of secure key storage with the use of hardware security modules (HSMs) where the key is stored and used on a secure, tamper proof device. This turned the problem of secure key storage into a problem of physical security which the banks were already good at rather than digital security. Where is my key? My key is right here.

These modules are now becoming more commonly used in the ecommerce space (AWS now provides them, for example) but they are still fairly difficult to work with. Some shops will used hardened/audited servers that run encryption/decryption micro-services instead.
Were they doing this before amazon had that major outage?
I like this. It's not as if Evan is a "celebrity" a priori - he writes good software, he travels and speaks, and Vue's success is in large part because of his hustle, as you put it.

This idea of "hustle as your new second job" is a better phrasing than my parent comment where it sounds like I'm implying that self-promotion is bad or somehow empty.

Becoming a personality is an excellent strategy - if you're known and loved you'll never starve.

I'm mostly trying to point out that time spent hustling takes away from time building. It's still valuable in it's own way, but many OSS devs (who have created software people find valuable and use) don't want to travel to speak at conferences to pay their bills.
Deadly as in absolute numbers, yes? Alcohol is the most popular drug, hence most die from alcohol. Imagine if 70% used heroin.
> it's hard to hire people

Many other commentators said something like this, so it seems to me that:

Not many people are using F#, because it's hard to find employer who needs F#. And employers don't seek for F# programmers, because there are too few of them.
Partially because there is Ocamal. Not that it is (or is not) a better language. But because it is older and was historically available on more systems and covers some of the same ground as a descendant of ML. Partially because of Scala which also covers some of the same ground...though not claiming as strong a tie to ML it has strong ties to the JVM.

Finally, there are many very good languages. Few are as a popular as Python...one might say even Python isn't as popular as Python, if you know what I mean...anyway, I'm not a big fan of the concept of "functional programming languages" because functional programming is a way of programming and most languages can be used imperatively or functionally and though some make it a bit easier than others most programming languages readily facilitate both. Once it was all the rage to talk about Python as a functional programming language (but making map/reduce/filter second class citizens in the past few years has hurt that story) and there are plenty of resources for functional PHP.
You have to admit he has better release management than 99% of the open source projects out there right now.
Are several, sort of. I think these kinds of pages are becoming more accessible to design and public with static site generators.
The US Air Force Wants Cheap, Disposable Killer Drones – Motherboard
> Seems fair enough to me, though the article could do with a lead-in that explains what's being protected, the premise that the database server is a separate machine, etc.

Okay, I've added a section that spells this out explicitly and unambiguously. https://paragonie.com/blog/2017/05/building-searchable-encry...
I've created an Amazon-style GitHub status page here: https://github.com/runeksvendsen/status

When you can't reach this status page, GitHub is down. Otherwise it works fine.
> Just so I get your argument straight, you're saying that launching a proprietary competitor to the standard means you're helping the standard?

No, I'm saying that launching a nonstandard solution to a problem without a standard solution or where there are discontents with the standard that are not being addressed is the usual way new standards are motivated, whether the new standard is based on the nonstandard solution or developed in reaction to it.

Standards (and even moreso, standards that are actually implemented rather than being mere paper triumphs) somewhat backward-looking rather than out-of-the-blue.

A commitment to standards isn't about not implementing nonstandard things, it's about engaging in the standards process to help get to a robust standard and then implementing it (replacing nonstandard solutions, if any) when it is clear what the consensus standard will be.

(And I use "nonstandard" rather than "proprietary" because standard/nonstandard is a different axis than open/proprietary.)

> Because then we owe Microsoft and Apple a shitload of thanks.

Well, yes, a lot of current web standards were originally either nonstandard solutions from Microsoft or Apple or alternatives developed in response and motivated by such nonstandard solutions, so, sure, they've driven a lot of the progress. I think they've generally been less good about (at last, slower) participating in standardization of an alternative when their original solution isn't acceptable to other players, but they have definitely been change drivers.
I lost decades of my life chasing the dream of making things glow (more specifically: general germline mutation based on engineering). I agree the glowing tobacco plant was a sexy introduction to gene modification. Unfortunately doing anything non-trivial and actually useful (beyond the 'hello world' of a glowing plant) is really challenging.
Valve Eyeing “Exclusive GPU Access” to Boost SteamVR Linux Performance
Seeing an interesting thing where my github issue comments just posted are apparently posted a short time in the future. http://imgur.com/a/eQSc9

Doesn't seem to break anything, but it is a bit curious. May not be new though...I just happened to notice it today.
This is what happens when a website gets compromised