For the best experience on desktop, install the Chrome extension to track your reading on news.ycombinator.com
Hacker Newsnew | past | comments | ask | show | jobs | submit | history | MindGods's favoritesregister

Hi, founder of Diffbot here, we are an AI research company spinout from Stanford that generate the world's largest knowledge graph from crawling the whole web. I didn't want to comment, but I see a lot of misunderstandings here about knowledge graphs, abstract representations of language, and the extent as to which this project uses ML.

First of all, having a machine-readable database of knowledge(i.e. Wikidata) is no doubt a great thing. It's maintained by a large community of human curators and always growing. However, generating actually useful natural language that rivals the value you get from reading a Wikipedia page from an abstract representation is problematic.

If you look at the walkthrough for how this would work (https://github.com/google/abstracttext/blob/master/eneyj/doc...), this project does not use machine and uses CFG-like production rules to generate natural sentences. Works great for generating toy sentences like "X is a Y".

However, human languages are not programming languages. Many natural languages, like German and Finnish, are so syntactically and morphologically complex that there is no compact ruleset that can describe them. (those that have taken grammar class can relate to the number of exceptions to the ruleset)

Additionally, not every sentence in a typical Wikipedia article can be easily represented in a machine-readable factual format. Plenty of text is opinion, subjective, or describes notions that don't have an proper entity. Of course there are ways that engineer around this, however they will exponential grow the complexity of your ontology, number of properties, and make for a terrible user experience for the annotators.

A much better and direct approach to the stated intention of making the knowledge accessible to more readers is to advance the state of machine translation, which would capture nuance and non-facts present in the original article. Additionally, exploring ML-based ways of NL generation from the dataset this will produce will have academic impact.


The feeling of reading through well-written long-form articles is very satisfying. Do any HN’ers have recommendations for websites with well-written long-form articles?

Just FIY the winmail.dat (the horrible Microsoft email format) plugin LookOut (Fix Version) has not been updated for this release and unless someone jumps in to help Probably wont be updated. https://github.com/TB-throwback/LookOut-fix-version/

I was maintaining it but haven't been able to find time to work on the upgrade.

There was talk in the dev mailing list about adding TNEF support but that probably wont happen until 2021


Great post. Personal anecdote:

I don't think I really understood anything in school, but I was decent at going through the motions of carrying out certain methods and recalling certain facts when I needed to.

I went on to study Maths at university, and for most of my first year, I had the same surface level "methods + facts" knowledge that got me through school. After some studying, I could recite definitions and theorems, I'd memorised some proofs, and I could occasionally manipulate a problem to get an answer. I think about half of the cohort was in a similar position. But it was clear that there were others in a completely different league.

When we were studying for our first year exams, I was struggling to remember the proof of a specific theorem (it felt quite long). A friend was trying to help me learn it, and he asked me what "picture" I had in my head for the theorem. I didn't have any pictures in my head for anything.

It turned out that a simple drawing could capture the entire statement of the theorem, and from that drawing, the proof was trivial to derive. It was long-ish to write out in words, sure, but the underlying concept was really simple. This blew my mind — I realised I didn't have a clue what we'd been studying the whole year.

The worrying thing is that I actually thought I understood that stuff. Before that incident, I didn't know what it feels like to actually understand something, and I didn't have an appreciation for the layers of depth even within that. I suspect lots of people go through the entire education system like this.


Hey everyone. I am Nuno, the creator of PHP Insights

First, thanks @MindGods for sharing PHP Insights on Hacker News!

To answer some question on the comments:

The goal of PHP Insights is not to perform type checking, for that we already have PHPStan and Psalm. And both already work great by default.

PHP Insights wraps tools like PHP CS, or PHP CS Fixer, putting each check/sniff within a specific category: A missing blank space is related to coding style. On the other end, having mutable objects can be considered a code quality problem.

So, once we have those checks performed, we show a well-designed console interface that shows developers the results per category in a human-readable form: with a score, percentages, etc.

Besides, it's designed to work out-of-the-box with Laravel, Symfony, and others. In other words, we have prepared a set of presets, that represent the conventions per framework, so when people launch PHP Insights within a Magento2 project, their project will be analyzed following the Magento conventions.

Long live PHP!


And this is why software sucks. We should focus on educating users, not stooping to their level

GUIs of old had a specific design language. Like: File, Edit, Window, Help in the menubar -- always consistent, always in the same order, and always containing the same thing. Min/max/close buttons in the upper-right. And so on. If one knows the GUI language they can use almost any application for many solutions at a basic level. This knowledge is getting forgotten as "designers" take creative steps to eliminate seemingly all thought that goes along with software usage. Nowadays "user-friendly" software has 100 different ideas about how to accomplish a task and it almost always involves hiding scary things from stupid users. Which also means that when something goes wrong you have no control over fixing it -- you're simply fucked. Unlike the past when there was usually an option checkbox buried in a comprehensive Preferences window, and you could disable/modify the unwanted behavior.

Ironically seemingly every app has to insult me with oftentimes unskippable tutorials and announcements just to reveal features that should have been easy to discover, but aren't, because the design language and UI standards have been forgotten and/or ignored.

Extensability and control should be WAY more important than catering to the most ignorant users.


Whenever i have someone ask me where to get started on CS - i give them a few options tiered to try and ensure some stickiness/higher utility for them specifically.

~Some Existing Touch Point With CS

Teachyourselfcs.com is definitely in the conversation - in general I recommend it to friends who have a pre-existing "gateway" to the field (software engineer or otherwise). The page talks about progressing from "type 2" to "type 1" software engineer - a deeper understanding affording a richer career/experience.

~Relatively Fresh - but have strong intent

For people who are more "virgin" and fresh but are willing to put in the work - I recommend OSSU ("open source curriculum") - and i've found for whatever reason that structure has let them gradient in with more success. (https://github.com/ossu/computer-science)

~Intrigued/Engaged - but intent is still nascent

For people who have a fleeting interest but don't necessarily have the time or intensity about their interest i usually recommend a starter python course - 90% of these people will fall off the path unless there is a more permeable access-point to the space that offers a positive feedback loop. The university of Michigan has some engaging options.


When asked about how to be a good writer, Terry Pratchett offered tips on boxing:

“A good diet is essential, of course, as is a daily regime of exercise. Pay attention to your footwork, it will often get you into trouble. Go down to the gym every day – every day of your life that finds you waking up capable of standing. Take every opportunity to watch a good professional fight. In fact watch as many bouts as you can, because you can even learn something from the fighters who get it wrong. Don’t listen to what they say, watch what they do. And don’t forget the diet and the exercise and the roadwork.

Got it? Well, becoming a writer is basically exactly the same thing, except that it isn’t about boxing.”


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search:

HN For You