skysight-inc/HackerNews huggingface dataset:
This is something that confused me for a long time, but I think I've started to understand. A company obviously has some intrinsic value (e.g. through its assets), and that's part of what's reflected in the stock. But change over time is inevitable in a companies assets (and earnings), so the point of the stock market is literally just to bet on that. The end goal is kind of abstract, because most successful companies will never get to the point where they're giving out massive dividends or liquidating their assets, but you can definitely watch a company grow. Even if you gained no dividends from holding 100% of a private company, it still seems better than not holding one (obviously) but it's hard to pin that value down unless we think about it in an abstract way. You can think of the value of a company as the sum of its net assets over time (discounted by inflation, risk, and opportunity cost). So for example, when Apple earns $2.34/share in a quarter, everything that isn't given out in dividends is being reinvested for the future (being turned into assets and earnings growth). Even if the dividends never reach 100% of what you originally paid for the stock, they will rise as Apple continues to grow (in the long term, at least). As the growth continues, the stock becomes more valuable because of the potential for higher dividends. So while the "reason" to own stock is to share their future profits, what you're really betting on is the future profits past your lifetime. The same idea can be applied to bonds, too. Even if you don't hold a bond long enough for it to mature, the underlying value still exists and you are the owner of it. For a 100 year bond, if people think the interest rate will outpace inflation more than before, the value of it goes up, so by holding onto the bond you are still invested in its future "profits", just less directly than waiting for it to mature. One of the really interesting things about financial markets, though, is their ability to craft really abstract assets and assign values to them. Stocks are definitely one of these and they are certainly more complex than they were 100+ years ago.
Floating point is only useful to the extent that it approximates real arithmetic.
"And Ryan Air takes it to a whole new level. At least easy jet planes don't feel like they are going to break in the middle of the flight."

That would be my main issue. I don't mind little space and other inconviniences that much ... but I do not accept a higher risk for flying budget. I assumed, that RyanAir budget everything they can, but not savety. And as far as I can tell, the maintaineance etc. looked professional.
I changed the root DNS servers in my home router when I found my (American) ISP was DNS poisoning bing.com (and who knows what else!) for extra ad revenue.
They aren't.

Acquiring a firearm legally is a ridiculously bureaucratic process where you must submit to psychological evaluations by the military and "justify" your "need" to own a gun. If you manage to get approved by that long process, your reward is an extremely limited selection of revolvers chambered in weak calibers that you can't carry with you outside your home or place of work. The weapon must be registered in a military database and tied to your name and those soldiers can suddenly decide to drop by and inspect your gear. There is a limit to how much ammunition you can purchase per year, so the only way you can practice with the guns is by making your own rounds. You can't even transport your weapon from place to place without notifying them and acquiring some kind of permit. Alternatively, you can become a gun collector who can own everything but can't legally fire any of the weapons, not even for practice.

Criminals don't care about gun laws. They just purchase weapons from the black market, no background check or psychological evaluations or anything. Burglars used to consider the risks before breaking into a home, but now they're sure they will be unopposed. Drug traffickers are much better armed than the police force that ought to stop them and have become so powerful in their domains they could be considered parallel states, with laws, judges and everything. Ironically, they often stop smaller crimes like robbery from happening because not having a safe environment for people to buy drugs in hurts their profits; photos of graffiti messages warning criminals they'll be killed if they get caught robbing people can be found on the internet. The entire disarmament thing assumes the police will do their jobs and keep people safe, but the police won't even enter these areas because they're outmanned and outgunned. That's why the government felt the need to use the military in order to regain control of Rio de Janeiro. They used armored vehicles to fight against people who are technically citizens of their own country.

Don't ever let the government take your guns away.
Do you know if registered globally = pre-loaded or are they only loaded as encountered / needed? Just wondering if you have to be careful how many components you put in that directory. Not for purpose of templates of course, but for the unique Vue components that you can put in page content.
The thing that drives me insane in Dota2 on MacOS is that Quickcast doesn't seem to work with the built-in keyboard on my mid 2015 Macbook Pro 15" :(
Wouldn't it be amazing if they block Google next? Sorry, you can't access Google without that one browser plugin that Google blocked.
Magic Leap Headset Test Drive: Off Your Phone and into Your World
Eh you're right, thank you - I meant routers that hijack DNS to send you to a captive portal or splash page.
Show HN: SFBayAreaTech a slack community for San Francisco Bay area techies
I think the main issue is the inconsistency in tutorials out there and the different ways of setting up webpack and using all the loaders. For example you can use loaders and specify them in config, or directly in an import/require statement.
No, you are assuming that 1/0= "undefined" where "undefined" is a magical value. It's not. It literally means 'That operation has no definition, and there is no reasonable result to return'.

Many languages handle this in a practical way by creating a special value "undefined", "NaN", or others that has special properties. But let's be clear that "0" is a normal number in the real number space, as so expectations about properties of real numbers are not going to hold up.
In Netflix 'Fire Camp' doc, there's a section on inmates who join to fight fires. From what I could see, they inmates have to pass strict conditioning/training to actually work as a fire fighter.

I'd guess if one didn't want to do it, he/she could just slack off and not join.

Look it up and watch the show if you can.
Magic Leap One First Hands-On Impressions for HoloLens Developers
You lose simple properties of division, such as (a + b)/c = a/c + b/c.

If you set 1/0 = 1 (as the author claimed causes no inconsistency), then (2 + 1)/0 = 2/0 + 1/0 is false

If you come to rely on division by zero behaving a certain way (as happens to all features/bugs of any language), then suddenly silly decisions about how to implement a formula can cause wildly different behavior. Good luck refactoring!
I guess I should have said... I assume the firefighters they are working beside are not unionized. I've never seen a union allow un-unionized workers do the job of one of their members.
It seems like such an obvious oversight. All they had to do was allow me to define a hook function that would let me to arbitrarily modify the Webpack configs before start/build. Every time I ever ejected it's because I had to add a one or two line change to the Webpack configs.
Your comment just made me remember that T-Online and a few other german ISPs hijack NXDOMAIN responses and send you to their crappy search pages.
I can't think of any examples of mathematical objects being renamed, do you have any?

There may be some amount of drift over time, but you can go to the research library of any university math department and find books from pre-WWII that are still totally readable because although style has shifted somewhat, the basic nomenclature hasn't.
Not needing to compile Vue.js is what got me started with it.

Looking forward to pure ES6 module version of Vue.js as a standard build for download from vuejs.org/npm. There's a test build (or something) from Nov. 2017, but it's not advertised, and it's an older version.

But it would mean no CLI/build/config needed at all to implement Vue in more modern environments.

But any improvements in the ecosystem is better for everyone.
And don't forget that Mozilla is also a non-profit organization that doesn't have quite the same goals as Google/alphabet, the for profit mega Corp.
If that's the case I think FB could've served the community better by just publishing recommended Webpack configs than cargo-culting everyone into CRA.
> It's like in Ruby, when you divide 3/2 you get 1 (integer division) which is almost never the behavior you want

I dunno, if I'm dividing a quantized space, which is a fairly common thing to do, its exactly what I want.

> (unless you cast all you numbers to float which is a pain to do).

Using floats just gets you different wrong answers than using integers, unless you happened to somehow have ints to start and want a floating point approximation, which I find is less likely than wanting integer division.

What you really want for exact division where there are integers involved is to have at least one operand specified as a rational; this also takes less keystrokes, if its a literal, than changing it to a float to get an inexact answer.

Related to this, prior to Ruby 2.5, the standard library include "mathn", a library which monkey-patched all the numeric types so that operations on them acted pretty much like Ruby had a Scheme-style numeric tower, but since that has process-wide effects not restricted to where the library is required, that was deprecated in 2.2 and removed in 2.5.
Ask HN: Suggest open source projects where I can contribute and learn CSS
Hi,

I am experienced backend engineer trying to dip my foot into frontend engineering. CSS is proving to be my achilles heal. I tried various courses, understand all the theory, tried copying stuff from jsfiddle etc, but I am still bad at making good looking websites. I realized that I need a mentor. So,I want to contribute to an open source project which needs CSS/JS/HTML work preferably lead by an experience frontend engineer who can guide me but is pressed for time otherwise.

If you know any such projects, please post here (with URL/contact information)
Is this different than integer division or integer over/underflow? I mean, besides that the integer behavior is status quo and 1/0 is not. Genuine question.
Serious question.

Is Lambda calculus a good match for algorithmic information theory. The versions of AIT I've read involved either Turing machines, hand-waving of computation or recursive function. Lambda calculus seems more complex and thus harder to integrate with an AIT that mostly needs to know that strings are programs, that not all programs terminate, that some programs can give a substring of their string as outputs and so-forth.
Not sure who invented dumping and loading images, but the first Lisp did that already around 1960. From there it spread to Smalltalk in the 70s.

A typical MIT Lisp Machine OS in the 80s recorded for all functions/etc. where they were defined and one edits a function by calling (ed 'foo) (or by pressing M-. in the editor on a function name) and then the source file with the function gets edited. So the Lisp IDE knows that foo is defined in the file hans:graphics;editor;foo.lisp.273 (where 273 is the version number or the file). If one saved an image, this information is stored and restored on starting the image. Common Lisp systems today still record the source location, but they lack the versioned file system and they also usually not record a particular location from a source code version system like SVN or GIT.

What Xerox Smalltalk did (and something similar did Xerox Interlisp-D) was to manage source code in a distribution file and a changes file. Thus where the MIT Lisp Machine IDE tracks a multitude of versioned files (and the user has to somewhat manage them by creating them, registering them, compiling, loading them), the Xerox Smalltalk abstracts the editing away from files and manages the source storage in a file mostly invisible for the user. Thus a Smalltalk class browser does not display files, but it displays individual definitions. Since the compiled code is some high-level byte-code, source code can also in a more limited way computed from the compiled code.

Similar: Xerox Interlisp-D (which was a Lisp IDE, which ran on the same hardware as the Smalltalk machines from Xerox), which also managed source code (using tools like the File Package and Masterscope), but the source code is actually Lisp data and the main code editor is a structure editor - not a text editor. Xerox called it a residential system - since the source is actually data in the image and the File Package manages to track the changes and keep external versions of the source.

I have actually no idea which ML also a) works with images and b) manages source code. Would be interesting to hear more about that.
For starters, Richard Nixon: https://www.cnn.com/2016/03/23/politics/john-ehrlichman-rich...

Source above is provided for your convenience.

You can't just identify who "they" are because it's not black and white like the way they targeted black people. It extends from Nixon to Nixon supporters, white people, Asian people, cops, robbers, and even other black people. It can include all those people but not necessarily every of those people. This is because it's not a distinct group targeting black people, but a way of thinking. Obviously by paying taxes I also help support the system to some degree.

The problem can even be as innocuous as the unintentional indirect disenfranchisement of black people by simply doing "favors" or preferring everyone but black people in everyday life.

> ...most people who use vague terms like this and act like there is a segment of society out to get them

I'm not using this term to act like there is a segment of society out to get me (what I assume you mean when you said "people" and "them".). I'm using "they" to describe the group disenfranchising "black people" who are a group that is distinct from anything that I identify as (racially at least)... The reason why I say a vague "they" is because this group cannot be defined simply by a 1-dimensional construct such as skin color, ethnicity, political party, etc. I don't think it does any good to describe them as "racists" either as many people will discriminate unknowingly, unintentionally, simply due to it being the predominant normal behavior. This "they" can be white, Asian, police, a drug gang, even other black people... because it describes a mindset that systematically discriminates and disenfranchise a group based on their outward characteristics rather than evaluating them as individuals. Does it blow your mind that one can observe such discrimination without being the direct target of it? Because in the end it's not really an attack on black people, it's just an attack, and such a thing can happen to any group, and has.
Software Sells Systems: Apple Secret Sauce
Have you ever tried Adobes Flex Builder?

That was good.

Only drawback .. it was based on flash and got killed by Adobe.
The irony of your stats is that what's on the blocked list is out of the extension developers' hands. The government decides what gets blocked and so is fully in control of the % of sites that are easy targets or hard to defend. If they really want to block a handful of political sites, the lesson here is make sure to include a bunch of other sites so that any attempts at unblocking are hard to defend. Finally, it seems part of the problem here is that the blocking orders come from something of a regulatory agency, without any due process or appeal possibility (except maybe after the fact). The existence of such a tool puts a lot of power in the hands of unaccountable government officials apparently in coordination with private industry.

> It's really interesting to see this story presented this way and nobody here seems to have even bothered to try to find another perspective.

It's really interesting to see people serve as the unpaid PR department of huge corporations who have paid someone to make this unilateral decision, but don't allow any of the tens of thousands of employees to offer an explanation.

The decision to pull the extension was made by someone (there's no algorithm to take the blame here). And a decision was made to ignore the thousands of users asking for an explanation. So, yeah, I don't really understand standing up and defending that company.

Wonder if a Googler could use their 20% gig to offer real support to real users. Probably a fireable offense.
New Translation from Original Latin of Leonhard Euler's “On Divergent Series”
I realize your comment was probably tongue in cheek; but to give a deadpan answer/personal plug; My team (Azure Notebooks) utilizes github as a primary issue-reporting mechanism, and we publish our primary help email-list, both of which are triaged by Actual Devs, and the vast majority of our communication is via non-paying users.

We're admittedly a smaller fish in this ocean, and large projects will have a harder time getting 1:1 touch (Naturally, and I can't fault them for having to be more proactive about protecting their time, and google may have tried to do a similar "Tradeoff calculation"), but I want to assure that at least from where I stand, we really try as a general statement to make ourselves accessible and accountable to our users.

(Typical disclaimer, don't speak for the company, etc, etc)
How to learn a new language effectively
The issue contrariwise with most other languages that can achieve similar performance characteristics as Rust, is that if you don't think about your code in a similar level of detail as the Rust compiler can "think" about Rust code ... then you get undefined behavior, memory leaks, and all sorts of really exciting run-time bugs that your tests may or may not detect.
Yes. A lot depends on how well transparent this dynamic construction of the webpack config is and whether you can really customize it or not. I've spent a bit of time having to fiddle with very specific options in my VueJS webpack config and as fiddly as that is, the ability to directly edit them at least makes it possible to do just about anything I need. Trying to debug why a config you can't see is not working, being unable to take simple examples from the manual or Stack overflow and directly put them into my config ... sounds like it could end in a nightmare.

But, jury's out, so far the Vue developers have managed to make good decisions about most of these things, so they've earned at least a little benefit of the doubt.
If its voluntary then I am not sure what is there to complain about.

Of course some people argue that if the prison was not such a fucked up place many of them would not opt for this service and there is a power imbalance, but then would it be any better if they were offered $50 per hour ?

Personally I dislike the idea of first putting in jail and making them work for free to see the outside world. It is essentially asking for a bribe (in the form of free labour) to see the outside world. How about this ? Say an inmate agrees to pay daily wages of a real professional firefighter and in return state lets him go home and spend time with family are we going to be okay with this ?
Edit: I guess there's a reason I'm not a language designer.

I've always thought that programming languages should have a nonzero number class in the vein of unsigned and float and that division should only be defined with a nonzero number class as the denominator. To divide a 64-bit float by another float, you'd have to either specify it as nonzero in the type or convert it somehow. Make division by zero impossible with the type-checker.

Setting your programming language to evaluate x/0 = 0 seems evil. You're taking a bug in the programmers code and then hiding the fact that something logically unsound happened and in a way that would be very difficult to debug or detect.

In fact, this is what happens when C# think it's being clever by returning infinity as the result of a division operation (which isn't even a number). It's a bug that winds up infecting every function that relies on that code without ever throwing an error.

A programming language shouldn't return NaN or Infinity or anything like that when it encounters division by zero. It should demand you use error-handling or ensure it can't happen. If it does happen, it should tell you exactly where the problem occurred and not assume that some arbitrary value will work just as well.
I understand you may not have a phone number at all, but Signal doesn't actually require that you have a mobile phone number at all. It can be a landline or VOIP line that can receive a call and you get a voice verification.

Of course many don't want to tie their communications to some other identifier and that's fine but that does mean that Signal isn't for those people.
Welcome to DJS (Department of JavaScript), please take a number, stand in the line to your right, and migrate your code to the next coolest framework.
5 Amazing Pop Up Blocker Software or Tools to Remove or Block ADS and Pop-Ups
There's a more standardized way to overwrite parts of a CRA config - see https://github.com/timarney/react-app-rewired .
I would argue 1/0 is infinity. Not with mathematics, just logically. By using the wording "how many times does 0 go into 1?"

You bring up 0/0. But 0/<anything> is already defined, it's 0. So 0/infinity = 0

Programmatically, I think I've always wanted X/0 to be 0. For example: progress bars, currency, or damage in a video game. It wouldn't be very helpful to have infinity be an answer there.
' the secret to flagging up bugs before hackers find them'
That's IEEE 754 https://en.wikipedia.org/wiki/IEEE_754#Exception_handling
The two latest articles from last week on HN about how Google is prepping to fully endorse China's censorship were posing these questions in the two most upvoted comments :

https://news.ycombinator.com/item?id=17685248
"Why is it unethical to launch a censored search product in China?"

https://news.ycombinator.com/item?id=17703524
"What's the slippery slope here?"

Well, you have your answer today.

The unethical slippery slope is this one: when you start accepting censorship where do you stop?

Since this "ahoy" plug-in is making China's censorship inefficient, the logical step is to ban it to respect China's will to censor. But you have to ban it from everybody right? Otherwise, some people in China could access it with a VPN or a proxy.

So here we are.

In order to get a "attaboy" from China, Google starts censoring tools globally on their Chrome Store.

With great power comes great responsibility would say Ben Parker. So yes, IMHO even companies should have some kind of "morality", some redline they should/would not cross. Google used to have one not so long ago "Don't be evil", but that's ancient history.
The convention is consistent. I don't find it useful, but it is consistent.
Tarsnap is encrypted locally and they don't see the unencrypted data. Dropbox can see the actual files, so it would violate our local law if we put any research or demographic data on a Dropbox share.
Wait why are we trying to combat conspiracy theories? Have we already forgotten NSA spying was a "conspiracy theory" up until a few years ago?
How so without optionals or static typing?