skysight-inc/HackerNews huggingface dataset:
C++ cannot be covered by package management in the same way interpreted languages are. The problem space is vastly more complex. It starts with optional language features that often get get disabled in projects (most often RTTI and exceptions), continues with incompatible ABIs between compilers and even compiler revisions and does not stop with the presence of sometimes countless compiler flags for optional features and dependencies.

For all of these reasons it is not possible in the general case (the one that package management needs to target) to simply distribute binaries.

Linux distributions are not a working example here because the libraries are built for the use of the other packages in the same repository. Needs of third parties are never considered because finding library configurations that work for the packages in the distro is hard enough.

A platform independent package manager for C++ must effectively degrade into a build system that rebuilds all dependencies from source. And it must allow build parameters for each step to be defined by the dependent libraries or programs, so that the result is something that can be linked together successfully.
If you followed the Wikipedia link there were 5 imitators listed, and the current story makes 6. These are the ones that got enough coverage to warrant an entry. I know personally an EMT who responded to a call of one person who tried this over Lake Tahoe and "crashed" into the lake, but it wasn't in the papers or in the Wikipedia article.
Yes, I am aware. But to me it seems like a clear flaw in the current law.

Just like if you always fine people $100 for speeding, then average folk will generally adjust their behaviour and millionaires will be able to race around and not give a f*.
I would perhaps agree if this was about desktop rather than web...
Oops, sorry about that. Turns out that YouTube hijacks cmd-C on a Mac. :-( I fixed the link.

Here's the corresponding paper if you don't want to sit through the video. The puzzle is presented in section 3:

http://www.flownet.com/ron/QM.pdf
Why people put money in certain things is always a discussion, well the financial markets are better representative of people's opinion. Right now it is couple of billions in market cap. I agree with you and I'm very skeptical. But they at least seem to be doing something. What about 100s of other cryptocoins, just look at their github repos - nothing at all and they're worth hundres of millions(atleast as of now).
Early Modern Texts
Wunderlist for tasks... Onenote for notes.
> Any doctor who can be shown to have given addictive opioids to people that aren't terminally ill should be investigated.

Opioids are a good choice for end of life care, but they're also useful in other situations, such as acute (short term) pain - post operative pain for example.

They're not a great choice for chronic (long term) pain, but even then they can be used carefully.
No idea. I’m not advocating that position.

There are enterprise use cases where docker makes sense if the app support people are less impossible to deal with than the SAs. But you don’t have that issue in cloud.
I strongly disagree that it is a temporary store of value. People are much more likely to store wealth in fiat rather than gold. We are also quite happy to denominate long term debts in fiat currency.
The "idiot's explanation of P=NP" that refers to "easy" or "practical" is at this point fairly well established as disproven. It's possible for P=NP, but for that to happen, the algorithm pretty much has to be completely impractical.

To summarize the argument in more general terms: the class of algorithms in P is those where you can derive some global property in terms of increment local decisions. For example, building the shortest path between two nodes in a graph can be done by always picking the closest node. By contrast, NP-hard algorithms have the problem that incremental local decisions don't let that happen: you might need to recolor an entire optimally-colored subgraph to admit a new node.

Furthermore, we know from research that there tends to be a very sharp transition from P to NP-hard in terms of transformation, where relaxing a single condition goes straight from P to NP-hard without any intermediate "we don't know where there is" space. This tends to suggest that it's not really so much a question of problems being P or NP, but rather of instances being intrinsically easy to hard.

The question of P=NP then is really about whether these hard instances are really exponentially hard, or can we embed them into a simpler instance using some combinatorial construct that merely makes it look exponentially hard. So it's still possible for P=NP, but the practical question of "will we get an efficient, guaranteed for all instances, solution to these problems?" is answered in the negative. When you do the combinatorial embeddings to make the polynomial time algorithms work, you end up getting constants that look like 3^2^2^4, and there's no way to shrink those constants to practical ones.
Please, I hope no one reads your comment and becomes discouraged by it, because it is absolute bollocks.

You have value past 40 and can continue to advance in your career. Take heart and don't listen to anyone that tells you to sell yourself short.
Some of what I'm seeing isn't "try harder" but "look elsewhere." Youth may be prized at start-ups and white-hot companies like Google. But most computer jobs are at companies that aren't about computers: banks, hospitals, schools, etc.

There is no shortage of gray-haired people at my job. My sysadmin just retired. This was a sad day for me, which brings me to my other point: it's dumb to prefer youth over experience among programmers.

Programming is a design job, not grunt work, as Martin Fowler said (https://www.martinfowler.com/articles/newMethodology.html#Se...). Designers get better with age. Would you rather have Frank Lloyd Wright in his 20s or 60s?
What happened to the readability of code? This looks dreadful. I am sure there is a way to come up with a better syntax without sacrificing the type safety aspects.

fn main() {
let my_str: Rc<RefCell<Box<MyStruct1>>> =
Rc::new(RefCell::new(Box::new(MyStruct1)));

my_trait_fn(Rc::new(RefCell::new(Box::new((**my_str.borrow()).clone()))));
my_str.borrow().my_fn();
}

I come from a Python/Java world and I remember when I first delved into embedded MCU programming in C/C++, it was a cognitive overload and a half. I think we need to take a step back and while I understand the differences between high level languages (Java/Python) and C/C++ having the burden to allow for low-level programming; readability aspects of code often gets the lowest attention.

If we, humans, spend so much time writing/parsing code through our vision system, programming languages need to take this aspect seriously and optimize the syntax over readability than expressivity.

I recall Kernighan's "The Elements of Programming Style" where he talks about making the code more understandable than "clever". The syntax of a programming language directly facilitates (or impedes) this idea.

Edit - Everyone seems to keep pointing out it is a contrived example. Yes, I agree but the syntax has nothing to do with making the contrived example even more difficult to read?
All opioids are addictive. Doctors have to weigh the risks against the benefits, just like they do for any other treatment.

Do they err in the direction of over-prescribing? Probably. But to say that opioids should never be given to anyone who is not terminally ill would be to err in the opposite direction.
Ireland, which is actually mediocre for bike infrastructure and has its own issues (the church influencing schools among them) but on the whole is a much friendlier place than the US.
None of this was surprising and just a matter of time

What I was more surprised about was how much slack people seem to give the daughter, she’s not 12, she’s graduated from college and married
The relevant chapter from 'Category Theory for Programmers.'

https://bartoszmilewski.com/2015/01/07/products-and-coproduc...
Apologies! I meant to include a comment pointing out the error (as Thiez writes, it should be length, not size), but that somehow didn't make it into the comment as published. I blame my sub-editors, can't find the staff these days.
> then your matrix is allocated on the heap not the stack, meaning slower operations

This doesn't seem right at all... Does anyone know more? Maybe they meant slow to allocate / deallocate? The author's problem appears to require you to generate a lot of temporary data and then throw it away. They might benefit from just writing their own pool allocator, so they don't have to wait for heap allocates (assuming that's their problem).
1. Hire a lawyer.

2. Hire a lawyer.

3. Hire a lawyer.
https://standardnotes.org

I either use an "ideas" tag in Standard Notes, or have 1 pinned note called "Ideas" or "Journal" that I constantly make updates to.

This is an app I've been building for over a year now. Benefits are encryption + cross-platform sync.
Didn't people use google reverse image search to defeat the image-based recaptcha a while back?
Putin Targeting People with Cyber Attacks
I prefer the OAuth way of authenticating. Let me secure the primary account, and federate the authentication with them. Less passwords to remember, and the OAuth token can be revoked in case of a security breach.
This permeates the whole system of education. Apparently, for a long time (And I sure hope this changed), doctors were taught opioids aren't addictive if the patient is in pain. See e.g

http://edition.cnn.com/2016/08/25/health/us-surgeon-general-...

This makes you wonder how many professors at medical schools also go on nice holidays paid for by pharma companies or lobbyists.
We've been using a variation of this for the "customer dashboard" part of the website (we make desktop software).

The login page defaults to "email me a login link", but once they get in, the customer is given an option to set up a password. If they do, we drop a cookie and then the login page defaults to the password-based form. If they don't, they keep seeing an email-based form.

https://imgur.com/a/1D84F

The bonus part is that the "Forgot the password" form is essentially the same as "Email me the link", so it's possible to pack all three variations of the form into a single page:

https://i.imgur.com/kBNBsd0.gif - pardon the ghosting, it's a gif encoding artifact.

We had this up for a couple of years now and it works really well.
Or, you know, is for people who enjoy the humor, in all parts of the world (I'm in Europe) and could not care less about pretending to be "the smartest person in the room".

Not sure about today's episodes (have lost touch), but that was certainly true 20 years ago when we were watching the seasons 1-10 or so.

In my experience people criticizing others for being "pretentious" etc. usually can't fathom anyone liking anything that's either not entirely mainstream or having any second level of reading.

Heck, those people would accuse someone reading e.g. literature (something that billions all over the world have done for millennia) as "pretentious" (as if anything above Stephen King is some kind of crime).
> Consequences ? You can’t use Rust arrays to represent a matrix bigger than 4×8, how useful is that?

I went and Google'd "rust linear algebra library" and immediately found https://nalgebra.org which can represent such matrices just fine, and even integrates with LAPACK. Did the author do this most cursory of research before springing to write their rant? This is like saying "Python fails hard at scientific computing" because the default list type isn't an efficient basis for representing matrices, while entirely ignoring NumPy.

Also, those are memory slices, not arrays: they aren't pointers to heap-allocated data. So [[f32; 9]; 5] corresponds to a contiguous block of memory representing a 5x9 matrix of 32-bit floats. It has the same memory structure as [f32; 45], but you can index it as eg. my_matrix[3][2] to access the element in the 2nd column of the 3rd row. Again, I guess it's much easier to bash something than try to understand it.
Yes. Each time you start a container, you are basically saying “make clean” as well.
"But muhhh faaaamily is on Facebook"

scary dystopia they're addicted to
Let me explain, since most of us are software developers, we would be inclined ( naturally) to do software projects. But in my opinion software is a relatively hit or miss - yes people do make it big, but many also fail. When it comes to software projects you are competing with smart people. Compare that to say farming, it is much less of a hit and miss, or so it appears to me.

Now I'm not entirely averse to software projects either and there could be a sweet spot - for example maintenance of legacy systems. But the point I was trying to make is that one must be willing to look outside of the software world.
Show HN: SecretStaffroom – workplace reviews for teachers
What are the best places to visit for tech around the world?
I want to visit places with the best tech in the world.
The Istanbul Derby
There are quite a few comments skeptical about whether this would actually prolong life, but that result is not the only possible benefit. Even keeping our same lifespan, but not picking up age-related diseases, aches and pains, and blindness would be a huge benefit to older folk. (And I mean those of us in our 40s and 50s, who already curtail activities due to aging, not just people over 80.)

Seriously, having been though some health problems, and seeing how much your quality of life can suffer, I think some people would willingly take a slightly shorter lifespan for increased quality of life as we age.

Are these drugs the answer? I have no clue. But the direction of the research is encouraging, no matter how long we all live.
Google Keep still does not support markdown does it?
There's a line and it depends on frequency of usage. If I login at least once a week, I will remember my password. There are, however, plenty of systems that I log in to far less frequently and consequently reset my password every single time. Reset requires an email confirmation. In that case, using the email link as the authentication is just steering into the skid.

Edit: I'd also suggest it's pretty easy to support either option for users with different levels of engagement.
Because people currently pay for VPNs, and Orchid effectively provides some of the features of VPNs, with the added benefit that there is no central VPN provider who logs your (meta) data and sells it for profit.

And as Orchid is a P2P market place with no middlemen or fees, it should find a market equilibrium that is more efficient than VPNs, with a lower price per data relayed.
i always like solutions that start with "just make an app". Especially if the problem is about convenience.
Sundar Pichai Promises to 'Drop Everything' to Fix Cheeseburger Emoji
What a password is: a key

Why we use a short text key: to keep it [most of the time] in meatspace, outside the domain of most attackers

What email tokens are: temporary keys

Why we don't use them: 1) they don't work offline 2) they require access to multiple networks 3) they can be intercepted easily 4) delivery is not efficient or guaranteed 5) they can be used for parallel attacks

Many sites don't control use of email tokens with things like security questions or a second factor, which makes it easy to use email as an invisible vector of attack. If you're going to remove passwords you need some additional authentication methods.
> You may be able to guarantee this with a VM but you certainly cannot guarantee it with a container.

Don't group all container implementations into one category. You could certainly use FreeBSD Jails and Illumos Zones for isolating apps.
I use the Clear app on iOS. Simple, means I will use it a lot, and I do.

If I need to voice memo, then I just use the stock voice memos app.
Workflowy! The nested bullet structure is so simple and quick but powerful. If ur a vim head there is also vimflowy.
nvALT on the desktop with its text files being in a synced Dropbox folder (so you can access them on mobile through another client).
So most people in China seem to have come to the conclusion that the status quo of having filtered access to the internet of the Western world is preferable to actively fighting the regime that implements these filters (which comes with significant risk, obviously). You want to try make this compromise impossible, so that these people, bereft of their preferred choice, "snap back" at their government. After all, this is obviously the better alternative to the decision those stupid obedient Chinese people made, and one that wouldn't even affect your personal well-being much apart from some potential economical turmoil.

I'm glad that it is ridiculously unlikely you "win".
Ok, NSA... you're not fooling anyone.
> Kubernetes was built for Google's use case, in Google's environment. Attempting to use it with other restrictions and requirements is a nightmare.

That's a tremendous overstatement. The first part is just wrong, as was pointed out in earlier responses. The second part just smacks of your having been soured by a poor experience. We started with kubernetes in production at very small scale, just a few supporting services to begin with since there was a lot to learn. Currently we're running five or six of our core production apps on the GKE version of the platform and the experience has been very positive.
> schedulers like Kubernetes can also use your CPU and RAM limits to schedule containers. As far as I know, there's no equivalent tooling for doing this with fat binaries.

I much prefer the Docker and Kubernetes world, but you could actually do this (scheduling and bin-packing fat binaries) with Nomad's exec driver:

https://www.nomadproject.io/docs/drivers/exec.html
Do western China. Part of Tibet is in China.

There is also a sketchy panda reserve that will let you hold a baby panda
I am going through the rust by example thing every weekend and also trying to write some Rust code on my own and I found the 'too much symbols'/unreadable code and just the general complexity of the language very off putting.

If I have to write low level code, I might just stick with C or C++ - the devils I know rather than trying to tame a new incarnation of the devil that is Rust. The complexity and learning curve costs of Rust far outweigh the benefits at this point.

Edit: If I sounded like I am giving up on Rust above, that's not yet the case. I am currently enjoying challenging myself to learn something complex and to that effect, Rust is holding my interest.
A diary in Workflowy, per project. The diary is distinct from to-do list (for that I have a separate section in Workflowy, called Projects, and a smartphone to-do app for next actions).
Just?

Also, the only application that should have an actual access to your mail is your client.
Have you considered looking for remote work?

I think remote jobs are a lot less fussy about age:

https://weworkremotely.com/
How do you send a reminder to yourself in the far future? How do you verify your own assumptions if they are not validated with future data?

I bacially want this guy, as a Service.

https://www.xkcd.com/725/
Please don’t do this. I have used sites that do this and the inevitable 30 second delay in receiving the email is infuriating.
Draftsend – Dead simple voice-over for your slidedecks
The breaks are unpredictable, kinda dope.
>normal back pain

I assume, definition of this phrase would be the point of contention .
I wish the HN community would collectively decide to downvote posts like these, which reward people who use clickbaity titles to get attention at the cost of hiding more careful analyses.

The post can be summarized as a critique of a programming language that did not meet the author's desires, but sections of the critique is (1) dislike of the syntax, (2) a specific missing feature, and (3) a very specific feature which doesn't exist in any of the popular scientific computing languages. It's fine to talk about not liking a tool, but it doesn't merit "fails hard".
The normal practice in most other places (which doctors should be automatically investigated for, if systematically diverging from) is to only prescribe the most potent opioids in exceptional cases such as to terminally ill cancer patients.

This seems to work pretty well.

EDIT: added "exceptional cases" - this can be other cases than just cancer, see e.g reply
Explain how a single murder-er is more dangerous than someone who has killed thousands of people and undermined the medical professional overall.
While certainly not the most readable example I'd like to know how much you've used rust? If you don't know the syntax of a language it often looks dreadful.
It's more complex than it needs to be; there's no reason to put a Box there, for example. (Even though the blog post is from April, it links to a SO question from 2015, where that Box was necessary, but as of Rust 1.4, a few months later, it is not. This info is in the comments of that answer.)

It's also very unclear why they created an entire second Rc rather than just cloning the first one, as that's the point of Rc.

Compare:

fn my_trait_fn(t: &MyTrait) {
t.trait_func();
}

fn main() {
let my_str = Rc::new(RefCell::new(MyStruct1));
my_trait_fn(&*my_str.borrow());
my_str.borrow().my_fn();
}
I'm working on https://buckaroo.pm a package manager that builds from source and focuses on reproducible builds.

To accelerate the build we support caching and sharing artefacts

Would love to hear your opinion on that
It is kinda obvious that you should make multiple passes at recognition with jitter and dithering.
Does someone have a summary. This page is intolerable.
Even if you build fat binaries, it's helpful for them to run in a container for a bunch of reasons:

0) security
1) container overhead <<<< vm overhead
2) better bin-packing because of 1
3) enforce resource constraints (I know what your app
requires)
4) enforce 12-factor app patterns, build apps that don't rely on local state
Did you try the book? Just curious.
Ask HN: What phone should I buy?
Hi HN,
I am looking to buy an Android phone. I don't need it to be the latest greatest thing with the best camera or anything, I'm looking for a simple phone that satisfies the following requirements:

1) No bloatware

2) Will be supported for 2+ years (security updates, OS gets upgraded, etc), strong preference for 3+ years]

3) Has a headphone jack

That's about it. It seems really hard to find a phone that satisfies these requirements, or am I just looking in all the wrong places? It doesn't need to be insanely cheap, I'll spend a few hundred bucks, I just feel like I'm getting ripped off spending $800 on a premium flagship phone when I don't really need the latest greatest thing.
Why hasn't the local sheriff's office seized that billion dollars like they do for anyone suspected of handling street drugs?
How and Why to Speak at Tech Conferences
I'll bite: such users are more likely to want to run an Orchid relay or exit node, with default settings, than actually use Orchid to access the Internet (source node).

Internet users who may be less technical and may not care about surveillance or Internet freedom would still be interested when they hear "hey if you install this app you get a few $ (worth of tokens) per month just for sharing your bandwidth"
The niche here is that they get to bake the costs of things like rent and taxes out of the cost of goods sold.

I’m sure that these places get to skimp on safety regulations and other external scrutiny. If a kitchen only has a little space heater, there’s almost certainly a bunch of other shitty behavior that is probably illegal. If it’s mobile, I have no doubt that they “forget” to record revenue on the production side.
There are a lot of operations per line in that code. I would expect anyone interested in maintainability in any language to not write code like this. I don't think this is representative of Rust.