skysight-inc/HackerNews huggingface dataset:
I'm from Magdeburg and both the experiment and Otto-von-Guericke is known to everyone here. Apart from places being called after him (like our university), there are hemisphere statues all over the city. The experiment is also repeated/recreated from time to time on bigger events. I still did not expext my home town to ever appear on HN frontpage :)
Yes, still wrong if the police ran it. I think that in the end, the fate of the world is more likely to hang on how much people can trust each other, than on having even fewer assassins.
> you're just trusting the network initially

Yeah, let’s “just” trust random strangers’ computers to tell us the state of financial system. What could possibly go wrong.

If you don’t understand importance of “don’t trust, verify” than you shouldn’t have anything to do with cryptocurrencies (or cryptography for that matter).
SmartNotes mobile application Get it Now
Power, DAC'S and headphones are pretty much all that matter when it comes to sound quality. Power matters the most. "You don't understand the power of naivety, placebo effect, dreams and stupidity composed (multiply all)." Its not that simple.
"Dividends are Tax free from the UK for 10 years, 20% on local income. EU passport if you spend 500k on property"

https://news.ycombinator.com/item?id=18165995

As an anecdote, Madonna is nowadays living in Portugal. Media says the reasons are the Lisbon sunlight and her son wants to learn soccer.
Are systematic reviews neutral?
> Lending is a two party interaction.

Actually, it's not. Borrowing money is the sole responsibility of the borrower, who decides how much money he wants to borrow based on the impact it will have on their finances.

For a loan to materialize, the borrower needs to be aware of how much it will cost him and for how long he will have to repay or service the loan.

That's all the borrower's responsibility.

Only after the borrower is aware of the immediate and long-term impact of his actions will the borrower petition a lender to execute the loan. The lender's only role in the deal is to double-check the borrower's assumptions to ensure the borrower is actually capable of keeping his word and pay back the money he is borrowing.

It's also extremely disingenuous to criticise higher interest rates as they are a safety mechanism that reflects the borrower's ability to repay future loans, and are supposed to act as pressure to dissuade the borrower from digging himself into a finantial hole.

> You shouldn’t just blame on party of the two party interaction.

That's simply wrong on so maby levels. The only part who holds any form of responsibility is the borrower. He's the one making the decision to ask for more loans being fully aware of his financial situation and the impact the new loans have on his cash flow. He is the only part of the arrangement who actively petitions for the deal and has full and complete access to his economic state. The borrower is the only part who has the legal power to sign on the loands. The borrower is the only part who actively seeks the loans and actively engages with each and every single lender in the world to fulfill his desires for more debt.
Good DACs and ADCs are useful for recording studios who have a lot of analog outboard gear (where the signal leaves and enters their digital setup multiple times). But for normal listening where there are only one or a few conversions, the point of diminishing returns is pretty low.

Most of the perceived gains in quality of higher end equipment (DACs, Amps etc.) come from the higher voltage of the outputs (where you connect your speakers and headphones), this translates into an increased loudness/volume level.

So if you want to do blind tests between different kind of equipment, you have to measure that voltage and make sure it's equal across different pieces of equipment (you can adjust in realtime by volume knobs), otherwise the louder one will always win and perceived as higher quality.
>a company pays you so little and there are almost no other employment options available for you and you can't afford to lose your job with that company; that's basically slavery.

Cool political story, but it doesn’t line up with the current realities of the current labor market. Unemployment is very low and this is finally resulting in some upward wage pressure as well.

>most of that money ends up directly in the pockets of large shareholders

This is a senseless statement. When it comes to dividends and buybacks, all shareholders get paid regardless of their size.
Virtually no Fußgängerzone in Germany has that, but it might be worth consideration for lack of better alternatives like public transport.
1.3 tonnes.
In Switzerland (at least where we live) parents are actively discouraged to bring kids to school or pre-school. The kids are supposed to get there on their own.
It’s not true that IPv4 is unobtainable, you can e.g. apply to become a RIPE member & LIR to obtain a /22 subnet of addresses. The cost is in the several 1000 €’s per year if I remember correctly. You can equally well try to reach out to an existing LIR and rent addresses from them of course. Not sure if that corresponds to your definition of “owning” IP addresses but as a LIR you can theoretically hold on to the addresses indefinitely.

More info: https://www.ripe.net/participate/member-support/become-a-mem...
Submitting this mostly because of the slide "The amount of energy needed to refute bullshit is an order of magnitude bigger than to produce it".
>Not everyone treats messaging as the async thing it is.

But, but, but, it says 'instant messaging' right in the name.

You should reply the _instant_ you get MY message!

Unfortunately some people have the same attitude even towards email...
What’s unstable about bitcoin apart from the price obviously?
What is wrong with centralization and why should you care
I should corroborate your anecdote with my own.

We did two games, one over-provisioned on metal, the other on auto-scaled cloud based infra.

The cost is significantly higher. We ended up with a hybrid to control for cost. But our needs are long-lived sessions which does not fit the elasticity of the cloud model well.
Of course this says a lot about wine tasting and the claims made by connoisseurs about their wine tasting abilities.

It's the kind of information that's a bit too upsetting though, even for non connoisseurs to want to accept.
$100,000 Canadian is $75,000 American, which is about the average teacher salary in my wealthy US city ($70,000 to be exact).
Cracked – Download APK for Android – APKDom
Why does it have to be the most extraordinary thing? The article was really surprising to me, and it made me feel less bad about my own gaps.
The problem is determining where the line lies between teacher/instructor bribery and worthy lesson to learn.
No you don’t. You only need to know consensus rules. You can use any software, you can build it yourself, you can order an audit, you can write software yourself.

Proof of work committed to the chain that is valid according to consensus rules you know is universal and objective measure that everyone will observe equally.

That’s where bitcoin’s security comes from and that’s how you can avoid to rely on trusting third parties.
The correct solution is for the temporary workers to demand compensation sufficient to offset the risk of not having future work. There should be no tax games allowed, for anyone, if the goal is to stop allowing taxes to be gamed.
Not the OP, but I think what they are referring to is the following:

def foo():
return bar

if ...:
bar = 42
print(foo())
else:
print(foo())

If ... evaluates to a truthy value, bar will be defined and foo() will return 42, if it is falsy, bar will not be defined and the code will throw a NameError.

I would agree that this is extremely confusing behaviour.
Of course people wouldn't write code like this (hopefully), but a similar situation might occur in a much more obscure situation.
Similar problem in the UK https://www.theregister.co.uk/2018/01/18/nhs_buntu_trademark...

The issues the NHS has with IT (with the glaring exception of WannaCry) are related to the vast fortunes they expend with outsourcing companies for custom software that doesn’t work. Doing the same thing but on Ubuntu won’t be any better. But the engineers don’t care, they have an ideological axe to grind so they focus on something irrelevant.
How DOOM fire was done
I understand what you mean, but just for the record, professional winetasters can pretty much guess which part of land in a given region a wine comes from in blind tests. So, i can tell you that there is a huge difference between a bottle labelled 1000$ and a 5$ one.

One telling indicator is that wine does practice blind tests a lot, and has blind test wine competitions that lead to prices, that help small wine producers get their brand recognized ( search for wine labelled with « medaille d’argent » or « medaille d’or » of any french wine contest and you won’t be disappointed) .

Audio equipments very much less so.
I would go further than that and say that it's also important for programmer to know different paradigms. Knowing C, Java, and Python is surely better than just knowing Java, but they're still quite similar. Ideally people would also learn some functional programming, even if they don't use it, and a Lisp dialect (to appreciate the value of good metaprogramming facilities and get over parenthesis-phobia).
AWS has gotten much better and closed the gap some. But, your average system will probably see a 4x difference (2x price and 2x performance).

There was a very long period of time where SSDs were commonly available from everyone but cloud vendors. For some workloads (like databases), that resulted in a massive difference.

This is still true for bandwidth. You can look it up yourself. Off the top of my head, in the US, you can find a server with 100mbps dedicated port for < $300. But that AWS bandwidth is over 3K. So that's less than 1/10th AND you get a relatively [relative to what you can get on AWS] powerful server vs just the bandwidth.

Back when the C4 instances were announced, I ran unix bench on them as well as a dedicated i7-4770. You can see the i7 was quite a bit faster, and, if I recall, was less than half the price

https://gist.github.com/karlseguin/5a6a45ace2048545b6c3
vs
https://gist.github.com/karlseguin/a659ef87b3a4a5d590e9

I think database workload is still where the average app would see the biggest difference. A properly configured server with a battery backed raid adapter and proper dual network NICs will blow RDS out of the water for raw latency and cost and, most noticeable to me, consistent performance.

Unfortunately, fewer and fewer companies seem to be offering servers with BBU and dual NICs. And those that do are charging more...so that's also helped close the gap. IBM really screwed up. They wanted to compete with AWS so tried to turn Softlayer into an AWS clone, rather than focus on what Softlayer did better and fix the issues (automation and ddos mitigation come to mind).
why/? you can just review the code manually...
No it is purely ageing. I am very lucky to start from a high base, but I am still not as good today as I was 10 years ago

Well, I am better that I was 10 years ago, and I look around me and see experienced guys are vastly more productive, since the industry is cyclical and we have seen it all before.
> If those first 3 are typical GUIDs, this is already 3*128 bits

Facebook user ID's are 64bit and I doubt that the message ID needs more than 64bit either. Timestamp is typically 8 bytes, so 64 bits as well. So, you're looking at 256 bits of message header.
I think asking about possible extra credit to up the grade, especially from a - to the not - version is pretty ok. No profanity was involved right.
Maybe you'll consider this pedantic, or maybe even wrong, but I think you meant to say "asynchronous" as opposed to "indirectly". I think anyone googling to learn more will get better results.
So the main thing you are missing is the actual coding?
This is cool work. Peter Sewell has been giving talks about this, and he is a great speaker. Here is one from this year's EuroLLVM developers' meeting, including some demos of the Cerberus tool: "The Cerberus Memory Object Semantics for ISO and De Facto C" https://www.youtube.com/watch?v=SI3uycKDH8Y
I got more practical use out of ETH than I did out of BTC. In my case, the use was small-ish donations. ETH was cheaper and way faster.
A lot of German cities has large parking garages acrosss the city centers. So it is quite possible to drive to those garages by car and then continue by foot.
Cologne for example had an electronic system in place even 30 years ago, which would account all free parking spots in the big garages. Those numbers would be relayed to traffic signs at the big roads leading into the city. So while approaching the inner city you could see the total amount of free parking spaces and as you get closer you would get signs pointing out this number for the individual garages. So it was quite easy to directly find a parking slot as long as there was a reasonable amount of slot left.
The ability to roll your own Slack Client would be great thing imho. I really don't like the default UI (which is also the same layout as all the web based messaging apps, like it's somehow a good thing). I 100% happy with a small window with an IRC style layout - it's a shame I can't use slack (+whatsapp, +messenger) like this.
FWIW the creator of react, Jordan Walke is a lot more along the lines of what you had imagined the react team to be like. He is a massive proponent of ML and is currently working on (also the creator of) ReasonML, a new syntax for OCaml, and react in ReasonML.

I think there’s an interesting point in there as to the attributes needed to build something new vs scale something existing to a new level. They’re both clearly great at the things they seem to prefer doing.
Quite a bit. You'd have to do a subject access request to get closer to the truth.
This!

Also, I find that when I start to learn about something, as long as I'm just going thru the motions on a hello world, and actually look up what the things do, I learn the most. Coming in with that beginner mindset you learn faster, then it's kind of a slow crawl to become an expert. The first week of playing with a new language / domain / piece of software I think I learn the most. It's the 80/20 rule at work.

Plus I find just having a small amount of knowledge and understanding where a piece of technology fits in the greater scheme of things to be really useful.
> I don't know how they managed to kill it off

They kept incrementing the server protocol version without updating the client. Eventually all the clients just stopped being able to connect. Strangely, for a long time, only the version bundled with XP stayed working, until eventually it too could no longer connect.
No. The reasons some many people live abroad, IMO:

1. A culture built on world exploration. Our golden age myth is sailors leaving the country to find new lands. Our great epic book is "Os Lusíadas", a celebration of the discovery of a sea route to India by the Portuguese explorer Vasco da Gama inspired by Virgil and Homer's epics.

2. Many people left the country between WW2 and 1974 (due to a ruling dictatorship, a colonial war, and economic difficulties). These were mostly uneducated people that went to France, Germany, Switzerland to become low wage workers.

3. A newer wave of emigration (of much more educated people) due to low salaries in Portugal. I know a lot of people (mostly engineers) that more than tripled their wage simply by moving to more developed countries: Germany, UK, Sweden... Similar to moving to SF/NY when you're in rural US.
My only question is why BS like this has 169 points on HN.
'Black Mirror' Interactive Film: Inside the 2-Year Journey of 'Bandersnatch'
> The way you say "useful" brings to mind Inigo Montoya in Princess Bride: "you keep using that word. I do not think it means what you think it means."

Concurrency and parallelism has been what I've been working on for several decades. I have, inter alia, implemented concurrency mechanisms with strong safety guarantees for more than one language (among them two relying on shared memory [1, 2]), so yes, I think I have a pretty good idea what I'm talking about.

> I see accidental data races a lot more than any other kind of race condition;

And I didn't say otherwise. Freedom from data races (with the caveat that there are also benign data races that you sometimes want to exploit and that you want language mechanisms for) is more or less a necessary byproduct of most schemes to reason about concurrency; but on its own, its woefully inadequate for the reasons that I talked about.

> I'd guesstimate that avoiding them gets you 90+% of the way to thread safety.

If this were the case, then you'd practically never have any problem with thread safety in actor languages; that is not the case.

A simple and extremely common pattern where freedom from data races falls short is the following:

if (obj->condition())
obj->action();

If `obj` were just a monitor (i.e. an object that guarantees atomicity for individual operations), the code still wouldn't be thread-safe. What you generally want is thread safety at the transactional level, not at the level of individual operations. Any genuinely thread-safe language requires mechanisms that operate at the transactional level (though, obviously, not necessarily literal transactions in the DB sense), i.e. sequences of operations that you want to be atomic or non-atomic only in a controllable fashion. (Though, at the same time, it is also necessary that any such mechanism provides escape hatches for when it would impede concurrency [3].)

> Are there any practical / commonly used programming languages in which you can prove thread safety with that approach for significant programs?

First, I am not saying that being able to formally prove properties is a necessary element of concurrency (though there are systems that do exactly that, but that's beyond the scope of what I mentioned). But even when you're reasoning about program behavior informally, that relies on the same principles. Your code assumes some precondition and wants to arrive at a postcondition and you have to be sure that other threads don't muck up what your code is trying to accomplish.

The larger point is that with just the absence of data races, we still have a combinatorial explosion of ways that threads could interact with one another: most useful concurrency schemes (including Rust's) function by cutting down on that combinatorial explosion and limiting ways in which threads can interact with one another (and thus, possibly, in undesirable ways).

[1] https://link.springer.com/chapter/10.1007/11424529_17

[2] https://onlinelibrary.wiley.com/doi/full/10.1002/cpe.3746

[3] E.g. https://dl.acm.org/citation.cfm?doid=1297027.1297042; while the paper is about software transactional memory, the mechanism extends to critical regions in general.
Ask HN: Tool for converting GitHub files to HTML docs
I want to manage docs on GitHub like how Auth0 does it.

https://github.com/auth0/docs

Gets converted to:

https://auth0.com/docs

Would you know the tool they use or can you suggest a tool which can achieve this rather seamlessly (ideally with a docs type theme)?

I don’t want to use Gitbook as they force to host on a separate sub domain. It’s fine if it’s a paid solution.
zsh supports this natively (and is the primary reason I switched to it many years ago).
That's very true if the goal is to get rid of automotive congestion completely.

The practical solution is to find a trade-off where we allow enough congestion to allow the necessary and important things to move but not too much that allows convenience traffic that makes the city unwalkable and car-dependent.
No, cheap DACs are not “good enough” unless you’re completely indifferent to audio quality.

There’s certainly woo and outright fraud in audio. But there’s also attention to detail.

Professional studio engineers will spend $3000 on a high-precision digital clock for their DACs because it makes a clearly audible difference.

Software people don’t understand that human hearing, and human sensitivity to timbre and distortion, is spectacularly non-linear.

Hearing isn’t a linear counting device with x volume levels. It’s an incredibly sophisticated neural network that performs real time classification and source separation based on spatial and ambient cues, spectral analysis, predictive modelling, and entropy estimation.

Some people’s brains and ears are better at all of this than others. Those people can hear things other people can’t.

In music, someone with a trained ear can name the notes in a chord. Someone with exceptional skill can name the notes in a random cluster of pitches on the lowest octave of a piano.

Audio quality has analogous levels of sensitivity. People who have neither shouldn’t be telling people who do what they can and can’t perceive.
Using modern C++ with STL in gamedev is quite difficult because it results in atrocious compile times and slow debug build performance (For making a game, iteration speed and debuggability can be pretty important.) Also if you want to develop for consoles there are some limitations: most notably you are forbidden to use exceptions, and the platform's compiler usually doesn't even support the latest C++ standard...

That said, I think a third kind might also exist, although rare for AAA studios and more common with mid-size/indie game developers...
And 30,000 pounds of other nondegradable plastic garbage.
Back in the day when SMS text message was the way to send messages to each other over the mobile phone network (in the UK), people would jump the gun by sending 'Happy NY!' messages 5 minutes before midnight, because the moment 12am hit, any messages sent then could be queued for hours as the mobile networks struggled to cope with the massive uptick in messages being sent at the same time.
As an Australian expat who's lived in all three situations (Australia with single-payer, USA with high level private insurance and Switzerland with government required and regulated), I much prefer single-payer.

Pure private like the US is just insane. It technically works but when you go in you have no idea what you're paying. Random service providers can bill you months later and there's not much you can do to stop it. Plus you have to be sure your provider is in-network and a bunch of other pointless nonsense. Finally, insurers can charge you whatever they want.

Switzerland's eliminates most of these problems. Everyone is required to have a "basic" level of cover, where "basic" is defined by the government to include basically everything medically necessary (in much more precise terms than mine). The maximum premium is fixed to be just a little over what's profitable for a well-run company but customers get to choose their deductible, up to a mandated maximum. All procedures and medications have fixed prices.

Thanks to the regulated premiums and procedure prices, you end up with everyone paying roughly the same amount for the same thing but to different people. Service providers have to send and process bills for 30 or 40 different insurers or hundreds of individual customers. Customers have to pay bills to their insurer and/or each service provider they visit.

This makes no sense to me. When everyone's paying the same amount for the same thing, it doesn't matter that there are different choices. By centralizing everything with one insurer, you can drastically reduce the paperwork for everyone. Providers send bills to one insurer. Customers pay bills to one insurer.
Gaming is about preparation for life not death. Source every playing animal ever.