skysight-inc/HackerNews huggingface dataset:
What I'm wondering is why I can't find anything about ML applied to finding and curating data, which is the most tedious part of data science. That would be an interesting way of using ML without fuzzy stuff.
I agree. I am in the UK as an EU national, and I am not worried about my residency situation. We have a moderate government who I am confident will not make rash decisions and I am intelligent enough not to equate Europe or European civilisation with something as political as the EU.

Kudos to the Brits for doing what they think is best for them (if only the Greek government did the same). Even after the gnashing of teeth and wailing in Brussels & Strasbourg has died down, the Brits will still remain European.
I'd argue they can be easy to type on most keyboards - just that most people do not enable the functionality and it usually is not enabled-by-default. So not "hard" but "atypical".

On Linux, set up a `Compose key`[0]. That makes `°` become `Compose o o`. If you're on Windows, a useful thing to do is enable the US-International keyboard so that you can more easily type characters with accents, so you can type Pokémon properly. US-International also respects the AltGR/Right alt to compose many characters [1]. For example, I can type ² by pressing AltGr+2 which really is quite easy. I can also type ° by pressing AltGr+Shift+;

[0] https://en.wikipedia.org/wiki/Compose_key

[1] https://en.wikipedia.org/wiki/AltGr_key
I've wanted to learn COBOL and so I jumped at the opportunity to learn it at my old job. I enjoyed it quite a bit because of the challenge of learning a 25+ year old code base with no documentation on a product that literally ran the entire company (it was settlement software for a clearing company). I enjoyed it but left for other opportunities. The problem with COBOL is I don't think you'll find just a COBOL job without having to know JCL or other mainframe languages/programs as those are important as well.
Waymo's case isn't as strong as it looks.

1. Levandowski was critical to the development of the Lidar technology he allegedly stole

2. Google has never before enforced IP theft by former employees, and makes it clear to engineers that it doesn't do that. This is the first time.

3. Levandowski was selling technology he developed at Google to other companies, while working at Google, and Google looked the other way.

Waymo obviously has good reasons to be pissed off, but they've already set a precedent of permissiveness towards Levandowski's antics, which are not news to people familiar with the matter. All these years Goolge has been going around with a 'kick me' sign taped to it's back, and big surprise, Levandowski kicked them. They've already let him get away with this kind of shit.

I can't actually speak to the 14,000 documents he allegedly downloaded, so it's possible there's a silver bullet hidden in there somewhere. We'll see what sort of defense Uber trots out likely sometime over the next few weeks.
Plenty of explanation videos about this 4-spacial-dimensions puzzle game!

https://www.youtube.com/results?search_query=marc%20ten%20bo...
Do you think cab drivers have gotten better since Uber came out? I only take them from the airport occasionally now, but the biggest thing about pre-Uber taxis was the service issues.
I also recommend Types and Programming Languages by Benjamin Pierce. It is a delightful textbook well suited to self study.
Presumably you are (somewhat) conflating large companies in general with monopolies. This needn't be the case. For an example, see some of the world's duopolies, such as in computer hardware (think amd + intel or amd+nvidia) in these fields, despite there being a leader, the presence of another often causes impetus that leads to research.
If you're serious about writing a parser, why not go for a bottom up parser?

It eliminates a lot of the headaches with top down/recursive descent parsers like left recursion and backtracking.
Beyond what the others are saying about IBM's Simon, Apple wasn't even the first with a capacitive touchscreen - they did it a year after the LG Prada...
THE RECLUSIVE HEDGE-FUND TYCOON BEHIND THE TRUMP PRESIDENCY
Separately, the way Go is a very, very simple language that is picking up a lot of useful tooling makes me wonder about the possibility of designing a language that even more deliberately reifies that. What if you had something like a Lisp, but instead of the macros staying in the code you had a culture of resolving the macros into the simple language and publishing the end result instead of the macros? Bearing in the very purpose of such a structure would be to forcibly ensure that the core language remains simple and the shared libraries stay simple, the core idea here is to use a second-order effect to constrain the power of macros and macro-like things, so I'm not "surprised" by the way this makes macros or syntax checks less powerful, nor am I surprised that writing such a tool requires a higher "activation energy" than simply plopping a macro down. It is well known that macros don't stay simple and often grow quite complicated; some people attribute this and the fact that macros become their own language and thus no two Lisp libraries are necessarily written in the "same language" to why Lisp hasn't managed to conquer the world.

I'm noodling around with ideas here here, not promoting Go as this language; if it were designed for that there's probably some things it would do differently. I just find it sort of intriguing that if you don't mind using tools, a lot of the common criticisms of Go can be largely mitigated without necessarily paying the price of putting the complexity in the language itself; even if that doesn't personally appeal to you it's interesting to consider it as a deliberate design paradigm. Is this a good idea? It's almost like having a modular language where you only use the complex stuff where you really get an advantage from it but don't pay for that stuff where you don't. You couldn't use this to bodge in things like the Rust borrow checker that really needs the whole program to use it to obtain the benefits, and a lot of what Haskell does with the typechecker would be infeasible, but it's not hard to see things like "sum type completeness checking" and "generics via code templating" and even things as large as "optional typing" being feasible this way, without the core language authors having to arbitrate all these things, and without the whole community necessarily having to adopt these things to see advantages. Compare with, for instance, the rather large mess Python has become over the years by absorbing feature after feature into the core language. See also the gometalinter [1], in which the community aggregates a collection of smaller tools all written fully independently, with little-to-no coordination needed, all standalone, and then tied into what is, frankly, not a half bad language linter, especially if you play with the config a bit.

[1]: https://github.com/alecthomas/gometalinter
Ok, look. I'm a Polish citizen living in the UK. I don't have any interest living anywhere else, this is my home, I don't like Poland, I don't want to move back there, I don't want to have anything to do with their government or their ideas.

I pay my taxes in the UK - hence, I want the UK government to guarantee my rights to stay here, to openly say that yes, my work here is appreciated and will be protected.

I do not agree with the sentiment that UK should wait until EU guarantees the same thing for UK citizens - because that's exactly what's turning me into a bargaining chip.

Either I am welcome here, or I am not - it cannot be a conditional thing.

My other concern is that the Polish government has repeatedly expressed hopes that all Poles would come back and work in their home country - so there is a real concern they will be dicks when it comes to offering rights to UK citizens, in hope that UK retaliates and doesn't give Poles in the UK rights to stay.
> In the ops world, these tools are pretty much the standard

Thankfully, this is true only in the HN bubble. One example: Amazon.
Retrospective Manifesto
These articles drive me crazy when they don't mention the testing process. Yes, he is using a "server class" machine, but did he disable the features on a hardware level that would skew the test. Answer: probably. I'll assume he did some sort of clear to makes sure that the data wasn't cached on the hard drive or assume that all the reads were in memory. I can't even tell if he ran the test over several iterations.

It isn't that I am doubting the results, but without some trail on how to get the results I can't make this useful information. For example if I were architecting a system and was using this as information I have no idea if I run this in a VM that I need enough memory to get these results.
Why is it called recursive descent, isn't that redundant?

I normally think of any recursion as some kind of descent into deeper levels. Maybe I'm being biased due to awareness of stackframes being a common way to implement recursion.

Or maybe it's a known phrase made popular by a paper or researcher. like "embarrassingly parallel". There are other ways to say it but comp sci people know by convention what an embarrassing problem is and that it's usually a good thing.

If everyone started saying only "recursive parser" would there really be any confusion?
How to structure follow-up processes
I've pitched to VC's. They tell it's too early stage for them, because we're 4-7 years away from profitability.

I've pitched to angels, they want to invest, but I'm reluctant to take their money as I am not seeing how their money is going to help me get the next round of funding, with the comments from VC's I'm getting right now. Also, the angel network in my country is not big (5-10 people I can raise from).

First 250k we got from a big bank. We since then pivoted the company to a more mainstream product and they just killed a proposition like this one of their own (because the product sucked), and are afraid to invest more in the same space.
Are You Living in an Echo Chamber?
You can get a parser generator to automagically list you expected (non-)terminals at this point. It may not be helpful though, depending on the location of the error. But it is something at least.
that peak just happens to correspond with Christmas :)
Knowing how crappy brands are, I do. If it weren't for the fact that I'm renting a place with no space for a washer or dryer, I'd most definitely get a Miele, no question.

I think your information is wrong. BSH is a subsidiary of Bosch, and Bosch is owned by the Bosch foundation. Siemens is also its own conglomerate.
The impossibility of refuting fake news in Mainstream Media
Yes. But that's an odd question. What god? What is "God"? I have a number of preconceived ideas about "God". I think most people believe in something as fundamental as "god" - although they don't call it that or attribute to it the same attributes everyone else does. If you believe there is a "bottom" to all things - that which holds the existence of everything else - that's "God" in my book. Now, I'd say there's more to "God" than that, but after that, we start getting nit-picky and the arguments are less convincing. No sense in turning HN into a religious debate ground.
The problems are size and shape change as it saturates and losing structural integrity (soggy...). Capacitors are a nice example, they're always wrapped in something else both to contain the fluid and to keep things in one place.

Any kind of acidity would also be taboo. It would be very hard I think to make something like this but I'm more than willing to admit that none of these are 'dealbreakers'. That's why I asked about the application, after all, if that's the only way to do it and the application is valuable enough then maybe there is a reason to invest a large amount of $ for R&D.
Alibaba-backed search startup Quixey is shutting down
already quite competent, well-funded players who have already demonstrated significant progress in this area?

And who exactly would that be? In terms of HMD shipments Microsoft is the only one doing anything serious with AR and even the Hololens form factor, FOV, PPD, battery etc... are nowhere near ready for mainstream. I can only think of one "well funded" AR company and they aren't doing so hot. That's not to denigrate my brothers over at Meta, Avegant and others who are working hard on HMD and who we love.

In sum total there has been just south of $5B of public investments or acquisitions into the AR development market since about 2014. Basically nothing when you consider what has to go into making the AR ecosystem work.

In fact I don't know if people really understand what it's going to take to make consumer AR huge, which is why I wrote this handy guide[1].

My take is that Apple has the best shot because it bought Metaio (at the time the largest AR company in the world) for pennies a long time ago and absorbed all of the knowledge they had been building since 2003.

The trick is whether Apple has figured out how to do a sleek, wide FOV HUD with SLAM, quality 3D rendering and a decent battery life - likely as an attachment to the iPhone.

[1] https://virtualrealitypop.com/heres-what-it-s-going-to-take-...
Android game like no other
Rust is 99% easy to parse, but there's one, rarely used, syntactic construct that's context-sensitive.
Instead of pure lambda calculus, another less severe route would be to simply restrict yourself to Church-encoded or Scott-encoded formulations of data structures.
> they're paying me, so I owe them something right?

Lots of quit advice here-- that's the easy path.

Actually improving the place is much, much harder. This could still prove a unique labratory to burnish your tech skills and people management abilities. Can you tough this out for a year? That's a fair cycle to measure results.

Meanwhile, squirrel away your cash and start aggresively building your local professional network. That will ultimately give you options.
I'm not really sure what you're talking about. My original comment was referring to the general case. I'm sure, given enough constraints, anyone can prove anything.

Even your Olympic example is bad. Is being faster better? Maybe for track. Or maybe not, given the disadvantage sprinting has on long distance performance, etc.

Sure, you could say some qualities are best suited for certain situations -- but that was already obvious. My original point was that overall, in general, situation independent, it's silly to say one person is superior to another.
> Is there likely to be some magic secret that allows one company to dominate self-driving cars [...]?

I actually agree with you that this is not a given, but it wasn't clear from my phrasing. I should have started my comment with "Even assuming you will print money with a self-driving fleet, etc".

That said, whoever deploys a self-driving fleet first should enjoy a significant cost advantage against human-driven taxis, at least for the initial period before competitors finalize their own transition. Insurance costs should get lower if SD cars prove to be safer (if not, they wouldn't pass regulation), and taxi customers are very price sensitive, so the $10-15 per hour cost advantage will certainly matter. Taxi drivers hate the price competition from upstarts already. If anybody figures out how to make those prices economical, they win, at least until the market commoditizes itself at a lower price level.
Language-level sum types are something that I miss a lot when I'm writing Go. I find myself using this error-prone pattern whenever I'm trying to represent state:

type PersonType string

const (
EmployeePersonType PersonType = "Employee"
ManagerPersonType PersonType = "Manager"
ClientPersonType PersonType = "Client"
)

I'm not the only one[1]. Another option is to use iota.

type PersonType int

const (
EmployeePersonType PersonType = iota
ManagerPersonType
ClientPersonType
)

You'll then use generators such as stringer or jsonenums[2] to take care of translating your internal representations to something more system-level and printable. This gets very messy as now we need to write un/marshallers and code generators for SQL databases, NoSQL databases, JSON endpoints, etc. I'm likely to just keep doing what I'm doing.

Although my described approaches aren't great, I'm glad to see people thinking about how to improve it with tooling. For reference, this is the same thing in Haskell:

data Person = Employee | Manager | Client

I really prefer this format because the set of possible Person type options is explicitly defined and easy to exhaustively check. You'll get no type coercion from arbitrary strings like "Daughter".

And you can also extra data types using type constructors:

data ApptTime = NotScheduled | WalkIn | At UTCTime

At least by attempting to use sum types in Go, you get some compiler checks, which are a lot better than none.

Has anyone figured out a better way?

[1] https://github.com/kubernetes/kubernetes/blob/master/pkg/api...

[2] https://github.com/campoy/jsonenums
Recently, https://news.ycombinator.com/item?id=13906454
He's getting unfairly downvoted in that the point is that if you invent something you need to pay the government to get protection but if you create something you get copyright protection for free. Which seems weird.

So if I sign a schematic its a work of art and can't be reproduced without my permission and I don't need to register it before filing suit on anyone infringing my copyright (although it would help at trial...)

On the other hand someone else can steal the design off my schematic unless I pay the government to protect me, which seems weird to me.

It would be like the government protecting me for free if someone stole the arrangement of my lawn chairs on my patio, but not having police protection from stealing the physical chairs unless I paid protection money.

Shouldn't the government in a capitalist country protect inventors stronger than it protects artists? Or maybe this isn't as much of a top to bottom capitalist country as some people insist.

Artists and property owners are protected by the government for free. The work of the engineer, not so much.
Warning: this takes you directly to a PDF which may automatically download (such as on Chrome for Android).

— update: the title appears to now reflect that this is a PDF. It did not earlier.
If only there were some way to get rid of all the cables! Could you, I don't know, and plug the GPU directly into a socket on your computer?? Then put everything inside a bigger box to keep it all tidy and clean.

I wonder if Apple is secretly working on something like that.
Turing was Church's doctoral student, too. In fact, Church taught many of the greatest computer scientists of the last century. Perhaps he doesn't get as much credit as he should because his influence is so pervasive and impossible to separate from his peers' accomplishments.

https://www.genealogy.math.ndsu.nodak.edu/id.php?id=8011
FLINGit
FLINGit is a Android game like no other. Have a look at it here https://github.com/yadav-rahul/FLINGit and enjoy!
> What I'm saying is, even if you try to engineer a product to last, if the supply chain supporting you isn't to doing the same, the problem often compounds.

This makes sense to me. If you want to engineer and support a long-lasting product, you have to own more of the supply chain, make more of your own component parts, or limit yourself to components that are "standard parts" and likely to remain available.
If someone claims something and is subsequently accused of having done that exact same thing that is not the same as 'making shit up'.
I wouldn't say it's trivial for a competitor to take over.

The Uber app is still best-in-class, and all my friends now say "Get an uber" instead of "Get a cab" because the UX is so much smoother.

Generally it's extremely difficult to dislodge an incumbent from a market slot. Newcomers can only compete on price, UX, and brand recognition. Ideally all three need to be significantly better than the incumbent to have a hope of taking over. Without all three the best a newcomer can hope for is a small slice of the pie.

So market share definitely has value in the abstract. Unfortunately in Uber's case it has negative economic value because of the costs/subsidies.

Then again I suppose it's possible Uber has always been a cunning plot to take VC money and spend it on subsidised transport. If so, it's definitely been a success - for now, at least.
Austria/Germany/Benelux vs US is a big difference.

Austria/Germany/Benelux vs UK isn't - outside London, the pay is now about the same order of magnitude. While London salaries are higher for now, London living costs are much higher, so disposable income suffers.
Google ventures is an investor in uber. They invested 250 mil when it was worth 3.6 billion. That works out to about 7%. Lets assume their stock has been diluted somewhat to 5% however the company is now worth 60 billion. That is is 2.75 billion paper gain. I think it makes sense they just work together and settle the issue because even if google wins the only people who really win are the the lawyers, because you will be hurting your investment. Also google track record with getting R&D projects to market is not too great.
They are actually very public about the fact they are not a machine learning company and are more or less opposed to machine learning. Their goal has always been to wrangle data and make it useful to human decision makers. not automate decision making.
Ask HN: Copy and Uncopy learning strategy – Is this a good one?
Most often we work within bounds of time. Sometimes when we deal with difficult problems, it is impossible to come up with a solution yourself within the time. I usually look up the solution, understand, and then try to write the solution based on my understanding. Is this is an effective learning strategy? Do you do this? Or you call this cheating, and you are better off not solving the problem?
Top 20 Signs That You’re Definitely Getting Old
The average person is incredibly smart. They just don't get to make up the rules for measuring smarts...or care about it. Stephan Hawking can't repair a leaky faucet.
Yea. Can't say I would have been in the market at $2k+. I admittedly got lucky on mine.
How to Use Reading Habits of Billionaires to Improve Your Intelligence and Success
The key problem is the registry seems almost like a minimum penalty. Life in prison is a major penalty, life on the registry should be also considered as such. It loses all meaning when it contains people who have been convicted of taking selfies.
The richest capitalists are planning a move to Mars, and presumably instituting (effective) slave labor or indentured servitude there.
This paper appears to be an IRC session formatted in LaTEX. It'd be easier to read as text.
Hello, I work on the C# compiler and we use a handwritten recursive-descent parser. Here are a few of the more important reasons for doing so:

* Incremental re-parsing. If a user in the IDE changes the document, we need to reparse the file, but we want to do this while using as little memory as possible. To this end, we re-use AST nodes from previous parses.

* Better error reporting. Parser generators are known for producing terrible errors. While you can hack around this, by using recursive-descent, you can get information from further "up" the tree to make your more relevant to the context in which the error occurred.

* Resilient parsing. This is the big one! If you give our parser a string that is illegal according to the grammar, our parser will still give you a syntax tree! (We'll also spit errors out). But getting a syntax tree regardless of the actual validity of the program being passed in means that the IDE can give autocomplete and report type-checking error messages. As an example, the code "var x = velocity." is invalid C#. However, in order to give autocomplete on "velocity", that code needs to be parsed into an AST, and then typechecked, and then we can extract the members on the type in order to provide a good user experience.

My personal opinion is that everyone should just use s-expressions. Get rid of this whole debate :P