HN user

quantumtremor

367 karma
Posts11
Comments42
View on HN

Definitely not. Here's a nice algorithm that will actually compute the embedding as well: https://en.wikipedia.org/wiki/Fáry's_theorem. However straight line embeddings by Fary's theorem can sometimes be much larger than necessary, more recent advancements in computational geometry can compute embeddings with guarantees of much smaller drawings (small wrt the area of the bounding box of the drawn graph).

The Tiger of Mysore 10 years ago

Although I don't know for sure, I believe Borges' short story The Zahir [0] refers to Tipu in his usual convoluted way.

In 1832, on the outskirts of Bhuj, Taylor heard the following uncommon expression used to signify madness or saintliness: “Haber visto al Tigre” (Verily he has looked on the tiger) He was told that the reference was to a magic tiger that was the perdition of all who saw it, even from a great distance, for they continued to think of it till the end of their days. Someone mentioned that one of those unfortunates had fled to Mysore, where he had painted the figure of the tiger in a palace.

Years later, Taylor visited the prisons of that kingdom; in the jail at Nithur, the Governor showed him a cell on whose floor, walls and vaulted ceiling a Moslem fakir had designed (in fantastic colors, which time, rather than erasing, refined) of an infinite tiger. It was a tiger composed of many tigers, in the most dizzying of ways; it was crisscrossed with tigers, striped with tigers and included seas and Himalayas and armies that resembled other tigers.

[0] http://southerncrossreview.org/66/borges-zahir.htm

This is a great point, and I address it at the end of my post. The basic idea is that freedom shouldn't be limited to people who 1) have the technical knowledge to do all this and 2) have the time to set up such an environment. Freedom should be default. By being OK with these kinds of testing platforms, these could eventually be used for non-technical positions very easily, and those applications wouldn't know how to circumvent this.

Reiterating the questions posed at the end,

To what extent should personal ethics play in deciding where a (software) engineer should work? What if the engineer has no other choices for a job, and needs to (make rent/pay the bills/eat food)?

It is true that it'd be pretty easy to circumvent the tracking, by placing paper over the webcam, running the browser in a virtual machine, spoofing data to the browser, and so on. However these are infeasible for most non-technical people, so I don't think it's a real solution. Freedom shouldn't be only for those with extremely technical knowledge.

Okay so to fix mine: create a circuit that decrypts a ciphertext using the private key, returning 1, 0, or Bottom depending if it's an encryption of spam marking or not, or not valid, and run it through iO. So both solutions still require iO...

What? With FHE the client just gets an additional encrypted metadata that is the encryption of whether the attached file is spam or not. No looping required, whereas your functional encryption scheme seems to necessitate the client being "live."

The problem with functional encryption is as you say, you need to hand over the "function" somehow to the server (presumably they use machine learning and tools that aren't feasible client-side), and there's no guarantee the private key is hidden unless you use something like indistinguishibility obfuscation, which isn't really practical at all right now.

Did you mean fully homomorphic encryption? (https://en.wikipedia.org/wiki/Homomorphic_encryption#Fully_h...) The server can compute the spam score under the encryption of an email, and client side decrypts and sorts it from there, so not even the server knows if a given email is spam or not. Of course, not that FHE is feasible, but perhaps this special case is...

This is really great.

A few thoughts -Did you have any trouble with the sockets library? -I saw you explicitly mentioned "plane_distance", so are you planning on adding Haversine distance or something else? -Maybe make the map take up the entire screen? Status and first few on the leaderboard could go in the ocean.

So why not accept a lambda? I saw that http://stackoverflow.com/questions/334851/print-the-code-whi... gives you the source, though I'm not sure if it'll always work. This does work though:

  ~ λ echo "a = lambda x: x * 2" > test.py
  ~ λ py -i test.py               
  IPython 4.2.0 -- An enhanced Interactive Python.
  In [1]: a(2)
  Out[1]: 4
  In [2]: import inspect
  In [3]: inspect.getsource(a)
  Out[3]: 'a = lambda x: x * 2\n'
I'm definitely a big fan of using Lisp's quoting for code-as-data, but I feel stringifying it makes the problem even worse.

But is laziness that important for a graphing library where presumably you'd be graphing the function anyway? I guess there are some cases where one of the other options would disable the y-axis or something, but this seems pretty rare. Is there another reason?

aes(x='np.log(B - A)')

I never understood the pattern of putting source code in a string. Why not just use np.log(B - A) directly and configure the function to accept columns? With strings you lose highlighting, semantic analysis from editors, as well as the ability to know what computations are happening when and where. There seems to be no point and significant drawback to this, what's the rationale?

Glad to hear improvements to the shell ipython interface, especially up/down arrows on pasted code.

The most interesting part of this for me is that IPython 6 will not support Python 2.

Projects such as Matplotlib and SymPy plan to drop support in the next few years, while a few projects like Scikit-Bio are already ahead of us, and should be Python 3 only soon.

This was also very surprising for the standard reasons, especially for a library like matplotlib. Glad to find Python moving forward. But what will companies stuck on Python2 do? Will libraries like numpy, matplotlib, and scipy all maintain a Python2 LTS?

That last one is already implemented with browser caching. Go to a popular website and check the Requests tab on your dev console, it'll probably show 304s for CDNs. But possibly some companies join many JS files together before publishing.

I posted this yesterday with perhaps an uninforming title.

If you agree that this is a serious vulnerability, please tweet at @actblue and e-mail them at info@actblue.com.

Here's the introduction. ActBlue is a non-profit that organizes fundraising efforts for Democratic causes; so far they have facilitated over a billion dollars in donations. This page details a security vulnerability in the ActBlue donation system.

tl;dr This vulnerability affects over three million individuals who have donated to a Democratic cause using ActBlue Express Lane. Specifically, the ActBlue donation system can be exploited to appropriate false donations towards either the Hillary Clinton or Bernie Sanders campaigns. Using cross-site request forgery, previous donors can be tricked into donating to other Democratic candidates or causes.

Pasting the introduction here.

Non-technical introduction. ActBlue is a non-profit that organizes fundraising efforts for Democratic causes; so far they have facilitated over a billion dollars in donations. This page details a security vulnerability in the ActBlue donation system.

tl;dr This vulnerability affects over three million individuals who have donated to a Democratic cause using ActBlue Express Lane. Specifically, the ActBlue donation system can be exploited to appropriate false donations towards either the Hillary Clinton or Bernie Sanders campaigns. Using cross-site request forgery, previous donors can be tricked into donating to other Democratic candidates or causes.