Lessons from the use of personal knowledge questions at Google (2015) [pdf] - <AUTHOR> https://static.googleusercontent.com/media/research.google.com/en/us/pubs/archive/43783.pdf <comment><USER2> I think I have a 0% success rate with secret questions. They always ask things that don't apply to me, so I have to make them up. Then I forget them. (Sorry, Charles Schwab, I've never owned a car.)

I have learned the hard way that these are just easy-to-guess extra passwords that let attackers bypass my hard-to-guess password. I dump them in my password manager so I don't get locked out, but I know they're a ticking security time bomb. Every site asks the same questions, so if the database gets compromised, it lets someone compromise other accounts. And, they're probably not even one-way-hashed, because customer service people ask for them on the phone and can probably see the answers. I don't even know how it's legal to use these things anymore. They set the field of information security back two decades.

(I have always assumed that they exist to save money on call centers. You get locked out, you have to talk to a real person, and real people want salary and benefits. But with the abysmal success rate that the paper shows, I'm not even sure it's saving people money. It just seems wrong on every level. For that reason, I know they're here to stay for good.)

<comment><USER3> If you use a password manager, then its easy to make and save secure answers.

Question: what is the name of your first car's cousin?

Answer: rnrogbpqhey..!105

<comment><USER4> For cases where the questions are used by automation, it's okay. Not so much when humans come into play, that can be social engineered: A friend called his bank for something. They verified his idenitiy, him answering to 'what was your first pet's name' with: The answer is random letters, numers and symbols. He was verified to be the owner, not having actually told the support person a single matching character.

For those cases, generators for random answers that read legit would be better. I started putting in random word sentences like 'DoYouHaveAPetCalledPeter', stored in pwdstore metadata to the accounts.

<comment><USER5> Also it's fun when you have to speak to customer support and you're not sure if you made up the answer or not. It's extra fun when the security question is something embarrassingly obvious like "what town did you grow up in?" or "what is your mother's maiden name?" and you get it wrong (and have to say "No really, I know this but I lied on your form").

</comment></comment></comment></comment><comment><USER6> Cory Doctorow highlighted a particularly 'head-desk' example of challenge questions' failure modes yesterday – a credit union that mixes the user's free-form answer (which might be an attempt at a strong password) with mundane alternate responses in a multiple-choice presentation:

[https://twitter.com/doctorow/status/1289214916960780291](https://twitter.com/doctorow/status/1289214916960780291)

Whenever you think you've seen the dumbest bit of anti-secure design, some bank, airline, or government will provide a "hold my beer" topper.

<comment><USER7> Oh, man that's bad. The worst I've come across in the wild was some bank or financial institution (don't remember which one) which did some "sensible" validation at creation time. I.e., your first phone number had to look like a phone number, your mother's birth date had to be a real date, etc. That was pretty bad but you could still choose the phone number one and get a reasonably decent password. This is way worse.

</comment></comment><comment><AUTHOR> Most people on HN probably understand intuitively that account recovery questions don't work (the conventional response to them is "ignore the questions and use them as additional passwords"). But this paper highlights an interesting specific reason they don't work: there are demographic subsets of users for which specific questions, like "favorite food" or "city of birth", are particularly insecure.

Think of it as "falsehoods programmers believe about personal information security".

<comment><USER8> I worked at a place once that actively encouraged everyone to use the word "Mickey" as the answer to all these questions. What city where you born? Mickey. What's your favorite food? Mickey. Best friend's name growing up? Mickey. Apparently the person who started this trend was a big Disney fan.

<comment><USER9> So you could hack into any of their accounts by using password recovery mechanisms. Sounds like a bad idea.

<comment><USER8> Yes, exactly. It's kind of like the obtuse password rules which result in people writing their passwords on post-it notes stuck to their monitor. The net security result is worse.

<comment><USER10> >The net security result is worse.

Depends on what you're looking for.

Secure password written on a monitor (or on a pad in a locked drawer) is better than using "Passw0rd" (or some other trivial to the point of uselessness password that all the scripts will try) for most use cases assuming you have some semblance of physical security. Your coworker might login as you and F up something but some guy in Nigeria or Belarus is much less likely to encrypt the network share than if you had chosen the former. Just like everything else in security it's all about what your threat model is and what the trade-offs are.

Edit: do any of the people who are offended by my statement care to explain why it is so disagreeable to them?

<comment><USER11> You think you are safe, until a TV crew broadcast your post-it worldwide. It is not made up, it happened to TV5Monde in 2015

<comment><USER10> That's like the computer security equivalent of some rare disease that's only happened to a couple dozen people. Sure, one can win cheap virtue points by insisting it's something we need to take seriously and yes it is easy to guard against but it shouldn't be a realistic part of pretty much anyone's threat model. Given the choice of a pad of paper in a locked drawer (i.e. analog password manager) and sticky not obviously the sticky note is inferior but both are superior to having something that is trivially easy to compromise without having physical access to the workplace.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Personal knowledge questions are just clear text passwords that can be determined from publicly available information. Apparently everyone gets that except the security people because they keep thinking it's the best thing ever. It's right up there with calling on the phone being a security factor - because yes everyone knows my voice so there is no possible way anyone can call and claim to be me.

Synchrony financial still takes top honors for locking out my account when I use a vpn, and giving a menu of phone numbers from Transunion to choose where to send SMS auth attempts - you don't even have to ask my phone provider to port my number to your phone, just fill out a raffle ticket at the mall and wait for it to turn up on the report.

I can gripe about Google a lot but no denying they have done more then anyone to improve the security of the average user - TOTP, yubikey, per-device passwords for e-mail. Wish the banks would catch up.

<comment><USER13> "My voice is my passport. Verify Me"

<comment><USER14> HSBC (at least in the UK) has a Voice ID feature that literally has you say "My voice is my password".

</comment></comment></comment><comment><USER15> It's not just a matter of how effective they are…one must consider the risk of these answers being included in a security breach's data dump. It's easy to imagine a sort of "dark web data broker" that has aggregated any "found" answers, keyed by each user's e-mail address. It would be extremely valuable to anyone trying to steal an identity.

That's why I lie whenever I see them, and I keep track of the lies in my password manager's notes, which are regularly printed and stored off-site for disaster recovery purposes.

</comment><comment><USER16> I harden my security questions by either providing a random 32-character value from [1] or by passing the real answer through sha256 with a site-specific salt (i.e. sha256(domain name + answer)). I only do this when security questions are mandatory. Otherwise I never set them up & use U2F instead.

[1] [https://passwordsgenerator.net/](https://passwordsgenerator.net/)

<comment><USER17> Which means that if I can get a customer service rep on the phone, I can beat your security question and take over your account, by correctly answering "It's a bunch of gibberish."

<comment><USER16> Yes, it is prone to targeted social engineering but so are the questions in general. At least data breaches aren't reusable across sites so I limit the damage of that attack vector. If you have a suggestion on a better technique I'm open to hearing it.

<comment><USER17> I think the better technique is to just accept that customer service is ran by malicious idiots, and that your account can and will be compromised.

Then, the proactive thing you can do is plan for how you will deal with the fallout.

</comment></comment></comment></comment><comment><USER18> It's a shame authors like this don't think to delve into the "other" category, because that's where surprising insights can sometimes be buried.

For example, I would really like to know the "other" reasons for providing false answers to security questions. The top reasons are obvious, and a couple of them are my reasons. For privacy, and better security, I would put, say, B7eoaOHv2se as my father's middle name, and store it in a password manager.

My guess is that "other" breaks out into:

\- I have one or more of the above reasons but I don't want to reveal it/them.

\- I don't have one of the above reasons but I don't want to reveal my reasons.

\- I am lazy.

\- I like to troll security questions even though I am just trolling a script program on the internet.

\- I am trolling your survey.

\- I use it as a chance to express my creativity.

\- I have never encountered such a question.

\- I forget how I answered and why.

These may overlap.

But it would be interesting to see if there are other sensible reasons.

</comment><comment><USER19> One thing to understand is services which deploy personal knowledge questions for password reset do NOT take security as their primary aim. The primary aim will be a cost-benefit optimum between user security and cost of customer service.

This cost-benefit analysis is strictly from the point of view of the provider. If their costs for a customer security breach are low, they will be willing to trade lots of insecurity for a little bit of reduced customer support.</comment>


Can Snowden fly by private jet from Moscow to Ecuador? - <AUTHOR> http://blog.privatefly.com/edward-snowden-fly-private-jet-moscow-ecuador <comment><USER2> That may be the single most blatant piece of PR I have ever seen!

<comment><USER3> Indeed. Who cares if he travels from Moscow to Ecuador in single trip or several. Seems like blatant advertisment which just screams "Call PrivateFly"

<comment><USER2> Roll up, roll up and join the Edward Snowden publicity train (or plane)!

</comment></comment></comment><comment><USER4> You can fly wherever you want. No international commercial airline will let you on their plane unless you have a valid passport / VISA for the destination. If you show up by private plane, you will have to show your passport to enter the country, or else you are denied entry.

Currently, Snowden is denied entry to Russia, and is stuck in the "Transportation Zone" of a Russian airport, unable to enter the country. Snowden was in discussions for asylum with Russia (who would issue papers allowing him in if granted), but Snowden has reconsidered this option and is seeking asylum elsewhere.

<comment><AUTHOR> When you board a commercial airline you have to show that you have a valid visa/passport for your destination however that is not technically checked until you go through that country's immigration service.

So would it be possible for a private jet to pick up Snowden and drop him in Ecuador where he could officially apply for asylum? It sounds like the main issue is that he has to be in Ecuador to apply.

<comment><USER5> Very tricky because any private jet isn't going to have the range to make that in one hop.

<comment><USER6> No but maybe it could fly over the arctic to iceland, refuel then to somewhere in northwest africa for a quick refuel, then across the atlantic.

Bit of a trek but possible?

</comment></comment></comment></comment><comment><USER7> A better question is if such a flight would ever arrive considering how close it would come to the US east coast.

Remember it's now magically legal to kill US citizens without a trial.

What makes me ill is that there would be a number of people arguing on both conservative and liberal networks that this is acceptable.

</comment><comment><USER8> It's hard to think US would not intercept the plane at some point over the ocean. Could be the case even with a commercial flight.

</comment><comment><USER9> [https://news.ycombinator.com/item?id=5970940](https://news.ycombinator.com/item?id=5970940)

</comment><comment><USER10> He still has no passport though...

</comment><comment><USER11> This is shameless advertising.</comment>


What's wrong with web developers? - <AUTHOR> http://geckod.com/article/whats-wrong-with-web-developers

<comment><USER2> That's a good article. However, it's all about desktop programmers vs web programmers.

I'm a developer. Sure, I may not know all there is to know about programming. Fine. I don't want to. I'm there to develop a product. I'm a web developer. The products I develop are websites.

Sure, I could dust off those old javascript books and write everything by hand. Then program the backend.

Or I could install a CMS, a frontend framework and download a few jQuery plugins, put them together and end up with a nice website. All in the time it would have taken me to dust off those books.

Sure, I may not feel like a 1337 programmer when I do that. But boy, that feeling of completing a product using the tools at my disposition. That's what I crave.

You crave solving problems? Fine, I need you. I can't even live without you. Build me a new super awesome CMS that can do everything my client could dream of! Make is super easy to use too! Then, while you are at it, program a new browser too, so I can use all the newest CSS3 animations on it!

I'll even pay you the licences to use all those products!

But please, stop trying to belittle me.</comment>


Launch HN: Toybox (YC S18) – Communicate changes to sites without writing code - <AUTHOR> Hi HN! We're Jono and Brendan, the founders of Toybox (YC S18). Toybox lets designers, marketers, and copywriters communicate changes to developers on any website, without having to write code. These changes get annotated as CSS edits so engineers can understand, reply, and implement the fixes (https://www.toyboxsystems.com).
For years Jono and I have struggled to communicate changes with one another during the development cycle. As a UX designer and Jono as a full-stack engineer, we spend hours going back-and-forth, trying to make small but important tweaks to sites. This was by far the most frustrating part of our jobs, driving us to try to solve this age-old problem.
While learning about the development to design handoff, we've come across some common challenges teams face. First, not all companies have sophisticated or easy to deploy staging environments to quickly share works-in-progress. Second, some designers make tweaks using Chrome Inspector, but these changes don't persist and are recorded nowhere near the relevant web page. Lastly, the majority of these conversations are happening in unofficial and unformalized spaces, making it easy to dismiss and disregard.
The first problem we attempted to solve was creating a way to share web pages without a staging environment. To do this, we built a chrome extension that collects and sends the rendered DOM of the current page to Toybox. People write HTML and CSS in creative ways, so making sure we accurately re-render the captured page within Toybox has consistently been a fun and difficult challenge (looking at you CSS in JS...).
We built Toybox in a way that doesn't require prior front-end knowledge to use. We created an inspector that makes any page feel like Squarespace—a universal WYSIWYG of sorts. As you make tweaks, those edits get saved as CSS allowing a developer to contextually review where on the page a change was requested and the relevant code required to resolve that change. To see it in action, we made a demo of Hacker News here: https://app.toyboxsystems.com/share/Zodzjmzhpx3w
We're excited about the possibilities of having a rendered web page within Toybox. We're currently testing the concept of style and component linting. Instead of the rules being tabs vs. spaces :) we can lint for incorrect uses of color, accessibility, typography, button styles, and so forth by using design files or style guides as inputs. With the rise of component libraries and design systems, we're excited to further automate these QA efforts and make this communication channel even smarter.
We'd love to hear your feedback and personal experiences when it comes to this phase of the development process. You can try Toybox for free here: https://www.toyboxsystems.com/
Thanks, Brendan & Jono <comment><USER2> Your hn demo is super interesting. It would be cool to see designers fix popular websites ( _cough_ reddit) and then be able to release those changes to the public.

<comment><USER3> This would be super cool. Could even do community-based upvoting on what a leading website _should_ look like.

Curious as to how the legal end would work re: IP. If you have 1,000 people redesigning Reddit and publishing it for all to see, there's bound to be some serious design overlap (whether intentional or not) when said company eventually goes through a redesign.

<comment><AUTHOR> Oh that's awesome. And yea - not sure how the legal end would work either. Will ask around and let you know what we hear!

</comment></comment></comment><comment><USER4> I find this interesting, but feel like there should be a "less developer" focused version for non-dev communication. IE: Product manager, stakeholder, etc. Give them an easier way to annotate parts of the page with notes, versus the current way: screenshots and highlighting things with paint, powerpoint, etc

Edit: I see the screenshot view is sorta closer to what I am getting at. Either way, sounds like you guys are solving an interesting problem and should be easy to communicate the value if you clean up the UX. I just was overwhelmed at first.

<comment><AUTHOR> Agree with you there.

We've been thinking about having an "advanced" toggle which would hide the "developer focused" inspector and just leave a comment field. Wondering if you have thoughts on how we could do this better??

<comment><USER4> So, overall I think given the problem you are solving, there is a LOT of thought that could be done in regards to UX. So, ignoring that you guys are probably keeping that in mind, I have a few smaller comments that seem like immediate thoughts.

1) It isn't clear what is clickable and what isn't, I feel like I should be able to click on the blue comment badges and see related comments (or is that # related to requested change count?)

2) Secondarily to this, when I click on a dom element, it automatically defaults to the inspector tab, when I feel like this gets too deep for a product owner just wanting to make comments on a section

3) I am not clear on what the difference between a red highlight box around elements and a blue one means

After looking at it a few minutes more, other than the comments above, I think you are thinking about it in the right way. I feel like there are levels of depth/advanced features that should feel more progressive -- right now it seems like feature overload on that first view. Maybe the default view is just something where you can click on dom elements and add comments, the second "tab" is "Request Markup Changes" where there are no comments -- when you select an element you can make markup changes with the advanced inspector and there is a history of those, and then you might could even get rid of the "screenshot" view. Or maybe mix the screenshot "highlight area" functionality with the first/non-dev oriented commentary tab/view

Sorry if that last paragraph isn't concise, I can rewrite it better if some of it wasn't helpful. Also this is all obviously just my opinion

Edit: I made edits above ^ Edit: Last edit. I also notice the UI/UX seems a bit different on your landing page demo vs what is present in the demo link. I personally kinda like the comments having their own dedicated space to the left of the page, then you could toggle the advanced inspector tab on the right, in and out cleanly. Not sure if there is a way to change the comments to the left currently, or that was a previous build. But I feel like it addresses some of my commentary above.

<comment><AUTHOR> 1) That # is currently the order of the comments made. Can see how that can be pretty misleading. Going to be playing around with that more :)

2) Agree with this as well. Trying to think of ways to make this work for multiple personas.

3) Another great point. Red highlight box means you have either selected that element or someone has made an edit to that element.

4) Love the ideas in that paragraph. We're thinking about removing the screenshot and bringing more of that functionality into just one screen to reduce cognitive load. We'll be playing with this in the next coming days so would love to hear what you think then!

And yep that's how it used to be designed. We recently changed it because our users (and us internally lol) we're having difficulty making sense of the page when there was so much going on. Will definitely keep that in mind though and maybe make it optional if you want the comments to show on the right-side!

</comment></comment></comment></comment><comment><USER5> This is cool and solves some of the issues around staying organized when creating a final polish punchlist that come up, even when I'm doing the design and dev myself :-).

Couple thoughts -

When adding a new comment, I was surprised that mine became "1" which reflowed all the numbers. Seems like it would be helpful to append the comments so that the numbers stayed static.

Also, it would be neat if I could change the styles of all the similar elements at the same time. For example, when editing the .storylink class, it would be neat if I could choose to edit all similar elements or just that specific instance (like I can in the normal inspector). That would make it easier to preview my changes and make what I am trying to change clearer to the developer.

Another feature this brought to mind would be a way to preview all the colors in use on the page, kind of reverse engineering SCSS color variables. That way a designer could preview what changing orange --> green across all uses might look like before committing to it. The designer could also suggest a new color be added to the palette. In a dream world, this would also work for all font styles in use. Basically creating a reverse style sheet so you could see and consolidate minor differences. Maybe this is what you mean by style and component linting?

Finally, it would be cool to have "versions" or "groups" of the edits. We often debate whether we should go one direction or another, and being able to flip between a few options without fully coding a solution would be neat.

Cool project and good work!

<comment><AUTHOR> 1\. Can't agree more with the numbering issue. We're going to be fixing that ASAP :)

2\. We're currently working on adding the ability to edit just one element or all that are associated with that class. Should be live in a few days!

3\. Yes and yes. We're super interested in this idea as well. We've been testing out showing all the style elements in use on any given page ( i.e. on this page you're using these 5 grays, 4 type styles etc.). With that information, we can allow users to "add" those elements to their saved styles and see if something on the page doesn't match. For instance, the red we use is #C8080A but I can now see that in these 8 places we're using a red that doesn't match. Would love to hear your thoughts around this!

4\. There is actually a "History" tab located on the side-panel where you can view the changes made to that page over time. Let me know if that's what you meant and how we could improve the visibility/usability of that!

<comment><USER5> 1,2: Awesome, excited to see the updates

3: Cool, sounds like you are thinking about this in a similar way. The one place where there might be issues is when using opacity, i.e. the color is defined in hex in one place and as rgba in another. I am not sure how to solve it, but might be something to keep an eye on. :-)

4: I did notice the history tab, and I think that is very helpful for seeing where an edit went off the rails. I was more meaning 2 completely different edits for the same page side by side. For example, here is what a page looks like with new-font-x vs new-font-y. Thinking about it more, maybe you could just import the page into your system twice? Not sure if you are preventing dupe URLs.

<comment><AUTHOR> 3\. Totally hear you with regards to opacity. Will have to think about how we deal with that :)

4\. Ohhh I see. Yea that's an awesome idea. Basically showing a diff between different design decisions? We'll definitely play around with that and see what we can do!

</comment></comment></comment></comment><comment><USER6> I built something similar: with [http://WebFiddle.net](http://WebFiddle.net) you can see what any site would look like with custom CSS and JS applied, its like an editor for changing the web/plugins/extensions ect. Used by technical types.

<comment><AUTHOR> Thanks for sharing that. Took a quick look and looks really cool!

</comment></comment><comment><USER7> My clients (VPs of Marketing and CEOs) would never provide feedback in a tool like this.

It's Email or a phone call every time because they don't have the time it desire to learn a new tool for what to them is a one off design project.

<comment><AUTHOR> Totally hear you there. Thanks for the feedback!

We've seen freelancers and agencies record feedback themselves while on the phone with their clients but appreciate your honesty - super helpful for us.

</comment></comment><comment><USER8> Definitely like the HN demo!

Few questions:

1\. Is there a way to set different CSS for different breakpoints? It seems like if I tweak it for desktop size, it also applies to the mobile screen.

2\. Is there an output that shows the full CSS diff so I know the extent of what I have to change, as a developer? Ideally you'd even be able to pull in source maps and generate a patch file for me to just apply.

3\. Could you even make it so that this just generated a PR on the GitHub repo with the changes in the CSS/LESS/SCSS? Seems like that may require a lot more integration with the tooling, so might not be worth it.

<comment><USER9> Thanks!

1\. Breakpoints are definitely something we've heard and are actively working on!

2/3\. Another great idea - would love to hear more about what you hope to extract from the full css diff, versus change by change? The patch file/PR is an awesome idea and something we definitely want to push on as we integrate more with the chrome dev tool api :)

\- Jono

</comment></comment><comment><USER10> I thought I'd check the demo site, but it's spinning the loading animation for more than a couple of minutes now. Perhaps there's a big traffic spike with the launch news. I'll check it out some other time if I remember.* But this is one of the most important things to address quickly.

* Don't trust users to remember and go back to a site that seemed interesting but wasn't working or loading.

</comment><comment><USER11> Really love this concept, awesome job guys. Do you think marketing and growth teams will use to surface ideas for copy and layout changes? I could definitely see a future feature that let teams vote too -- would be super valuable for growth teams that are moving fast.

<comment><AUTHOR> We've started seeing some Marketing/Growth teams use the product to communicate copy changes etc. so we're interested in how else we can provide value there.

Love the idea of upvoting edits. Will definitely test that out more :)

</comment></comment><comment> raving-richard Great to see Toybox getting some attention. While I'm still not convinced that BSD-0 is the best license, it certainly encourages innovation in the space.

Wait, you're not Robert Landley!

Naming stuff: one of the hard problems of computer science.

</comment><comment><USER12> Wow! This looks awesome. After signing up and playing around with it; I can actually see this fitting in to my real workflows. I see you guys have integrations coming soon, and the only request I would have is Asana support.

<comment><AUTHOR> Glad to hear that!

Just added that to our backlog :) Wondering how you envision those changes within Toybox being displayed/integrated in Asana?

</comment></comment><comment><USER13> Nicely put. It's been a while since I saw a product so nicely curated.

Well done.

<comment><AUTHOR> Thanks! Let us know if there is anything we can do to make it better :)

</comment></comment><comment><USER14> Wow this is really neato! Often times, I find myself not only changing CSS, but editing the HTML. Does that work in Toybox?

<comment><AUTHOR> At the moment, our WYSIWYG allows you to edit the CSS properties of any element. The only HTML element you can edit via Toybox at the moment is changing text.

Would love to hear how you'd envision editing the HTML? Wondering what types of edits you're currently making to the HTML via the console?

</comment></comment><comment><USER15> That sounds interesting. Do you plan to port this to Firefox? I'd love to test it :)

<comment><AUTHOR> Right now, you can view and edit any web page in Firefox but to capture it, you have to use our Chrome Extension.

We're looking at other ways to "capture" pages i.e. js snippet, firefox, etc.

Let me know if you have any preferences or ideas there :)

</comment></comment><comment><USER16> How do you differ from Webflow and zeplin/figma?

<comment><AUTHOR> Zeplin and Figma help teams in the handoff from design to development. They take design files and automatically translate the vector-based shapes to CSS without having to manually redline.

We go the opposite direction - from development to design. We capture web apps or sites (not design files) and allow non-technical teammates to make edits and communicate those changes with developers.

Webflow allows anyone to create and host a website from scratch using their robust WYSIWYG.

Unlike Webflow though, with Toybox you can capture any web app or site and make edits using our WYSIWYG (don't need to have originally built it using Toybox).</comment></comment>


The case for Emilia Bassano as Shakespeare - <AUTHOR> https://www.theatlantic.com/magazine/archive/2019/06/who-is-shakespeare-emilia-bassano/588076/ <comment><USER2> This is a short article by a journalist. It attempts to summarize my long academic book Shakespeare's Dark Lady; Amelia Bassano Lanier, The Woman behind Shakespeare's Plays? This is not a new subject. I announced it at the Washington Shakespeare Festival at the Smithsonian around 2007, and published an article on it as a new paradigm in 2009.I welcome an informed debate, but the best place to start is to become familiar with the book, then to discuss with me the additional unpublished research.

</comment><comment><USER3> The far more likely explanation for all the evidence cited in the article is that Shakespeare got to know many interesting people who could tell him about faraway lands and aristocratic life, which fed into the settings of his plays, and Bassano was one of those acquaintances.

</comment><comment><USER4> But as the article alludes, questions of authorship are dismissed by overwhelming consensus. It is also a question for which the sort of conclusive evidence that's desired just doesn't exist. In some sense, it's analogous to climate change denialist articles.

So, it's nice to learn more about Emilia Bassano. But it's a problematic article, and, especially, your defense of it seems problematic. It almost detracts from her work to try to fit her into the Shakespeare authorship pigeonhole, and it's also the case that there's far less evidence for this competing hypothesis than the one favored by Occam's Razor, that Shakespeare was simply Shakespeare, and astonishing as he was and the unresolved questions we have, we should just accept it.

<comment><USER4> I will assume the downvotes are from those dastardly Oxfordians, so comfortable in the shadows...

</comment></comment><comment><USER5> So as I know John Hudson is on here - how do you answer the critiques here: [https://spectator.us/shakespeare-woman- atlantic/](https://spectator.us/shakespeare-woman-atlantic/)

</comment><comment><USER6> I like the theory. But would a woman write "The Taming of the Shrew?"

Maybe. I still orthodox'ily consider William Shakespeare was the sole author. But I would not discount the possibility of a literary circle (or circles?) being the authors.

<comment><USER7> I think it's possible. Look at some of the most popular literature that has been written by women. Fifty shades and what not.

</comment></comment><comment><USER8> I still subscribe to the Lazarus Long theory of Shakespeare.

<comment><USER9> For those not familiar with it, would you state the theory?

<comment><USER8> I will try, I seem to be rate-limited to hell and back.

From Heinlein's _Time Enough for Love_ , the implication being that old Bill Shakespeare was an unnaturally long-lifer like Lazarus Long:

> "Don't praggle me, boy; I'll quang you proper. Shakespeare and I never let > grammar interfere with expressing ourselves. Why, he said to me once—"

> "Oh, stop it! He died three centuries before you were born."

> "He did, huh? They opened his grave once and found it empty. The fact is, he > was a half brother of Queen Elizabeth and dyed his hair to make the truth > less obvious. The other fact is that they were closing in on him, so he > switched. I've died that way several times. Ira, his will left his 'second- > best bed' to his wife. Look up who got his best bed and you'll begin to > figure out what really happened. Do you want to try to define 'love'?"

It's no less far-fetched than all of the other theories that people keep tossing out to try to strip Shakespeare of the authorship of his plays.

</comment></comment></comment><comment><USER10> All: yes it's a provocative title and the topic has been overcooked over the years, but on HN what matters is the article. This article is interesting and perfectly on topic for HN. Most of us have never heard of Emilia Bassano. There's a great Borges quote. And so on.

Comments are welcome if your curiosity is engaged. But if you're triggered, and want to vent, that's not curiosity. Let it go and move to something you do feel curious about.

Accounts that flag too many on-topic articles like this one eventually get their flagging privileges removed.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

Edit: by the way, here's another article arguing against the current one, which also gratifies intellectual curiosity: [https://spectator.us/shakespeare-woman- atlantic/](https://spectator.us/shakespeare-woman-atlantic/).

<comment><USER11> _Flagging an obviously on-topic article_

Obviously on topic? Really? You can dictate it is on topic because you have power to, but it is petty to threaten people for flagging when it is clearly not obvious it is on topic.

<comment><USER10> Ok, you've convinced me that "obviously" was an overstatement. I'll take that word out and tone down that sentence.

What's on topic is what gratifies intellectual curiosity. It may not gratify everyone's, but that's true of every submission.

A single errant flag isn't going to get anyone penalized, but if users show a pattern of flagging intellectually substantive articles on uncommon or unexpected topics (especially non-technical ones, such as about history or the arts), we take away their flagging rights. Those are some of the best and most underrepresented article types we see. We need more of them on HN, not less.

<comment><USER12> The parent article would likely be flagged less if it had a nicer title. A title like "Was Shakespeare a Woman?" likely sets off a lot of warnings on peoples' clickbait radars, causing people to flag the submission without even reading the article.

<comment><USER10> I agree completely, and normally we'd edit that out, but having read the article, I don't think it's that fair to do so. That's why I added the extra information after it—in the hope of cooling down the dreaded title fever.

Edit: I give in.

<comment><USER13> The crazy thing is: it's got a question mark, in the fucking headline. _There 's a question mark in the fucking headline_.

Can people not just go "erm... no?" internally, when the question offends them?

Truly we are lost.

EDIT: Perhaps downvoters are assuming that while the headline actually reads "Was Shakespeare a woman?", it could instead read something else. And, yes, that is true. There is a huge number of possible combinations of letters that could occur in a headline, even if we ignore the meaningless ones. But I am restricting myself, perhaps unreasonably, to considering the headline that is actually there.

</comment></comment></comment></comment></comment></comment><comment><USER14> A better question than "was Shakespeare someone other than Shakespeare" but "is Shakespeare worthy of the attention in the first place?"

One could argue that his cultural impact and popularity alone answers that question in the positive, but that argument also applies to Kim Kardashian.

<comment><USER15> >but that argument also applies to Kim Kardashian.

Let's talk after 400 years. I would be surprised if most people would know about Kim Kardashian 100 years from now.</comment></comment>


Science Is Not About Certainty - <AUTHOR> http://www.newrepublic.com/article/118655/theoretical-phyisicist-explains-why-science-not-about-certainty <comment><USER2> um, i always thought it was about probability?</comment>


Apple.com vs. Microsoftstore.com 3rd party scripts - <AUTHOR> Apple, the world's most valuable company, has zero 3rd party scripts/trackers. Bravo.
Microsoft has (according to uBlock Origin): bazaarvoice.com digitalrivercontent.net ensighten.com facebook.com gfx.ms liveperson.net onestore.ms optimizely.com pinterest.com twitter.com videochatmodule.com
If Apple succeeds without all that crap, the obvious question is why do so many other companies feel compelled to use it? <comment><USER2> Incorrect.

All requests to metrics.apple.com and securemetrics.apple.com are going directly to Adobe Analytics, a third party analytics provider and part of the larger Adobe Marketing Cloud. The only reason the requests appear as 1st-party is down to Apple going through a few relatively simple steps that most companies do to configure their DNS to route a certain sub-domain specific to their analytics to an Adobe server and completing a first-party ssl cert request/setup process. Once the data enters the Adobe Marketing Cloud, depending on their specific implementation, they can then link that data across all kinds of other Adobe Marketing Cloud platforms to both track and target your ass down to the millisecond like everyone else. Boom, you've been third-partied.

Adobe bought Demdex for fucks sake. 1st or 3rd party means jack shit these days.

</comment><comment><USER3> Tracking is getting a bit out of hand. Even the industry behind it is starting to recognize the problem.

And, yes, it degrades the user experience. Install ghostery to your browser and be amazed how much faster the web feels without trackers and ads. No wonder, a site like IKEA is running 31 different trackers. What's the use?

Apple does run Adobe's tracking software on some parts of their sites. But not much more. They already have server logs, why would they run _external_ trackers anyway?

</comment><comment><USER4> Does it alter your experience of the Microsoft site in any way? Because I honestly can't see any point to your comparison besides to illustrate your own bias.

<comment><USER5> I'd rather not be monitored while shopping.

It's the same thing as an annoying Best Buy employee walking around while you shop in the store even if you have zero questions. Except in this case they then follow you around the rest of the internet. There is no reason for it and I'll pass.</comment></comment>


Yelp Sues South Park for $10M Over Latest Episode - <AUTHOR> http://nbc.com.co/yelp-sues-south-park-for-10-million-over-episode/ <comment><USER2> You know they didn't actually sue Yelp, right? The article is a hoax and there's no suit listed on the court's website.

</comment><comment><USER3> The ironic thing about this episode is that a Yelp-related mob actually _does_ use Yelp ratings to extort restaurants. It's just that it's Yelp itself, not its users.</comment>


Free product roadmap software - <AUTHOR> https://craft.io/ <comment><AUTHOR> Check out this tool for product management. Perfectly suits Agile, Scrum and Kanban teams</comment>


Evernote honestly explains their absurd freemium conversion rate - <AUTHOR> http://www.youtube.com/watch?feature=player_detailpage&v=pSYdwNHCmJA#t=1021s In this video the founder of @evernote goes open kimono on conversion rates.
3% overall only .5% in the first month 2.5 years in over 20% pay
Amazingly honest discussion from a $10M freemium business. <comment><USER2> The perfect implementation of freemium for a product people love. Of course if your product is not good, you can't think long-term like this. Lesson is: make a great product, then think for the long run in terms of your business model.

</comment><comment><USER3> Every time I turn my back on freemium, something makes me turn my head again..

</comment><comment><AUTHOR> In this video the founder of @evernote goes open kimono on conversion rates.

3% overall only .5% in the first month 2.5 years in over 20% pay

Amazingly honest discussion from a $10M freemium business.

</comment><comment><USER4> Great product (I use it daily), very glad they didn't jump into the dead pool. Any one else use Evernote here?

</comment><comment><USER5> sounds like a pretty rad place to work</comment>


A Thousand Foot View of Machine Learning - <AUTHOR> http://awwthor.wordpress.com/2009/12/31/a-thousand-foot-view-of-machine-learning/ <comment><USER2> This is a good overview, although I have some critiques.

1) The author doesn't really emphasize how complicated these algorithms are. Most people look at ML and think it can solve their problems (ie predict the future). In practical applications though (other than "toy" perfect gaussian data), you have to understand _what the hell the algorithm is actually doing to your data_. A lot of the questions that I encounter when doing ML research include: a) am I sure I implemented the algorithm correctly? b) is the algorithm doing what its supposed to be doing? c) how can I cross check its answers? d) if I use another algorithm, how do I gauge performance?

2) Like it or not, ML requires a very solid background in mathematics. You can get away with using algorithms "out of the box", but then its just that...a box. Knowing what goes on inside gives you the confidence that the solutions are correct and can be used reliably. It's important to know that ML is not like a car that you can just pick up and drive without knowing how an engine works.

3) I think the author should have listed easier algorithms that are used more often in industry. K-nearest neighbors is good, but I would also add k-means clustering and perhaps Principal Component Analysis (PCA) over SVM or KSVM. And if you're going to cover the more advanced stuff...you need to talk about Bayesian learning.

<comment><USER3> Nearest neighbor and k-means will return noise unless your data only has two or "at most" three dimensions, due to the curse of dimensionality. (<http://en.wikipedia.org/wiki/Curse_of_dimensionality>) This is the #1 trap that newbies fall into, since these algorithms seem deceptively intuitive but there's this huge unintuitive pitfall.

I agree wrt points #1 and #2. Especially #1.

My favorite supervised learning algorithm is decision trees. They have built in feature selection, and they are simple to understand and express in code.

Boosted decision stumps are my second favorite.

Both are "far better than" support vector machines for the real world problems I've ran into. Except the algorithm names don't sound nearly as cool as SVM.

<comment><USER4> Any particular hypothesis why decision trees work better for you than SVMs?

<comment><USER3> Sorry for the late reply.

Here are the two I can think of off the top of my head: the first is that decision trees (or even naive bayes) produce results that are intuitively understandable and human readable. In contrast the result of training an SVM is a huge vector of 100's of floats and there's no real way to explain to someone (e.g. someone buying your tech, a manager, etc) what's actually going on.

I didn't mention this before but SVM's do get you something that decision trees, naive bayes, and others don't: they will look at all kinds of combinations of attributes. This becomes critical for applications like machine vision where e.g. looking at any one single pixel as an attribute won't do anything for you and so you need something that will understand lots of different possible combinations of attributes.

Which is also the second weakness of SVMs: most data sets that aren't images don't express strong patterns across a wide variety of combinations of features. To take naive bayes as an example, it is a hugely popular algorithm and the 'naive' part (which tends to work well on my data sets) is the assumption that each attribute is statistically independent!

</comment></comment></comment></comment><comment><USER5> The final two phrases "how to use the data to make it as useful as possible to the algorithm, and how to fine-tune the parameters that each of these algorithms take" are just as influential in the quality of any ML process as the selection of training method. The data type and quantity, overfitting, sparseness, dataset shift, etc. are all constant challenges that affect the classification and require work to deal with.

When you see the effort involved at times in data wrangling, feature selection, equation optimization or parameter experimentation to overcome deficiencies in training sets, any notion of 'black magic' fades.

</comment><comment><USER6> Those are two great examples. I've heard of KNN, but I will certainly be looking into KSVM!

My personal recommendation is the Naive Bayesian Classifier:

<http://en.wikipedia.org/wiki/Naive_Bayes_classifier>

<http://www.paulgraham.com/spam.html>

<comment><USER7> peter norvig has a great chapter in the O'Reilly book "Beautiful Data" about using naive bayes + a ton of data mined from the web to do fairly good natural language processing. one of his recent themes has been "naive algorithms + lots of training data can often beat sophisticated algorithms + little data"

i dunno if his article is online somewhere, though.

<comment><USER6> The O'Reilly book "Collective Intelligence" is another nice resource for Naive Bayes. I picked it up because of a sidebar describing an improvement I didn't find online (something about a Chi distribution...I'm in a different town than my bookshelf today).

</comment></comment></comment><comment><USER8> From the website of Awwthor LLC: "In our model portfolio, our initial balance of $5,000 grew within three months to $150,000." -- So let me get that straight, a 3000% increase in only 3 months!?

<comment><USER9> It says 'down' meaning it predicted going down. But every bet is down...? What does that mean?

<comment><USER10> I would assume it means to short sell the security.

No clever modeling is going to generate 3000% quarterly returns in mostly efficient markets without taking significant risk. I do this kind of stuff for a living. Either the model is excessively curve-fit or they didn't account for real-world concerns like slippage, latency, market impact, the bid-offer spread, and transaction costs. A typical user of their signal services won't be able to reproduce those results.

Statistical techniques have some interesting uses in quantitative finance, but it's important to find an underlying economic reason to explain why your model works. Stat arb <[http://en.wikipedia.org/wiki/Statistical_arbitrage>](http://en.wikipedia.org/wiki/Statistical_arbitrage>); is a common strategy, but there are sensible reasons why it (sometimes) works. If two securities are in the same industry, they'll tend to move in tandem since they're affected by similar factors. Thorp's articles (linked in the Wikipedia page) are worth a read if it's something that interests you.

Also, the difficult thing about modeling financial markets vs. other phenomena is that there's a huge incentive for market participants to avoid leaking information. Most inefficiencies are arbitraged away quickly or players who "show their hands" wise up; the market is a harsh mistress. Maybe years ago a big execution in a particular stock was indicative of its direction, but buy- side traders are smarter now and use algorithmic strategies that split orders temporally and physically across exchanges or trade in dark pools to avoid information leakage. There's not nearly as much incentive for you to hide your Google searches or ad clicks, so there's more opportunity for useful (and profitable) modeling using these techniques.</comment></comment></comment>


Keras reimplementation of "One pixel attack for fooling deep neural networks" - <AUTHOR> https://github.com/Hyperparticle/one-pixel-attack-keras <comment><USER2> This is really interesting, but points out a key importance in training neural nets, which is to design your dataset and training to maximize generalization. For example, in the case of training a neural network for something that is highly safety critical, like an autonomous vehicle, it's important for vehicle and pedestrian detection to be as generalized as possible. In order to achieve high confidence in all sorts of lighting, weather, and angle conditions, the training data is augmented, which means it is manipulated randomly with color, saturation, contrast, blurring, shifting, mirroring, adding noise, etc. So adding random pixels, to potentially protect against dead pixels is also a great idea.

<comment><USER3> Jumping on top comment (which I completely agree with) to ask:

Why wouldn't a K-fold cross validation enable catching this? I'm curious if the attack adds doubt, in that the prediction algorithm is _close_ to truth but gets confused (likelihood of horse slightly less than dog), versus incorrect certitude (the horse is definitely a dog). One could then attach a weighting, perhaps based on max RGB/CYMK vector norm between two pixels across the image, to the folds' difference in top two certitudes.

I don't know, something like that.

<comment><USER4> I don't believe that many people are using K-fold cross validation at all with deep learning, as the computational overhead is massive.

<comment><USER3> I must be misspeaking then. I'm not suggesting it run during training, but run the classification algorithm X number of times over an input image with chunks areas removed/suppressed from the data.

<comment><USER5> If I understand correctly, you want to modify an input image at application time to get multiple different classifications, and then compare them to find out how certain the model really is.

While that would likely improve results a bit, it would also multiply the model runtime. That's why the other replies directly jump to talking about training data augmentation, since that can give you similar benefits without the runtime penalty.

However, random augmentation can't fully protect against adversarial examples. The number of input variables is simply too large, and there are exponentially many directions in which they could be modified. Data augmentation can't cover all of them, and a single modification that confuses the model slightly can be amplified into an adversarial example that causes a total misclassification.

<comment><USER3> > That's why the other replies directly jump to talking about training data > augmentation, since that can give you similar benefits without the runtime > penalty.

Exactly. It's a fix that doesn't work, apparently, so that's why I'm thinking towards the runtime.

> it would also multiply the model runtime.

Predictably so, I would think? Such an approach could scale decently since it's not adding a dimension to the runtime, just a multiple.

<comment><USER5> Predictably slow is still slow. You could parallelize it over multiple GPUs, but GPUs are expensive, so nobody is going to do that. Requiring lots of training resources is fine, but inference needs to be cheap.

More problematic is that your approach isn't going to actually work, since CNNs are just too flexible (they can learn even completely random labels) and only generalize by accident. No input augmentation technique that doesn't cover every possible modification is going to be robust against adversarial examples, and getting that amount of coverage requires an exponential blowup in runtime. The adversary has the advantage of being able to choose one modification, while the model needs to defend against all of them.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> I wonder how well capsule networks could deal with this, considering they're more robust than traditional CNNs towards other sorts of adversarial attacks. My guess is that one-pixel changes are going to do very little to alter pose information (though they will still alter the confidence of the feature existing), and so caps nets should be more robust here as well. Does anyone know if my intuition is correct?

Link to the capsule network paper, for those who haven't heard of it: [https://arxiv.org/abs/1710.09829](https://arxiv.org/abs/1710.09829)

<comment><USER7> I suspect the same, that this kind of attack won't work on capnets. Note that "test on capnets" is on the list of not-yet-complete milestones.

<comment><USER8> Author of the repo here. I'm training a capsule network right now, will report back on results in the README in 24-48 hours. My hypothesis is that capsule networks are vulnerable as well, but we'll see by how much.

<comment><USER8> So I did some preliminary testing with CapsNet, and it seems that while it was harder than all the other CNNs to find adversarial pixels to fool the network, it was still vulnerable to attack. See the README for quantitative results.

</comment></comment></comment></comment><comment><USER9> Isn't the fact that it's one pixel of a 32*32 image relevant? I'd be more impressed to see a neural network be succesfully attacked by a single (or dozens) of pixels on a full-res image.

<comment><USER6> The fact that a human isn't fooled by the attack (we can still recognize the 32x32 images for what they are), points to an interesting gap in the abilities of conventional convolutional neural nets.

<comment><USER10> That's only because the attack is designed to target that particular network. Just wait until we understand real brains better and can generate tailored attacks...

<comment><USER11> Isn't that basically what an optical illusion is?

<comment><USER12> Yes, and also this: [https://en.wikipedia.org/wiki/Dazzle_camouflage](https://en.wikipedia.org/wiki/Dazzle_camouflage)

Hacks human brain rather efficiently.

<comment><USER13> > Dazzle was adopted by the Admiralty in the UK, and then by the United States > Navy, with little evaluation. Each ship's dazzle pattern was unique to avoid > making classes of ships instantly recognisable to the enemy. The result was > that a profusion of dazzle schemes was tried, and the evidence for their > success was at best mixed. So many factors were involved that it was > impossible to determine which were important, and whether any of the colour > schemes were effective.

<comment><USER12> It is true that battlefield efficiency of such camouflage is unknown - but I think one can see the effects it does on the brain without conducting a proper rigorous study. The question here is not whether the effect exists - which is IMO obvious - but whether it's enough to make difference in actual combat.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> This kind of attack relies on a low margin DNN, see (1), a low spectral norm of the input-output jacobian matrix guarantees good generalization error. So a one pixel attack exploits a weak eigenvalue (small absolute value) of the jacobian matrix.

So to create a one pixel attack, compute: 1)the eigenvalues of the jacobian of input-ouput matrix, 2) takes the the smaller eigenvalue lambda_1 3) compute or approximate the function lambda_1 = f(input) 4) compute j = argmax_{i=1..n} d(lambda_1)/d(input_i) at the point in which the spectral norm is maximum.

So to create the attack change the j-pixel in the points of the training set that has maximum (or high) jacobian matrix.

(1) [https://arxiv.org/pdf/1605.08254.pdf](https://arxiv.org/pdf/1605.08254.pdf)

</comment><comment><USER15> Can we use one pixel attack to train network? We would generate adversarial examples to train network.

Having ability to create Training Set that maximizes learning factor for NN sounds amazing but I think we would run to other adversarial examples.

<comment><USER16> Augmenting your training dataset with adversarial examples is known as adversarial training, see e.g. [0] for a recent overview with empirical results. This seems to be a good first step in defending against such attacks, though the most naive approach of adversarial training doesn't work as well as you'd expect.

[0] [https://openreview.net/forum?id=rkZvSe- RZ](https://openreview.net/forum?id=rkZvSe-RZ)

</comment></comment><comment><USER17> I've mentioned this before but a median filter would nuke the single outlying pixel without too much of an effect on the input image. Is there an attack that can get past such a basic preprocessing step?

<comment><USER18> Assuming you're talking about adversarial examples in general (a one pixel attack would definitely be stopped by a median filter), yes. Median filters, gaussian filters, gaussian noise, all don't provide significant barriers against attack.

</comment></comment><comment><USER14> We need to define the derivative of a deep model. I mean a way to measure how a model change when we change one pixel in the training data. Since pixel -> feature -> margin, we need to define the derivative with respect to a natural parameter, the natural parameter of the model has to defined ad hoc for every application. Perhaps the natural parameter encodes an uninformative prior. The intuition is to use information theory to see how the discriminative power of the model change when the training data is perturbed. So we need to measure the derivative of the added information. Fisher information seems to be related to this.

<comment><USER14> this paper [https://openreview.net/forum?id=HJC2SzZCW](https://openreview.net/forum?id=HJC2SzZCW) suggest that sensivity is related to poor generalization power. To define derivative we need to use a natural parameter in such a way that it measures sensivity and also allow us to use methods from calculus and manifolds, such as parallel transport of features. How a DNN label a cat when is catching a rat.

<comment><USER14> If in a DNN for label a cat we explore the group of movements of the animal cat (realistic movements available for a cat) we could relate the discriminative power of the DNN to the energy of the cat. The energy of the cat is related to the volume of the group of movements. A cat with zero energy has the identity group of movements (no movement), a hulk cat is able to alter many of her features, so a very power model is needed to identify a hulk cat. A person full of rage is able to change the color of her face, again energy alter training space. Sorry for using HN for thinking.

<comment><USER14> Given that DNN are deep, what a one pixel attack means is that one pixel change propagates through the map of features: one pixel => 0-level-feature change -> one 1-level feature change. So this attack relies in weak features that can easily propagate to next level of features. Hence, to defend against this attack the model should put a threshold on the ratio (sensitivity of features)/(number of pixels) and avoid features with high sensivity to easily propagate to the next level of the DNN. If features are not linearly related to input set, then correlation is not a measure of feature sensitivity and has nothing to say about the full DNN effect of such change in a pixel.

</comment></comment></comment></comment><comment><USER19> But does this mean that edge detection is also failing?

If the neural network thinks a truck is a frog is it not recognising the vertical edges?

Seeing the intermediate layer images would be interesting to see where in the process it failed.

I keep thinking how kids often learn through labelled cartoon images. There the outline is more important.

Perhaps we could pre-train networks first on outlines of images. Make sure that these are capable of handling adversarial techniques and then build from there.

</comment><comment><USER20> Aren't these attacks just proof of the fact that even deep neural networks are approximating a high dimensional function by clamping the entropy of the formula, rather than truncating the range of input/output values?

For a 32x32 image, the space of 1-pixel attacks is 0xFFFFFF * 32 * 32 = 17179868160 = e^23

Expecting an input space as large as that to not poke through the entropically deprived network is destined to fail.

<comment><USER21> I mean, you don't even need a proof of that. The latter is impossible since the range of input/output values is untruncated by construction?

<comment><USER22> I'm very new to ML, so I understand about 50% of what @eximius and @goldenkey are saying, but definetly not 100%. can anyone explain it in a _bit_ more detail? (im assuming "entropy" is the key concept i need to put on my learning queue.)

"approximating a high dimensional function by clamping the entropy of the formula, rather than truncating the range of input/output values"

"not poke through the entropically deprived network is destined to fail"

"the range of input/output values is untruncated by construction"

<comment><USER23> The set of all mappings between an input set of N elements to some output set with M elements has M^N elements.

If you wanted to be able to represent in some way any arbitrary mapping for given sets of input and output, then you would need at least log_2(M^N) = N x log_2(M) bits.

In the case of an input set of 32x32 pixel images with 3 bytes per pixel (one for each channel) we have N = 2^8 x 2^8 x 2^8 x 2^5 x 2^5 = 2^34.

In the case of an artificial neural network we have at the last level an output. There will be at least one node with at least one bit of output, so M >= 2. In general, to have anything else but the trivial map that maps every input to the same output, we always have M >= 2.

So, we need at least 2^34 x log_2(2) = 2^34 bits to represent an arbitrary function between the input and the output. That is 2 gibibytes!

Since the models don't need 2 gibibytes, something is going on. The magic here is that we are able to encode subsets of possible mappings very efficiently by using the execution logic of a computer. The compressed representation of the mappings in the restricted subset are the learned weights (the code to evaluate the model is also needed, but that requires less bits than what we save). We are, in a way, compressing functions, not data. Hence the "clamping of entropy of the formula". [0]

The restricion of the set of possible functions will lead to new, interesting phenomena. Think of it as compression artifacts, however not on images or audio, but functions.

To make a model resistant to attacks by someone knowledgeable about these artifacts, I would add noise to the input such that the artifacts are not predictable, hence not practically attackable.

[0] The same basic phenomenon happens with block ciphers in cryptography. A block cipher on one block is just a permutation of the set of all different input blocks. If you have a blocksize of 64 bits, representing an arbitrary permutation would need log_2(2^64 !) bits, where the exclamation mark stands for the factorial. That number is huge, bigger than 2^69. We can't represent arbitrary permutations of blocks of 64 bits. Yet, block ciphers are permutations. What happens here is that once again we find subsets of the possible permutation we can represent efficiently. The compressed representation is the key.

<comment><USER24> I'm not sure adding noise to the inputs of an equally complex model will change the information load of the NN. Because of the compression of the NN I think there will still exists new input pertubations which generate attacks.

<comment><USER23> My idea is that without added noise, knowing the model and the input allows crafting a pertubation that leads to an erroneous output of the model.

With noise added there is less correlation between the input and the output. At the extreme with 100% randomness added, there is no correlation anymore between any pertubations of the input and the output. However, there is unfortunately also no correlation anymore between the input and the output.

What happens if you add a bit of noise? The more noise, the smaller the correlation between the perturbations and the output. At what point is the probability of a successful attack sufficiently small?

To clarify, I mean adding the noise not in the training phase or to the images itself, but at the input stage into the model. That way even the repeated input of the same image would result in different inputs to the model.

I'm not sure this type of protection is efficient and effective, but it's an idea.

<comment><USER24> Adding noise is important for generalization and predictive power but it may just shift the attacking pixel from one to another, since the model itself is inherently compressed, inversely correlated with its complexity.

</comment></comment></comment></comment></comment></comment></comment><comment><USER25> Does this work if you use data transforms augmentation so that the pixel isn't always seen in the same spot? You probably wouldn't do any panning/rotation etc. for CIFAR 10, but for most practical purposes you probably would do more augmentation and I wonder if that defeats this?

</comment><comment><USER26> How well does this fair over several frames?

</comment><comment><USER27> Does anyone else wonder if their usage of the word "THICC"[1] in their meme, inadvertently comes off as sexist?

[1] [https://www.urbandictionary.com/define.php?term=Thicc](https://www.urbandictionary.com/define.php?term=Thicc)

Great work! risky intro picture.

<comment><USER28> Urban Dictionary has prominent offensive definitions for most entires; it's not a great source for what you're trying to demonstrate.</comment></comment>


Software metrics used in practice are not reliable to assess project outcome - <AUTHOR> https://hal.inria.fr/hal-01185079 <comment><USER2> Link to paper: [https://hal.inria.fr/hal-01185079/document](https://hal.inria.fr/hal-01185079/document)</comment>


Advice on working with Bitcoin - <AUTHOR> I'm interested in developing applications that use Bitcoin and other digital currencies but I'm unsure where to start.
Can anyone recommend any good resources online, tutorials, API's that can get me started?
Thanks <comment><USER2> The book 'Mastering Bitcoin' from O'Reilly is an AWESOME read if you're going to develop stuff with Bitcoin. It's extremely insightful into how Bitcoin really works and shows you how to program stuff as well.

<comment><AUTHOR> Thanks I'll check it out

</comment></comment><comment><USER3> There is a Coursera course from Princeton on the subject

[https://www.coursera.org/course/bitcointech](https://www.coursera.org/course/bitcointech)

</comment><comment><USER4> Do not work with it, why?

1\. average electricity spending in total much higher than value of bitcoin. Basically bitcoin causes more co2 emission.

2\. In its current form, bitcoin is not feasible in the future to mine, are tou going to download 10Tb of chain into your PC? if no than after 10-20years other average person will think alike. other solution is centralizing some of the data, than its not P2P.

3\. Satoshi left the community, who knows maybe he is/they are working with their real name, but anyway they probably found some issues with it and its not leaving without reason.

Why learn? Its amazing piece of technology, logic and how human brain create such solutions.

<comment><USER2> 1) Yea it uses power, but so do all the millions of machines that are used for banking. In fact, if you compare them, Bitcoin is extremely efficient.

2) Well, first of all you're just talking about the current state of the blockchain. Perhaps in the future we can 'archive' transactions so they don't have to be downloaded any more. Furthermore, you're talking about 10~20 years time from now. By then 10TB will be irrelevantly small. Nowadays you can already buy a 4TB hard drive for like $100.

3) Eh what? First of all this point doesn't even make sense, but Satoshi isn't even needed any more. The work is fully open source and it's now being led by the community.

Anyway, I really don't see what you post has to do with OP's question. You're not answering him, but just repeating some old refuted fallacies.

<comment><USER5> The banking system handles millions of times more transactions than Bitcoin. The entire Bitcoin network has less transaction throughput than a raspberry pi in a shoebox.</comment></comment></comment>


I'm sharing my (successful) Harvard LLM application - <AUTHOR> https://www.linkedin.com/posts/tobiaswillcocks_harvard-law-lawschool-activity-6578207952048660480-XboI <comment><AUTHOR> I'm sharing the essay and personal statement that got me into the Harvard LLM program.

I hope this helps anyone who's thinking of applying but doesn't have connections with Harvard alumni who can provide personal tips or share sample essays.

Feel free to reach out here or connect on LinkedIn if you want to see it. :)</comment>