HN user

rspeer

5,317 karma
Posts19
Comments1,619
View on HN
blog.conceptnet.io 9y ago

How to make a racist AI without really trying

rspeer
6pts0
blog.conceptnet.io 9y ago

ConceptNet Numberbatch 17.04: better, less-stereotyped word vectors

rspeer
6pts0
blog.conceptnet.io 9y ago

How Luminoso made ConceptNet into the best word vectors, and won at SemEval

rspeer
3pts0
blog.conceptnet.io 9y ago

Show HN: Announcing ConceptNet 5.5 and conceptnet.io

rspeer
5pts0
blog.conceptnet.io 9y ago

Wordfreq 1.5: More data, more languages, more accuracy

rspeer
2pts0
blog.conceptnet.io 9y ago

Yes, people do want pre-computed word embeddings

rspeer
1pts0
blog.conceptnet.io 10y ago

Cramming for the test set: We need better ways to evaluate analogies

rspeer
3pts0
blog.conceptnet.io 10y ago

Conceptnet Numberbatch: A new name for the best word embeddings you can download

rspeer
2pts0
blog.luminoso.com 10y ago

An Introduction to the ConceptNet Vector Ensemble

rspeer
16pts0
blog.luminoso.com 10y ago

Wordfreq: Open source and open data about word frequencies

rspeer
2pts0
blog.luminoso.com 11y ago

Ftfy (fixes text for you) 4.0: changing less and fixing more

rspeer
2pts0
blog.luminoso.com 11y ago

Natural language can be such an ass headache

rspeer
1pts0
github.com 11y ago

Show HN: Langcodes – A Python library for working with language codes

rspeer
5pts0
github.com 11y ago

Python-ftfy: Given Unicode text, make its representation possibly less broken

rspeer
101pts40
rspeer.github.io 12y ago

U+DEADBEEF: Why you shouldn't trust arbitrary text encodings

rspeer
1pts0
blog.luminoso.com 12y ago

Picking a March Madness bracket using natural-language text

rspeer
1pts0
blog.luminoso.com 12y ago

Emoji are more common than hyphens

rspeer
2pts0
blog.luminoso.com 12y ago

Ftfy 3.0 — makes Unicode text less broken

rspeer
2pts0
blog.lumino.so 13y ago

Show HN: Fixing common Unicode mistakes with Python — after they've been made

rspeer
4pts0

Well, it's not true. Bitcoin has increased the demand for coal power in China. Bitcoin miners flocked to New York State for cheap natural gas power.

Green energy is not necessarily the cheapest form of energy. If it were, it wouldn't even be _hard_ to stop burning fossil fuels and prevent climate change.

Most of the projects you're thinking of probably never even generated high-resolution images. Until recently, the actual output layer for most of these systems would be something like a 256x256 array of pixels.

This is a revisionist and false narrative, and I believe it may be inspired by the "just world fallacy": you may be inclined to believe the world couldn't actually be unfair to women, so you search for another reason why their contributions would actually have been less important.

Your narrative is historically incorrect. Women invented many of the things that made software engineering _less_ tedious, such as debuggers (Betty Holberton, 1945), subroutines (Kay McNulty, circa 1947), assemblers (Kathleen Booth, 1947), linkers (Grace Hopper, 1952), and compilers (Grace Hopper, 1954). Programmers have always strived to make their job easier. If you don't see these inventions as creative effort, I don't know how to help you.

Even the parts of programming that were tedious were still important. If you saw someone tediously programming in assembly code today, you might celebrate the effort.

The flowcharts that these women were handed by their managers were not "program logic". There were many difficult details to work out about how to implement a program given the limited computing power of the time. You would not describe a manager today who draws a flowchart as having "written a program".

No, they weren't doing "tedious data entry", they were writing the entire program. And I'd say it would be less boring than programming in 2019, which is easier and pre-existing libraries solve most of it for us.

You are doing exactly the thing the article describes.

I've certainly encountered this issue.

When I release ConceptNet, I would like to follow SemVer, but it kind of has to be in a way that the second component of the version is the major version, because there are bigger things that happen in a multi-decade project than just API changes.

The project is ConceptNet 5. It is the fifth project named ConceptNet. What it has in common with ConceptNet 4 is some of the data and the spirit of the problem to be solved; the design is quite different.

It's on the sixth major version after the initial release, so I call it ConceptNet 5.6. The current version is 5.6.4. If I wanted to use tools that expect SemVer, I'd have to call it something like "ConceptNet 5 v6.4". I find that confusing, and I think other people would too.

Huh. I don't have much of a problem going in to a bank branch, given that there's one every half mile. A quick in-person meeting is fine compared to the shitstorm of unusable menus and nearly unintelligible communication that is calling your bank on a cell phone.

(I mean it would be great if there were a bank that did all its customer service over text chat, but that's too much to ask for, right?)

Can confirm. I actually went and specifically informed a couple of ad-targeting networks that I'm a woman, in the cases where they allow that, around when I was updating many other people and institutions. That helped on some fronts.

So now some of the ad targeting networks have me targeted as "woman who's a successful professional and knows what she's doing in life", which, uh, is correct up until that last part.

The robots are just not expecting a woman in her thirties to still be baffled and overwhelmed by fashion and looking for the basics. I get my most useful recommendations by word of mouth, and yay, that sounds very nice and authentic, but it's a slow process.

So this is a different problem than the original article: we could be targeted _better_ and both we and the advertisers would be happy, for at least a moment.

But. We're trusting the advertisers to use that information responsibly. What if the kind of people who make those anti-trans reply videos on YouTube start taking out deliberately divisive ads, targeted at the trans community? On balance, I think it might be better for the ad networks to not quite understand.

Open Location Code 8 years ago

Honolulu is a city, not an island. It is more than enough information to select a rectangle roughly 40km on a side.

PyTorch 1.0 is out 8 years ago

Python bytecode is a pre-processed form of instructions to a Python interpreter, such as getting the function with a specified name out of a Python library and calling it with certain Python objects as arguments.

The point here is to run PyTorch code without having a Python interpreter, and without having to run slow Python code.

So only programmers can be "intelligent, polite" users, in your view?

Of course you have to "do it for" the user. That's why you are the programmer and they are the user. If you're making something half-finished for other programmers to contribute to, that's very different from making a social network.

UTF-7 is "fun" because encoding libraries tend to support it, but since nobody cares about it, edge cases in the implementation may go undiscovered for a while.

Back on Python 2.7.5, the UTF-7 decoder didn't do range checking, so this script [1] produced a "Unicode string" containing the codepoint U+DEADBEEF. (The maximum valid codepoint is U+10FFFF.) This string would crash regexes, corrupt databases, etc., so that allowed denial-of-service attacks against any function that let you specify an arbitrary encoding.

(This is fixed in all extant versions of Python.)

[1] https://gist.github.com/rspeer/7559750

A couple reasons I'm aware of:

- Han unification. Chinese and Japanese characters that have the same etymology but are written differently are sometimes assigned to the same codepoint, and it's up to the font to distinguish. And application designers... tend not to detect the language and change the font accordingly. This leads to Japanese text being rendered in a Chinese font.

- Some Han de-unification has happened in Unicode now. Great. Which version should fonts and encodings support?

- Nobody actually knows the complete de facto mapping between Shift-JIS and Unicode. Yes, there are standards and ICU and Python modules and stuff; they're incomplete. This leads to data loss surrounding rare characters.

(Tell me you've got such a mapping and I'll give you some strings I found in the wild to decode with it.)

I'm glad that this is a good example of a translation, and not a trick.

I still think that if a blog post author says "this is a translation of my post", the author should host it as a sibling page on their own server. That allows them to more reliably vouch for its content, and removes an avenue that can be used for trickery.

If the author is reading this: When someone provides you a pro-bono translation, by all means credit them, but do not let them host it on their own site.

Frequently, they are siphoning your PageRank. They will eventually replace the translation with monetized content of their choice. A good translation takes work! If you got a translation for free, why should you believe it's good, or that it has no ulterior motive?

A firm called "WebHostingGeeks" used to do this all the time. They would offer free translations of blog posts, into languages the author probably didn't speak (and they didn't either, they were just using machine translation). They'd ask authors to link to the translation on their site, and over time they would add their SEO links to the translation.

I first noticed this when WebHostingGeeks offered me a Romanian translation of ConceptNet documentation, my roommate spoke Romanian, and he said "maybe I'm not used to reading technical documentation in Romanian but I think this is nonsense".

That's the part about "Definers" at the end of the article. They make sure not to say his name.

Their claim is -- and this is ridiculous -- their PR team thought people needed to know that a campaign criticizing Facebook was funded in part by "a well-known critic of Facebook" and it's entirely coincidental that this well-known critic is the bogeyman of the right. (Who would have guessed that Facebook critics criticize Facebook?)

Of course, as a response to their PR organization supposedly doing nothing wrong, just presenting people with vitally important tautologies, they have fired them.

It's remarkable how much of this response just mildly confirms the New York Times article. (We reject the claim that Facebook execs all use Android just because Zuck hates Tim Cook! They use Android because they need an operating system on their mobile phones, and because Zuck hates Tim Cook.)

The social context of computing is not a computable function of its inputs.

Fortunately, decisions can be made by humans who understand social context. Not everything has to be reduced to a machine-learning classifier.

I got an out-of-spec USB-C cable three weeks ago.

While driving a long distance, I noticed that I had failed to bring any way to charge my phone in the car, so I bought a USB-A to USB-C cable at a rest stop convenience store.

It served its immediate purpose of not leaving me lost with a dead battery. But it doesn't charge many other devices, and it only works when plugged in with the USB logo facing down.

I don't consider the problem of fake USB-C cables solved.

(I have no idea what brand it is, and the convenience store themselves probably bought whatever the cheapest counterfeit thing on Amazon was)