skysight-inc/HackerNews huggingface dataset:
> Not every platform has a branch predictor, like low-cost embedded platforms, where bare metal languages like C++ are commonly used.

You're moving the goal posts. Itanium processors do have branch prediction so comparing C++ exceptions on Itanium to Rust on embedded architectures is meaningless. In embedded Rust, the worst case scenario is a compare between a constant and a register or a byte on the stack. Most non-ARM embedded platforms I've written firmware for barely have a three cycle multiply so a one cycle compare will be negligible except in the most extreme of cases (where you'd just write inline assembly anyway, no matter the language). On those platforms, you spend more time restoring registers than comparing the result of a call. On ARM processors, conditional execution behaves like a branch predictor on short compare jumps so there's again no overhead (except with value types, in which case Option adds 1-4 bytes for the None case on the stack).

Either way, Rust's error checking overhead is irrelevant. If your embedded environment is so resource constrained that Rust's error checking is too much overhead for you, then you certainly can't use C++ exceptions. They are too unpredictable without prohibitively expensive physical testing and tedious tuning of worst case code paths (unless you don't care about hard real time guarantees at all). If it's not, then it doesn't matter whether you use Rust errors or C++ exceptions because the overhead is a rounding error. We're not talking about something like reading memory from cache vs RAM or static vs dynamic dispatch where the difference in performance can be 10-1000x, we're literally talking about single digit cycles here.

> If errors are common in a specific section of code, in C++ you have the option of using simple error-checking. You have no such counter-option in Rust.

Yes, you do. You can unwind the stack manually and jump to the error handler, just like the C++ compiler does for you with exceptions. This is how the panic macro is implemented so all you have to do is modify its implementation (compiler-builtins crate) and create your own catch_unwind function. With the amount of time you'd spend typing "if (result != null)" or implementing an option type in C++, you can write your own exception implementation using Rust macros and traits. Rust developers made the right decision: "simple" error checking is the default with syntactic sugar to ease its use and if you really need those few extra cycles, you can make your own crate or compiler plugin that will give you the same features without polluting the rest of the ecosystem with a default error handling mechanism that is opaque, complex, and unsuitable for resource constrained real time systems.
My wife and I have done what we can to be there for the Army National Guard member who introduced us - then went to Afghanistan and lost people under his command in an IED attack & firefight. The man who came home is different, but faring better than most.
Google's top results for 'Did the Holocaust happen' now expunged of denial sites
It's a fun game that takes as few as 2 people (up to 4), is very social, challlenging (but not too hard-- and few people are actually GOOD at it), lowish learning curve, can be highly competitive or just for fun, and can be played for a few minutes at a time. What's not to like?
Some of the problem is it's much harder to judge softer fields from the outside. There is plenty of great research in Education for example, but it's much harder to evaluate without a lot more domain specific knowledge.
What drives costs up with e-bikes? A decent moped appears to be $1000, goes faster, has suspension, and is overall more complex.
I appreciate the first user comment on this article:

"I didn’t care for this article 7 months ago. I regret it. My whole game is useless now. I should have go with udp."
>But his prime examples of economics malfeasance are, well, terrible:

>Policymakers don’t know what to do. They press the usual (and unusual) levers and nothing happens. Quantitative easing was supposed to bring inflation “back to target.” It didn’t. Fiscal contraction was supposed to restore confidence. It didn’t.

>“Supposed to” according to whom? Not basic macroeconomics!

>Look, we had a more or less standard model of macroeconomics when interest rates are near zero — IS-LM in some form. This model said and says that (a) monetary policy is ineffective under these conditions (b) fiscal multipliers are positive and large — in particular, fiscal contraction is strongly contractionary. And these predictions have been borne out! Huge monetary expansion didn’t raise inflation; extreme austerity was strongly correlated with severe economic downturns.

>In other words, policy had exactly the effects it was “supposed to.”

Krugman actually used his ISLM model to decide to remortgage his house in 2003, and in a bout of epic predictive failure, foresaw skyrocketing interest rates:

http://www.nytimes.com/2003/03/11/opinion/a-fiscal-train-wre...

"With war looming, it's time to be prepared. So last week I switched to a fixed-rate mortgage. It means higher monthly payments, but I'm terrified about what will happen to interest rates once financial markets wake up to the implications of skyrocketing budget deficits."

Whoops
Stallman was a noted Lisp hacker, yet chose to develop a C compiler and clone the Unix user space for his free software project. Stallman killed Lisp; yeah, that's it. ;)

I mention that because there is Unix on PC's that isn't free, and heavily indebted to GNU.

Proprietary Unix on PC hardware is an insignificant blip in computing history.
All you say is true; I was trying to give a coarser-grained description. It applies to cases like this. Someone with a new idea for regrowing tooth enamel is going to apply to some program within NIH (I guess). He's not likely to get funded because a congressperson read a pop-sci article - his proposal will be reviewed by other researchers in dental health.
Tablet Ocarina Project
Companies can only survive as long as enough demand exists for them to remain profitable, their population is self-limited by the nature of competition.

You can make as many companies as you like - all but a few will die. It's the reason restaurants tend to go out of business so quickly, there are already too many of them.
Did apps “gentrify” (and ruin) the open web?
I actually like seeing my job as a craftsmanship, because (at least in my native language) there is a certain "honour of doing good work" connected to it.

Also, no shame to work a trade job at all. Not sure where people get that idea?!
I think that you were fooled by the news coverage. It's only on non-divided highways that the new restriction applies, and there was already a restriction to speed limit + 5mph on such roads. On divided highways, you can set any speed up to 90mph.

Here's an accurate article, which (alas) still has an inaccurate headline: https://electrek.co/2016/12/22/tesla-autopilot-speed-limits/
Show HN: A Pattern for Async EventHandlers
It would be way more useful if you could copy the "markdown version" (as a quick way to create Markdown files), but a lot of characters such as "##" can't be selected/copied because its using the css rule "content" to create them[0].

Unfortunately a proper solution for this would need to modify the HTML (JavaScript) to add such characters.

[0] http://stackoverflow.com/questions/19914349/how-can-i-make-g...
> how to estimate the costs of a project properly – ought to be of interest to most people. In fact, the field repels all but connoisseurs of fanciful formal models.

Considering how bad humans are at planning most mid/large sized projects (let alone small ones), how much faith can we put into centralized planning on a large macro national scale?

Wouldn't the US be better off managing their local economies more directly? With differing assistance from the federal level. Rather than attempting to apply a model across a huge diverse national economy?

I feel like Canada (where I'm from) was much more capable at dealing with the crisis because we had a small more cohesive system and our localized issues are easily dealt with. I feel that starts to break down at a larger scale.

It would also make politics more predictable and less partisan where you don't have an economically 'forgotten' class of people disrupting national elections with protest votes.

The US was founded on federalist ideas and it seems it's decline from economic greatness (at least towards stagnant growth) has coincided with a divergence from those ideas to a top heavy centralized government, where the election of the president has grown to consume 90% of people's attention while only 10% as much is given to their congress, governors, state legislators, etc. A whole country complaining about 'Washington elites' as if it were a simple managerial issue for the next executive to solve rather than the result of a systemic shift in power toward the executive and federal governments that has gone unchallenged. Not to mention they seem to increasingly be given all the blame/praise for whether the economy functions well or not.
Why would they want that? Their job is to accurately assess risk, and then charge appropriately for insurance. If the risk goes down, so does the amount they charge. If your argument is that perception of risk will be higher than actual risk and therefore they'll be able to sustain a higher margin on their insurance policies, then I'd point out that you're completely ignoring competition. If one company does charge significantly more than they have to because the public perception of risk doesn't match reality, some other company will come in and charge less for the same policy, thus driving the price back down to an appropriate level.
So where does everybody go when their jobs have been eliminated? What will young people do to make themselves valuable and provide for themselves and their families?

Eventually the losers in this equation will risk everything to correct the inequality.

https://en.wikipedia.org/wiki/French_Revolution
https://en.wikipedia.org/wiki/Death_of_Muammar_Gaddafi
https://en.wikipedia.org/wiki/Arab_Spring
Fair enough, here is a google search term that seems to turn up some useful bootloader source code:

"0x2098" "lgdt"

Please chime in with other links to great bootloader tutorials!
Unless it's a Samsung where lifetime < 5 years and self destructs.
As We Leave More Digital Tracks, Amazon Echo Factors in Murder Investigation
I don't think it's unreasonable to assume that he didn't actually look at the medication until it was time to take it. Pharmacies tend to give you your medication in a bag, so if you don't unpack the bag immediately, you're not even going to lay eyes on the medication.
“Cash to CAPEX” May Be a Major Driver of U.S. Corporate Investment
Hazarding a wild guess here that mopeds are produced in much larger volumes, which drives the prices for both their parts and assembly down.

The ebikes in that article did seem very expensive, unless dropping $3k-$4k for a bike is acceptable. Do any HNers know of any budget alternatives under $1k?
Ever heard of benefits greenhouse effect or photosynthesis.
Come on get rid of CO2. Because of course it is the root of all evil. And by reference Poland is the root of all evil too. We even dare to still produce coal. Not as much as Germany though.

But of course we are painted black on this site.

Even if..

http://ec.europa.eu/eurostat/tgm/table.do?tab=table&plugin=1...

At least it will not crash your browser.

Edit:
And of course thanks for all the downvotes. It really just emphasize the level of discussion and tasty bias here. And thanks for bringing up the constitutional court topic here and upvoting it. Which of course has nothing to do with the discussion. Good job.
I was just thinking about this the other day while looking through an MVVM framework that I was interested in using. I thought I'd see if there was an easy way to implement this.

I copied the TIL repository pattern from another Hacker News post and thought this would make a good write up. I'm interested in getting feedback from anybody about whether they think this would be a reasonable way to implement this pattern.
The previous Tesla had a Tegra 4, which also powered the 17" touchscreen, and a Tegra 3 powering the instrument panel.
Fear, uncertainty and doubt? I don't see how any of that applies to his comment.
Non-Surgical Lower Back Pain Treatment and Relief with SpinaliS Hacker Chairs
A human can explain why it made an error. Good luck sussing out the "why?" when an AI makes an error.
I majored in math & physics, not CS, but was aware of the CS coursework at the time, 30+ years ago. Back in the day, the exams were more or less designed around the problems in the textbook. You could set yourself up pretty well for the exams by working the problems over and over. (Mostly derivations in physics, with or without numerical results, or proofs in math). Doing so would commit the factual content (e.g., formulas, definitions) to memory and get you quick enough in the mechanics to have some spare time during the exam for dealing with the unexpected.

What you learned in class was, among other things, the style of communicating results, i.e., what a well written derivation looks like. I imagine that a CS course could be structured in this way, if a program in CS is analogous to a proof in math. Whether it's actually a good way of teaching is anybody's guess, but it's how things typically worked.

The students who thought that they were expected to mimic the "tricks" and opinions of the professor, were suspected of simply not grasping the material. On the other hand, though I grasped the formula for getting good grades, nobody ever told us that formula, and a student who never guessed it, would be faced with nothing but frustration and sorrow.

When I taught college math and engineering for a brief period, many years later, I told my students the trick, on the first day of class.

Of course I have no idea if this was a good preparation for the workforce, but I'm pretty sure students were expected to combine their textbook learning with experiences gained outside of the classroom, e.g., from research projects, internships, etc.
Of course, maybe the economy as a whole does better if workers can easily retrain, which would be a net gain for the tax base, so it's not really as clear as that. Explicit tax costs aren't the same as actual costs. ;)

For instance, if a worker loses their job and wants to retrain, one policy (that of the united states) forces them at the worst possible time to take on additional debt, and one (that of austria) socializes the cost so they can more easily find work in the future. I'm not an economist, so I don't know the actual effects, but I wouldn't be surprised if the austrian approach would help US rural manufacturing communities a lot to our collective benefit.
If you're in the EU, you can get this data.
Want feedback – micro product MVP template
https://docs.google.com/a/ad.venture.io/document/d/1iYWwgQdZBcLWv0nV9vF31zFSpNJUE5lFBLFsEPd9-w4/edit?usp=sharing

Does the motivation speech help?

What 3 questions would you detract?

What 3 questions would you add?
>> pushing data frames in and out of memory as simple as possible

Where do you think its pushing from and to? Parquet.

Wes McKinney (of pandas fame) is the author behind Arrow/Feather as well as parquet-cpp [1]. Arrow is a compact binary representation of columnar data for in-memory processing with the HUGE benefit that data can be copied over the network with no serialization/deserialization between processes or languages.

One of the primary advantages of Spark over MapReduce is that it doesn't require data to be copied to disk and incur costly SerDer overhead. Now imagine that not only can I avoid writing to disk between processing stages, I can now move GBs of data between nodes by simply copying data from the network stack to memory as-is.

>> Parquet is fantastic, but it has a lot of functionality that's not very relevant for sub-TB of data, local use.

Parquet files can still be on local storage, there's no dependency on HDFS or network storage. If I'm only dealing with MBs then CSV will do the trick, otherwise Parquet wins in every category when reading/writing data.

[1] https://github.com/apache/parquet-cpp
As far as I can remember I had to finish my studies in a certain time frame, I think plus max 1-2 semesters (günstiger Studienerfolg). Not finishing on time would have ended the scholarship. And in terms of "soziale Förderungswürdigkeit" I think a was only allowed to earn a certain amount of money on top of that scholarship. If I had earned too much I think I would have had to pay it back (or parts of out) for the current year. But long time ago, I had an appointment with the "Studienberatung" in Klagenfurt who answered all my questions, fantastic service!
How are you supposed to do it otherwise ? Where else are you going to push your commits to ? Its silly to clone, fiddle with git config, make a new git repo on github/lab and then push to your new 'manual fork'. Just use the fork button.
I use it too, and it's been shockingly effective for something so simple. I find the prompt to _think_ about what I _really_ want to do incredibly inspiring

It's also inspiring in another way, as a solopreneur-hacker-bootstrap success story: https://news.ycombinator.com/item?id=11999757

eta: the creator has also posted in this thread. https://news.ycombinator.com/item?id=13251497
C doesn't have calling conventions; those are dictated by ABI's. A Pascal compiler can easily use the same ABI as a C compiler.

The layout of a process doesn't really do anything that helps C.

The C-specific considerations creep into API's when clients are required to prepare, or to parse, memory described as a C structure.

C helps here by dictating that the members of a struct may not be reordered. The rules that compilers use for aligning structure members tend to be very similar and straightforward.
See that's my concern. AI, I think, will first take out a lot of low skill job. But it is also good at a lot of high skill jobs, such as surgery. Now a lot of these jobs work well in conjunction, but there is a saturation point of how many jobs you need for that skill set. AI can reduce that.

So either we need to have a more highly educated workforce, which we do not seem to be prepping for; some may argue there's a limit to how educated your population can be too.

Industrialization is a good example though. For example when the cotton gin was invented Whitney thought it would reduce the number of slaves but didn't account for the surplus of demand for cotton once it was cheaper. There is a difference because there was still a human worker involved, but I do think some areas will see spikes in employment. But will that be enough to offset the unemployment, and how do we attempt to prepare for that?
I think a better way to put this is "don't send requests out of the blue if you care about them getting merged".

I often hack on software that I use to make it do something I need. I then try to upstream the code, if I think that it's something others may want too. I don't particularly care about it being merged -- my attitude to this is "Here's something I found useful, if other people think it's good please take it". I'm willing to put some effort into cleaning up the patch to make it submission-worthy, but if it doesn't get merged, it doesn't get merged. I'll keep it up in a fork, and that's about it.

I don't care about it getting upstreamed enough that I will open a dialogue before I start to work on it. It's a feature I want, and I will be working on it regardless of how the dialogue goes down. The only way a dialogue can help me is by giving me implementation advice, but quite often I've already figured out a way to do it which is sufficient for my purposes (hacky or otherwise).

If there's a feature that you actually care about existing in upstream, then you should totally open an issue first and discuss it.
You're right. It's terrifying but holy shit haha!
When a single drone can kill thousands of people you won't be able to revolt either.
> One of the things we often lack in software is a good medium for exploring mechanics.
> Getting something to the point where we can conduct an "Is this fun?" test or more generically "Does this serve the purpose"

A medium? Would you care to expand on this point?
While I agree that more work could be done on speeding up the tools used, the process / concept / activity itself already exists, so I am not sure what you mean by medium.

PROTOTYPING is a fundamental part of the software engineering process (and other engineering disciplines), but I see it get missed A LOT in software development, for a variety of reasons.
https://en.wikipedia.org/wiki/Software_prototyping

As vvanders has already said, "White Boxing" is a common technique for video game development.
It's 15 mph in the EU, which is even more annoying.
The underline on the <h1> just uses the :after psuedo class with some absolute positioning and some padding. Just like almost every other class here. I'm curious what sticks out to you as extra clever with the <h1> vs the other elements that also use :before / :after
Not disagreeing with you, it is very difficult, and people would have difficulty coming to a consensus for sure. But I still think it could and should be attempted, at least with one of the operating systems out there.
There are two bits of premise I think that are unfair in the article:

1) 'Economists don't know what is going on'. Yes, they do know what is 'going on'. They can measure it, and tell you.

The sneaky assumption in the question is the assumption that if "they knew what was gong on, then they would know how to solve it"

This is totally unfair.

Jobs and the economy were never entirely managed through centralized economic policy. Unless you are a country that is 'way behind others that are good examples to follow' - in which case you can make no-brainer investments in 'roads' and 'electricity' ... it's otherwise not possible.

No 'economist' would have ever thought 'we need a good search engine' or 'someone needs to re-jigger electric cars to make them work in our economy' etc. etc..

It takes entrepreneurs of various sorts - mostly of the 'boring' kind (carpenters, contractors, restaurant owners, parts manufacturers) etc. to form the basis of the economy. It's not and never will be managed by economists.

2) The failure of 2008 was not predicted by economists ergo their discipline is bunk.

This is not fair either. 100% of economists would have predicted the outcome if they knew the vast scope of homeowners lying on their applications, that banks were misleading others by packaging crap loans as good ones, that the ratings agencies were not doing their jobs and actually rating the loans properly.

Economists depend on 'valid data' in their understanding of the world. Were the data in 2008 to have been valid, predicting the outcome would have been trivial.

You could argue that Economists might need a different approach, i.e. to be more 'in the field' doing their own measurements - sure. But their models were not wrong, their data was.
There is a difference between paying back and continue receiving the stipend.

In general, you need to complete around 50% of your courses to continue receiving the stipend next year, but you only need to pay it back if you drop out in the first year and have completed less than 25% of the courses. (Exact numbers depend on the type of program you attend)

Details are here:
https://www.stipendium.at/studienfoerderung/studienbeihilfe/...
https://www.stipendium.at/studienfoerderung/studienbeihilfe/...
I like to rephrase statements like that in the form of: "Every possible problem and need already has an automated solution that has been mechanized and made aware by everyone on the planet."