Relational databases performed a task that didn't need doing (1991) - <AUTHOR> http://home.pipeline.com/~hbaker1/letters/CACM-RelationalDatabases.html <comment><USER3> > Biological systems follow the rule "ontogeny recapitulates phylogeny", which > states that every higher-level organism goes through a developmental history > which mirrors the evolutionary development of the species itself.

I learned that that was incorrect in high school.

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

<comment><USER4> True, but the phrase you quote has a merely rethoric use anyway. The OP wasn't basing any of his argumentation on that broken thesis.

<comment><USER3> No, but it still takes something away from the whole when you know it's flat out wrong. It's like starting out "Since the earth is flat, we believe files should be too".

<comment><USER4> That's a bad illustration, since the false fact is used in the argumentation.

I find bad spelling a better analogy. If the OP's spelling and grammar were insufferable, it would have "taken something away from the whole" and still not be worth commenting on.

That said, no big deal. I only felt compelled to reply to your comment because I found it strange that it was the highest ranked.

</comment></comment></comment></comment><comment><USER5> Every organization I've ever worked at has huge data quality issues. Also, a company's data is one of its most valuable assets, providing financial reporting, forecasting, market analysis, and transactional functions.

The question I pose, then, is the data available within corporations today of a higher consistency and quality than it would be if all organizations used only key-value stores or a document stores or CSV files?

I'm going to venture to say despite the generally abysmal quality of data in large organizations today, it'd be much worse without the tools made available through RDBMS's.

<comment><USER6> I'm not so sure. It seems that the shoehorning that is done to get data into the tables cause some problems. I am not sure if it is inherent in the model or just a function of the standard two team arrangement (dev & DBA). The rigid implementation requirements and mismatch with the languages developer use seems to be a problem.

<comment><USER7> The two team arrangement has caused me no end of problems over the past 10 years of my life, beyond shoehorning. The separation of the database team from the development team introduces communication problems, priority mismatches, and fixes done on one side or the other that should have been made on the other side. If you are reading this and you have separate database and development teams, merge them now, or at the least, put control of the schema in the hands of the development team.

</comment></comment></comment><comment><USER8> People probably don't realize who Henry Baker is.

[http://en.wikipedia.org/wiki/Henry_Baker_(computer_scientist...](http://en.wikipedia.org/wiki/Henry_Baker_\(computer_scientist\))

Yes, he's trolling here a bit, but he's brilliant (if quirky).

(Disclaimer: I knew him when I worked at MIT lo these many decades ago.)

</comment><comment><USER9> I think this would be more appropriately titled, "I think RDBMS has set the industry back by 10 years".

Some of the more interesting tidbits:

       I can categorically state that relational databases
       set the commercial data processing industry back at
       least ten years and wasted many of the billions of
       dollars

       --

       Virtually all commercial applications in the 1960's
       were based on files of fixed-length records of
       multiple fields, which were selected and merged.
       Codd's relational theory dressed up these concepts
       with the trappings of mathematics (wow, we lowly
       Cobol programmers are now mathematicians!) by
       calling files relations, records rows, fields
       domains, and merges joins.

I would love to hear HN's thoughts on this.

<comment><USER10> SQL being notoriously poor at hierarchal data has been known for quite a while; he's obviously very correct there. Oracle goes so far as to offer a non-standard CONNECT statement for tree traversal. And there's not a whole lot of sophistication to relational theory on the ground level. Optimizing it is hard, but that's always been the case.

To a large degree we have designed things so that the data we try to store is as relational as possible, never mind the domain implications--then, the mismatch is covered up. A shopping cart is a perfect stupid problem easily solved by relational databases, until you start introducing the real world; special discounts, group packages, "buy these items and pay less $$ than you would getting them individually" is usually done through gross hackery, etc.

<comment><USER11> A databases job is to handle _Data_ and a relational database can do that just fine. When you want to handle really complex relationships you need to write code because the rules are not abstract. You can create a horribly complex view / stored procedure and pretend it's the databases job, or you accept that some rules are stored on the database but not implemented using the database. Edit: None of the "database alternatives" help you solve the checkout problem.

PS: It's like complaining that HS level Calculus does not let you solve a complex differential equation. Useful abstractions always have their limits because they are abstractions.

<comment><USER10> Data is not simple rows. Data is complex, human generated stuff that has both implicit and explicit structure and it does not collapse down well to any single abstraction, not even object graphs. Fine, so we have to pick some abstraction. That doesn't mean the abstraction we pick is necessarily appropriate. Memory is an abstraction; we could just dump all of memory out to a file and call that a database (and folks used to, and still do sometimes). It has issues for persistent databases, like brittleness and pointer swizzling, so we adopt a more high level one.

The relational view of data is a higher level abstraction _but that doesn't mean it's an especially useful one_. Hierarchy is something that comes up constantly in the real world and that is something very awkward to represent in a relational database. You can try to use Codd's adjacency list, but reassembling the links is costly and drilling down a hierarchy requires a database query at every level. If you don't believe me, here's a use case: I want everything there is about a sub-part of a Bill of Materials with one query and without having to grope through the entire index. There's a reason why Oracle implemented CONNECT BY, which is abjectly non-relational.

Also the sheer amount of research and work that goes into making even a simplistic relational database responsive is enormous; when Baker wrote this it was not uncommon to lose two orders of magnitude throughput by going to a relational database from a custom written one, and if you were very lucky be able to claw back another order of magnitude by indexes. People today are complaining greatly about the inefficiencies of using row-structured data when you're usually interested in the columns. Even today the way to get maximum throughput from a database is to denormalize and in doing so virtually set the schema in stone.

A 1960s era heirarchial database could traverse a heirarchy as fast as the computer could request data from memory. The models were brittle and didn't always represent the real world well, but you could run an entire country's airlines in the amount of computing power your watch has now. The banks today rely on IBM's IMS, which is hierarchial.

<comment><USER11> As I said "Useful abstractions always have their limits" you can represent any tree using the relational model. The basic problem is recursive data structures need a higher level of abstraction. Consider the following situation:

      Bob is managed by Ted
      Ted is managed by Bob

If that situation is allowed then all recursive queries need to deal with it. On the other hand if it is NOT allowed then every commit needs to deal with it. However, while the relational model does not understand those issues just like it does not understand HTML it still stores the data just fine. Generally it's a fairly moot point because it's a program talking to the database and not a person, so that program can provide that level of abstraction just fine, granted it's less efficient than a model that understood the abstraction.

As to speed, Relational Databases are the x86 chips of the Database world. There are plenty of custom system that are faster doing specific things, but they sacrifice speed for adaptability and backwards comparability. For example: A core 2 chip's instruction decoder and an SQL databases query optimizer do basically the same thing. With a custom solution you can just skip that step and directly say what to do, but the abstraction is normally worth it so you can upgrade the hardware for years without changing the program.

So the relational model makes the basic assumption that speed is not the primary concern or you would be writing at a more basic level, yet people want more speed so there are plenty of real world hacks to help things along like CONNECT BY and _stored procedures_ , and all those new x86 instructions. So, 99.9% of the time in the real world an of the shelf database running on an x86 chip is plenty fast if used correctly and it's also fairly cheap compared to the total costs of the other solutions.

</comment></comment></comment></comment></comment><comment><USER12> Seemingly the same Henry Baker who wrote all those papers on garbage collection.

<http://home.pipeline.com/~hbaker1/>

<http://www.bakercapital.com/team_baker_g.html>

Also, <http://c2.com/cgi/wiki?ResponseToBakersAntiRelationalPaper>

(all via <http://c2.com/cgi/wiki?HenryBaker>)

<comment><USER13> Henry Baker = Hans Boehm + Zed Shaw.

<comment><USER14> Oh SNAP

</comment></comment></comment><comment><USER15> People act like non-relational data storage is some kind of new idea, but it's not. Even if you discount flat files, there's still BerkelyDB (early 90's) and the things it was meant to improve on (earlier). Why, then, are relational databases popular?

I find it hard to believe the author's claim that it's because people wanted to claim they were doing fancy math with their data storage, over all other considerations. If this were the case, Lisp would have been the programming _lingua franca_ through the 70s and 80s, not C. Lisp is obviously closer to its mathematical roots.

Maybe it's because relational databases got the nice consistency features first; Interbase certainly predates BerkeleyDB. I'm more inclined to think it's a combination of two factors: First, the database can do much of the heavy lifting for you. This is nice to application programmers who are stuck with the likes of C, FORTRAN, COBOL, and Pascal; it's less interesting with functional abstractions available.

Second, you get the SQL prompt. It's a dangerous tool, and should almost never be used for updates, but it's _really nice_ to be able to answer unanticipated questions by simply writing up a query. Think of what the Django admin buys you; this is like a miniature version of that.

<comment><AUTHOR> His point is not that "people wanted to claim they were doing fancy math with their data storage, over all other considerations" -- but that they wanted to reify their extant degenerate patterns as _theory_.

<comment><USER15> You're right, that does make more sense. It would still seem that Lisp would have been more prominent if the ability to claim good _theory_ (regardless of what you're actually doing) was a primary consideration. The average rank-and- file programmer (or manager) today just doesn't care about theory.

<comment><USER16> Agreed. Most development organizations, especially those in large enterprises, the primary users of RDBMS technology when this article was written, are more concerned with coming up with the correct solution at the fastest clip. As far as they're concerned, theory be damned. Relations provide a simple, easy-to- understand data modeling concept and the query language is relatively quick to pick up for most developers. RDBMS are like the Java of data containers. You'll never get fired for going with an RDBMS.

</comment></comment></comment></comment><comment><USER17> I think this is a very poignant essay given the place in history we are at. In 1991 this essay looked like sour grapes over forgotten history, but I'm more interested in what lessons we can learn from previous system. It's interesting to hear about a time before SQL and relational systems, and how early developers dealt with persistence problems. The historical account on the controversy of relational technology rings true today given we are struggling with it as well.

I heard someone say that when the industry was moving away from big iron to mini-computers and PCs the programs they wrote were considered worthless because they couldn't reuse them on the next platform. It was the data that was the jewel. Relational technology embraced separating data from the program to enable reusing data within another program or different hardware. Prior to that data and program were tied together. They were fixed and non-portable. Relational technology came to occupy separation of data and program to facilitate data portability.

What's changed is the way in which we write programs. We aren't tied to machine architecture like we once were. We use python, ruby or Java which is portable among many platforms. What was once trash is now treasure because we aren't constrained to one architecture.

Does that mean let's go back to flat files? No. I think it's combination of the two. The features like data separation is important. Network access to data is important. Query languages are important. Hierarchical has always been important, but we've probably down played how important. Scalability and speed are ever more important.

What's not as important anymore is relational. Those other features can be separated.

</comment><comment><USER18> "With the recent arrival of object-oriented databases, the industry may finally achieve some of the promises which were made 20 years ago about the capabilities of computers to automate and improve organizations."

um... wow... this 1 sentence discredits the entire email. Object Oriented Databases were a HUGE failure. I can't be sure but PostgreSQL might be the only surviving one, and it survived because it went relational. just my 2 cents.

<comment><USER19> No it doesn't.. ok, early 90s, people thought object oriented everything was the way forward.

But his main point, that blasting through a flat file without a ton of row- locking and transactional overhead could satisfy a number of needs better than the actual DBMS, is still true.

If you need to be transactional, on the other hand, that's a different story.

</comment></comment><comment><USER20> This:

> Biological systems follow the rule "ontogeny recapitulates phylogeny", which > states that every higher-level organism goes through a developmental history > which mirrors the evolutionary development of the species itself.

Is not true. And it had been known to not be true since 1922, and possibly even 1890.

<comment><USER21> It was brought up as possibly-true in my 1980s high school, so I guess it was probably something he learned in high school or college in the 1950s or 1960s and never unlearned. People forget that so much more of what we thought we knew before google, wikipedia, and snopes was wrong. You have to work harder to be wrong on stuff like that, nowadays, since it's so easy to look up. In 1991, you had to go to or have a decent library to find out that that was well-known to be wrong, so a non-specialist might never question what they learned in long-ago school. Now, it's so easy to look up minor details as you write an essay that it seems willful if someone doesn't, but if you apply that standard to twentieth century essays, you'll come away with a view of the writers that's often unwarranted...

Next up: spellcheck. ;)

</comment></comment><comment><USER22> The task they did do, that needed doing, was causing a shift in thinking that was tantamount to the shift you undergo when you learn Prolog, having only been exposed to Assembler.

By abstracting away the storage model, you can reuse the same database calls in the browser (SQLite), on one machine (MySQL/Postgres), or on a cluster, and you're free to think about more business-specific logic.

</comment><comment><USER23> _I had great difficulty in controlling my mirth while I read the self- congratulatory article "Database Systems: Achievements and Opportunities" in the October, 1991, issue of the Communications,..._

I had little difficult in controlling my mirth when I realized that in 18 years, some things haven't changed. Linkbait, drama, and trolling all still look the same.

 _As a designer of commercial manufacturing applications on IBM mainframes in the late 1960's and early 1970's..._

If you're going to wave your resume, make sure it's "wavable". If I had had a hand as a designer of commercial manufacturing applications on IBM mainframes in the late 1960's and early 1970's, I sure wouldn't brag about it. They were an excellent example of what _not_ to do: so expensive, so difficult to deploy and use, and so ineffective, that the whole world rushed out to write better apps on mini-computers, and eventually, PCs. Ironically, the one thing they _did_ do well was their relational database storage systems. If you owned a multi-million dollar AMAPS installation in 1978, the COBOL apps were soon worthless. The only thing salvageable was the TOTAL DBMS.

 _I can categorically state that relational databases set the commercial data processing industry back at least ten years and wasted many of the billions of dollars that were spent on data processing._

This conclusion is based upon what data? Maybe in 1991, you could bullshit the ACM without supporting data, but 2009 readers demand citings. Wikis & google have exposed the posers.

 _Unfortunately, relational databases performed a task that didn't need doing; e.g., these databases were orders of magnitude slower than the "flat files" they replaced,_

Again, based upon what data? From what planet? Just because someone overnormalized a commercial database doesn't make it the fault of the underlying technology. That would be like saying, "That webpage sucks, therefore HTML sucks."

 _Why were relational databases such a Procrustean bed? Because organizations, budgets, products, etc., are hierarchical..._

Organizations, budgets, products, etc. are data sources and sinks and can be structured any number of ways, including hierarchical. But the lifeblood of any business is its order flow and business processes which are almost always ideally suited to be relational; they're "linked" to almost everything else. Not everything has to be in 4th normal form, but flat files and hirerarchical data bases are almost always a poor stepchild to RDBMS for business flow.

 _These databases could also respond quickly to "real-time" requests for information, because the data was readily accessible through pointers and hash tables--without performing "joins"._

I guess it's not really fair to "debate" with an OP from a generation ago. Even with Moore's Law, he would have had a hard time wrapping his head around where the real bottlenecks would be today. But one thing really hasn't changed that much: throughput has rarely been on the critical path. Why sacrifice data integrity, adherance to business rules, and effective delivery of user needs for a few microseconds? I remember routinely witnessing subsecond intercontinental response time on massive relational database installations as early as 1981. Why didn't OP?

Oh, and RDBMS with pointers and hash tables have been around since 1965:

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

and now also support object oriented technology:

<http://en.wikipedia.org/wiki/InterSystems_Cach%C3%A9>

 _I shudder to think about the large number of man-years that were devoted during the 1970's and 1980's to "optimizing" relational databases to the point where they could remotely compete in the marketplace._

I shudder to think about the large number of man-years lost by PHBs who read drivel like this and waste the time of people who do real work with initiatives derived from these drama-based conclusions.

 _Database research has produced a number of good results, but the relational database is not one of them._

From someone who has built a career rescuing so many manufacturers and distributors from flat file systems with relational database technology to whoever posted this: thanks for the laugh. I really needed it on a tough Monday.

<comment><USER24> _Arguably not a single statement_ that you have made in your overly hasty post is true. To address a few:

Henry Baker is no troll. His letter was written to the ACM in 1991. Baker was an established and respected computer scientist and iconoclast. To treat the letter as if it were written yesterday is foolish and disrespectful, In any case, had Baker's remarks been misguided or irrelevant then the ACM would not have published them.

Baker was always in demand. No need to compare resumes: you likely would not rank well against him,

"Flat files" were used often for batch processing. For sequential processing and merging/splitting/sorting of data they are usually faster than RDBMS. During that processing, temporary files might be created that are indexed, hashed, or sequential.

Today network-style databases remain faster by at least an order of magnitude (and sometimes two) than relational databases. Ask any knowledgeable mainframer about the relative speeds of their network-style vs relational databases. The same holds for smaller computers too.

Baker would have no problem "wrapping his head around" almost any problem. An archive of some of his research papers:

<http://home.pipeline.com/~hbaker1/>

You saw "subsecond intercontinental response time on massive relational database installations as early as 1981", when IIRC the only relational databases available was Oracle and possibly Ingres. My memories are that Oracle's early versions were performance dogs by any standard. But perhaps you can refresh our memories by citing performance statistics and showing us benchmarks.

PICK was not a relational database.

TOTAL was not a relational database.

Your remarks remind me of how so often when an excellent programmer leaves a shop, the remaining developers diss his work and argue for rewriting all of his (excellent working) code.

But to miss on almost every statement? Oh, my!

<comment><USER25> What bugs me is that even though Baker states in the comment that he proved a particular deficiency in the relational algebra(the expression of transitive closures), the assertions he uses to lead into this seem extremely vague:

 _they(relational databases) made trivial problems obviously trivial, but did nothing to solve the really hard data processing problems..._

 _organizations, budgets, products, etc., are hierarchical; hierarchies require transitive closures for their "explosions"..._

He never describes concretely what an "explosion" is in a real situation - <USER2> in the comment, at least. I'll give the benefit of the doubt that perhaps he brings it up in some paper.

But my understanding is that the relational algebra is useful primarily because of its linguistic properties - instead of every problem needing a customized data model and customized graph-traversal solution, it describes how to use a generic query syntax and joins everywhere.

While this limits the theoretical power of the system and introduces order-of- magnitude slowdowns, it still solves a major subset of business problems, and it does it with a more compact description than the equivalent graph solution. And that, in turn, means that the theoretical limitations aren't necessarily going to matter for shipping and maintaining a solution, especially when working with a short-term view and small scale.

Essentially, he banks on his credentials to turn an "academic" oriented statement into a "industry" one. But from the 70s onward he was writing papers on garbage collection, concurrency and PL theory, not going out and building systems in the industry.

So my view is that he's being overly biased towards theoretical purity above practicality, a tendency that has led many an academic astray.

(This is not a slam to academics and their pursuit of purity, though. It's a great way to advance the computing arts, and complements well the messy practicality of hackers.)

<comment><USER17> > So my view is that he's being overly biased towards theoretical purity above > practicality, a tendency that has led many an academic astray.

Not so fast. He contrasts working systems in practice compared to the pure relational technology. He is directly saying relational technology was one of purity backed up by mathematics to make it seem more rigorous and battle tested. Where we have a perfectly practical solution that works well and performs better. I don't see his academic purity leading him away from practicality at all.

I think his academic resume is making you think he must be all about purity, but in fact he's being very practical.

</comment></comment></comment></comment><comment><USER24> I wonder if relational databases would not be as popular had easy-to-use transactional filesystems been commonly available at an earlier time.

To gain transactional integrity (ACID properties) in that day, one had to either purchase a database management system (usually hierarchical or network) and work within that system or be a heckuva programmer and write it oneself.

Had transactional filesystems been commonly available, then file processing with those filesystems would have been akin to working with a relational database management system (RDBMS).

But that leaves referential integrity (RI) as a programmer task. Unfortunately most sites I've worked at do not seem to believe that RI should be strictly enforced. So maybe it wouldn't make much difference.

</comment><comment><USER26> Seems to me, messing with immense flat files is going to be faster iff you have a Computer Scientist of an equal caliber to the ones who wrote <insert professional SQL DB here> to optimize your indexing and storage formats and disk access patterns and whatnot. That is, at the very least, going to be expensive.

It may just be simpler to just throw Oracle/Hadoop and hardware at the problem.

</comment><comment><USER27> What?

</comment><comment><USER28> > With the recent arrival of object-oriented databases, the industry may > finally achieve some of the promises which were made 20 years ago about the > capabilities of computers to automate and improve organizations.

Oh No! i thought NoSQL/Key-value databases are the future</comment>


The Power of Dopey Ideas - <AUTHOR> https://techreflect.net/2020/07/15/the-power-of-dopey-ideas/ <comment><USER2> There might be a better cache to use for this, but this is the one I found: [https://webcache.googleusercontent.com/search?q=cache:uuPVb9...](https://webcache.googleusercontent.com/search?q=cache:uuPVb9TzOyMJ:https://techreflect.net/2020/07/15/the- power-of-dopey-ideas/+&cd=1&hl=en&ct=clnk&gl=us=)</comment>


Microsoft's "single Windows ecosystem" makes more sense than you think - <AUTHOR> http://www.itworld.com/windows/183745/microsofts-mysterious-single-windows-ecosystem-makes-more-sense-you-think

<comment><USER2> Ridiculous. This is more "if only Ballmer would..." wishful thinking. It also doesn't inform us why a "single Windows ecosystem" makes any sense for anyone other than the accountants and marketeers at Microsoft itself. Oh, and lame managers, who want to be wined and dined in order to make a "solution selection".</comment>


After Carping About NBC's Olympics Coverage, Journalist Suspended from Twitter - <AUTHOR> http://betabeat.com/2012/07/after-incessant-carping-about-nbcs-olympics-coverage-journalist-is-suspended-from-twitter/ <comment><USER2> Toppling governments in north africa/persian gulf - OK. Lambasting major US corporation for their ineptitude - NOT OK.

<comment><USER3> According to whom?

<comment><USER4> According to twitter

<comment><USER5> Actually, it's twitter is giving government the power to refuse tweets that topple government as of this year[0]. Google followed suit shortly.

[0] Twitter to selectively 'censor' tweets by country. <http://www.bbc.co.uk/news/world-us-canada-16753729>

</comment></comment></comment></comment><comment><USER6> Technically he was suspended from Twitter for tweeting the email address of NBC exec Gary Zenkel.

<comment><USER7> ...which is now available in the text of the Reuters story which unquestionably has a larger audience than the original tweet.

[http://www.reuters.com/article/2012/07/30/us-twitter-nbc- jou...](http://www.reuters.com/article/2012/07/30/us-twitter-nbc-journalist- idUSBRE86T19720120730)

<comment><USER8> Guess double standards are still alive. Wonder how google+ and facebook handle this.

</comment></comment></comment><comment><USER9> It is sad to see twitter becoming yet another ad bloated cyclopean monstrosity desperately trying to fleece it's users before they flee for greener pastures.

I've been quite fond of it over the years, but if it starts engaging in vindictive censorship; then it becomes a poisoned well and can no longer be trusted.

</comment><comment><USER10> This appears to be true. If it is, coupled with all of the other crazy Olympics Twitter snafus, Twitter is pretty much dead to me. I only use it to follow the ~20-30 obscure Internet celebrities that I care about, and for that it was useful, but it's not worth associating with such a scatterbrained company.

<comment><USER11> I don't get Twitter, never have.

For every "social media is changing our world" moment that pops up every few months there are 12,460,000,000 worthless tweets clogging up the other 89 days.

It seems to me that the primary use of the service is to provide an IV drip of useless information for update addicted. The "great" moments are purely incidental.

<comment><USER12> Isn't that life, though? Truly great moments in life are few and far between, but we live through the dull moments in order to see the great moments. Yeah twitter is mostly useless, but the times when it's not useless outshine the times when it is useless.

<comment><USER3> What is really the use? I don't have an interest in killing time with it, so if there is a real use maybe I can take advantage of that in a more focused way without continuously sampling from an endless stream of drivel.

<comment><USER12> I use twitter heavily in the info sec world, mainly to keep abreast of new developments. There are always new hacks and exploits coming out, and they get posted on twitter first.

The trick is to follow your interests. If you don't care about world news, NASCAR, or celebrities, don't follow them.

</comment></comment></comment></comment></comment><comment><USER13> Sad to see Twitter becoming one of these companies who easily bow to corporate/government intimidation. Always thought Twitter was one of the good guys. Very disappointing but fortunately this is becoming a "story". Let's see what kind of damage control they are trying to pull off.

</comment><comment><USER8> Nice to see google+ has a more fair policy and are less suseptable to bullying via shrinking TV companies.

[https://plus.google.com/u/0/?tab=wX#110741260330832413403/po...](https://plus.google.com/u/0/?tab=wX#110741260330832413403/posts)

\-- No email address's were hurt during this post.

</comment><comment><USER14> "How are the first social media games going?"

Wait, what? Social media didn't exist in 2008?

<comment> k-mcgrady In 2008 Twitter still wasn't widely used by the general public. It only had 6 million users.

<comment><USER8> Very true and it is sad to see a TV company using bullying as its approach to social media.</comment></comment></comment>


The Rise and Fall of Quirky: The Startup That Bet on the Genius of Regular Folk - <AUTHOR> http://nymag.com/daily/intelligencer/2015/09/they-were-quirky.html# <comment><USER2> If the customer service experience was anything like what it was pre-pivot, I'm not surprised they failed.

When they were going out of business/pivoting, I ordered a bunch of their inventory at a large discount. One week after the "expected arrival date" (and 14 days after my order), surprised that my order hadn't arrived, I emailed them asking for a tracking number. They told me that it was waiting for the carrier to pick up the order and that I would get a tracking number that day. Every two days, repeat the same thing. Promises, no tracking number. Finally, 5 weeks after the order was completed, I received a tracking number.

Terrible experience, for what amounted to a bunch of (fun) junk.

<comment><USER3> Less than a year ago, Quirky announced a "hackathon" where people could come to their office and hack on their products. We had to sign an NDA before attending. I went, as did several dozen others - most of the attendees being programmers.

We arrived, in the midst of a massive downpour of rain, and had to stand in their hallway for about 15 minutes. Then they told us that the hackathon had been cancelled, but they would try to throw together a little presentation for us.

So what I know of Quirky is this - they announce a hackathon so programmers can try their products, then cancel it that day. They take this person's money for some merchandise, then ship it out weeks after it is expected. Now we learn, without much surprise, that the company is failing.

This goes along with another point which I've come to believe from my experiences over the years - that a company that just does its job is already ahead of a significant number of its competitors. Just do what you say you'll do - and you're already way ahead. If you announce a hackathon so programmers can try your products - don't cancel it the same day. If you take someone's money to ship merchandise out - don't ship it five weeks after they expect it.

I called a medium-sized server colocation facility in New York in 1998, because our company was interested in hosting a cage with server racks there. I called the sales team and did not get a call back that day, nor the next day, nor the next day. I also called a number of other colocation facilities, all of which got back to me, and one of which we chose and gave however many thousands or tens of thousands of dollars a month to. About a month after I made the initial call, and a few days after we had made our selection and were closing a deal with one of their competitors, the unreachable colo company calls me back up finally. I told them we had already selected a competitor and they hung up. Then a few months later they called back and asked if we needed colo space. I said we already had our machines elsewhere and were happy with their competitor. Then they called again a few months later, really laying on the thick sales talk and pot sweeteners.

Just call me back in the first place! If they had called me back the next day, or the next week, we very may well have given them the contract for tens of thousands. If you get a hot lead (we called them), because we want to sign a contract giving your company tens of thousands of dollars a month - just call us back! By the next day, or at least within a few days. Amazingly, some companies don't do this. Not surprisingly, the company which did this went bankrupt in early 2002.

</comment></comment><comment><USER4> Worked at a major retailer. Quirky would bring their products through to show us and the universal reaction was:

1\. WTF?

2\. The MSRP is what?!?

I mean, an $80 egg minder tray that talks to my cell phone?

<comment><USER5> I agree. Just out of curiosity ,at what price the egg minder will sell well (if possible) ?

<comment><USER6> Whatever you see on the store shelves 60% goes to the store, 40% goes to the manufacturer as a starting point; you can of course negotiate, but just assume this. You could back track from the egg minder being $80 and people who are shocked to find this out when they need a certain cost to cover costs, estimate that it was $32 originally to make a profit; still not going to work.

The key concept is to look in stores to find what product category you fit into. Are you selling a timer, what does another timer look like and cost, that's your target. If there is not a comparable item, then look to see what item has a similar finish, does it look like an Apple Watch or a $5 egg timer. Egg timer is $5 at Wal-Mart, start poking around that price.

</comment></comment></comment><comment><USER7> > The Startup That Bet on the Genius of Regular Folk

Well there's your problem!

<comment><USER8> exactly! Guess they weren't George Carlin fans

</comment></comment><comment><USER9> Quirky was also the startup that tried to sue somebody over a rehash of a 100-year old patent:

[https://blog.adafruit.com/2015/06/14/quirky-sues-oxo-for- pat...](https://blog.adafruit.com/2015/06/14/quirky-sues-oxo-for-patent- infringement-case-settled-quirky-vs-oxo-invalidating-patents-from- crowdsourcing-ideas-posting-videos/)

</comment><comment><USER10> I looked at a couple of the referenced products, the air conditioner and the wireless speakers, and they reminded me of the same kind of stuff that the airplane shopping catalog sells.

<comment><USER11> Friend, you just described most of the Internet of Things.

<comment><USER12> This theme appears in a recent New York Times article: www.nytimes.com/2015/09/06/opinion/sunday/allison-arieff-the-internet-of-way- too-many-things

</comment></comment></comment><comment><USER13> This is kind of sad for me to read. I realized it was always a long shot but it is certainly appealing to encourage the creativity to flow. Given that their failure was that they green lighted too many products that never went anywhere, I'm wondering if there is a way to fix that aspect of the problem? Sort of an MVP version of a product before full production.

<comment><USER14> I think the problem is a bit more complex than that. Anyone with an idea that actually has real market potential is probably going to want more than 10% of the profit. And with Kickstarter/Indiegogo generating millions of dollars in idea funding, it's a lot easier these days to build a product yourself. In order for this kind of platform to work financially, you would probably have to alter the model so that 1) inventors can get out of it as much as they put in, 2) it only promotes products that can actually make it in the market at a realistic price, and 3) it doesn't depend on a black box of expensive engineers and product people.

Something more like a rapid fab company to prototype possible products and vet them with the community, probably integrated with a crowd interest platform like Kickstarter.

</comment></comment><comment><USER10> If somebody wants to make money, consider my problem: under my desk is a rat's nest of wires of every sort, hooking all the crap together.

I'd like my workstation to look like the advertisement photos, where there's no wire in sight.

I cleared a bit of it up by switching to a wireless keyboard and mouse. But there's a long way to go. How about a wireless connection for my monitor? (I know the bandwidth is an issue for the video, but there's an audio cable, too.) How about a wireless USB connection?

<comment><USER15> The answer isn't to make everything wireless. It's to go to Home Depot, buy a dollar's worth of cable ties, bend over, and clean it up.

Funny enough, this is a stark lesson for why Quirky failed. They made exactly the sort of thing you asked for and nobody wanted it.

<comment><USER10> Zip ties still wind up with wires running across my desk, and they have the unfortunate side effect of nailing everything in place with railroad spikes.

I have a similar problem with my stereo. Once you've got all those random pieces of equipment hooked up (Roku, Blu-ray, cable box, VCR, turntable, iPod, preamp) you've got a snarl of epic proportions.

Heck, just the turntable needs 4 cables. It's madness.

<comment><AUTHOR> Most people use velcro instead of zip ties nowadays, you can some for sale right next to all the A/V wires</comment></comment></comment></comment>


Help Make the Hacker Dojo Habitable - <AUTHOR> http://pledgie.com/campaigns/10602

<comment><USER2> I had been considering joining, but I had no idea there was inadequate AC, which is a dealbreaker until September at the earliest.

Surely there are some more hardware-oriented hackers who could help out with getting the best deal on the equipment and, perhaps, some clever efficiency hack.

Could some of the labor be donated, as well? Putting up insulation, for example, doesn't require much skill, beyond safety precautions.

<comment><USER3> The AC isn't bad, especially upstairs. It's free to drop by, so you can try before you join.</comment></comment>


I find this startup rather disturbing... - <AUTHOR> http://www.spokeo.com/hr <comment><USER2> The argument against this startup is the same argument that was made when Facebook introduced the news feed; namely, that there is a difference in terms of the privacy of merely having publicly available data and aggregating that very data. The argument has to be, the very aggregation of data is an invasion of privacy; the added simplicity is an aide to stalking and illegal/immoral in itself.

This is sort of the 'see-through window' argument - If you live in a sky- scraper and you have sex in front of a window, and somebody takes a photo, is that invasion of privacy? The 'information' was technically already out there, and the photographer merely aggregated it (lets say he also found out who lived in the apartment through information publicly available) and posted it online.

Can aggregation in itself be an act of intrusion? I don't know, but its one hell of an argument to have.

<comment><USER3> With Facebook news feed the data is limited by the fact that you have privacy settings and can limit the information you provide to a certain set of people which you choose.

<comment><USER2> Yes, precisely. This is how Facebook moved to address the initial news feed/mini feed issues.

The current start-up is likely to be under similar constraints; unless they're everybody's friend, only publicly accessible information should become available in the first place. And yet it still feels uncomfortable that the aggregation (basically a social-network google-ing of you) is so easy.

</comment></comment></comment><comment><USER4> With tools like this I'll probably remain unemployable indefinitely as anyone with a subscription will find my quaint short stories. Written at a time of youthful tribulation they read like PKD with a sadistic streak.

Or I could just get a new email, but then I'd have no audience and possibly miss out on some interesting conversation.

'So, the main character gags on a dildo laced with LSD?'

'Yes, sir, it's suppose to symbolize the rape and indoctrination of the indigenous people of the amazon'

<comment><USER5> You do know that it's OK to have more than one email address, I suppose. But then, remaining unemployable probably has its upside too ;-).

<comment><USER6> Everyone should learn at an early age that they need at least two addresses; one for personal asshattery (firstname.lastname@example.com) and one for professional or semiprofessional correspondence (email@example.com). Only use the professional one for your professional correspondence (sending resumes) or signing up for mailing lists / whatever where you are going to be on your best behavior (an open source project's mailing list). Use leethaxor for whatever the hell you want.

On a similar note, use 'leethaxor' when posting your personal opinion in a comment / on a forum... if you make a comment / post in your real name, assume it will show up on the first page when someone googles your name (this actually happens a lot).

Preventing the need for your personal data to be removed is the best way of ensuring your privacy, rather than wishing you had never written that Harry Potter slash fanfic eight years ago under your real name.

<comment><USER7> Yup, I figured this out around 1995, when getting my first hotmail account. Keeping your normal online persona psuedonymous means never having to say "I'm sorry." Of course, it's still sorta easy to leak personally identifying information, but at least it'll take some more sophisticated data mining to connect those dots; something like what this one hosted java connection-finder whose name I can't remember does.

</comment></comment></comment></comment><comment><USER8> Finding all the places you've used your e-mail address that you forgot about: $15

Deleting your profiles from these places: Priceless

<comment><USER9> Try deleting your Facebook profile my friend, just try.

<comment><USER10> Send a message to all your friends and Facebook will do it for you.

<comment><USER11> That made me laugh, but I don't think Facebook ever deletes anything. Ever. They just "disable" stuff.

<comment><USER12> No-one ever deletes things. When you "delete" your account, for example, they aren't going to invalidate their last set of backups. They aren't also going to anonymize all the comments/messages you sent that now reside in other people's profiles. Any information you give to any social networking site belongs only partially to you, partially to them, and partially to the members of your network with whom you have interacted.

</comment></comment></comment></comment></comment><comment><USER13> No more disturbing than Google really. Today's reality is that if you put information on the internet that can be tied to your name, email, address, phone number, etc, then that information can be found and used for or against you. Improvements in search will make finding this information easier and easier.

<comment><USER14> and crucially, in a way that is currently of little but growing significance, such information _will never go away or shrink_.

<comment><USER15> In a way it can shrink. It can shrink by getting diluted or poisoned with crap data.

</comment></comment></comment><comment><USER2> It tracks you by your email. Well, that was simple.

Get a professional vs personal email, if you don't have both already, and manage them both using Gmail ([http://look.fo/how-to-manage-multiple-email- accounts-from-gm...](http://look.fo/how-to-manage-multiple-email-accounts- from-gmail)).

Potentially, buy a .com/.me for yourself, and use firstname.lastname@example.com for your professional email.

</comment><comment><USER16> If you have a first-class degree from a top institution, that's called "so what?".

Spokeo fits in nicely I think, to answer the so what and offer a more rounded view on prospective candidates.

It reduces asymetry of information and reduces the risk of adverse selection by employers. In my opinion, having a good qualification is not enough of a signal to being a good employee. It therefore provides essential information that should ultimately benefit both parties.

That said, I don't think there's any substitute for a good face-to-face interpersonal interaction to determine a person's character or suitability for a role.

<comment><USER17> _".... People search is "the new black" ..."_

The data already exists so compiling it is a routine exercise. I wonder how this kind of service could be fooled or played or worse misattributed?

 _"... Spokeo fits in nicely I think, to answer the so what and offer a more rounded view on prospective candidates. ... It reduces asymetry (sic) of information and reduces the risk of adverse selection by employers ..."_

It would do nothing to reduce risk. In fact I'd go further to say that organisations that hire on unverified information are open to risk of future legal action. This is information gathering at its worst. How does more information of dubious quality on a candidate rule them out distinguishing themselves at a given task? I would propose a counter application to the likes of Spokeo - a registry of potential employers. Free along the line of Craigslist. Someone looking for a job can view lists of companies by sectors and geography, rated by what matters to employees and updated.

This is an example of asymmetry.

Companies may have more money but there are more employees than companies. More data thrown at the employee allows greater scrutiny than what I guess most companies would like. A comprehensive list of companies worldwide ranking them by employee friendliness. More information in choice of companies you work for might make you think twice before you apply. The cream of companies rising to the top? For example imagine if you could view a company that you thought might be a good place to work only to find company information:

\- In the press: current directors are constantly in the news for poor financial results, mismanagement or outright law breaking.

\- Ethical status: encourage low wages and outsource, made no efforts to improve greenhouse gas emissions

\- Enhancement: no effort to supply extra training

\- Finances: public finance information reported against the rest of the market. For startups it might also have the VC's or publicly declared finance as this has implications on how a company behaves.

\- Blunders: What was the last publicly acknowledged blunder? How was it handled.

\- Relations: do they have induction? how do they handle various HR issues?

As you imagine if you start to put the spotlight back on companies that employ people a lot of PR companies will be getting anxious calls.

Maybe it might force change?

 _"... I don't think there's any substitute for a good face-to-face interpersonal interaction to determine a person's character or suitability for a role. ..."_

This is one point I agree on. The problem, the best shady characters can fool all but the most thorough of vetting. I'm not sure that software can play a meaningful part in this process?

<comment><USER16> I think your range of points on security, unverified information etc are all valid.

My viewpoint is about gaining a more rounded understanding for a person's character, i.e. using all available information on a candidate to try and build a more accurate representation of them.

If Spokeo are offering some sort of verification service such as those offered by Experian et al then I find this to be a flawed model.

<comment><USER17> _"... My viewpoint is about gaining a more rounded understanding for a person's character, i.e. using all available information on a candidate to try and build a more accurate representation of them. ..."_

I'm not sure more data is better trying to verify a candidate. You can infer things by viewing a candidates flickr + twitter + blog but how do you know it is not being spoofed, manipulated?

On the Internet anyone imitate a dog.

</comment></comment></comment></comment><comment><USER18> How are they getting access to facebook profiles???

<comment><USER19> Quite. They have me tied by email address to Facebook and I'm 200% certain that my email address there is _not_ "publicly-available information".

Facebook permitting this app to operate will give it serious legal trouble in the EU.

<comment><USER20> Are you sure your email address is not available on your profile -- even when a search engine finds your profile?

<comment><USER21> Supposedly you can set the visibility of your email to non-friends or non- network users. The problem here is that I have my FB email setting on private (friends only), and yet somehow this site can see it.

Methinks they may be simply attempting to log in with that email as your username... maybe Facebook returns a different error depending on non-existent username vs. wrong password. Very dumb of FB in that case, and must be fixed.

<comment><USER22> Email is still searchable, even if it is set to private. If someone types in your email address, they obviously already have it...

</comment></comment></comment></comment></comment><comment><USER23> Obvious solution: put a different email address on your resume

<comment><USER24> Yeah seriously. Most of us have names that _someone_ on this planet also has too.

Or if you're really scared, don't use LinkedIn/facebook/Myspace et al. I view all of this stuff as filtering anyway. Would I really want to work at a place that is appalled because there's a picture of me drinking beer on facebook?

</comment></comment><comment><USER25> Spokeo used to be a social network aggregator like Friendfeed or Socialthing. [http://www.minger.net/wp-content/uploads/2006/11/spokeo- page...](http://www.minger.net/wp-content/uploads/2006/11/spokeo-page.jpg)

Uh.

</comment><comment><USER26> I find it rather inevitable. Seems like a killer business model, and it's probably 500 lines of PHP (or whatever). Pretty much just coin-operated at this point, nice steady revenue stream, wish I had thought of it.

<comment><USER27> Probably more than 500 lines. Doing information extraction on all those different sites probably involves quite a few scripts and doing search on the scale and at the speed they're doing undoubtedly involves backend services too.

When they launched, Spokeo had a really nice Flash client too for aggregating RSS news about the people you're following.

</comment></comment><comment><USER28> Isn't this similar to Spock? (www.spock.com)

For those who never visited Spock, you entered an email address and it tracked you all over the web. Now it looks like Spock requires logging in to work.

<comment><USER29> Yeah. And Spokeo is old, old news.

Really, it's a matter of what you make available. I can't imagine "stalking" somebody ever really being a good use of time. What bad things are there to find? Drunken pictures? And that's on Facebook, behind a wall.

<comment><USER27> It's always fun finding 10-year-old, embarrassing news articles or pictures of someone. :) Also, if you're one of the many people who use MySpace instead of Facebook, those drunken pictures aren't behind a wall.

</comment></comment></comment><comment><USER30> The site claims that 'look beyond resume' - is the data found in MySpace, FB, Friendfeed a valuable data to any recruiter? I can see this being used only by 'snoopers'/'stalkers' - kinda thing that will bring nothing but bad name to Social Networking. I still know a majority of the people who just do not go onto eBay thinking its a congregation of fraudsters and phishers. This site sucks.

</comment><comment><USER31> Spokeo is pretty creepy. They index all of Pandora's public channels so you can see what kind of music your friends have been listening to.

</comment><comment><USER32> Disturbing indeed, they betray the trust that these social networks sites gives to crawlers. Most of these sites are available to crawlers it's hard to stop crawlers on case by case basis.

I tell all my friends (hackers and non hackers) to never post any information or picture about you online that you are not comfortable sharing with everyone. This is a great warning to everybody.

</comment><comment><USER33> Sounds similar to Rapleaf.

<comment><USER34> except Rapleaf lets you manage your reputation before they sell it off

</comment></comment><comment><USER35> Whatever you think about this new direction for spokeo one thing is for sure, its working.

<http://siteanalytics.compete.com/spokeo.com/?metric=uv>

<http://www.quantcast.com/spokeo.com/traffic>

</comment><comment><USER36> here's the opposite -- a site where you google yourself and then comment on and reorder the search results, and then share it with potential employers. this requires you to be proactive, though. <http://hitbio.com>

</comment><comment><USER37> Yeah I agree, the fact that an HR person can easily type in your e-mail and get all your personal details is a bit much. But, with that said, you honestly should be using a different e-mail address on your job applications than your personal e-mail.

</comment><comment><USER38> I think the most interesting thing about them is that they switched from free to pay, overnight, without warning. Have many other software service startups done that?

<comment><USER27> When you're that tiny, does anyone notice or care? You can grandfather your favorite users into free accounts and, worse case, you piss off all 10 of your users.

</comment></comment><comment><USER39> How amusing would it be if this site was just a way to collect emails?

In any case, they are probably getting a whole bunch of emails right now.

</comment><comment><USER40> Rather undewhelming. I'm every hit for the first 5 pages of googling my name, and these guys have almost nothing on me.

Muahahahahaha

</comment><comment><USER41> I don't like work stuff on Facebook...I just changed my profile pic to sign up for a "professional" event.

</comment><comment><USER42> ...because it's an email harvester.

</comment><comment><USER43> I entered my email, but my facebook and linkedin profile didint show up...

</comment><comment><USER44> wow, the ultimate stalker tool is here... Ima go find my rapist/pedo glasses just for this occasion.

</comment><comment><USER45> but you decided to spread it anyways (to the tech recruiters and HR who lurk here on HN)...

</comment><comment><USER46> and disgusting.

<comment><USER47> Why?

Last time I checked, nobody is putting your personal information online in a public domain for you.

<comment><USER48> Actually, they are. Or at least, if you've ever donated to any political campaign they are.

<http://fundrace.huffingtonpost.com/>

<comment><USER47> The act of donating to a party is a public act though... unlike voting. You declare it on your tax return for goodness sake.

<comment><USER48> You don't declare them in your tax return. Donations to political campaigns are not tax deductible.

<comment><USER47> Hmm, I didn't know that. They are up here in Canada.

</comment></comment></comment></comment></comment></comment><comment><USER49> Too bad it didn't work on me.</comment>


Multi-Level Intermediate Representation Compiler Infrastructure - <AUTHOR> https://github.com/tensorflow/mlir <comment><USER4> Congrats to the MLIR team for getting the source out. I know it must have been a lot of work. MLIR seems like (or at least aspires to be once complete) a nice step up from LLVM and addresses a lot of the issues that LLVM has around extensibility. Looking forward to see where this goes. In particular, it'll be interesting to see to what extent re-use of passes will work out between dialects in practice.

I'm also looking forward to digging into the polyhedral compilation stuff more. It's about time that somebody attempted a ground up re-think of that, so I'm looking forward to understanding it better. I've talked to Chris a number of times about the rest of the design, but we never got into the specifics of the polyhedral compilation.

That said, I think it's a bit unfortunate that this ended up in TF rather than LLVM. TF of course needs good compiler tech more than most projects at this point, which is why MLIR came from that direction, but MLIR is much more of a general compiler project. I worry that putting in TF will discourage the rest of the ML industry from adopting it as eagerly (everybody is already using LLVM, so that branding would make that much easier). Also, looking at the code, MLIR looks structurally a lot more like an LLVM-heritage C++ project than a TF one (hell, you build it by cloning llvm and putting MLIR in the projects/ directory). Perhaps moving it under the LLVM umbrella is still in the cards - I'll keep advocating for it at least ;).

<comment><USER5> Thank you for the kind words Keno.

We don't have a great description of what the polyhedral dialect is, but we do have a discussion of what it isn't, here: [https://github.com/tensorflow/mlir/blob/master/g3doc/Rationa...](https://github.com/tensorflow/mlir/blob/master/g3doc/RationaleSimplifiedPolyhedralForm.md)

There are other docs in the same directory that you might find interesting.

We don't have all the details sorted out, but Google would like to contribute at least some part of MLIR to the LLVM.org project, but you have to ask LLVM for acceptance, and that requires putting the code up somewhere first.

All things in time, I hope to catch you at EuroLLVM next week where we are giving the keynote and a tutorial on MLIR.

-Chris

<comment><USER4> Yep, I've been reading the docs with great interest. I'm also looking forward to getting the XLA/HLO dialect available. I'm thinking that might be a neat way to get immediate use out of MLIR in the julia world. There's a bunch of extra HLO passes I need to write for TPU performance and I figure might as well try to do that using MLIR.

Good to hear that getting this into LLVM is still in the cards - <USER2> understood that there are organizational challenges, just want to keep pushing in the right direction :). My schedule doesn't allow me to be at EuroLLVM this year unfortunately, but I'm sure we'll get an opportunity to catch up before long. Now that MLIR is out it'd be fun to dig in in detail.

</comment></comment></comment><comment><USER6> Well, MLIR is getting its star turn at the LLVM meeting later this week in Brussels. I've flipped through the MLIR rationale doc and the earlier CGO presentation [1]. Correct me if I'm wrong but MLIR is meant for higher level optimizations which are then lowered to a more LLVM-like dialect for actual codegen.

My question is does this mean anything to non-TensorFlow-like backends? Is the aarch64 backend going to change at all?

[1] [https://drive.google.com/file/d/1hUeAJXcAXwz82RXA5VtO5ZoH8cV...](https://drive.google.com/file/d/1hUeAJXcAXwz82RXA5VtO5ZoH8cVQhrOK/view?usp=sharing)

<comment><USER5> The MLIR project has no plans to reimplement X86 or ARM backends. The LLVM Code generator could be improved of course (e.g. through the GlobalISel project) but there is no need to do that in the context of MLIR - <USER3> supports codegen through LLVM.

</comment></comment><comment><USER7> Honestly, I am not sure what purpose does that serve. I read the motivational docs, and they seem to be clear, but what they describe is like a representation of IR at a specific compilation step, which has some predefined metadata for a specific use case + restrictions on data flow.

IMHO, the hardest part is obtaining that metadata and converting normal code into that form, not compilation of that form further down into the machine code.

<comment><USER8> The entire compilation process is generally a process of first converting code into a very high-level representation, and then lowering it through stages that progressively lose the original language semantics and gain hardware- specific semantics, with optimizations happening along each level of the path.

Traditional LLVM contains essentially three different levels of IR: there's the mid-level IR that most people think of, which is (to a very, very rough approximation) a machine-independent (but generally not portable) representation of C/C++ (with extensions) semantics. This is lowered to a legalization IR (either SelectionDAG or GlobalISel), which contains the same general class of generic operations, but things such as integers larger than native machine types (e.g., i128) are converted into native machine types [1]. The legalized IR is then lowered to a machine-specific IR, where the opcodes and operands are specific to the relevant ISA, and the target-independent passes are generally restricted to dealing with very high-level summaries of operations (e.g., "this instruction is commutative").

This project is about an IR that is higher level than LLVM IR that can, to some degree, abstract over the different kinds of such IRs that already exists. (As the presentation notes, Clang _should_ have built such an IR, especially now that it needs to do a lot of that work for static analysis or constexpr anyways).

[1] More specifically, this is the IR that the legalization process is actually done in. How much of it has been legalized depends on where you are in the process.</comment></comment>


Man dies after taking fish tank cleaner containing chloroquine phosphate - <AUTHOR> https://theintercept.com/2020/03/24/trump-hyped-chloroquine-cure-covid-19-man-arizona-took-died/ <comment><USER2> earlier discussion [https://news.ycombinator.com/item?id=22669467](https://news.ycombinator.com/item?id=22669467)

<comment><AUTHOR> Thanks, shame it got flagged for no good reason.

That discussion notes the lethal dose to be around 3-5g and the couple as having had a teaspoon which would be around this mass.

However, this theintercept.com source is the only one I could find that mentions a teaspoon as being their quantitative dose - even the original NBC report didn't give a specific number. So I wonder how reliable this information is.</comment></comment>


Russia Uses Microsoft to Suppress Dissent - <AUTHOR> http://www.nytimes.com/2010/09/12/world/europe/12raids.html?hp

<comment><USER2> These days there's no reason why people should be pirating Microsoft software anyway, since free software is much better. This applies especially to non- profit organizations or charities, where spending money on software licenses is wasteful of scarce financial resources.

Probably the best strategy for charities and non-profits in this situation is:

a) Encrypt your data. In Linux systems like Ubuntu it's really easy to encrypt your home directory or create an encrypted disk. You don't have to be an expert.

b) Back up your data in "the cloud" or on servers located outside of your country. This makes it harder (but I assume not impossible) for data to be seized arbitrarily.

c) Do as much as possible out in the open anyway (published somewhere on the web) so that there is little or no "secret sauce" to be seized, except perhaps private emails. For charities being as transparent about your operations as possible makes good sense in terms of reassuring donors that their money is being well spent.

<comment><USER3> That is all good advice, but we should remember that Baikal Environmental Wave, which is the main focus of the article, did have genuine Microsoft software, including receipts, boxes, and stickers on their computers.

Yet their computers were seized for five months and meanwhile Microsoft denied to help them prove that the software was genuine.

What is upsetting is that Microsoft is helping the authorities when the targets of these anti-piracy raids clearly is on organizations and journalists that peacefully oppose the Russian authorities in some way. They may run only legitimate software but still a raid is carried out.

'Mr. Kurt-Adzhiyev said he now realized that the authorities were not so much interested in convictions as in harassing opponents.'

<comment><USER2> Yes, which means that the raid and confiscation of computers, etc, isn't really about copyright enforcement but about grabbing data, making data unavailable for use, or otherwise as the article suggests causing general hindrance. Verifying the legitimacy of Microsoft software, as far as I'm aware, is a fairly trivial matter of checking serial numbers, so this isn't something which would require computers to be seized for significant periods of time, or necessarily even moved from their desks.

That Microsoft declined to facilitate the checking of serial numbers after claims of piracy is reprehensible, and all the more reason not to use their software in the first place.

</comment></comment></comment><comment><USER4> The evidence seems to clearly show that Microsoft Russia is colluding with the Russian government to sustain a fraudulent case against the environmental group.

I hope the NYT report results in pressure on Microsoft, Redmond to stop ignoring what their Russian subsidiary is doing. They need to put an end to Microsoft participation in the "the persecution of civil society activists."

<comment><USER5> Governments are clients far bigger than NGOs. Their choice is not surprising, considering who they are.

</comment></comment><comment><USER6> I guess this would be a great case for Ubuntu desktops with in the cloud backup/software.

Treat the workstation as a dumb terminal and be ready to discard it if needed.

But I guess the computer sophistication required to do this is currently beyond the abilities of the targeted people.

<comment><USER7> In this case, Linux really does mean freedom.

<comment><USER5> If the authorities are corrupt enough, they may opt for keeping the Linux boxes until they find the pirated Microsoft software.

</comment></comment></comment><comment><USER8> why MSFT operating systems, they can just go and catch everyone with jail broken Apple ipods. and seize all computers, including linux and unix boxes stating that they were used for jailbreaking.

<comment><USER9> what law would they be breaking?

</comment></comment><comment><USER10> There is also another aspect worth mentioning. A lot of effort world-wide goes into Global Warming Alarmism instead of fighting against real environmental atrocities. I understand why the financial industry and the green-industrial complex are doing this, but a lot of people concerned about the environment get GW bullshit fed to them and spend their energy on a wild goose chase while real environmental criminals have a free hand.

</comment><comment><USER11> While I lived there, the police did something similar -- seized computers, copied confidential emails, returned the computers half a year later -- to a support group for women raped by the police. I'd laugh at the irony if it weren't so awful.

That's just how Russia is.

<comment><USER12> The story here isn't that Russia does this stuff, it's that Microsoft is participating.

</comment></comment><comment><USER13> NYT uses a free subscription wall to make sure I don't read their articles.</comment>


Stephen Colbert makes Bing donate $100K for oil spill - <AUTHOR> http://blog.seattlepi.com/microsoft/archives/210083.asp

<comment><USER2> Maybe I'm missing something (very possible!), but I don't understand donations for the oil cleanup. Every single donated penny that goes to fixing the spill or its effects should come from BP's wallet instead.

I don't mean BP should be crucified, but they have the responsibility and they certainly have the means.

<comment><USER3> All I can think is... if ifs and buts were candy and nuts....

It'd be great IF bp were going to be held fully liable. From my understanding there is a limited liability clause that is going to hold BP to some unimaginably low number.

And of course, there will be a question of what cleanup means. Cleaning up the coasts, cleaning up the animals, cleaning up the sub sea plumes? I am sure some big oil lobbyists have already tempered the language of what ever legislation is in place to hold BP accountable.

So charity is going to clearly have to step in a close the gap.

Bing, Bing, Bing!

<comment><USER2> How can you tell if donations are going to help "close the gap", instead of paying for things BP should be covering?

Is it clearly defined what BP is covering? If not, how do charities know that the money they're putting into action is filling the gaps instead of just reducing BP's checks?

<comment><USER4> Maybe for some people, the point is to clean up the mess. To them, assignment of blame is less important than aversion of disaster. I'm not sure if I subscribe to that view myself, but I can certainly sympathize with it.

<comment><USER2> I get that. I guess my point is that it doesn't seem like lack of money is the problem that needs solving.

It's not about blame so much as the fact that with BP on the hook for the bill, money isn't the thing that's in need.

You know what will be a million times better than sending clean-up money? When the clean-up is done, book a vacation and go patronize the tourism spots that are currently deserted.

</comment></comment></comment></comment></comment><comment><USER5> I wonder how much it would have cost Microsoft to buy and ad on the show (an ad that would probably have been a lot less effective...). This is probably good business, and everybody wins.

<comment><USER6> And they probably would have donated something either way. Just not so publicly.

</comment></comment><comment><USER7> Call me old fashioned, I think it's brilliant marketing by Bing and Colbert, but I'm not keen on running over effigys of people as entertainment. This guy has a family, and while he may yet be found completely responsible for the disaster, baying for his blood is not the response of an educated society. Ask yourself, if he was your son, father or brother, would you be happy with this treatment?

Leave the retributions for the courtroom. We are all partially responsible for the oil spill with our demand for petroleum based products at the lowest price possible.

<comment><USER8> None of us are responsible for the oil spill. We did not choose or make choices that caused the oil spill. We are accountable for the demand that spurred BP's attempts with drilling, but not the spill itself.

I always find it fascinating that people uninvolved in the going-ons for random markets are blamed for unwanted side effects. BP could have just raised their prices, but they chose not to (therefore taking responsibility) and failed. Shame on them.

<comment><USER9> I'd say we are all (or most of us) responsible in some way, for not bothering to even question the practices of the oil companies (a ka "conveniently looking away"). Granted, we can not personally solve all problems of the world - that's why there are governments to do that job. But we elect those governments.

It's not as if there was never any indication that oil drilling could threaten the environment.

Who will give the permission to drill for oil in the artic, and why will the permission be given?

<comment><USER10> Agreed. Not only have we created the demand for the product, but in our "government of the people, by the people, and for the people", we are all (collectively at least) responsible for what our government does.

Moreover, as has been noted elsewhere in this thread, the buck does not stop at BP. If you're going to be consistent in the way you assign blame, you've got to follow the trail to the independent company that was actually operating the drilling rig. If you're going to pass the responsibility away from the consumer, through the gas station operator, and on to the refiner, it only makes sense to take the next step to the driller.

</comment></comment></comment></comment><comment><USER11> _By the way, Bing is a great website for doing Internet searches. I know that because I Googled it._

That's a great line.

</comment><comment><USER12> Does anyone else feel like this is a painfully low amount of money?

</comment><comment><USER13> Brilliant marketing on their part. I'm wondering though, why he avoided saying Microsoft?

<comment><USER3> I suspect MS is trying to keep Bing as a separate entity. Perhaps to avoid feeling like the big monolith threatening to over compete.

Alternatively it might be just trying to make Bing feel like a new brand... who knows.

If you look at bing.com the only overly obvious reference to MS is the MSN link at the top left, and the microsoft copyright.

<comment><USER14> At the end of every Bing TV add (at least on US Television), the spoken tag line is "Bing, the decision engine from Microsoft" (combined with the Microsoft logo in the corner), so I don't think the advertisers are shying away from the affiliation.

<comment><USER15> They aren't trying to hide it, but it does seem they want the name to sort of stand on it's own. For starters, they probably realize that vernacular allows for you to 'google it' or 'bing it' or 'yahoo that', but not to 'microsoft that'. If anything, 'microsofting' something probably involves putting it out of business with predatory business tactics.

Alternatively, it could be a judgement call on MS's part based on their knowledge of the Colbert audience.

</comment></comment></comment></comment><comment><USER16> Ok, Colbert (and smart MSFT product-placers) - I'll bite. Today is officially "Bing for a Day" here. I just set my Chrome default engine to Bing for the first time. Should be fun -- wondering if I'll miss the Goog in the next 24 hours.

</comment><comment><USER17> Does anyone else find it amusing that Bing's approached Colbert, whereas Google seems to support Stewart pretty hard?

</comment><comment><USER18> Only Colbert could get away with this! Genius.

</comment><comment><USER19> Awesome episode :)</comment>


Show HN: Stoffi – a music player - <AUTHOR> https://github.com/simplare/stoffi

<comment><USER2> _> "This project should not be taken very seriously."_

I _really_ think you're being a bit too unfair to yourself and to your work, so I suggest you remove that line. Most great programs start off simply and grow.

The screen-cap image implies it's a ms-windows program, but readme.md does not list any system or build requirements (particularly OS and toolchain).

If you have a website for the project (implied by the "Website" code directory), you should link to it from github.

All in all, it looks great. Thanks for ShowHN'ing it.

<comment><USER3> I saw "using MonoMac.AppKit" in the source so it looks like it is for win32 and osx, using mono to bridge to native GUI?

<comment> UK-AL It's no more of a bridge, then WinForms is a bridge to Win32...

</comment></comment></comment><comment><USER4> [https://stoffiplayer.com/news](https://stoffiplayer.com/news) was last updated 4 months ago (apart from the website folder)...

[https://stoffiplayer.com/news](https://stoffiplayer.com/news) was last updated "December 24, 2012"...

This project doesn't show much signs of life, how is it news?

</comment><comment><USER5> What is interesting is one of his other projects: dance analyzer, a plugin for Stoffi

[https://github.com/simplare/dance_analyzer](https://github.com/simplare/dance_analyzer)

It uses Kinect for Windows to quantify dance movements

</comment><comment><USER6> Err wow. I think you just killed off my use of VLC media player.

This fixes two major annoyances I've had with VLC in that it never handled displaying the Genre in the playlist and there was some minor problems in the meta files in my MP3s that meant I could never have all my files displayed as it crashed when loading in the files.

It found all my MP3s both without me having to tell it where they were and loaded them in quickly.

Awesome work!

</comment><comment><USER7> I love UI that don't skin themselves. I can't wait until that particular bug is fixed though :).

[https://lut.im/r0wp5Fps/K2DypveC](https://lut.im/r0wp5Fps/K2DypveC)

(every label of the interface has the `text` text instead of the expected word (`play`, `file`, etc.)

<comment><USER8> I solved it by clicking on the last "Content" button in the menu bar and switching the language twice (first to the second option, then back to English).

</comment></comment><comment><USER9> At a glance this looks like a good project to learn from, specifically about how to structure non-trivial programs. I write lots of spaghetti code and struggle to keep things separate. This code looks clean and well documented.

</comment><comment><USER10> Does it have support for WASAPI output on Windows? The output via DirectSound is unacceptable for some with the obsession on bit-perfect output (or Audiophiles, I suppose).

</comment><comment><USER11> I don't know if this is possible, but if a music player could integrate Amazon Music, Spotify, internet radio, and local music, I'd be in love.

<comment><USER12> [https://www.mopidy.com/](https://www.mopidy.com/)

</comment></comment><comment><USER13> Can anyone compare this to Banshee [1]?

1: [http://banshee.fm/](http://banshee.fm/)

</comment><comment><USER14> >Cloud synchronization

>Silent upgrades

Welcome to the botnet.</comment>


Production Delays Mean iPad Inventories May Be Tight at Launch - <AUTHOR> http://digitaldaily.allthingsd.com/20100301/ipad-inventories-may-be-tight-at-launch/ <comment><USER2> And thus the marketing guys swing into action.

Panic apple faithful, queue up outside the stores before launch day - or else you might have to wait to get the shiny new Apple toy.

<comment><AUTHOR> Yeah, that's pretty much what I was thinking - I'm pretty sure there have been "production shortages" for every major launch they've done since iPhone v1.

</comment></comment><comment><USER3> What is more surprising?

A) That people will fall for this and whip themselves up into a some sort of frenzy B) That these same people haven't realized that they are essentially being used by Apple as a marketing tool</comment>


Ask HN: Would Inline Images On HN Comments Ruin Quality? - <AUTHOR>

How does embedding pictures relate to comment quality?  On most other communication platforms, inline media is supported, but it's non-existent on HN.  Just wanted to get the communities thoughts on whether or not it's a good idea. <comment><USER2> I personally think it would be fine, although an argument, perhaps, could be made that inline images might bleed off the bandwidth of servers which aren't meant to handle it, so I'd suggest only allowing inline images from sites like imgur if at all. I see no difference in "quality" between linking to an image and embedding it.

Apropos of whatever, here's a userscript I wrote last week which embeds imgur image links inside posts. It's not terribly complicated and doesn't cover all of the API or anything but it does work: [http://userscripts.org/scripts/show/471215](http://userscripts.org/scripts/show/471215)

</comment><comment><USER3> I think it's a bad idea. It's already possible to have clicky links to elsewhere and seems sufficient. I don't see what value inline images would add.

</comment><comment><USER4> The issues are server bandwidth and storage. To support images the server would have to store more data and handle much more traffic than it already does. You can already link to an image hosted elsewhere.

</comment><comment><USER5> I'm not sure most of the content benefits from images?</comment>


PayPal Dumped Cloud Company After It Refused to Monitor Customers' Files - <AUTHOR> http://fortune.com/2016/06/21/paypal-cloud-seafile/ <comment><USER2> In case you're wondering why this isn't getting much of a reaction here, the situation has been discussed at length on a submission from yesterday:

[https://news.ycombinator.com/item?id=11944011](https://news.ycombinator.com/item?id=11944011)

It's a huge, sprawling thread, currently with 314 comments.</comment>


Courts are using risk-assessment software to sentence criminals - <AUTHOR> https://www.wired.com/2017/04/courts-using-ai-sentence-criminals-must-stop-now <comment><USER2> One of my big concerns is whether the algorithms are institutionalizing racism, with legal decisions that make it impossible to challenge these.

After all, the algorithm has been trained on information about recidivism that was collected in a world where racism skews arrest rates, conviction rates, and sentencing.[1] That means the algorithm is almost certainly baking in a racial bias. Now, I'm sure they aren't foolish enough to put "race" in as one of the input factors, but other correlated factors will allow the algorithm to continue to enforce this racism, but now with legal immunity.

[1] Do I really need to footnote this? [http://www.huffingtonpost.com/kim- farbota/black-crime-rates-...](http://www.huffingtonpost.com/kim- farbota/black-crime-rates-your-st_b_8078586.html) is one source that addresses all of these, but there are many, many other sources.

<comment><USER3> " ... other correlated factors will allow the algorithm to continue to enforce this racism"

Which correlated factors are you thinking of?

<comment><USER4> Some proxies for race: \- Where somebody lives \- Their name \- What sports teams somebody supports \- Their finances \- consumer preferences \- education level \- what medical conditions somebody has \- political leanings

I'm not saying these factors can't legitimately be used in a risk assessment, but they could be used to make a good bet on race.

<comment><USER5> Finances? While it is true that blacks and native americans have the highest poverty rates, if you take a random poor person they are about 50% more likely to be white than black. Same with the many of your other "proxies". Therefore they would be a _poor_ bet for race.

If you were using these proxies to identify the race of a person jailed for a crime, they might be good predictors, but only marginally more useful than just blindly guessing black, since they constitute the majority of incarcerated people.

I think, by attempting to remove the smoke screens a "real racist" would use, you give them a new one - "look, our opponents want to ignore actual data".

</comment></comment></comment></comment><comment><USER6> > These algorithmic outputs inform decisions about bail, sentencing, and > parole. Each tool aspires to improve on the accuracy of human decision- > making that allows for a better allocation of finite resources.

It's really not clear to me that much is gained from having very precise decisions made about bail and sentencing. Trying to predict the future is a fool's errand, whether a judge does it or a computer. It'd be better to just set fair, uniform standards (particularly for bail where bail should be granted presumptively unless unique circumstances are present).

Unfortunately, using machine learning for sentencing is just the tip of the iceberg. "Scientism" is rife in the criminal justice system. The U.S. Sentencing Guidelines, for example, are utter gibberish. Sentences are calculated to the month using complex formulas: [http://www.ussc.gov/guidelines/2016-guidelines- manual/2016-c...](http://www.ussc.gov/guidelines/2016-guidelines- manual/2016-chapter-4).

> The total points from subsections (a) through (e) determine the criminal > history category in the Sentencing Table in Chapter Five, Part A.

> (a) Add 3 points for each prior sentence of imprisonment exceeding one year > and one month.

> (b) Add 2 points for each prior sentence of imprisonment of at least sixty > days not counted in (a).

> (c) Add 1 point for each prior sentence not counted in (a) or (b), up to a > total of 4 points for this subsection.

> (d) Add 2 points if the defendant committed the instant offense while under > any criminal justice sentence, including probation, parole, supervised > release, imprisonment, work release, or escape status.

> (e) Add 1 point for each prior sentence resulting from a conviction of a > crime of violence that did not receive any points under (a), (b), or (c) > above because such sentence was treated as a single sentence, up to a total > of 3 points for this subsection.

But it's not like this is based on an empirical statistical model correlating sentences with recidivism or deterrence effects. It's classic scientism, believing that an algorithmic sentence based on completely arbitrary rules is somehow better than an arbitrary sentence handed out by human judgment.

<comment><USER7> I don't disagree it could be much better and based on something other than arbitrary nonsense, but these guides are designed to bring consistency to sentences within the same jurisdiction which would make them fairer than completely arbitrary judge sentences. At least everyone is subject to the same arbitrary nonsense guidelines instead of the mood and familiarity of the judge.

<comment><USER8> I'm reminded of that quote about a "foolish consistency being the hobgoblin of little minds", but when you consider that statistically, people get lighter sentences immediately after a lunch break [1], there's probably some value in removing the human from the equation...

[1]: [http://www.pnas.org/content/108/17/6889](http://www.pnas.org/content/108/17/6889)

</comment></comment></comment><comment><USER9> >While this can be the fastest route, the GPS's algorithm does not concern itself with factors important to truckers carrying a heavy load, such as the 43's 1,300-foot elevation drop over four miles with two sharp turns.

I know this is somewhat off topic but the lack of advanced options for GPS routing is such a PITA. It would be trivial to add check-boxes for things like:

"I'm towing a trailer, don't make me take dumb lefts across multiple lanes, avoid clustterfawks and don't make me take unnecessary turns"

"Yes I'm wealthy enough to afford an iphone, that doesn't mean I want you to send me through a $5 bridge toll"

"I'm taking a road-trip, send me on a route that uses ten fewer roads even if it takes twenty more minutes, I don't want to have to look for a turn every 10min"

I know tons of options aren't good for the UI but just hiding all that stuff behind an "advanced preferences" menu or something would be nice.

Just a simple tie in to a weather API that increases the cost of route features that are a PITA in snow would be nice (no I don't want to stop on a downhill to take a >90deg left across 40mph traffic in snow thank you very much).

<comment><USER10> Special GPSes for truckers are available from companies like TomTom and Garmin.

If truckers are choosing to save a few hundred bucks by using their smartphones, which don't have the trucker-specific features, surely the fault lies with the trucker for using a consumer-grade product, not with the consumer-grade product for not being professional-grade?

<comment><USER11> A truck GPS is extremely helpful if you're driving a commercial vehicle any appreciable distance in an unfamiliar place. They include many additional data points in routing: vehicle height for overpass clearance, vehicle weight for bridges, "No Trucks"/"Passenger Cars Only"/"No Commercial Vehicles" restrictions etc. You can get yourself into hot water if you're following car GPS directions with even a mid-sized U-Haul. See: [http://11foot8.com](http://11foot8.com)

<comment><USER12> You're already in hot water with a U-Haul. Anecotally, they have been the worst cargo vehicle rental business in my life. Get a truck from Budget, Hertz, or Penske instead. Every friend whom I have helped with their move has experienced a mechanical failure of some kind with a U-Haul vehicle that significantly increased the stress of an already stressful event.

Know your clearance and pay attention to road signs. Your regular car insurance may cover rental _cars_ , but it probably doesn't cover rental _trucks_. So if you peel your top on a low underpass, you may find yourself in a world of pain and regret for a long time. Ideally, if you are in a rental truck, you should already know how to get where you are going without GPS assistance.

<comment><USER11> Indeed, I used U-Haul as kind of generic word for rental truck here, but I much prefer Penske if I'm renting a truck. They have fewer locations but their trucks are clearly better maintained.

</comment></comment></comment></comment></comment><comment><USER13> I wonder if the algorithm is evidence-based, and learns from the results of prior decisions.

In which case it is possible it would eventually discover that in the USA incarceration is very strongly linked to recidivism. It follows that the algorithm might refuse to incarcerate many convicts.

Which is arguably exactly what the algorithm should do, namely what politicians will/can not: employ evidence to advance the methods and improve the outcomes of the criminal justice system.

<comment><USER9> The problem with that is that criminality has it's own positive feedback loop.

More crime in an area -> more cops -> more convictions for little stuff -> more big sentences handed out -> more lives ruined -> more crime -> goto start.

<comment><USER14> > more convictions for little stuff

Seems like an easier way to break that loop is to decriminalize the "little stuff" instead of capriciously enforcing it. No algorithm is going to be able to do that.

</comment></comment></comment><comment><USER15> Playing devils advocate I'd say that the main problem with employing AI would be that it will how bad decisions humans make. This is exactly the kind of case where computers, just relying on hard data would do much better than humans.

The article complains that AI is a black box for the defendant. How is this any different from judge's brain? You can't peek into his mind to figure out what is behind the decision. Judge can give some justifications, but you won't know if those are the real reasons or if the decision is just mostly based on defendants skin color, socioeconomic background or clothing.

<comment><USER16> > just relying on hard data would do much better than humans.

Humans can acknowledge and correct for biases in training data much better than computers can.

EDIT: this person put it much better than I have: [https://news.ycombinator.com/item?id=14139772](https://news.ycombinator.com/item?id=14139772)

</comment></comment><comment><USER17> based on some studies I've seen, human judges are terrible due to basic human nature, so I'd like to see something happen to make things more objective. Of course, the algo would have to be open, as opposed to the proprietary software being used now.

For example just having your sentencing be before lunch or at the end of the day results in harsher punishment simply due to the judge being hungry or tired.

Same goes for other basic things like women getting lighter sentences, minorities harsher sentences, etc.

<comment><USER18> > Same goes for other basic things like women getting lighter sentences, > minorities harsher sentences, etc.

The problem is, "AI" today is glorified pattern matching. So, it learns what "should be" based on the current state. In other words because the pattern exists it will learn precisely that "women should get lighter sentences and minorities should get harsher ones"

Not only that, they are _so good at pattern matching_ that you don't even need to provide the gender or race for them to identify those as a parameter.

It would be great if we could train an AI to eliminate bias, but as it is they are training to reinforce bias that already exists.

Until we get natural language _understanding_ and context aware AI, using AI for sentencing is a terrible idea.

</comment></comment><comment><USER19> Instead of asking to stop its use, why not ask that it be "supervised" up to the point where its results beat the average judge in a given area of law?

<comment><USER20> What metric do you use to say it "beats" a human judge?

<comment><USER15> If thinking about setting bail, isn't the target there to keep the bail amounts (or cases where bail is denied) as low as possible while making sure that most people appear in court?

Here a simple metrics would be the average bail and the percentage of people who appeared on court.

On a job like this, I can't really see how a human could beat a machine. And you don't need any kind of "artificial intelligence". This is just standard statistics stuff that every insurance company and bank does.

</comment></comment></comment><comment><USER21> AI is only able to keep performing as it has learned from the data set. In other words, it keeps the status quo within a few percent of an intended target. Unless given the clear go ahead to just keep learning, at which point they seem to fail at random

<comment><USER22> I'd say it optimizes something from the point of view of the status quo.

There's nothing in machine learning that bias it into keeping the status quo (differently from people), there's also nothing there biasing it into optimizing the correct thing (also differently from people).

That said, having machines in a consultative position under a judge may be a good thing.

</comment></comment><comment><USER23> I wonder if it were possible to get a copy of the software so as to figure out what the best possible responses to a presentencing interview would be in order to get the most favorable computation.

Like - Yes, I'm very social. I play bridge, take my kids to soccer, I'm a member of the PTA. Yes, I exercise. I have a weight set at home, ride my bicycle, play racquetball at the gym. No sir, I don't do drugs, never touched them. No sir, I don't drink either. Yes sir, I do have a degree, two in fact!

Just in case you might need it at a presentencing interview, of course.

</comment><comment><USER24> Using traditional machine learning techniques for this purpose is a non- starter and completely unacceptable. Neural networks are just a black box, and don't produce an inspectable justification or reasoning. The best you can say is that the model correctly predicts recidivism in X% of cases for some sample.

I'm not opposed to using other algorithmic methods, but the algorithm needs to be transparent. Though that would be difficult to do outside of some pretty tightly controlled parameters. We can't currently make a system that can take into account arbitrary facts about the case and weigh ethical implications.

</comment><comment><USER25> Oh dear....

Could we demand that they pass a course in machine learning before they use it?

</comment><comment><USER26> Holy sit we literally live in a dystopia

<comment><USER27> If only we could replace lawyers by computers too :)

<comment><USER28> That is my #1 wish for us for the next 20 years.

</comment></comment></comment><comment><USER29> Even if the software was statistically perfect and somehow immune to our cultural biases, it should still not be used. An individual stands before the judge, not a statistical demographic group. The probability of an imaginary statistical individual's recidivism is irrelevant; what is relevant is the current state of that individual. Relying on statistical models is both lazy and unfair

</comment><comment><USER30> "Simple rules for complex decisions" Use machine learning techniques to allow humans to make complex decisions: [https://arxiv.org/abs/1702.04690](https://arxiv.org/abs/1702.04690)

</comment><comment><USER31> Could also lead to a type of self fulfilling prophesy, by ignoring the 'individual' in the decision making process, thusly groups being targeted will learn over time that their personal efforts to reform are a waste of time.

</comment><comment><USER32> what if somebody takes a 5th and doesnot answer any question. would'nt that force court to comply some manual process and come to a conclusion</comment>