Percona acquires Tokutek - <AUTHOR> http://www.percona.com/percona-acquires-tokutek <comment><USER2> Kudos to the team!

This is probably not interesting to anyone, but I remember the first (and only) time I published a paper, based on Mr. Farach-Colton's and Mr. Bender's (specifically this paper [0]) work, and after presenting it someone in the audience asked a few questions for which I was unprepared for.

After I finished my presentation I walked to the patio and got to meet the guy that asked me those questions. Turns out that he was Martin Farach-Colton!

Got to chat with him and even went to eat something and he turned out to be a really nice guy, laid back, not cocky at all. I mean, here there was a guy that had done some great research on algorithms and other areas and that I happen to admire a lot, just chatting with me, telling me about this Tokutek project he was starting (at the time the website was just an "under construction" page), and in general being an interesting person to talk to.

If anyone is remotely interested in a different way of obtaining the Least Common Ancestor between two nodes in a tree, definitely check this paper out. When I managed to understand why it works, it rekindled my love for algorithm design.

[0] The LCA Problem Revisited - [https://dl.acm.org/citation.cfm?id=690192](https://dl.acm.org/citation.cfm?id=690192)

</comment><comment><USER3> Congrats to the Tokutek team.

I'm nervous about what this means for TokuMX. We've used and loved it for a few years now, but Percona is a MySQL company, not a MongoDB company. Support on TokuMX has rather flagged over the last few months, and unless Percona makes it a first-class citizen, I'm nervous that it's going to wither and die in the face of MongoDB's new WiredTiger engine, which is approximately equivalent (though not entirely comparable).

I'm hoping to be proved wrong, but it's probably time to start drafting migration plans.

<comment><USER4> It is time. I think Tokutek saw the writing on the wall.

How revolutionary and how patent-encumbered is this fractal tree indexing? If it's based on academic research, are there other B-tree variants or improvements that accomplish some of the same advantages that Tokutek's fractal tree indexing does?

Edit: found a paper comparing LSM trees to fractal trees from Tokutek's architect: [http://insideanalysis.com/wp- content/uploads/2014/08/Tokutek...](http://insideanalysis.com/wp- content/uploads/2014/08/Tokutek_lsm-vs-fractal.pdf)

<comment><USER3> IIRC Tokutek (well, now Percona) holds patents on the FT indexing technology.

</comment></comment></comment><comment><USER5> Can someone give some context to this? I'm just seeing a corporatey website with some all-caps text and my eyes glaze over.

<comment><USER6> > some all-caps text

The section titles are capitalized. Come on.

<comment><USER7> I was wondering so I went to look. This is what I see:

"ACQUISITION ENABLES PERCONA TO EXPAND AND EXTEND OFFERINGS DRAMATICALLY IMPROVING DATABASE PERFORMANCE WHILE LOWERING TOTAL COST OF OWNERSHIP FOR CUSTOMERS"

I don't think the parent was exaggerating.

<comment><USER7> Someone care to explain the downvotes? I refuted and/or clarified an unhelpful comment. And I'm correct.

</comment></comment></comment></comment><comment><USER8> Congrats to the Tokutek team! TokuDB is one of the best MySQL storage engines I've used!

</comment><comment><USER9> Does anyone know the details of the deal? Equity of Founders Vs VCs at acquisition? How many rounds of funding did the company take? How much did the founders make?</comment>


D compilation is too slow and I am forking the compiler - <AUTHOR> https://blog.thecybershadow.net/2018/11/18/d-compilation-is-too-slow-and-i-am-forking-the-compiler/ <comment><USER2> It is interesting to use fork() to snapshot application state. It seems so high-level and powerful (Compared to other C/POSIX level stuff - so I'm not comparing it to Scheme/Lisp/"your favorite high/low level environment" here!). We may collect some other examples here - just for fun:

\- I know that Redis does this (RDB snaphots) too, while the child process saves the actual snapshot, the parent can operate continously relying on the system provided copy on write mechanism

\- I have also found this: [https://github.com/thomasballinger/rlundo](https://github.com/thomasballinger/rlundo) \- It overwrites readline library to get undo function in any REPL using it

Other examples?

<comment><USER3> There is a time-travelling debugger that forks the process at each statement, allowing you to go back to a previous statement and continue from that point.

<comment><USER4> Very interesting. Do you have a link where I can read more about this?

<comment><USER5> Mozilla's rr (mentioned in the article) is a time-traveling debugger, but as far as I know it doesn't use fork() for snapshots / time-travel.

<comment><USER6> rr does use fork() internally to create checkpoints, and checkpoints are created implicitly as the program executes to support time-travel. The COW behaviour of fork() is extremely helpful for performance.

There's more to checkpoints than just fork(), though; for example, when two processes are sharing memory, checkpointing the process group fork()s both processes and then must explicitly duplicate the shared memory region, otherwise the checkpoint would share memory with the original, which would be disastrous. Unfortunately this means we don't get COW behaviour for shared memory regions; unfortunately the Linux/POSIX APIs are a bit deficient here.

</comment></comment></comment></comment></comment><comment><USER7> I used this forking trick to speed up the ninja build system too: [https://github.com/ninja-build/ninja/pull/1438](https://github.com/ninja- build/ninja/pull/1438)

Unfortunately the maintainers didn't like the idea so it won't be merged. But if your project is large enough that ninja takes more than a second to parse your build files every time you build (true for Chromium and Android at least), you might want to try the patch.

On the topic of Windows forking, the RtlCloneUserProcess function does exist and it works. The problem is that Microsoft's implementation of the Win32 API keeps state (such as an IPC connection to csrss.exe) that is invalid in the forked process and there's no easy way to clone or reinitialize that state. The child process will run until its next Win32 API call and then probably die. Since almost every Windows program uses Win32 APIs, RtlCloneUserProcess is not useful for forking Windows programs.

Microsoft could fix this if they wanted to, at least for a useful subset of Win32. But I imagine it requires a lot of hacking in deep, dark parts of Windows that nobody wants to touch.

<comment><USER8> I have successfully reinitialized enough Win32 in a forked process to be able to throw up a MessageBox, but without source I'd never be able to confidently state that every Win32 call would work correctly.

<comment><USER7> Cool, is your implementation public somewhere? I'd be interested to see it.

</comment></comment></comment><comment><USER9> Back in the 1970's, I was fascinated by the (now famous) ADVENT game and how it worked, so I studied the Fortran source code.

When started up, it would do all kinds of slow (at the time) initialization of its data structures. Then the genius move kicked in - it saved the memory image to disk as the executable file! Next time it ran, it was already initialized and started up instantly. It blew my mind.

I liked the idea so much, that years later when I worked on the text editor I use (MicroEmacs), I did the user configuration the same way. Just change the global variables, then patch the executable file on the disk with the changed values. It was so, so much simpler than defining a configuration file, serializing the data, writing/reading the file, and deserializing it. It worked especially great on floppy disk systems, which were incredibly slow.

But then came viruses, malware, etc. Patching the exe file became a huge "malware alert", and besides, Microsoft would mark the executable as "read only" while it was running. Too bad.

<comment><USER10> GNU Emacs does a similar-sounding trick in its build process (called 'dumping' / 'unexec'), but not at runtime.

[https://lwn.net/Articles/707615/](https://lwn.net/Articles/707615/)

Come to think of it, I think there are applications to my own work... I'd have to be careful, though.

<comment><USER11> If you're looking at implementing something along those lines these days, take a look at CRIU: [https://www.criu.org/Main_Page](https://www.criu.org/Main_Page)

</comment></comment></comment><comment><USER12> Impressive demo and lovely writeup. That was fun to watch.

I've been working on building the Zig self-hosted compiler this way from the ground up, except with reference counting the cached stuff rather than using fork(). This lets me do the caching at the _function_ level, even more fine grained than the file level. Here's a 1min demo: [https://www.youtube.com/watch?v=b_Pm29crq6Q](https://www.youtube.com/watch?v=b_Pm29crq6Q)

</comment><comment><USER13> Why are the results in a video instead of a table? I don't want to wait for dmd to know how much faster you made it.

<comment><USER5> > Why are the results in a video instead of a table?

Seeing is believing! :)

> I don't want to wait for dmd to know how much faster you made it.

Here are the timings from the video in table form:

      Normal compilation (without forking):         9.163 seconds
      Full compilation + creating forks:           10.464 seconds
      Final step only (code generation + linking):  2.847 seconds
      After editing entry point file only:          3.792 seconds
      After editing deep dependency (first build):  9.562 seconds
      After editing deep dependency (second build): 4.675 seconds

<comment><USER14> would have preferred this format as well. I hate when the goods are buried in a video.

</comment></comment></comment><comment><USER15> 7 seconds slow.. I was happy when I decreased the 32 hours build to 4 hours.

<comment><USER16> 7 seconds for a rebuild after a small edit is already a little unergonomic when you are iterating heavily. But it all depends on the project. Simple C-style code should compile at ~1M lines of code per second on today's machines without heavy optimization, and maybe compiling on 4 cores or so. (Not possible with common infrastructure like C, gcc/clang/msvc, large headers per compilation unit, many small files, object file style linking! and the awfully slow linkers (I wonder if they could be faster))

<comment><USER17> I knew one guy who used C++ but hated STL and most of standard library. He usually implemented data structures in-place as he need them (linked list, growable array, etc). While it seems strange to reimplement similar data structure over and over again, it worked for him. And one particularly wonderful thing was how fast his projects compiled. He had one project with few libraries, around 100k lines and it compiled very fast, something like second from the scratch and it was 10 years ago.

<comment><USER18> That's the way I learned C++. While I mostly use the STL now as it's much more convenient to write, there is an elegance to writing one's own tools.

<comment><USER14> you'd also be shocked, SHOCKED at how inefficient some of the STL implementations of basic data structure algorithms are

<comment><USER19> Of special note is the unordered_map/unordered_set implementations.

[https://news.ycombinator.com/item?id=7849213#7849607](https://news.ycombinator.com/item?id=7849213#7849607)

<comment><USER14> imagine all the CS research that relies on the STL expecting it to behave optimally

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> The first part of this reads like an intro to algorithms class where I think they cover all of these things. Directed graphs, back edges (cycles), convert to a DAG (no cycles), strongly connected components, topological sorting, etc. Nice to see it applied to solve the problem at hand.

</comment><comment><USER21> I wish that Jupyter used some kind of similar trick, to allow quickly recalculating a workbook starting at some cell.

<comment><USER22> If a notebook was written functionally without side effects, couldn't each function be explicitly or implicitly decorated with an @memoized ?

<comment><USER23> That's not really how notebooks are written, at least in my experience. Even if there aren't side effects, work is often done at the lowest level without defining functions at all. Also, the fact that function definitions can change makes it tricky, and I suspect you'd run into lots of subtle issues: e.g. if you modified a function foo and a subsequent function bar calls foo, then I think calls to bar would return stale memoized data.

<comment><USER22> Yes, agreed. I'm spitballing. I was thinking about how a hypothetical type of notebook could be structured in frames, where each frame can have side effects, but ultimately its input comes from the output of the previous frame. So each frame could be memoized. The UI could indicate what frames are being re-processed.

I'm basically thinking about ArcGIS Model Builder[1] that I used a lot in university. It was a great way to make complex process pipelines for GIS data, but only re-run the pieces that change. It allowed me to experiment at a very fast pace.

[1] [http://pro.arcgis.com/en/pro- app/help/analysis/geoprocessing...](http://pro.arcgis.com/en/pro- app/help/analysis/geoprocessing/modelbuilder/what-is-modelbuilder-.htm)

</comment></comment></comment></comment><comment><USER24> there's a single algorithm (Tarjan's) that actually solves all your graph needs. It returns a reverse topologically sorted DAG of strongly connected components

<comment><USER5> Yes, but I need to sort by two criteria, and Kosaraju's algorithm is simpler to implement :)

</comment></comment><comment><USER25> I used to use your actionscript3 decompiler, thank you cybershadow!!! It was a great tool :)

</comment><comment><USER26> Ask Fabrice Bellard to write tdc after tcc [1] :-)

[1] [https://bellard.org/tcc/](https://bellard.org/tcc/)

</comment><comment><USER27> Nice work thank you for sharing.

Tangentially it's not clear to me what relevance D should have for any greenfield projects where there is not already heavy investment in a code base to consider.

First there's the whole Rust comparison, and then the incredible impact of the comparative size and momentum of ecosystems for various languages.

This reddit thread has a few interesting comments. It was quite surprising to see D's architect/designer discount the value of memory management issues in a sub link there. Anecdotally what I've read, and experienced, is that it's one of the most important sources of bugs when quantity and time to debug and fix are considered.

[https://www.reddit.com/r/rust/comments/5h0s2n/what_made_rust...](https://www.reddit.com/r/rust/comments/5h0s2n/what_made_rust_more_popular_than_d/)

<comment><USER28> > Tangentially it's not clear to me what relevance D should have for any > greenfield projects where there is not already heavy investment in a code > base to consider.

Another one of Cybershadow's articles on D that blew my mind is, IMO, one of the greatest arguments for why you should care about D. The beauty, conciseness and flexibility of the implementation here is extremely cool. And this is not a one-off case; there are many programmers in the D community that create awesome stuff like this all the time. Writing in D is like having superpowers, and going back to a less expressive language feels horribly constraining.

<comment><USER29> Perhaps are you referring to this article?

[https://blog.thecybershadow.net/2014/03/21/functional- image-...](https://blog.thecybershadow.net/2014/03/21/functional-image- processing-in-d/)

Vladimir has one hell of a blog.

<comment><USER28> Yes, thanks. Forgot to actually post the link.

</comment></comment></comment></comment><comment><USER30> This is all so complicated, and reminds me of the joy of doing incremental development in Common Lisp with Emacs and SLIME. Edit-Compile-Run-Repeat cycles feel comparably archaic and slow compared to the much, much shorter and faster EditFunction-RunFunction cycles.

<comment><USER31> My only experience is with ELisp/Clojure and you're right that the turn around time is much faster with editing, but at least in ELisp I find "stepping" through code much more confusing. The call stack (or whatever the equivalent is called) has some weird characteristics:

1 - It doesn't match one to one to the code and is in a funky non S-expr form where the function name is outside the parans

2 - As expressions are evaluated and you pop up the stack it will dynamically filled in parts of the higher expression so the "stack" is morphing and changing. It's cool and convenient but also disorienting.

3 - Each line/frame can be horribly long (like a whole let or cond expression in one line) and it's not clear which section/term/subexpression is being called in the frames below

I'm using the normal debug-on-entry and I'm definitely no pro, so maybe there is more ergonomic way to debug? (In the little Clojure I've done it seems to be the same)

<comment><USER30> I believe that this is an artifact of elisp being essentially interpreted, but I could be wrong. With Common Lisp and SBCL, you only see function calls in your stack trace.

<comment><USER31> Gotcha. Thanks. It's probably some issue with my workflow. I'll ask on /r/emacs and see if they give me any tips :)

</comment></comment></comment></comment><comment><USER32> this is very interesting and nice post. thanks! i love this use of fork. it should be obvious from the description of the function that it can be used as such but really never even came to mind. cool!!

</comment><comment><USER33> Did anyone else read this title as "D compilation is too slow and I am forking the compiler (in source control because I think I can do a better job writing it)"?

<comment><USER34> Everybody thought that until they read the article, which was clearly the intention of the author.

</comment></comment><comment><USER35> I wish somebody would fix the GCC/G++ this way. I was stupid enough to try installing webkitgtk from aur (as I couldn't find what binary Arch package would make it work in Python), many hours have already passed, I have already written the program I wanted with Qt instead of Gtk while waiting (although the whole computer works annoyingly slowly during the process) and it still is compiling...

</comment><comment><USER36> What would be involved to make ccache [1] support D?

[1] [https://ccache.samba.org/](https://ccache.samba.org/)

</comment><comment><USER37> I understood it up to "Note how the compilation order is the reverse of the topological order (we'll get back to this in a bit)." But then couldn't find where you got back to it, and can't quite understand why it's the reverse of the topological order or how that's possible?

<comment><USER38> >can't quite understand why it's the reverse of the topological order

For example: A depends on B depends on C, so the graph is A->B->C. To compile A, first B must be compiled, and for B, C must first be compiled. The compilation order has to be in reverse of the dependency graph.

>how that's possible?

The compiler first determines dependencies and then compiles. The compilation then happens per file, so that part is trivial.

</comment></comment><comment><USER39> What's the story over in gdc and ldc land? I presume since the plumbing for this sort of thing is already there (presumably), they might already be doing these sorts of AOT/incremental builds.

<comment><USER5> They share the same frontend as DMD, which doesn't have any built-in capacity to hibernate/serialize compilation results (parsed AST) to disk.

I haven't tried applying this to either compiler. Being able to perform code generation serially would benefit those the most, because their backends are considerably slower than DMD's, however the template instantiation problem currently prevents that. I don't think it's insurmountable, probably just needs someone very familiar with that part of the compiler to look at it.

<comment><USER9> > doesn't have any built-in capacity to hibernate/serialize compilation > results (parsed AST) to disk

It turns out there isn't much purpose to that. DMD can build an AST from source so fast, that building an AST from parsing a serialized version will hardly be any faster.

Vladimir sidestepped that by saving a memory image via fork.

</comment></comment></comment><comment><USER40> The original author of D is suprisingly missing from conversation.

<comment><USER9> Walter's D9000 computer is monitoring this thread in his stead.

<comment><USER41> Not polling, I trust.

Hacker News threads: like Hacker News fibers, but less cooperative.

</comment></comment></comment><comment><USER42> LibreOffice Online also uses a warmed-up-process that forks child processes to execute requests

</comment><comment><USER43> Note: in this case "fork" means fork() in the sense of creating a new process, not as in duplicating the source tree.

<comment><USER44> This discussion thread is hilarious (and adorable) to me. Makes me feel old (in a good way) that there are folks for whom the default meaning of "fork" is git(hub), rather than the unix fork syscall.

<comment><USER45> OHHH. Haha I had to read your comment before I understood the title. I knew they were talking about the fork syscall while reading the article, but I still assumed the title referred to "forking the compiler on GitHub, so that they could make it better and send a pull request."

It didn't click that the title was also talking about the fork() syscall. I think it's a pun though: "To try it yourself, check out the dmdforker branch in my dmd GitHub fork."

<comment><USER44> Double OHHH. Just realized upon reading _your_ comment that I'd read the title/article the same way, and then forgotten. I guess "forking the D compiler" naturally leads to the source-forking context.

I guess I've learned to forget/ignore the titles on hackernews after using them to decide whether to click through, since they so often mess with them.

</comment></comment></comment></comment><comment><USER46> I thought D was proud of compilation times and claimed to be useful as a scripting language?

<comment><USER5> Correct. The language is designed to allow code written in it to compile quickly, and the reference implementation is very fast (both the front-end, and back-end). Small, script-size programs compile quickly.

However, D's compile-time metaprogramming facilities allowed us to get ambitious in some places... for instance, std.uni precomputes some Unicode lookup tables during compilation, and std.regex makes heavy use of metaprogramming to compile regular expression strings to D code, again during compilation. As a result, making use of those features will result in heavier load on the compiler.

<comment><USER47> I don't like code that generates stuff at compile time precisely for this reason - I would much rather use some template language to pre-generate the source (I've even seen php used) and then compile it quickly. Of course that then needs support from the build system to correctly invoke the generator when the templates change and you run the risk of some developer changing the generated source instead of the template and wreaking havoc. I would very much like to have my cake and eat it - powerful code generation facilities in the language itself, but with a compiler that's as smart as the build system and can cache these for reuse when recompiling the same file. That would also allow easy integration with IDEs. For now, I've decided that the better balance is generating code using an external generator, checking everything in source control and requiring responsible people to do code review. YMMV of course, depending on what you're compiling and who you're working with.

<comment><USER48> I agree with you. It feels natural for lexer/parser generators for example (Yacc, Bison, AntLR, etc). Also for FFI bindings.

On the other hand, for the little things it would be weird. Would you do that for a single regular expression?

</comment></comment></comment></comment><comment><USER49> D compilation: Not only slow but also high usage of memory. f.e. a simple program with searching and regex eats 2-3 G memory. sigh!

<comment><USER50> I haven't had this problem. I wrote a daemon to blend colours for my RGB keyboard in D and it stays below 8192 bytes.</comment></comment>


Some Tried–and Failed–To Kill "Race" in Latin America - <AUTHOR> https://www.sapiens.org/culture/dna-ancestry-testing-latin-america/ <comment><USER2> Race is a social construct and has to be addressed on those terms. Science isn't going to wipe it away with a magic wand and humans are very good at finding patterns and reasons for their tribalism, it should be no surprise that they can use science for that too.

There is nothing about science that automatically provides justice or equality....but it seems some behave as it might.</comment>


Rite Aid deployed facial recognition systems in hundreds of U.S. stores - <AUTHOR> https://www.reuters.com/investigates/special-report/usa-riteaid-software/ <comment><USER2> Hi, I work as a consultant around AI, and I want everyone here to know: every company with a brick-and-mortar wants to do this. The barriers are (1) tech stack, (2) use case, and (3) ethics, in that order.

It's not just facial recognition in stores: it's tying face, license plate, credit card, and phone app into a single customer view; it's pricing based on your past (and current!) behavior; and it's data consortiums to tie together data across companies (ever wonder why everyone asks for your phone #? It's traditionally the primary key in the big-*ss joins).

The expectation of privacy we have online is coming to the real world, make no mistake. I wish I had a call to action here but... keep yelling, I guess? I don't have a solution.

<comment><USER3> _it 's pricing based on your past (and current!) behavior_

How will that work in a brick-and-mortar store where there is a price label on everything?

<comment><USER4> The same way coupons work in drug stores already; there's a stated price and then there's the price with SuperSaver™ membership, which you have to pull out of their app and could be subject to any number of personalizations, real-time or not.

<comment><USER5> Every time I check out at a Kroger store I tell the cashier that I would like to get a membership card. They don't require you to give a phone number until you register the card after the checkout - which I don't do because I already got the benefit of the card at checkout. This won't work at stores that require phone number first, and still leaves open credit card-based tracking - for that you actually lose the few % cash back if you want to use cash instead.

<comment><USER6> Every time I check out at Kroger (or similar membership-based store) I tell the cashier that I don't want a membership but I do want the listed sale price. They always just scan their own card.

<comment><USER7> Most of the time Jenny's phone number works xxx-867-5309. [https://en.wikipedia.org/wiki/867-5309/Jenny](https://en.wikipedia.org/wiki/867-5309/Jenny). Someone already registered it.

<comment><USER8> Digits of pi usually work too

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> I always wonder if they really get much value out of all this surveillance or if they just hope to get value.

It seems that a lot of companies are these days are trying to hack their customers instead of treating them right. In the long run I don't this will work. I already am getting a very bad taste dealing with a lot of companies because they seem to view me, the customer, as something to extract money from instead of a customer to be respected. You notice that for example with a lot of search results where the company places stuff they want to sell in the results instead of allowing me to search for what I need.

Either we are going into a very dark future or there will be massive pushback. Not sure which way it will go.

<comment><USER10> ==I always wonder if they really get much value out of all this surveillance or if they just hope to get value.==

The continued investment implies that the market has spoken: Your data has value.

The largest companies in the world exist to make money and their investments exist to further that goal.

<comment><USER11> Having worked on customer-tracking systems for several companies and seen executive strategy first hand and compiled reports to assess the effectiveness of these types of programs I have witnessed clear evidence that what you are saying is NOT true. Yes, there could theoretically be value to this type of data but trying to explain this to VPs is pearls before swine.

"They wouldn't do it if it didn't work" should be added to lists of logical fallacies. People do dumb stuff and make mistakes all the time, but groups of people are collectively about as clever as a slime mold.

To assume unquestioningly the intelligence of our rulers during the Trump era is just, wow. I don't know what world you live in, but in mine, the worst people on the planet are the ones at the wheel.

<comment><USER10> ==To assume unquestioningly the intelligence of our rulers during the Trump era is just, wow.==

Who did this? I laid out the case that modern large corporations (no need to bring politics into it) are some of the most effective moneymaking machines in history. We can observe them investing heavily into customer surveillance/tracking. We can also observe the primary players in this industry thriving from a revenue and market cap perspective (Google, Facebook, Amazon).

The hypothesis is that both main street (through revenues) and wall street (through outrageous P/E ratios) are signaling that the data being collected does, in fact, have value.

<comment><USER11> At first I wasn't going to reply because you are clearly not discussing in good faith (you neglected to address my evidence to the contrary or the flaw in your reasoning but instead focused on my random afterthought.) But others might read this so I decided to elaborate a bit.

I was once misinformed with the belief that business' primary goal is to make money. But when you have the experience of explaining data to a CEO that clearly shows that their customer surveillance has a negative ROI and that the conclusions they are drawing from the data are not warranted. (For example, if you want to claim that your initiative increased sales, you need to compare an equivalent data point before and after the initiative, not just afterward.) If you say this and then look into the cold, dead eyes of a sociopath you'll know how foolish you were to ever assume the point of tracking customer data is to make money.

I felt dumb ever believing that business leaders care directly about money. I knew that to be false in high school when they made me read 1984. The lesson that O'Brien teaches Winston is one that we clearly have not learned.

> The object of persecution is persecution. The object of torture is torture. > The object of power is power.

We can add to that list "The object of unrelenting invasive surveillance is unrelenting invasive surveillance."

<comment><USER10> I think you are misunderstanding my point, so apologies for being unclear. I am not questioning the actual validity of the data collection or ROI of the projects themselves. I am saying that the market can award value to companies who just signal they are making efforts to "digitally transform" or "invest in data assets" or "monetize data". It doesn't matter if they accomplish them tomorrow, the market is giving value today.

Thanks for sharing your CEO experience, that is not a data point I have encountered. I do think money and power are closely linked, although maybe not as closely as I assumed.

==I felt dumb ever believing that business leaders care directly about money.==

Today, what do you believe they care directly about? Power? Ego?

</comment></comment></comment></comment></comment></comment><comment><USER12> Technologies with similar capabilities are being rolled out en masse throughout retailers across America. I've worked with a regional grocer supporting one of these projects. There are turnkey systems from several vendors, but the general concept is similar. Cameras have full coverage of the retail floorspace from multiple angles. The systems can track an individual throughout the store, and they can observe someone pulling items off the shelf.

This is used for a couple things. One, if customer pulls product A off the shelf instead of product B right next to it, the manufacturer of product B can purchase the ability to have their coupon print out at checkout to be handed to somebody who is proven to have an interest in the category. Alternately, it can be used with self-checkout systems to confirm that the shopper actually scanned product A, or to alert security to check the shopper's receipt and cart at exit.

Amazon is offering this sort of technology for checkout-less stores, but similar offerings for loss-prevention and targeted marketing are online and available.

It would be trivial to add face recognition to this stack, and I strongly suspect it is in fact offered if you ask for it. The use case there would be focused around the loss prevention aspect, and that's a huge financial driver for implementing these systems.

Another interesting feature of this market is that the websites for the products themselves don't really advertise the full functionality of the product. You won't see the scale of the offering until you get to the in- person sales demo and slide decks. It feels like the vendors know how the technology could be perceived.

<comment><USER13> This sort of thing is a little perverse imo. I don't think anyone should be punished for stealing food, that's a crime of hopeless poverty. My roomates were broke in college, spending nearly all money on rent and school. If someone wanted meat that week, they would ring up the chuck as bananas at self checkout. Otherwise it was rice and beans.

<comment><USER14> Rice and beans will sustain life. Theft isn't ok. I've used the food bank before and been homeless once, shoplifted once or twice and felt bad about it. Never once was it the last resort, there's always somewhere to get food. As a college student? That's just embarrassing. You can buy 30 packages of ramen for like $2.

<comment><USER15> Well, anybody starving is immoral. Food theft only hurts profits, not people. Also, ramen is wildly unhealthy being starch and salt with no other nutrients.

</comment></comment></comment></comment><comment><USER16> Why do people focus so much on how the data can potentially go back to China? It just feels like a redirection to distract us from the privacy violations here in the US. I understand why it's a concern but it just seems like every article always ends up talking mostly about Chinese companies, the Chinese government, how they respond to accusations etc. instead of focusing on our government, our corporations, our security forces all using or wanting to use technology like this.

Take the "Orwellian surveillance" part. We get about 2 paragraphs about how surveillance in the US is largely unregulated and whatnot and then 4 of them about China. The other sections afterwards seem like they were written to almost justify the use of surveillance in US corporations.

Maybe it's all in my head but it's just something I keep noticing whenever there's writing about surveillance in the US.

<comment><USER17> For the same reason news coverage of things that are bad for everyone focus on how it's bad for black people, or how it's bad for women. Because the press seem categorically incapable of covering negative aspects of society without a uniquely-victimized or uniquely-malicious group involved.

The conventional wisdom is that they need an angle to make readers care. My hot take is that they're too fucking thick to even begin making an intelligent analysis of anything but the most black-and-white topics. If something is actually contentious they just report on a handful of fashionable opinions as co-equal, trashtalk the low-status opinions, and don't even bother acknowledging the principals and/or perceived realities that lead people to various opinions.

<comment><USER18> I agree with you, however I think a significant portion of the blame for this kind of emergent behavior comes from the consumers of said media. They're producing what they know will sell.

</comment></comment></comment><comment><USER19> I genuinely don't understand what the big deal is. Brick and mortar stores lose a lot lose of money in theft. Walmart alone loses $3 billion each each year. It's their private space, so it makes sense that they want to know who's going inside. The majority of shoppers are using their credit card and store rewards card anyways, so they already know who most of the paying customers are anyways.

<comment><USER20> If facial recognition were 99.9% accurate, it would confuse someone with at least 350,000 other people in the US.

<comment><USER19> If it's not useful, companies aren't going to pay money to use it. As Rite Aid put it, "companies seem to be scaling back or rethinking their efforts around facial recognition given increasing uncertainty around the technology's utility."

<comment><USER21> The companies don't care about a few false matches here or there. But if you're one of the people it keeps incorrectly identifying as a criminal who needs to be escorted out of the store, it will matter to you.

</comment></comment></comment></comment><comment><USER22> There was a company called "stop lift" that deployed cameras on its check out lines. Looking for fraud by employees and probably self checkout. Whenever I'm in a store at the cashiers I look up and often see lots of camera domes above the register.

[https://www.stoplift.com/about/why- stoplift/](https://www.stoplift.com/about/why-stoplift/)

<comment><USER23> There's been a trend in self checkout to have at least two cameras directly on each machine, one in the screen pointed at your face, and one overhead on a mast pointed downward.

I am not a fan.

<comment><USER24> I've seen the playback from the camera above and I'm okay with that one.

The other one targeting my face? Not so much (tho I'm less bothered, since wearing a mask).

</comment></comment></comment><comment><USER25> I wonder if it's inevitable that we will get denial of entry based facial recognition systems. It's legally difficult to stop people from leaving the store whereas it'll be much easier to prevent them from entering.

If someone shoplifts then they get banned from the chain, or a network of chains. This would be an alternative to police involvement. Restitution could be done proportionality and privately.

Of course there will be issues with it but I'm sure it could be cheaper to figure this out than the alternative loss prevention solutions.

<comment><USER26> From a profit motivation, Rite-Aid (and everyone else) would really like everyone to give them money instead of banning them forever. So I really feel the market will sort this out, maybe a 3 strike system or temporary suspensions.

Now that I think about it, we already have temporary suspensions from Walmart and the like if you get caught. How is this different than a guard just watching the CCTV all day?

</comment></comment><comment><USER27> A few years back I stayed at the Nugget in downtown vegas. I hate vegas but friends wanted to watch the sweet 16 there. I was actaully somewhat happy with the nugget, it was freshly upgraded and pretty nice. Food was ok and ok priced, and the vegas main street is a better feel for me than the mega hotels.

My friends paid, I paid cash, I skipped checkin and went right to the room.

What flipped was my friend walked up to a blackjack table and the dealer greeted him by name. Another friend who had also checked in was greeted by the cash out teller by name. They didn't seem to know who I was.

I started paying for everything in cash and was like "welp, guess I'm definitely never coming back to vegas"

</comment><comment><USER28> "the retailer used state-of-the-art facial recognition technology from a company with links to China and its authoritarian government."

And today along with countless millions of North Americans I dialed my mom on a piece of technology that was made in China and its authoritarian Government (TM). FFS can't they stop shoving big bad China into every story. However bad it is not China's fault for US corporation being A-hole.

Added for clarification: This is not to protect China, rather to point out this style of "reporting" that lately seems to have very little to do with the true reporting as it used to be.

<comment><USER29> An internet connected camera made in China and using software from a Chinese company is a slightly bigger risk than an iPhone made in China.

</comment></comment><comment><USER30> After IBM, Microsoft and many others publicly declared (for marketing reasons no doubt) to stop working and delivering face recognition systems, a new competitor quickly fills the space. Color me surprised.

<comment><USER31> Yes expected. I posted before that by trying to stop companies we work for or other well known companies from operating in this space we give up far too much opportunity to police and possibly influence the outcome.

Facial Recognition is coming along with all other sorts of identification. They key to making sure these are not abuse is to get embedded into the process of making them. This way issues of privacy, accuracy, and accountability, can all be addressed.

Currently far too many here, especially here, are the head in sand type. If they shout it down and declare it evil and see a big name step down they declare it fixed. Ignoring the fact the world is a big place and other companies and countries really don't care what your opinion is. So get in there and make sure where you live that this technology when it does become common place has the structures in place to protect the individual.

Because you can damn well guarantee it won't be corporations abusing it, it will be politically oriented groups who will exploit it. You think the cancel culture is bad now with their name and shame combined with using sycophants to leak records if not outright court challenges to sealed records, wait till they abuse this

<comment><USER9> "Because you can damn well guarantee it won't be corporations abusing it, it will be politically oriented groups who will exploit it. You think the cancel culture is bad now with their name and shame combined with using sycophants to leak records if not outright court challenges to sealed records, wait till they abuse this "

I am very worried that there will be a lot going on behind the scenes. Public cancel culture is bad but secret cancel culture is even worse.

</comment></comment></comment><comment><USER32> I think I have to agree with some comments that it's very unlikely companies do get a lot of value from these surveillance programmes. From a side, it all sounds super advanced and promising,but in the reality it's usually more down to earth: After buying a dehumidifier from Amazon, they keep sending emails with various dehumidifier options.. Like I need 20 of them. Sainsbury's tracks my shopping via Nectar card just to give me 5p discount on the cucumbers and crisps I sometimes buy. Where's all the sophistication? With all the tracking and analytics, one would think they could better track shopper sentiment,yet thousands of tons of unsold food and other products get dumped every day. Also,just because someone is doing it, that doesn't mean it's profitable. A lot of CEOs get sold all this AI/ML hype and because they have genuine fears of being left out, they just roll with it.

</comment><comment><USER33> Doesn't seem like a productive battle. It's only upsides for stores that roll out facial recognition. If you want this stopped you will need legislation.

<comment><USER34> I suppose it doesn't scale, but public shaming seemed to work in this case:

 _" Last week, however, after Reuters sent its findings to the retailer, Rite Aid said it had quit using its facial recognition software."_

Though likely because of the higher use in low income neighborhoods than facial recognition overall.

<comment><USER35> Public shaming didn't work, literally at all. The article was released literally today, and the program was ended before anyone knew about it other than reporters. And this won't deter other corporations from employing this technology.

We absolutely need legislation to permanently stop this. The free market is not going to magically pop up a competing brick and mortar that doesn't spy on us and/or sell/give our data to other corporations/governments.

</comment></comment></comment><comment><USER36> Sounds to me like someone sold Rite Aid a sow's purse, and is no wonder for a chain that had to go begging to its competitors to bail it out of insolvency. (They attempted then failed to merge with CVS and settled for giving more than half of their stores to Walgreens.)

</comment><comment><USER37> Yet another reason to wear a mask everywhere in public :P

<comment><USER38> As I have commented here [https://news.ycombinator.com/item?id=23257887](https://news.ycombinator.com/item?id=23257887)

Overcoming masks is a feasible challenge and will be solved with, I assume, modest efforts.

Side note: I tried my Android phone face recognition while using a mask. Interestingly, as long as the nose structure can be perceived, it managed to recognize me.

</comment></comment><comment><USER39> Reminds me of the entire city of London.

<comment><USER24> I appreciate it when Earth's Surveillance Capital is brought up as an abject lesson.

</comment></comment><comment><USER40> Great. What's the real-world equivalent of doing 90% of your browser searches in an incognito window?

<comment><USER41> Acknowledging that you can't change what people will do and that you will be dead soon is the best incognito window I've found.

It's incognito from your stupid brain patterns that want to find something to worry about incessantly. It's not that the stupid thoughts stop - you just pet them like stupid little things that they are and move on with your life.

</comment></comment><comment><USER42> Another reason to wear that damn mask!

</comment><comment><USER43> Do these systems continue to work in the mask era, or have they wasted their money?

Personally I've taken to wearing masks and large sunglasses, just because I can. I suppose they could still track my gait, posture, hair style, etc.

<comment><USER44> > Rite Aid said it had quit using its facial recognition software. It later > said all the cameras had been turned off.

<comment><USER43> The article doesn't make clear whether they turned the system off because it wasn't working due to masks, or simply wasn't doing what they meant it to do in the first place.

> _"This decision was in part based on a larger industry conversation," the > company told Reuters in a statement, adding that "other large technology > companies seem to be scaling back or rethinking their efforts around facial > recognition given increasing uncertainty around the technology's utility."_

Will it come back when the masks go away, or have they realized that it was never useful in the first place?

(They also claim it had nothing to do with race, which is kind of farcical since it's well known these recognition systems have trouble with race. It obviously has _something_ to do with race, even if they're choosing to ignore that issue.)

In brief, my questions are these: Can these systems track the movements of people wearing masks? (I suspect they can, perhaps with some tweaking.) And assuming that these systems can provide accurate movement data through the store, does analysis of that movement data actually provide actionable suggestions of how to arrange the store that, when put to the test, actually increase sales? (I suspect the efficacy of this analysis is greatly overstated by those selling it, and stores are beginning to realize this.)

<comment><USER45> Rite Aid being national (global?), and mask use being regional, I doubt the masks had much to do with the decision. Just my two cents.

</comment></comment></comment></comment><comment><USER46> Masks will probably remain socially acceptable for quite some time post-COVID. If you don't agree with facial recognition you can just wear one.

<comment><USER47> [https://apnews.com/bf75dd1c26c947b7826d270a16e2658a](https://apnews.com/bf75dd1c26c947b7826d270a16e2658a)

<comment><USER48> It's no different than browser fingerprinting. "You can just use a VPN/spoof your user agent!" It's not that simple. Just like how browser fingerprinting has evolved to the point where it's virtually impossible to get around, these real world systems will follow suit. Hair color, eye color, skin color, the types of clothes your wear, your gait, height, gender, path you take through the store, car you drive, license plate, stores you frequent, heck... even where you choose to park or which door you choose to enter could all be used identify individuals/families.

Keep in mind, just like with web analytics, these solutions will be provided by 3rd parties which will aggregate this data across multiple businesses.

</comment></comment></comment><comment><USER49> you'd think they would be able to actually give me the right scrip with this tech but fun fact, no.

</comment><comment><USER50> If you understood how bad the prescription drug problem was in the United States you wouldn't remotely be surprised.

<comment><USER24> >If you understood how bad the prescription drug problem was in the United States

'Was' is the key word. The vast bulk of pill mills were shuttered a decade ago.

The current prescription drug problem is the steadily increasing difficulty for people in pain to get prescription pain relief.

</comment></comment><comment><USER51> What companies are behind the development of these camera+software solutions? I reckon it's just a couple?

</comment><comment><USER52> I have no problem with this move. One of my general principles, one I try to apply everywhere, it is: if you can perform an information processing task with your eyes and brain, you should have the freedom to program a computer to do that task. Under this principle, I have to allow public facial recognition: any functioning human can already do it, just at a smaller scale.

On other words, Rite-Aid employees can already recognize your face. Deal with it.

Why is my principle so important? Because the alternative conflicts with the computational enhancement of the mind, which is far more important than any illusory gains to had from banning this tech or that tech.

<comment><USER53> >Under this principle, I have to allow public facial recognition: any functioning human can already do it, just at a smaller scale.

So you'd be fine with mega-corps or the government tracking everyone's movements with drones, and cataloging it into a massive database? After all, you can already do that with a bunch of minimum-wage workers and a map.

>Why is my principle so important? Because the alternative conflicts with the computational enhancement of the mind, which is far more important than any illusory gains to had from banning this tech or that tech.

So basically you want technological singularity, even if it means turning the world into a cyberpunk dystopia?

<comment><USER52> > So basically you want technological singularity, even if it means turning > the world into a cyberpunk dystopia?

Yes. That singularity is coming anyway and it might as well be on our terms.

<comment><USER54> Who is "our" in this sentence, Rite Aid?</comment></comment></comment></comment>


Show HN: My Book: Build a SaaS App in Go - <AUTHOR> Hi,
I've reached the pre-order phase for my book on building a back-end JSON API in Go for a SaaS or web application.
I've build two SaaS using Go in the last 4 years, LeadFuze and Roadmap. This book contains what I've learned building those.
It's way harder than what I thought to write a book. After receiving lots of requests to have early access I decided to enable pre-order and publish chapter as they are ready.
I thought it might interests some of you here maybe if you were looking at using Go to build your next product.
This is the book URL: https://buildsaasappingo.com/
As always all feedback are highly appreciated.
Thanks <comment><USER2> Hi there, I'm absolutely happy you have written this book! I'll definitely buy it, I need all the help I can get to run my mobile-first e-commerce site. Thank you so much!

<comment><AUTHOR> Thanks, very appreciate the comment :). Let me know how things evolve with your product.</comment></comment>


ARM reveals little dog A7 processor - <AUTHOR> http://www.eetimes.com/electronics-news/4229867/ARM-reveals-little-dog-A7-processor

<comment><USER2> This is binary compatible with the upcoming A15 processor, but lower speed and more power efficient. The intent is that a chip will have some A15 cores and some A7 cores and use them as appropriate to balance speed and energy consumption.

It could also be used as a standalone processor where its performance is sufficient and energy efficiency is a win.

The "Cortex A∗" numbering scheme should not be confused with the "Apple A∗" numbering scheme. They are unrelated. There is in fact an A5 in each scheme at the moment.

<comment><USER3> It doesn't help that the instruction set version is numbered similarly, but their numbers are not the same as the chip version.

<comment><USER4> Or that the A7 will be more recent and more fully-featured than the A8 and A9.

</comment></comment></comment><comment><USER5> How much battery life is saved using an asymmetric multicore design as compared to dynamically downclocking of a "big dog" core? The article does not address this, but it does say that smaller die size of the "little dog" core uses 1/3 less power.

<comment><USER6> It's a huge "it depends", and on things that aren't ever going to be publicly visible. "Shutting down" a core is itself really complicated. You can drop all the power rails and push the quiescent current all the way to zero, but that loses the cache; so on resume those cache lines have to be refilled, which is work you don't have to do if you maintain power to the cache. Which to choose has to do with how long the CPU will be active for, which depends in sensitive ways on the architecture of the whole system (how much work can be offloaded to the hardware vs. requires interrupt handling in the CPU, etc...). But then of course those other hardware devices have their own power needs. And there's further complexity due to multiple layers of cache, etc...

Balancing the whole thing is a big guessing game, and the guesses have to be made by the SoC vendors years before the actual product appears in the market.

My intuition, FWIW, is that the asymmetric idea is a non-starter. It sort of exists right now: c.f. the "baseband CPU" (or all the DSP cores you find scattered around these things) in many Android designs, and the extra CPU is really just a huge resource waste. The hardware people will never get this right. Putting all the transistors into a single set of SMP cores gives up on the ability to tune things perfectly, but it puts the OS in control of things. OS vendors are much closer to the problem and better positioned to make good guesses.

<comment><USER4> There should be decent public visibility in time, if an A7 ever shows up on a Nexus phone or on a successor to Beagleboard/Pandaboard. Actually, I don't have the link just now, but IIRC someone was trying to write software to do the same thing on the Pandaboard's OMAP4, transferring a running Linux kernel from the A9 core to one of the OMAP4's built-in M3s. (I don't know what they were planning to do for memory protection.)

</comment></comment></comment><comment><USER7> NVidia's Kal-El SoC implements this approach, although it uses Cortex A9 for both the Big Dog and Little Dog cores. The Little Dog is produced using low- leakage transistors, which is where their obtain their power savings (at the cost of clock speed). In the Kal-El design, the Little Dog communicates with the Big Dogs through a shared L2 cache.

</comment><comment><USER8> Reminds me of the old BBC coprocessors, which is interesting as ARM's predecessor was Acorn Computers. Funny to see an idea from the 80's getting a second run out!

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

</comment><comment> shawn-butler I doubt this will change process model or application lifecycle already present in the major smartphone OS. In the "always" on services, long-running background tasks arena the precious commodity is not cpu usually, it's memory. There is no "swap space". Interesting to see QNX\RIM listed as an early partner.

</comment><comment><USER9> In overall power consumption how high is the CPU on the list of components? I'd imagine the display, WiFi, cell radios, Bluetooth are the real battery zappers. If a device was to be built using this big dog-little dog strategy, realistically how much battery life could expected to be gained?

<comment><USER10> It really depends how much of each of those things you're using. If you have an LCD display that you set to be bright, its going to dominate your power usage when its on, but not if you're really maxing out the CPU. When you're not using the phone the cell radio is going to dominate power usage, but if you're on WiFi range it won't be that bad. Most of the time in that case the processor is going to be sleeping, but occasionally it will wake up and check for updates, etc, before going back to sleep. Its in a case like that where having it be a little A7 instead of the big A15 that wakes up will be a big advantage.

<comment><USER6> Careful though, that's apples to oranges. Clearly you're right: waking up a small core for a tiny task is going to require less power than doing the same on a big core. But the choice here is between a A15-only design (you need the big core always) and an A15+A7 design. The one with an A7 is a _larger_ chip. That silicon area has built-in costs in both money and power consumption and has to be accounted for.

<comment><USER10> It certainly has an area cost, but its not going to contribute to power consumption when its not turned on. Power gating is a pretty well developed technique these days, and on the high Vt processes that everyone but NVidia uses you could probably make due with just clock gating for something as tiny as an A7.

</comment></comment></comment></comment><comment><USER11> iPhone 5?

<comment><USER12> This is slower than the processor in the iPhone 4S.

Edit: But it could appear in future iPhones as a secondary processor.

<comment><USER13> FTA, it's intended to be used as a standalone in sub-$100 phones, or as a low- powered processor that could be paired with a more powerful chip and take care of tasks that aren't performance-intensive. So it's not out of the realm of possibility that it will see duty in top-of-the-line phones.

The biggest killer for his iPhone 5 question is the fact it's not slated for release until 2013, which puts it well past the iPhone 5's introduction.</comment></comment></comment>


The End of Fail - <AUTHOR> http://dashes.com/anil/2009/06/the-end-of-fail.html

<comment><USER2> Interesting article, I disagree with several points, most notably the blanket statement that anyone who uses fail is an asshole. It seems like the author is too busy being butt-hurt about (one can only assume) someone calling fail to grok the fact that quite often "fail" (much like fuck) carries substantial irony, or otherwise conveys subtext in a very condensed form.

<comment><USER3> Hmm, I do kind of see the point he's trying to make though - 'Fail' seems to be like a fratboy in-joke, the kind of thing that's OK to shout out because it's funny, but that is actually a little thoughtless and sometimes cruel. The tabloid press and TV are full of that already; the article author obviously thought that the internet could do better, and is disappointed to see it isn't.

<comment><USER2> If that's true then clearly the author hasn't spent any actual time on the Internet. Compared to the average dose of caustic bile dispensed on usenet or irc, "fail" is downright cheery in comparison.

</comment></comment></comment><comment><USER4> fail.</comment>


The Myth of Cosmopolitanism - <AUTHOR> http://www.nytimes.com/2016/07/03/opinion/sunday/the-myth-of-cosmopolitanism.html?pagewanted=all <comment><USER2> As stated in the article, it's not that genuine cosmopolitanism doesn't exist- it's just rare. I'd be somewhat hard-pressed to find a political ideology that does not consider itself to be superior to the other ideologies, one in which the majority of members follow the 'full' ideology rather than a watered-down version. This article seems to be complaining that cosmopolitanism suffers from the same issues as any other ideology, and while that does not make the complaints invalid, it does raise questions as to why it's specifically cosmopolitanism that's being called out on this.

I may be missing something here, or misinterpreting some section, though, so please correct me if I've said something wrong.</comment>


Ask HN - Is there a business model in IM bots - <AUTHOR>

Does anyone know if there is a business to be had in building bots, like alicebots, on IM networks, apart from contracting with large companies such yahoo, msn , aol bots, or there branding purposes etc. I'm talking about direct to consumer use. Does advertising or do usage fees work. <comment><USER2> "Oh, you are such a nice guy. We should go on a date sometime. My favorite alcohol is BACARDI. When I don't drink alcohol, I just like PEPSI."

</comment><comment><USER3> I do not know if anybody does it, but b2c should be a really nice market to get in to, I can see bots paid for by the 'case', by savings realized or by sales made.

One possibility would be helpdesk stuff and diagnosis work, for instance in troubleshooting machinery.

Telesales might also be interesting but the 'close' would probably have to come from a human.

</comment><comment><USER4> Aardvark?

</comment><comment><USER5> I see only see b2b play here. Making bots to enhance customer support live chat (like on digi-key)</comment>


Creating An NFS-Like Standalone Storage Server With GlusterFS On Debian Lenny - <AUTHOR> http://www.howtoforge.com/creating-an-nfs-like-standalone-storage-server-with-glusterfs-on-debian-lenny <comment><USER2> FYI, we used this at the company I last worked for. Corrupted our entire filesystem and took down an 8 node production cluster.

After weeks of user complaints, downed systems and the like they bought a SAN. I left the company before it was implemented, but I think it's stable now.

At some point we let the Gluster developers in to test on the machines (scary, yes) and they were unable to fix the issue.

</comment><comment><USER3> We use GlusterFS and hate it. It's healing seems to do more bad than good and we're looking at moving all of our files to S3 instead.

</comment><comment><USER4> How have I never heard of this filesystem? It sounds pretty awesome. Has anyone ever used it before?</comment>


Find a startup co-founder - <AUTHOR> http://www.cofoundr.com A site for finding co-founders: http://www.cofoundr.com
You can search members by skills, interests and location or "pitch your idea" to recruit folks. <comment><USER2> Don't make your users register. At least not to just access information.

<comment><USER3> In this case I'm not sure that's a bad idea.

\- This is, or should be, a very motivated audience.

\- The point of the site is as much advertising yourself as seeking a cofounder as searching the current offers.

\- The data you enter when you register is pretty much the search criteria for cofounders.

<comment><USER4> People like to see what they're getting into before they give anything away, though. This applies as much to motivated startup founders as casual web browsers.

</comment></comment></comment><comment><USER5> Bug Alert:

Once I uploaded the image into my profile, I cannot change it. It does not matter what I do: remove an existing image and upload new one, rename files before uploading, in the end, my profile shows the image I uploaded first time, regardless of what I try to upload now.

</comment><comment><USER6> I just happened to glance at their privacy doc:

"We may provide information to service providers to help us bring you the services we offer. Specifically, we may use third parties to facilitate our business, such as to send email solicitations. In connection with these offerings and business operations, our service providers may have access to your personal information for use in connection with these business activities."

Email solicitations from third parties ? .. makes me real reluctant to sign up.

</comment><comment><USER7> Hrm.

I've been writing notes and thinking about my idea for this exact domain and application name for many months now. Guess I'll have to register and see what you've done.

<comment><USER3> If you are so interested, you may consider talking to them about joining them?

</comment></comment><comment><USER8> Is that image from the facebook "Places I've Been" App?

</comment><comment><USER9> Hey, where the heck is the OpenID-based login?

Come on people, let's make the 21st century a better place already! :)

-Matt

</comment><comment><USER10> Why Login/Register?</comment>


Uber may have to pay Waymo or redesign its self-driving software - <AUTHOR> https://www.engadget.com/2019/11/07/uber-waymo-self-driving-software-licensing/ <comment><USER2> I have not completely understood why Uber is spending money researching self driving cars when they could buy them later from a mass producer with a competitive advantage in car manufacturing.

<comment><USER3> I have not completely understood why Uber is at all a reasonable investment nor why it ever received so much VC funding.

There is no business model. Uber doesn't have anything unique, least of all self-driving tech. There won't be any sort of sticky network effect since consumers can simply switch to a different ride hailing app with the lowest price. When (if?) AVs become reality, the car manufacturers themselves can become their own Ubers or AV-subscription service with no need for a middle man.

<comment> dawg- I'm surprised that you don't see the network effect of Uber/Lyft as being very sticky? It's not as simple as everyone just migrating to another app. It would be really hard to start a new ridesharing company from scratch because of a chicken-and-the-egg type of problem. New riders won't use the app if there are no drivers, and new drivers won't use it if there are no riders. Back when Uber and Lyft first came out, they had the luxury of being first which gave them more wiggle room; people were probably more willing to go out on a limb and use the app even if there was a sub-optimal amount of riders/drivers. But a brand new app wouldn't have that privilege. Would people be as patient as they were with Uber and Lyft? Or if it takes more than 5 seconds to find a ride would they just switch to Uber where they know they can have a ride as soon as they push the button.

One way the market could be more competitive is if there was some sort of protocol for ridesharing where you could access drivers from all the different services on a central platform. Then the services would have to compete to see who can offer the best prices and the best availability at certain times/locations. It would give room for new services to pop up because the transition between using Uber and whatever new service would be seamless. Or rather, there wouldn't really be a transition at all. Today I use Uber, tomorrow I use Lyft, the next day I use whatever, just based on what ride is closest/cheapest at the moment I want to use the app.

</comment></comment></comment><comment><USER4> Interesting that the identified software isn't in the list of what Levandowski was accused of stealing.

<comment><USER5> The Levandowski case is focused on just nailing him on the things they're super confident about, so I don't think it's surprising that the software in this case is part of that list - not least because they had no way of knowing Levandowski stole it until this independent expert verified it.

<comment><USER4> As I remember it, they had pretty good logs. The indictment mentioned "over 14,000" files he downloaded.</comment></comment></comment>


Ask HN: Please review my start-up - planergize.com - <AUTHOR> http://planergize.com

<comment><USER2> It's took me over 30 seconds to figure out what the site does and I'm still not 100 percent. If I were a normal user, I would have bounced by now.

Improve the landing page? Pictures and some points on what it does could be helpful.

Good luck!

<comment><AUTHOR> Thanks! We are working on improving a landing page with some graphics and better explanation.

<comment><USER3> The "Wedding Planning" button made me think that's what it did. I thought "cool idea, they should show that in more places". Then when I clicked the Categories tab I found out that that's just an example. Or I could be wrong about that too, but that just highlights the point further.

I'd suggest putting a tagline beneath your logo that describes what you do. Don't make it too marketesy, make it explanatory. "Helpful instructions to common tasks" or whatever is better than something like "Plan. Do. Share.".

<comment><AUTHOR> Totally agree with you, we'll have it fixed by tomorrow! Very helpful comment, thank you. Yes, wedding planning is one of the examples what kind of plans you can create with planergize. If you like a plan you can then "run" it and get SMS/email reminders before steps.

</comment></comment></comment></comment><comment><USER4> Geez... with all the negativity on here (I realize he's asking for criticism, but would it hurt to throw in a tad of positive feedback as well?!) I feel obligated to tell you that I think what you've created, while it still needs a bit of polish and refinement, is quite impressive and useful (especially made me think of it's application for all those DIY sites). Granted I know jack about Flash, but your plan player wowed the pants off me and performed without issue in Firefox.

As for suggestions, I agree with most of the others that the landing page could use some work in order to be more engaging and clear as to exactly what the site does. Also, I think it really might help to change the background image to something less cartoonish that comes across as more practical, useful, and more visually representative of the site function... perhaps a design incorporating various planning-related graphics such as arrows, bullets, step numbers (1., 2., 3., etc.), times, clocks, check boxes, percentages, etc.

Good luck and I look forward to seeing its progression!

<comment><AUTHOR> Thanks a lot for your POSITIVE feedback! :-) And, of course, I agree with regards to the landing page - it'll be ready by Monday next week. It takes some time to prepare nice image that (we hope) will help to explain the purpose of the website.

</comment></comment><comment><USER5> I agree with the other comments saying that your home page doesn't describe your product clearly enough. I disagree that showing a video is the best solution. As a user, I don't want to waste my time watching a video until I'm convinced that I want to investigate further. Instead, I would put a Top 5 showcase of some great looking plans on the home page. This also gives an incentive for the users to create something that is really cool, so they can be featured on the home page.

I think relying on Facebook Connect _only_ might be a bit iffy, unless you absolutely require it for core functionality. In your case, Facebook adds some social elements but the core competency of your website is building plans. I might want to sign up to play with your site without using my Facebook account. If I like it enough to recommend it to my friends, I _might_ be willing to link it to my Facebook account later.

<comment><AUTHOR> Thanks for your comment!

The reason we decided to use FB only auth is that we felt that in order to provide the same feature set with FB and without it would require quite a lot of duplication on our site. And the more social features we add - the more duplication it requires.

For example, for a plan you can specify "friends only" visibility - and for this to work we need to support friends lists in our app. We also use FB to send SMS reminders (if allowed by a user) - and that's not the easiest and cheapest thing to implement from scratch.

<comment><USER5> I'm not suggesting you duplicate the feature set that Facebook provides. If a user wants to have those features, it makes sense to have them link their Facebook account.

But I would probably offer a more basic version that doesn't have friend lists, SMS reminders, etc, and let the user opt in to the additional features only if they wanted to. Otherwise I think you might end up artificially restricting the amount/type of users that use your site (e.g. people without Facebook accounts or people that want to keep their Facebook data private).

<comment><AUTHOR> Maybe you're right... We have to think about it more carefully. Thanks for your feedback!

</comment></comment></comment></comment><comment><USER3> Like others have said it's a bit confusing to figure out what it does right away. I think a demo video might be in your best interest. I read this and it was kinda helpful: [http://blog.procasts.co.uk/2009/03/why-screencast-if-a- pictu...](http://blog.procasts.co.uk/2009/03/why-screencast-if-a-picture-is- worth-a-1000-words/)

You could use Camtasia: <http://www.techsmith.com/camtasia.asp> I tried out ScreenToaster as it was free and it works pretty good: <http://www.screentoaster.com/>

I see you don't have an FAQ page. May I humbly suggest my FAQ script side project: <http://breezyfaq.com>

<comment><AUTHOR> You sure can! :-) I'll have a look at it. We have a screencast, there is a link on the how to page: <http://assets.planergize.com/planergize_demo.swf>

</comment></comment><comment><USER6> I thought the name was a take-off on "plagiarize". I was expecting it to be a system where you enter a student's homework and it would do a search and tell you if it was plagiarized. Sorry, I didn't actually try the service, but I just thought I'd share my confusion with the name.

</comment><comment><USER7> You need to rip out your front page and add the following:

1) One tagline - "Easy simple way to create repeatable processes"

2) A video going through a use case

3) Example plans (the end product), featured on the page

4) Giant sign up button

<comment><USER8> I agree, with all of that - I just want to emphasize the need to clear up the front page. With all the text the same size I have a really difficult time finding what I need, I had to click on the why page to figure that out (the first line would be better on the front page : "Step-by-step instructions along with videos and images Cook a meal as if guided by a famous chef personally, get instructions when and what should be done with a recipe plan" - A link to an example page would be great to - or some sort of slideshow.

I had a really difficult time just getting the gist of what you are doing there but was really put off by the large block of over sized text on the front page.

<comment><AUTHOR> Thanks, I agree, we'll have it fixed by tomorrow.

</comment></comment></comment><comment><USER9> Very nice, I like it. I agree with the others that you could improve the first impression- Have a nice big tagline that captures what you do in one sentence. I can see this as being very useful in lots of domains (think disaster recovery etc). You could pitch it to businesses even (thought the current look is too casual for businesses) to use this as part of their risk management process.

I stress the point of businesses because you have more money-making potential there as opposed to individual plans.

<comment><AUTHOR> I'm working on this side as well. Applicability in business environment was the reason I got funded a year ago by Enterprise Ireland (Irish state agency working to support commercialization of research, among other things)

</comment></comment><comment><USER10> Why did you decide to use Facebook authentication? Do you have plans for symbiosis with Facebook? Why have the user create a Facebook account instead of account in your startup?

<comment><AUTHOR> We actually had our own authentication initially, but later decided to use Facebook Connect. We are using some part of data and features available on FB to provide core functionality, e.g. we use friends list for access control, we send SMS and email reminders through FB. We publish short stories on your activity on your wall (if allowed). And we have plans to put more social features, utilizing FB infrastructure. Many people already have FB accounts, so we decided not to ask people to fill in all these fields one more time.

</comment></comment><comment><USER11> Interesting idea.

I think the copy on your landing page needs some work. In particular, the intro paragraph ("Planergize is an online service that ..") seems a bit muddled. I wasn't sure at first whether your site was about plans, or about wedding planning (given the badge in the top left). I think you should easily be able to summarize what your service does without getting into the details of how you construct plans.

Good luck with the site!

<comment><AUTHOR> Thanks for your comment - we are working on some nice graphics explaining what we do at the moment. And I agree - it is boring and doesn't work well...

</comment></comment><comment><USER12> This might not a big issue, but I think the phonetics of the name are a bit off. I didn't quite know how to pronounce it, and realized when I clicked through that it's probably meant to be read as planner-gize. This could be a problem for word-of-mouth marketing as people would probably assume it's spelled with two n's. Plannergize.com seems to be taken already, but something like PlannerMake.com is available.

<comment><USER13> I had the same reaction. Instead of a common word misspelled on purpose (e.g., "tumblr"), it looks more like a typo in the product name. Also, at first glance I want to say "plagiarize" because it's the closest real word my brain associates with those letters.

Other issues: \- You have categories with no samples. \- There is no back button support. \- There is no mouse wheel support within scrollable panes. \- In detail view, I couldn't figure out how to get back out to higher level views.

</comment></comment><comment><USER14> I like the design of the landing page and the main graphic. I am getting tired of seeing the standard "browser screenshot" graphic on landing pages. As for the copy on the landing page I also couldn't discern quickly what the application was about.

<comment><AUTHOR> Thanks, we are working on the better version of landing page - with better explanations and some graphics.

</comment></comment><comment><USER15> The plan viewer was a little flaky for me as I scrolled along the timeline. All the bouncing around seemed to detract a little bit (at least for me), but than that's just a first impression, I might get used to it if I used to service a lot.

<comment><AUTHOR> Thanks a lot for your comment! We will improve it. I just thought it would be nice to have something moving on the screen :-)

<comment><USER15> Well, I'm guessing you put some work into getting things to bounce around like that, so don't take anything out just on account of me :-) My own work is noticeably lacking in flare, but I certainly have an appreciation for the work you've put into this.

<comment><AUTHOR> :-) Thanks for that!

</comment></comment></comment></comment><comment><USER16> I just tried connecting via FB and starting a plan - the system seems to hang after I create the plan and won't let me get out of the message to click on the timeline to start. Any thoughts?

<comment><AUTHOR> Try reloading the page. Can you tell me what browser do you use?

<comment><USER16> Ok, it's working now :) I'm using Google Chrome 184.108.40.206 unknown (38071)

I'm curious, once you publish it, why can't you go back and edit it again? (I know of almost no plans that don't get revised during the process)

<comment><AUTHOR> We are trying to build a system with reusable plans - where a plan is essentially a step-by-step instructions plus timing data. So the idea is - somebody creates a good plan - like a recipe, or first 10 weeks of life of a child - and then many people should be able use it. So master plan should remain the same, in our opinion. On the other hand, you can change positions of steps, add/remove reminders and if you are not satisfied with the plan completely, you can duplicate it and create a new one based on existing. We are not trying to create yet another project management tool - it is more of tutorial with timeline, reminders, images, videos and reusability is the main focus for us.</comment></comment></comment></comment>


Facebook asks users for nude photos in project to combat revenge porn - <AUTHOR> https://www.theguardian.com/technology/2017/nov/07/facebook-revenge-porn-nude-photos <comment><USER2> Zuck: Yeah so if you ever need info about anyone at Harvard

Zuck: Just ask.

Zuck: I have over 4,000 emails, pictures, addresses, SNS

[Redacted Friend's Name]: What? How'd you manage that one?

Zuck: People just submitted it.

Zuck: I don't know why.

Zuck: They "trust me"

Zuck: Dumb fucks.

<comment><USER3> Wasn't he like 19 when he said this?

I sure as hell said some edgy stuff like this when I was 19.

<comment><USER4> H̶i̶s̶ ̶a̶c̶t̶i̶o̶n̶s̶ ̶a̶f̶t̶e̶r̶ ̶i̶t̶ ̶l̶e̶a̶k̶e̶d̶ ̶s̶o̶r̶t̶ ̶o̶f̶ ̶i̶n̶d̶i̶c̶a̶t̶e̶ ̶t̶h̶a̶t̶ ̶t̶h̶i̶n̶g̶s̶ ̶h̶a̶v̶e̶n̶'̶t̶ ̶c̶h̶a̶n̶g̶e̶d̶ ̶m̶u̶c̶h̶:̶[https://www.recode.net/2017/1/5/13987714/mark-zuckerberg- fac...](https://www.recode.net/2017/1/5/13987714/mark-zuckerberg-facebook-qa- weekly)

Edit: Ugh. The witchhunt above was unrelated to those IM messages. Apologies for the mis-step.

<comment><USER5> I mean, his worries then are still worries now. Except instead of arbitrary actions from a 19-year old, I face profit focused actions from a giant ad company.

Not sure which is better.

<comment><USER6> I agree, I don't want to sound like a Zuckerberg apologist, but it's simplistic to view the Zuckerberg and Facebook of today as we would a 19-year- old Zuckerberg and his elaborate PHP script.

As a trivial example: In 2005, when Facebook was a non-trivial company, Zuckerberg [0] guest lectured at a Harvard CS50 class. When asked if Facebook would contribute to open-source, he said that he didn't foresee it being worth the trouble (can't find the exact timestamp, so this is all IIRC with a grain of salt). Now of course, open-source is a substantial part of Facebook. Is it because Zuckerberg in the following years had a Road to Damascus experience with Richard Stallman? Maybe, but it's more likely that Facebook evolved into the type of organization where OSS became a benefit to the bottom line, and it was a decision made by people lower than Zuckerberg at that point.

Even if Zuckerberg is still as much a creep as he was in private IM messages as a 19-year-old, he's no longer the sole captain of his tiny boat. Him breaking the law means that many people end up getting in legal trouble, i.e. it doesn't really much matter what he alone thinks is moral when he has dozens of people/potential whistleblowers looking over his shoulder with greater moral concerns.

[0] [https://www.youtube.com/watch?v=xFFs9UgOAlE](https://www.youtube.com/watch?v=xFFs9UgOAlE)

</comment></comment></comment></comment></comment><comment><USER7> Does anyone have a first-hand source detailing this project, and _especially_ its privacy and accountability principles? This is almost surreal to read:

> A community operations analyst will access the image and hash it to prevent > future instances from being uploaded or shared.

How long before the first community operations analyst begins selling the images they access? How long before the first one uses it to blackmail an already terrified victim? And _when_ \-- not if, _when_ \-- one of these things happen, what price will Facebook pay (I mean, with corporate accountability being what it is, we all know what price Facebook will pay, but it would be useful to at least have a fine print...)?

<comment><USER8> There are some relatively easy countermeasures you can put in place to avoid this. Never display identifying information with the images. Never allow analysts to freely lookup images from specific profiles. Make sure the terminals that these analysts work on are blocked from internet access, and have no accessible external drives or USB ports (or run a locked down virtual desktop on a thin client). Maintain a no-camera policy in the workspace, and a policy of always having more than one person on duty in the workspace at the same time.

Considering that we haven't seen any stories of employees abusing backend access to the Facebook servers, it feel reasonably safe to assume that they have countermeasures like these in place.

<comment><USER9> That is a disaster waiting to happen.

<comment><USER8> Not really. This is well-understood problem with well-understood solutions. There is no reason to believe that Facebook doesn't have both the resources and the motivation to get this right.

<comment><USER9> I'm highly skeptical about it. Everyone has motivation to avoid getting hacked or have employees/contractors do bad things, but it happens.

</comment></comment></comment></comment></comment><comment><USER10> Wait, what? I submit my nude pics to FB, so that they can hash it and identify its copies online? That sounds good, but is that the only way of doing this?

Why not use facial recognition + nudity detector to on-demand find potentially compromising videos online? Maybe even send my Facebook notification that says, "Hey we found what appears to be a compromising video with you in it shared to a wide group of people, are you cool with it?"

Am I mis-understanding the concept being proposed?

<comment><USER6> What facial recognition technology do you have in mind that would not face the burden of frequent false positives (nevermind false negatives) and could scale to do this efficiently on an on-demand basis?

Then there's the issue of how your proposed system requires FB to show users the porn that other users are privately viewing.

<comment><USER11> Facebook already uses facial recognition to suggest tags on photos, so I don't think false positives are that much of an issue:

[https://www.facebook.com/help/122175507864081](https://www.facebook.com/help/122175507864081)

You other points are true though, and I guess a lot of these type of photos don't always contain faces.

<comment><USER6> I'm not as heavy of a FB user as I was 5 years ago, but my impression was that false positives were at an acceptable threshold, but not nearly a solved problem. And the face recognition tech was heavily augmented by social data, such as the fact that me and a friend were both partying at the same place on the same night and that we had just 3 days ago posted and tagged photos of each other.

That secondary data does not exist reliably in the context of revenge porn videos that go viral. Nevermind that the penalty of a false positive -- which would presumably involve exposing the user to a bit of random porn -- is substantially higher than it ever is with mistagging friend photos.

</comment></comment></comment></comment><comment><USER12> The goal is good, but I'd never under any circumstances entrust photos I don't want shared with any of the cloud companies. At the very least the fingerprinting should be done on-device?

</comment><comment><USER13> Why not just send the hash?

Anyway, does this mean that I can take down other people's legitimate photos by submitting them to this service?

<comment><USER6> If the system allowed users to send the hash, then yes, it would allow users the power to arbitrarily take down photos. The point of the users having to post these images from their own account is so that a FB employee can confirm that the content breaks FB rules and that the content is associated with the user.

<comment><USER14> In other words: The solution to preventing strangers from looking at your nude photos is to have strangers look at your nude photos? Brilliant!

<comment><USER6> I've only read the posted article so I don't know if "revenge porn" is the primary or originating motivation for this initiative (as opposed to child porn victims, etc).

But my perception is that victims of revenge porn -- the ones who feel the need to make a complaint (and risk drawing publicity to themselves) have had (or perceive) their images disseminated so widely to such psychologically devastating effect [0] that the thought of a FB employee seeing them is among the least of their worries. Probably because FB employees _have_ already seen them if the user has submitted an abuse complaint.

[0] [https://www.theguardian.com/lifeandstyle/2015/feb/06/experie...](https://www.theguardian.com/lifeandstyle/2015/feb/06/experience- i-was-victim-of-revenge-porn)

</comment></comment></comment></comment><comment><USER15> I just love the idea of putting the very things you want nobody to see into the hands of the one company that already knows everything else about you. Better hope you never, ever try to engage in a political campaign that fb doesn't approve of... m(

</comment><comment><USER16> Sounds almost like a joke doesn't it?

I feel like many people won't be super comfortable with Facebook having their nudes on top of everything else.

</comment><comment><USER17> I wonder if they're doing anything to take into account tiny modifications causing a completely different hash, or if they are relying on users not knowing that changing an image would get around a naieve hashing strategy.

<comment><USER18> FTA (emphasis mine):

> The technology was first developed in 2009 by Microsoft, working closely > with Dartmouth and the National Center for Missing and Exploited Children to > clamp down on the same images of sexually abused children being circulated > over and over again on the internet. There was technology that could find > exact matches of images, but abusers could get around this by slightly > altering the files – either by changing their size or adding a small mark.

> PhotoDNA's "hash" matching technology made it possible to identify known > illegal images _even if someone had altered them_. Facebook, Twitter and > Google all use the the same hash database to identify and remove illegal > images.

</comment></comment><comment><USER19> To prevent your nude photos from getting on Facebook, send your nude photos to Facebook.

<comment><USER20>
        with(image):
           post = facebook.post(image)
           if post.is_deleted():
              image.is_blackmail = True
              otherplatform.post(image)

</comment></comment><comment><USER21> Hey Zuck, Are you concerned that your nude photos might be used against you at some point? Please post them here so we can know to take them down if someone ever uses them against you. Gee, I guess that doesn't quite make sense does it?

</comment><comment><USER22> I've got One Weird Trick that Facebook hates, to keep nude pictures of myself off the Internet. You're never going to believe it. Ready for it? It's two easy steps:

1\. Don't make nude pictures of yourself or let someone else make one.

If you manage to screw up step #1, then:

2\. Don't let other people have those nude pictures or upload them to the Internet.

That's it! Can you believe that this has actually worked for me for a good 20+ years so far? I know it seems too good to be true, but trust me it totally works. I should blog about it.

</comment><comment><USER23> Submitting your nude photos to a cloud company, what could go wrong.

</comment><comment><USER24> Facebook? The company that maintains shadow profiles and does not delete anything that its users "delete"? That facebook?!

Every time I think I met the Peak Stupid, Internet proves me wrong.

</comment><comment><USER25> Assuming they are hashing the images or videos and only comparing the hash in practice, why doesn't Facebook implement a client side JS method for the hash generation. Only thing uploaded is the hash.

Use standard ML Algorithms to validate if the image includes nudity and confirm the hash overlap.

Also need to be hesitant since people at FB will be able to see these images (as recently mentioned in another post on HN where some random folk ended up viewing a Google Doc shared via Messenger)

</comment><comment><USER20> This can be framed as the _requirement_ for photos to be nudes in order to be blocked from the platform. I'm assuming that there are checks on uploaded images to see if they are actually nudes before they are added to the dataset of images to be banned. Otherwise I could use the system to prevent any photo at all from being uploaded to Facebook by submitting it to the system. This might actually be a good thing, for me, but not for Facebook.

</comment><comment><USER9> This doesn't really make sense. Isn't machine learning already good enough to detect nude photos? If nude photos are not allowed on Facebook, why do they need hashes of your specific photos? They could identify all nude photos with machine learning and remove all of them.

Or have a checkbox in the profile settings: Do you permit other people to upload nude photos of you? [ ] Yes [x] No

<comment><USER12> It'll be used for private messages, I assume. I guess the rules aren't as strict there.

<comment><USER9> They have facial recognition data though. If the uploading user is not the user in the nude photo, and the user in the nude photo has not checked a box that says "I permit other users to upload nude photos of me" then block the upload and flag for review.

<comment><USER12> It's hard to identify a person when the set of possible values is "every person on the planet" and not "one of these few persons". They could detect if the uploaded looks like one of the uploader's Facebook friends, I suppose, and that would probably be useful.

What would they do if they detect a possible match, though? Ask the person they think is in the photo "is this you, are you ok with John Doe sending this photo to Jane?". That could lead to trouble when the system gives false positives.

</comment></comment></comment></comment><comment><USER26> Couldn't you just take a screenshot of the original pic to get around this? The new image would have a completely different hash. Or just resize it. Or do some color correction. Or a million other ways to alter the picture.

</comment><comment><USER6> As absurd as the idea sounds on its face, it seems well-intentioned with the potential to result in a net positive for victims. The main concern is if FB is to be trusted. But what's the alternative? Is there a way for the user to hash the image in their own machine while allowing FB the ability to discern whether it qualifies as being off-limits for FB content? Without FB verification, the system is likely to become a decentralized and easily-abused version of Youtube's Content-ID.

edit: Downvotes without suggestions or rebuttals? That's disappointing. I didn't say that this system is without flaws (or worse, unintended consequences). If you think the status quo (whatever that status quo is) for the anticipated victims, then let's hear it.

<comment><USER27> My solution is for people to be careful with their nude photos or if they weren't, then face the consequences. Either accept it (nude photos have power over you only as long as you're vulnerable to shame & guilt over them), or go through the established LE process to get them taken down and the offender actually punished.

</comment></comment><comment><USER28> Duplicate of [https://news.ycombinator.com/item?id=15648080](https://news.ycombinator.com/item?id=15648080) and others.

</comment><comment><USER29> Why don't they just compute hash on user's side?

</comment><comment><USER30> Data mining for VR content generation?

</comment><comment><USER31> Got to admire their nerve though

</comment><comment><USER32> What could possibly go wrong?

</comment><comment><USER33> Complicated solution for a simple problem.

Don't let your partners take photos when you are intimate. End of story.

<comment><USER34> And how is this gonna prevent them from taking your photos via hidden camera?

<comment><USER35> At that point they are committing a crime with little grey area for them to hide in, compared to a picture taken with consent.

<comment><USER34> But publishing either is a crime AFAIK. Now it's two crimes.

<comment><USER35> US: Only in some states. A casual search puts it at around 30 states. Most of these laws are new and relatively untested, legally. Not something I'd want to depend upon to protect me.

On the other hand, unauthorized photos taken of you in a place you'd expect privacy is a fairly well explored body of law; basically unless you're a celebrity figure, it's a no-no.

IANAL, of course.</comment></comment></comment></comment></comment>


In defense of being unapologetically fat - <AUTHOR> http://theweek.com/articles/671966/defense-being-unapologetically-fat <comment><USER2> Denial and cognitive dissonance like a mofo... Healthy at 250 pounds, and we're not talking muscles here.... Just ask your GP.... Defies common sense.

</comment><comment><USER3> You could replace every occurrence of "fat" with "smoker" and "obese" with "lung disease" it would still read fine.

As someone who has lost over 60 pounds of weight in less than a year, I find these excuses disgusting.

The time it takes to justify (and write articles) about your health issue could have been spent extending your life and improving its quality.</comment>


Show HN: Murder - <AUTHOR> https://github.com/fraction/murder

<comment><USER2> what about using `pkill -KILL -f meteor` instead?

<comment><USER3> Because you can MURDER it.</comment></comment>


Pinterest Founding Story - <AUTHOR> http://www.businessinsider.com/pinterest-founding-story-2012-4?IR=T

<comment><USER2> Great news business insider. Thumbs Up.</comment>