Supreme Court denies review of Google v. Oracle API copyright case [pdf] - <AUTHOR> http://www.supremecourt.gov/orders/courtorders/062915zor_4g25.pdf <comment><USER2> Working in a field where we're required to define things with mathematical precision, it's frustrating listening to lawyers and judges flail about trying to figure out how to interpret laws.

I don't want to claim that the law is a trivial matter and that it could be replaced with software, but I do think our legal system could be greatly enhanced with some ideas in math and software development. There are always going to be ambiguity in legal matters, but that doesn't mean we can't greatly reduce that ambiguity with good tools.

I know this is a really tall order, but one idea in particular I'd like to see is the introduction of some sort of unit testing or model checking during the legislative process where legal scenarios are parameterized and enumerated to act as a guide for legislators, lawyers and judges. I'd love to see something like Alloy ([http://alloy.mit.edu/alloy/](http://alloy.mit.edu/alloy/)) be implemented in a way that non-programmers could use to model check things like bylaws by guiding the user through ambiguous and conflicting scenarios. I'm not suggesting we try to make laws satisfiable. What I am suggesting is that we model them in a way that highlight and distinguish the laws that are poorly crafted from those which are clearly interpreted.

Legal ambiguity is really expensive weight on our society. Not only does this sort of ruling create investment uncertainty, it benefits incumbents who can buy armies of lawyers and intimidate competitors with drawn out lawsuits. Our legal system should be the great equalizer, but it will never be as long as we let judges and lawyers convince us to resign that our current system "is as good as it gets".

<comment><USER3> The biggest problem is that there is no concept of DRY in law. No single source of laws about $X. It's layers upon layers of conflicting code and it becomes a maze.

<comment><USER4> I think it's misleading to say there's no concept of Don't Repeat Yourself. Precedent is the concept that's supposed to do that.

Software has layers of conflicting code too, but you wouldn't say software engineering doesn't have the concept.

<comment><USER5> Legal precedent is the last thing we would want to mirror in software... Imagine if every resolved bug from every software project, every hacky workaround, was implicitly included in your code, rather than fixing bugs upstream at the source.

<comment><USER6> I don't disagree with you, but the analogy of fixing the bug upstream is a legislative amendment.

</comment></comment></comment></comment></comment><comment><USER7> I suspect what we will see happen is the District Court will rule that it was fair use, it will go to the Federal Circuit again and then the Federal Circuit will overturn the fair use claim. As the Federal Circuit is incredibly pro-IP, I suspect they will be unpersuaded by any claim otherwise.

At that point, if SCOTUS does not take up an appeal, the computer science world will have a big problem. If APIs are copyrighted and reimplementing libraries violates copyright, then:

What of all the projects that have implemented LIBC, and used glibc's API and headers? e.g.: Is musl now GPL?

What of any OS or project that has implemented a POSIX layer? (Is this the decision SCO needed to finally sue someone for Linux finally violating SCO's copyright?)

What of any project that implements x-plat APIs? As another comment pointed out, Microsoft's Project Islandwood re-implements iOS APIs. But Xamarin, Cordova and other projects all ingest APIs and reconfigure them to make them accessible on multiple platforms. Are they contaminated by copyright now?

If the Federal Circuit decision stands, software might have finally encountered the lump it can't digest as it eats the world.

<comment><USER8> It makes me wonder why moving away from Java is not an higher priority for the Android Team. According to the AOSP tracker, their current efforts at the language level seem to center on the integration of Java 8.

Sure, as far as languages go, I there are many tasks more beneficial to the platform than changing its language, but the legal issues they are encountering sound like another good motivation.

<comment><USER9> Huh? They haven't even delivered Java 7 yet.

<comment><USER10> Android supports Java 7 since October 2013.

<comment><USER9> Really? The last time I checked invokedynamic, java.lang.invoke, java.nio.file.* and many more were still missing.

<comment><USER11> It supports java 7 syntax. Invoke dynamic you mentioned is a jvm feature, which dalvic isn't one. I think the lack of nio is an annoyance that can be fixed tho.

<comment><USER9> > It supports java 7 syntax. Invoke dynamic you mentioned is a jvm feature, > which dalvic isn't one.

invokedynamic is a bytecode. Not supporting it means Dalvik / ART can't accept valid bytecode.

> I think the lack of nio is an annoyance that can be fixed tho.

Apparently not. A quick check also suggests that ClassLoader#registerAsParallelCapable is missing.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> This case is going to be especially relevant for Microsoft now that they are cloning Apple's iOS APIs: [https://dev.windows.com/en-us/uwp-bridges/project- islandwood](https://dev.windows.com/en-us/uwp-bridges/project-islandwood)

In my opinion implementing someone else's API should be allowed under the fair use provision of the copyright law. This is needed so that whoever came up with the API does not hoard applications developed for the API and stifle innovation and competition at the platform level, as Microsoft did for many years with the Win32 API.

<comment><USER13> What's even more amusing is that Microsoft sided with Oracle in this case. Looks like that's going to bite them in the ass soon.

<comment><USER14> Not really, they'll pay off Apple. Who it will really hurt is start ups that don't have the money to license. If APIs are held to be copyrightable and not subject to fair use then this will lead to reduced innovation in the US. A similar ruling in Germany went the other way and stated that APIs are functional and hence not copyrightable.

<comment><USER13> Apple doesn't need the money. What they do need, however, is developer lock in which is probably non negotiable.

<comment><USER15> However there is probably a quid pro quo somewhere in there that will give Microsoft leverage.

So the previous point still stands, with one minor modification. The giants will come to terms and the small-fry will be screwed.

<comment><USER13> Steve Jobs thought the same thing when he showed Bill Gates the Macintosh OS for the first time.

<comment><USER16> Good thing he had copied it wholesale from Xerox PARCs first. Saved them both some time.

<comment><USER13> Your history is incorrect, though. Apple was authorized by Xerox PARC to use their technology in exchange for allowing Xerox to buy 100,000 shares in Apple before their IPO.

<comment><USER17> I would use the word "concepts" rather than technology, although I'm sure there was some of that as well. The general UI, though, came from Douglas Engelbart's late '60s oN-Line System (NLS), the subject of the Mother of All Demos. Pretty much everything, windows, the mouse, just no graphics.

It was much copied, e.g. I'm think the Lisp Machine had the same basic GUI working by the time work on the Apple Lisa started, it was certainly reliable and somewhat polished as of the fall of 1979/1980.

If you're a student of this sort of history, it's a bit sobering how little "new" stuff we're really doing, it was all conceptualized and generally at least prototyped by the end of the '60s.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> This leaves in place the ruling of the Federal Circuit, which ruled that the Java APIs in this case were copyrightable, though it left open the possibility that Google had a fair use defense.

</comment><comment><USER13> _SQL was initially developed at IBM by Donald D. Chamberlin and Raymond F. Boyce in the early 1970s.[14] This version, initially called SEQUEL (Structured English QUEry Language), was designed to manipulate and retrieve data stored in IBM 's original quasi-relational database management system, System R, which a group at IBM San Jose Research Laboratory had developed during the 1970s._

 _In the late 1970s, Relational Software, Inc. (now Oracle Corporation) saw the potential of the concepts described by Codd, Chamberlin, and Boyce, and developed their own SQL-based RDBMS with aspirations of selling it to the U.S. Navy, Central Intelligence Agency, and other U.S. government agencies. In June 1979, Relational Software, Inc. introduced the first commercially available implementation of SQL, Oracle V2 (Version2) for VAX computers._

Does IBM have a case to go after Oracle for using the SQL API SSO in their database products?

<comment><USER18> SQL is an ISO standard (ISO/IEC 9075). This is completely different from implementing the API of a proprietary language.

<comment><USER13> Regardless of whether SQL is an ISO standard, doesn't IBM still own the copyright to SQL or were they forced to give it up as part of the condition to becoming an ISO standard?

<comment><USER19> I don't know about that case in particular, but in general: [http://isotc.iso.org/livelink/livelink/fetch/2000/2122/37707...](http://isotc.iso.org/livelink/livelink/fetch/2000/2122/3770791/Common_Policy.htm?nodeid=6344764&vernum=-2)

<comment><USER13> That seems to pertain to patents. There doesn't seem to be any mention of copyright.

</comment></comment></comment></comment></comment><comment><USER20> I don't know what to say, this feels so wrong (APIs being copyrighted). If any tech company deserves hate it's Oracle without a doubt. I just hope common sense prevails at the end and Google wins.

</comment><comment><USER21> See [http://scholarship.law.berkeley.edu/facpubs/2354/](http://scholarship.law.berkeley.edu/facpubs/2354/) for Pam Samuelson's CACM article on this issue.

<comment><USER22> Interesting article, but worth noting that it was written well before Oracle's successful appeal.

</comment></comment><comment><USER23> I'm calling shotgun on login(username, password) and save()...

<comment><USER13> You forgot to structure and organize it.

</comment></comment><comment><USER24> I'm disappointed if only because the oral argument for a case like this may have been fascinating - what do the supreme court justices have to say about things computer science? It might turn out like the violent video game ban case from a few years back, when Justice Kagan quipped that she (or rather, he clerks) were familiar with games such as Mortal Kombat. Perhaps she, or her clerks, may also have some experience with Java?

</comment><comment><USER25> Does anyone know why Alito apparently recused himself in this case?

<comment><USER26> He owned between $100,001 and $250,000 of Oracle stock at the end of 2013.

[http://www.opensecrets.org/pfds/assets.php?year=2013&cid=N99...](http://www.opensecrets.org/pfds/assets.php?year=2013&cid=N99999926)

<comment><USER27> Given the scope of their work it seems odd they wouldn't be required to put their money in a blind trust. At least as a matter of good taste.

<comment><USER28> A SCOTUS appointment is for life. How long should they keep things in a blind trust?

It's common for politicians to keep assets in a blind trust only while they are in office.

<comment><USER29> As long as they serve as judges? Why should SCOTUS judges engage in stock picking?

<comment><USER30> Why would they be expected to not participate in the economy?

</comment></comment></comment></comment></comment></comment><comment><USER31> Another reason to dislike Oracle.

</comment><comment><USER32> The Oracle v. Google copyright case hinged on two things. The first was about the copyrightability of APIs (in legal jargon, "structure, sequence and organization"). The second was a function called rangeCheck, which was:

        private static void rangeCheck(int arrayLen, int fromIndex, int toIndex {
            if (fromIndex > toIndex)
                throw new IllegalArgumentException("fromIndex(" + fromIndex +
                    ") > toIndex(" + toIndex+")");
            if (fromIndex < 0)
                throw new ArrayIndexOutOfBoundsException(fromIndex);
            if (toIndex > arrayLen)
                throw new ArrayIndexOutOfBoundsException(toIndex);
        }

The function is obviously trivial, is something which could be pretty easily recalled exactly from memory, and could be easily recreated by accident; given the constraints on what it's supposed to do, there aren't many degrees of freedom. At the district court level, Judge Alsup ruled that copying of this function was "de minimis". At the Federal Circuit level, Justices O'Malley, Plager and Taranto overturned this part of the district court ruling ([https://www.docketalarm.com/cases/US_Court_of_Appeals_Federa...](https://www.docketalarm.com/cases/US_Court_of_Appeals_Federal_Circuit/13-1021/Oracle_America_Inc._v._Google_Inc./Order-05-09-14/)).

On the issue of "structure, sequence, and organization", Google copied the class and method names from Java, so that their reimplementation of Java, Dalvik, would be interoperable with existing Java programs and Java programmers' habits. Judge Alsup ruled that is a "command structure, a system or method of operation" and not copyrightable 17 USC 102(b) ([https://www.law.cornell.edu/uscode/text/17/102](https://www.law.cornell.edu/uscode/text/17/102)) ([http://www.groklaw.net/pdf3/OraGoogle-1202.pdf](http://www.groklaw.net/pdf3/OraGoogle-1202.pdf)). This, too, was overturned by the district court.

There is a fairly key difference here between Judge Alsup and the District judges. Part-way through the trial, Alsup revealed that he has actually programmed; that he understood what was going on, and would not be easily fooled. At the time, this being revealed was a dramatic event.

The District judges, however, hold no such distinction. It is no surprise, then, that it was them, and not Alsup, who made a ruling that to actual programmers is prima facie unreasonable and dangerous. They are outsiders. If you read their opinion ([https://www.docketalarm.com/cases/US_Court_of_Appeals_Federa...](https://www.docketalarm.com/cases/US_Court_of_Appeals_Federal_Circuit/13-1021/ORACLE_AMERICA_INC._v._GOOGLE_INC./Order-05-09-14/)) you can see little errors in terminology creep in to reveal their lack of background and understanding. And, lacking that understanding, I don't see how they can be seen as having moral authority. They only have legal authority, and the ability to do damage with it.

<comment><USER4> Were any expert witnesses called?

<comment><USER33> Yes, on each side

</comment></comment></comment><comment><USER32> The title here is wrong; it's Oracle v. Google, not Google v. Oracle. The plaintiff's name always goes first.

(EDIT: This was incorrect; the original case was Oracle v Google but the appeal is the reverse.)

<comment><USER34> "In certain appellate situations, where the old form of petition for review is prescribed, the name of the petitioner -- the party seeking review -- goes first, whether the petitioner is plaintiff or defendant.

Thus in the familiar "certiorari" ... where the Court is responding to the request of the party seeking review."

Source:

[https://books.google.com/books?id=lLHBCQAAQBAJ&pg=PT70&lpg=P...](https://books.google.com/books?id=lLHBCQAAQBAJ&pg=PT70&lpg=PT70&dq=plaintiff+name+first+certiorari&source=bl&ots=z_JP_KI6dG&sig=lENZjd_IE3cuJE9UJXwOXrF8xDM&hl=en&sa=X&ei=ImWRVc7KJMLhuQT --IMg&redir_esc=y#v=onepage&q=plaintiff%20name%20first%20certiorari&f=false)</comment></comment>


SCALE 8x: Eric Hammond on Deploying Linux on EC2 - <AUTHOR> http://www.thebitsource.com/tech-conferences/scale-8x-eric-hammond-deploying-linux-ec2/ <comment><USER2> Actual link: [http://www.socallinuxexpo.org/scale8x/blog/eric-hammond- depl...](http://www.socallinuxexpo.org/scale8x/blog/eric-hammond-deploying- linux-ec2)</comment>


Grepsr for Chrome – a super easy data extraction tool - <AUTHOR> https://www.grepsr.com/chrome-extension/ <comment><AUTHOR> For everyone who's missed Kimono, I hope this helps! Looking for feedbacks please.

</comment><comment><USER2> simply the best for scrapping</comment>


Why a Google Browser? - <AUTHOR> http://www.marketwatch.com/news/story/why-google-browser/story.aspx?guid={7EEC2F03-A7B7-42CC-AD1B-3B1B21AD3257}

<comment><USER2> An uninformed, pointless article.

Sure, the existence of chrome will increase web developers testing workload, but the html rendering is just like Safari because of the use of webkit. He treats it like a new html rendering engine, which is just wrong.

He doesn't even mention the gauntlet that it throws down with Javascript performance, and the challenge that this brings to Microsoft's silverlight (for instance). The new javascript engine is where the web dev testing may be needed.

But his main and lengthiest mistake is with regards the EULA, which he seems to take as evidence of google being evil. Did he honestly think that google would try to cliam ownership of blog posts (or books) written via google chrome? Like that was going to ever fly, with users, courts, or sane Google executives.

It looks very much as if Google was not "trying to pull a stunt" with the EULA.

Google made a cut-and-paste error. It was a bug. Google chrome is a beta. B-E- T-A. It has bugs, and they get spotted. That's what betas are for. if you run around flapping your arms screaming and shouting that the beta has bugs in it, then you are doing it wrong.

<comment><USER3> _Sure, the existence of chrome will increase web developers testing workload..._

I doubt it. Chrome doesn't have to displace too many IE users before it becomes a net win. If it accelerates the obsolescence of IE by a single fortnight, I'll gain fourteen days of happiness.

I have a site that I'm working on that uses a bunch of Javascript. I just made the mistake of loading it in IE7 first thing in the morning, which has pretty much ensured that the rest of my day will be stressful and miserable. There's a page on there that loads in a couple of seconds in Safari, and a couple of seconds in Firefox (provided you keep Firebug off) but which takes -- I kid you not -- twenty seconds in IE7, for god knows what reason. You can practically hear the hamsters spinning around in their rusty little wheels.

Your post inspired me to install Chrome. In Chrome, the JS initializes faster than I can see. It brings tears to my eyes.

I am still going to spend _orders of magnitude_ more time testing sites in IE than in Chrome. That's partly because I will literally spend an order of magnitude more time waiting for my JS to initialize. Then, when I look for bloat and bugs in IE, I will _always find them_ , and they take _forever_ to work around, and that work has to be done by a coder.

<comment><USER2> A good point, well made.

My opinion is that I don't think that IE will disappear. But chrome may make IE6 disappear earlier.

The increased competition from Firefox and now Chrome will (already is, to an extent) force Microsoft to improve rendering standards, and javascript speed. Which may make your life easier.

</comment></comment></comment><comment><USER4> Terrible article. Dvorak is a page view merchant, though he does occasionally stumble across something good.

I'm totally of the opinion that Chrome is there to make IE8 look bad, and hopefully chivvy Microsoft towards a more standards embracing outcome.

We should all remember that Bill Gates strongly drove proprietary standards to ensure that most generated content was best supported and viewed by MS applications.

</comment><comment><USER5> Dvorak has always been a pessimistic, glass is half empty commentator on technology. 99% of the time he's wrong.

</comment><comment><USER6> "1.It's a step toward developing a browser that could eventually be incorporated into a Google operating system"

I'd say that browsers have become operating systems in their own merit, at least the part of the OS that's relevant: the client-side GUI. The rest is hardware and config tools. Offering a complete browser as BSD is like offering a multiplatform GUI toolkit for all programmers out there. If I'm not mistaken, it's being realeased for Windows only, but the rest of platforms are expected soon.

Mozilla's Gecko has some rough edges, like C++-centric interface. If Chrome solves that, it could became a platform in itself very quickly.

</comment><comment><USER7> That was actually a very good op-ed. I went through and read some more of this guy's stuff and he takes a very interesting curve ball attack when it comes to reporting on tech, as opposed to his other journalist colleagues.

And he brought up some very good points on why Google might have made a browser. Maybe they just did it to be doing it, I don't think anyone has come out and been so boldly colloquial in their thinking about the matter.

Is it left field? Yes. Is it a bit naive? Just a tad. Is it relevant? Completely.

This guy underscores everything that needs to happen in tech journalism and he proved that when suggested that Google Chrome was created just because Google wanted to make a browser, and plant their claws deeper into the desktop application scene.

Great job.</comment>


Help us promote the stardup that plant trees - <AUTHOR> http://www.flybarbara.com <comment><AUTHOR> FlyBarbara.com is the first flight search engine where you plant a tree by buying tickets. For each ticket, you can see the number of trees you plant. We cooperate with international organizations where we transmit money transparently.</comment>


Ask HN: How can we find a graphics artist to make mobile games with us? - <AUTHOR>

Another dev friend and I have been making mobile apps for the past year. We turn them out pretty quick. However we end up making social/utility apps because we lack the skills to draw. We want to make games but are struggling finding a gfx artist that can draw characters/creatures. We do this mostly for fun but would be nice to make a profit. We are trying to find someone in the NY/NJ area. Would like to find someone to just do work with us vs paying a 1 off.<p>Anyone have any suggestions? We are both devs and want to split everything we make evenly with the team. <comment><USER2> <http://dribbble.com>

The best graphic designers are on there.</comment>


Gradient Boosting Explained in 3D - <AUTHOR> https://arogozhnikov.github.io/2016/06/24/gradient_boosting_explained.html <comment><USER2> I hate to be a curmudgeon but is machine learning really necessary for a wavelet decompose?

Can anyone give an example where this enables you do to things that couldn't be done better with other techniques?

<comment><USER3> Can wavelet decompose be trained for classification of feature vectors with many dimensions?

<comment><USER2> Yes that is what they are for. In this case you probably don't even really need wavelets and you can just use a Fourier transform

<comment><USER3> Fourier transform is not a classification mechanism. You can transform something into frequency domain, but that doesn't inform you which frequencies are most relevant in classifying samples.

</comment></comment></comment></comment><comment><USER4> Note that chart appears to not work on iOS, as Plot.ly is erroneously snowing a "Webgl not supported" message (which is an error on their end, as the official website for the library shows the same issue. Issue on GitHub: [https://github.com/plotly/plotly.js/issues/280](https://github.com/plotly/plotly.js/issues/280))

That's a shame, as their API is pretty good, as this demo illustrates.

<comment><USER5> +1ed the issue. I was sure that's a problem on Safari side.

</comment></comment><comment><USER6> I really need to play with the 3d canvas context API...

<comment><USER7> Starting point [https://webglfundamentals.org/](https://webglfundamentals.org/)

Most popular library: [http://threejs.org/](http://threejs.org/)

Don't miss [https://acko.net/blog/mathbox2/](https://acko.net/blog/mathbox2/) and [https://aframe.io/](https://aframe.io/)

<comment><USER6> Thanks!

</comment></comment></comment><comment><USER8> I haven't read much on gradient boosting, so questions:

1\. Where is the gradient? This explanation makes it sound like a straight Generalized Additive Model.

2\. In fact, the explanation makes it sounds worse than random forests. Wouldn't it quickly overfit? Where does the boosting come into play?

<comment><USER9> These helpful, well-written slides help explain where the "gradient" comes into "Gradient Boosting":

[http://www.ccs.neu.edu/home/vip/teach/MLcourse/4_boosting/sl...](http://www.ccs.neu.edu/home/vip/teach/MLcourse/4_boosting/slides/gradient_boosting.pdf)

The gist of it is: when you add a new decision tree that fits to the residual error, this new tree is fitting to the negative gradient of the loss function (ie training error). Thus, adding the new decision tree to your existing ensemble takes a gradient-descent step that seeks to minimize the loss function (ie training error).

Boosting comes in because the model is combining several weak learners/models (individual trees) into a strong learner (ensemble of trees). Each individual tree breaks up the input space into piecewise-constant regions that best approximate the target function. This representation will incur some error - thus, a new tree is fit to minimize the error over the entire input space, ie by breaking up the input space into piecewise-constant regions, etc.

So, it's boosting not in the traditional Adaboost sense: where the final model is a linear combination of "dumb" classifiers. Instead, I'd liken it more to a cascade method: each tree T_{n} seeks to fix the errors from the previous tree T_{n-1}: [https://en.wikipedia.org/wiki/Cascading_classifiers](https://en.wikipedia.org/wiki/Cascading_classifiers)

There's actually a cool facial landmark detector that uses this same cascading idea to train an extremely fast (and quite accurate) system. In essence, they use a cascade of random forests (in a gradient-boosting framework) to detect landmarks. The dlib library has a great implementation, along with a pretrained model. I've used it in my research, and while not perfect, have been satisfied with its results: [http://blog.dlib.net/2014/08/real-time-face- pose-estimation....](http://blog.dlib.net/2014/08/real-time-face-pose- estimation.html)

[http://www.cv- foundation.org/openaccess/content_cvpr_2014/pa...](http://www.cv- foundation.org/openaccess/content_cvpr_2014/papers/Kazemi_One_Millisecond_Face_2014_CVPR_paper.pdf)

<comment><USER8> Those slides were very helpful, thank you.</comment></comment></comment>


FaceApp Responds to Privacy Concerns - <AUTHOR> https://techcrunch.com/2019/07/17/faceapp-responds-to-privacy-concerns/ <comment><USER2> And somehow I still don't believe it... It's all the same with popular Russian apps. Just recently there were talks about issues with Yandex taxi and before that - Revolut. I feel like that "no user data is transferred to Russia" is complete bullshit. Russia's laws are really strict to all companies related to Russia in any way, so the fact that their R&D is based in Russia tells me everything I would care to know..</comment>


Ask HN: How do you feel about companies outsourcing without clients knowing? - <AUTHOR> I work for a small company doing creative work. At times, when a low budget project comes in for example, we send the whole thing away to be done by a cheaper outsource vendor without telling the client, pass the work off as our own and cream off the thin profit that remains. Management would say we're still manageing the whole thing and involved in the process.
I'm not sure ethically I can really support this any longer, but then again I understand it's a tough world out there and we're just a small company trying to stay alive out here.
How do you feel about outsourcing whether it's just some bits of work or entire projects. <comment><USER2> Honestly, this is something you shouldn't even spend time thinking about. As icedchai already pointed out, it's "completely normal" and I'll add it's also ethical.

Instead of fretting about the ethics of who gets credit you might consider how you could work this to your advantage, because it could be you can.

I've subcontracted work most all my life and still do. It's allowed me to work from home wherever I wanted home to be, and work whatever hours I want.

And here's a few things to consider... I don't care if I get "credit". I only care if I get paid or not. If I make my clients look good they keep sending me work. I don't care how much they charge.

Because I'm pretty good at what I do I can bill what I want. A job that might take other's over a month I might be able to do in a week and bill for the month. I can do this because I have a lot of boilerplate code and know what tools to use for the job.

If I have neither of those I can factor in the time needed to find and learn how to use the tools I need and bid a fair rate for that. In that case I get paid to learn.

The tricks to making that work are being good at what you do, being honest about what you do not know, and having a solid understanding of what it takes to learn what you don't know.

One last thing... ultimately the company you subcontract from is on the hook to deliver the product. That is their main responsibility. If you blow it they still have to deliver it.

That's why they get paid the "big bucks" and get all the credit.

</comment><comment><USER3> Some points to raise with your management and sorry for you.

>I'm not sure ethically

Better be sure legally.

1\. Is the risk worth company reputation ?

2\. The client is buying 'company' if nothing else there, client will be 'frustrated' for cheating them. How hard is to build new relations ? Does it cost more than the profit from the project ?

3\. The 'company' is at mercy of vendor for not showcasing the work done.

<comment><AUTHOR> Legally there are tax credits in the mix here, I purposefully stay the hell away from that side of things for reasons like this.

1\. To management, I would say almost certainly. The first question that is asked these days when new work comes in is not "how do we make this awesome" it's "how much of this can be outsourced".

2\. I'm not sure our clients would care to be honest. They probably are happy the project is just being managed and completed on time - who cares who actually does the work :(

</comment></comment><comment><USER4> This seems completely normal. Every small agency I know does this.

<comment><AUTHOR> I think you're probably right.</comment></comment>


As Women Take Over a Male-Dominated Field, the Pay Drops - <AUTHOR> http://www.nytimes.com/2016/03/20/upshot/as-women-take-over-a-male-dominated-field-the-pay-drops.html <comment><USER2> When women take over, does it grow the number of people in the field? If so, does pay drop because there are more people willing to do the same work?</comment>


An idea from physics helps AI see in higher dimensions - <AUTHOR> https://www.quantamagazine.org/an-idea-from-physics-helps-ai-see-in-higher-dimensions-20200109/ <comment><USER2> Pretty amazing work -- a couple of thoughts:

1) The article doesn't say this, but dimensions don't _always_ have to do with locations in space and time, you can treat any value that can continuously vary as a dimension -- for example, a person might have dimensions for personality type, age, hair color, etc, etc.. Seems like they could use this technique to better train CNNs to recognize patterns in a lot of data besides imagery -- fraud detection based on credit card transactions, for example. 2) There are a lot of local and global symmetries in physics -- i wonder what new capabilities adding them to a CNN would enable?

<comment><USER3> The article is talking specifically about performing convolutions on higher dimensional manifolds. This is different from the more broad concept of data dimensionality typically associated with AI/ML.

Without repeating the article too much, this is important because it can be used to learn very complex systems from a series of lower dimensional projections. Such as, creating a 3d map of a dog from a collection of 2d images of dogs. The resulting system can better detect a dog in a position it's never seen because the CNN has built into it the relationship between 3d space and the 2d representation of that space.

<comment><USER2> This is a serious question because I don't know: what's the difference between high dimensional data and high dimensional manifolds?

<comment><USER3> Disclaimer: This is reaching the limits of my math abilities.

The differences comes in the fact that higher dimensional tuples may contain data that is independent of other fields. Say, if you have a tuple that's: (name, dob, address,) and you have a projection function that accepts such a 3-tuple and returns a 2-tuple of (name, dob,). For that function, the address dimension has no relationship at all to the other fields, meaning, that there is not unproject function that a person could create such that 3_tuple == unproject(project(3_tuple)).

With manifolds, the higher dimensions can have a relationship with lower dimensional data, and such a relationship can be encoded into a function. What the research appear to have designed is a system that, given a priori knowledge of task and enough n-tuples for learning, can produce and approximation of such an unproject function.

Thus, after learning, they have a system where, unproject(project(n_tuple)) ~= n+1_tuple. Because they were able to inform the learning system about the nature of the relationship between the two dimensions.

<comment><USER4> s/tuple/coordinate

</comment></comment></comment></comment></comment><comment><USER5> Excerpt:

"Now, researchers have delivered, with a new theoretical framework for building neural networks that can learn patterns on any kind of geometric surface. These _"gauge-equivariant convolutional neural networks," or gauge CNNs_ , developed at the University of Amsterdam and Qualcomm AI Research by Taco Cohen, Maurice Weiler, Berkay Kicanaoglu and Max Welling, can detect patterns not only in 2D arrays of pixels, but also on spheres and asymmetrically curved objects. "This framework is a fairly definitive answer to this problem of deep learning on curved surfaces," Welling said."

</comment><comment><USER6> Can someone explain to me why advances in actual model performance come from using analogies from physics when there are papers that supposedly provide a mathematical explanation of convolution?

"A Mathematical Theory of Deep ConvolutionalNeural Networks for Feature Extraction":

[https://arxiv.org/pdf/1512.06293.pdf](https://arxiv.org/pdf/1512.06293.pdf)

"Understanding Convolutional Neural Networks with A Mathematical Model":

[https://arxiv.org/pdf/1609.04112.pdf](https://arxiv.org/pdf/1609.04112.pdf)

<comment><USER7> Because it's not a standard convolutional net by the description. The difference is:

A) Studying an existing technique with math.

B) Coming up with a new technique.

You could get a modern engineering consultancy to review your steam engine, but it would still be a steam engine.

</comment></comment><comment><USER8> Is multidimensional AI the new 2020 buzzword?

<comment><USER9> I sure hope so. Telling people I build multidimensional data structures for a living has only yielded glazed-over eyes thus far.

<comment><USER10> \- I'm a developer.

\- Huh ?

\- I build websites _types on an air keyboard_.

<comment><USER11> "Developer" is a word that requires some context. A stranger might not know if you worked in construction or on computers.

<comment> toper-centage On a professional context I'll say I'm a software developer. If I want to brag a bit I'll say I'm a software engineer. If I'm with friends I'll say I'm a programmer. If I'm with family or older people I'll dip my toes with "I work with computers" and maybe further explain if prompted.

<comment><USER12> I just say Software Engineer its what my employer calls me and resolves what I want to call myself.

<comment><USER13> This is much more entertaining when you have family who are PEs and their eye twitches every time.

<comment><USER12> Which is funny because there's also backlash against Computer Science that it is not in fact a science, which is why they added math courses to some degrees, at least here in Florida. I think Computer Programming is just probably best described as Computer Programming but I do like saying Software Engineer every time someone asks just because it sounds good enough to me. Until they standardize our title into one single thing, I'll just go by SE.

<comment><USER14> Funny, where I come from the earliest computer science departments at universities where basically joint ventures of the maths and electric engineering departments. Consequently they were quite maths heavy, and it shows to this day.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> This is super cool and I'm pretty sure this is basically topology. The article was pretty hard to read though. It reminds me a little bit of the [https://en.m.wikipedia.org/wiki/Hairy_ball_theorem](https://en.m.wikipedia.org/wiki/Hairy_ball_theorem)

<comment><USER16> Not really topology, it's more like group theory, and representations.

Ordinary convnets are a way of building in translational symmetry, which is the group R^2 (in the plane). The work being described extends this to larger symmetry groups, such as rotations of a molecule in 3D (which is SO(3)).

For either of these, you can work in Fourier space instead of real space, where convolutions become products. For ordinary convnets means ordinary FFT, but nobody does that as translating to neighbouring pixels is simple enough. Rotations aren't so simple, and so working in Fourier space can be an efficient way to do things. And the connection to physics is really just that the representation theory of SO(3) is a bread-and-butter exercise there, the basis of atomic theory.

</comment></comment><comment><USER17> What happens if there are multiple 3D or 4D objects? Do we then need an attention mechanism as well? Or is there some topology where a "where vs what" pathway emerges naturally?

<comment><USER18> Isn't a 3D object basically a 4D's object surface?

</comment></comment><comment><USER19> Is this very different from a graph convolutional network (GCN)? Seems like a GCN would have a lot of the same equivariabne properties (i.e. orientation, units of measure, etc)?

</comment><comment><USER20> _I_ would like to have a VR experience in higher dimensions. It should not be completely impossible to build some kind of actuators that I can somehow attach to my body to sense my orientation and acceleration in fourth dimension.

<comment><USER21> May I recommend 4D Toys? It's made by the same guy who's developing Miegakure and it has a VR version. The controls are a bit limited though in that user- initiated rotations are limited to 3D.

<comment><USER20> I thought that is me being stuck in 3d and the toys around me moving in 4d? As I would like to move myself in 4d...

<comment><USER22> There's a slider to move yourself in the extra dimension.

</comment></comment></comment></comment><comment><USER23> Something that could go by the same title is the use of tensor networks for ML. I think it works like a pre-optimization step by dimension reduction of the solution space, but if someone could give the right intuitive explanation I'd be much obliged.

It seems to be a way to lessen inductive bias by making decisions about available ML algos. That is, it vastly increases the solution space but remains effective by omitting unlikely solutions.

</comment><comment><USER24> This is a really interesting application of differential geometry in machine learning! And the allusion at the end to having the system eventually learn the symmetries of the system and make sure of that is really interesting. All the examples they gave were very physical, like climate models, but I imagine you could find symmetries in much more abstract problems that may not be intuitive.

</comment><comment><USER25> Related G-CNN video: [https://youtu.be/wZWn7Hm8osA](https://youtu.be/wZWn7Hm8osA)

</comment><comment><USER26> Hype pipeline: 1) Take a banal feature engineering work. 2) Add Albert Einstein reference. 3) Profit.

</comment><comment><USER27> One of the strangest things in AI, to me, is that you can average the weights of multiple different models to create a single model that's better than any of the individuals.

This is how distributed training often works, for example. Data parallelism.

I don't understand why it still works in higher dimensions, but it seems to.

The intuition is that the multiple models are "spinning" around the true solution, so averaging gives the final result more quickly. But it works even early in the training process.

<comment><USER28> When we use data parallelism, we're summing/averaging the gradients induced by different parts of the data, not the weights of the model itself. When using multiple models for ensemble methods, we're summing/averaging the output of the models for a sample. We're not summing/averaging the weights of the models themselves. While averaging the weights of several models might work on a given problem, it definitely doesn't work in general.

w2 _tanh(w1_ x) = -1 _w2_ tanh(-w1*x)

But if you average the weights in those two equivalent models you get 0.

If you're talking about asynchronous data parallelism, then there can be some averaging of weights, but they all start with the same weights and are re- synched often enough that weights are never too different to break it.

<comment><USER27> [https://www.docdroid.net/faDq8Bu/swarm- training-v01a.pdf](https://www.docdroid.net/faDq8Bu/swarm-training-v01a.pdf)

We average the weights themselves, and the efficiency seems to be similar to gradient gathering.

It's also averaging in slices, not the full model. There's never a full resync.

SWA is the theoretical basis for why it works, I think.

Another way of thinking about it: If the gradients can be averaged, then so can the weights.

<comment><USER29> If you are averaging weights often enough, then it's basically the same as averaging gradients. If you average the weights of a bunch of independently- trained models, you're going to have a rough time. Even if the function computes the exact same thing, the order of rows and columns in the intermediate matrices will totally ruin your averaging strategy.

</comment></comment></comment></comment><comment><USER30> This article is all over the place with almost no substance. It starts talking about Einstein's theory of relativity, it says this definitively solves curved data and gives almost no insight into what is actually different. It is so bad it makes me want to avoid this site all together.

<comment><USER31> The article includes multiple links to the related underlying research papers, for people who need more substance.

<comment><USER30> My point is that the article is worse than just having a link to the paper. It just says it might lead to cures for diseases, better self driving cars and lots of other abstract sensational nonsense. It could be used as a template and any new machine learning paper could just be linked to it.

</comment></comment></comment><comment><USER32> I thought quantamagazine was above publishing click-bait, but I guess not.

Neural networks already see in "higher dimensions" (whatever that means). Anyone who's ever used neural networks already knows each neuron's branch (i.e. dendrite) of an N-sized vector can already be though of as a "dimension" of a data set. CNN (convolutions) flatten that data (reduce it or seeing the same pattern over less "dendrites", much like PCA, etc.).

CNNs only make sense when working with image data anyways.

<comment><USER33> > CNNs only make sense when working with image data anyways

Not true, N-dimensional convnets, 1-d convnets (for NLP and time series analysis), spatially sparse convnets, graph and non-Euclidean space convnets, ... exist and are used.

CNNs are akin to multiscale wavelet transforms. They can be applied on different spaces (just as graph wavelet transforms exist).

</comment></comment><comment><USER34> Wow this is actually fairly close to my prediction for the HN Next Decade Prediction post.

Edit: I should say it is a big step in the direction of my prediction.

<comment><USER31> What prediction, what post?

<comment><USER34> Post: Ask HN: A New Decade. Any Predictions?

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

<comment><USER35> yeah, which comment?

<comment><USER36> I think OP realized that linking the comment will reveal their real HN account name lol.

<comment><USER34> Nope, I just didn't realize linking to the post wasn't enough to find my comment.

Figured once there it would be pretty trivial to search for my name.

anyway linked above you, so know you have something else to lol about

<comment><USER36> With "throwaway" as the prefix to your account name, it should be fair to assume that's not your main account... Also, I don't really see how your prediction has anything to do with gauge theory applied to CNN, unless I'm missing something much deeper here?</comment></comment></comment></comment></comment></comment></comment>


The Dark Side of the Orgasmic Meditation Company - <AUTHOR> https://www.bloomberg.com/news/features/2018-06-18/the-dark-side-of-onetaste-the-orgasmic-meditation-company <comment><USER2> > It's best known for classes on "orgasmic meditation," a trademarked > procedure that typically involves a man using a gloved, lubricated fingertip > to stroke a woman's clitoris for 15 minutes

Who would have thought that a company that offers this could have a dark side?

<comment><USER3> The company might have plenty dark sides, but what's described above is only "dark" in puritan sex-phobic cultures...

<comment><USER4> You may want to consider the idea that traditional, conservative attitudes toward sex exist in part specifically to prevent the kind of coercive bullshit that inevitable arises in "free love" environments.

<comment><USER3> Because "conservative attitudes toward sex" don't produce "coercive bullshit" (and foster all kinds of sex related obsessions and psychosis, including rape).

<comment><USER4> I was responding to somebody taking a dismissive view of conservative attitudes to sexuality by pointing out that there are probably some positives to those attitudes, including that they are pretty effective at preventing the kind of heinous stuff that happened at the cult in the article. That's it. I did not make a general statement about conservative attitudes toward sex and I actually agree that there are issues.

</comment></comment></comment></comment></comment><comment><USER5> A few years ago I went to a one-day seminar with OM. It irritated the hell out of me. 90% of it was them talking about how much the 'practice' changed their lives. Then they went around the room and asked each member to talk about how excited they were to start. If you didn't, they put you on the spot and embarrassed you. I left halfway through after demanding my money back.

<comment><USER6> Did they end up giving you your money back?

<comment><USER5> They did. At first they said that it would be processed but I told them that's not good enough and made them process it right there.

</comment></comment></comment><comment><USER7> As an SF native, and finding cults to be interesting, I dipped my toes in OM a couple of times.

Nicole Daedone is the founder.. but follow the links to Viktor Baranco, if you want to know more.

They used to run this "dorm" at 1080 Folsom in SF; but eventually got out of that business.

I remember once I was at one of their presentations. At the end of the presentation, men and women were paired up for a round of stroking. Of course, men outnumbered the women. So one of the organizers called up the dorm at 1080 Folsom (which was right around the corner) and told them to "send more women". And soon, a bunch of women showed up, ready to be stroked...

Once they had my number, they'd call me endlessly, selling some "retreat" or the other, for $$$. No thanks!

I've lost touch with them over the last couple of years, but it's a sex- addiction cult, if I were to label it.

</comment><comment><USER8> "At OneTaste events, attendees often played communication games prompting them to share vulnerable stories. Former staffers say they took notes that might help them sell later—maybe a student was recently divorced and lonely—and senior staff assigned subordinates to home in on wealthy students who seemed attracted to them or had experiences in common."

Eww.

</comment><comment><USER9> Of course it's a disaster, it's a for-profit sex cult. It even tells you that in the name.

</comment><comment><USER10> > The company has hired executives and advisers who worked at CrossFit and the > juice maker Odwalla, and OM has won endorsements from Khloé Kardashian and > Tim Ferriss (The 4-Hour Body).

I am freaking out that such a dangerous cult could be so promoted and entrenched in the "influencer culture".

<comment><USER11> Reading the article, it feels like OT pulled directly from the $cientology playbook.

</comment></comment><comment><USER12> I've got a friend who works for these guys. It's always felt a bit off in the way weird hippie sex communes always would. I'd never have guessed it was this culty.

Wow

</comment><comment><USER4> ProTip: Avoid any organization that promotes living arrangements other than monogamous pair bonds residing in their own homes.

Source: extensive reading about cults.

<comment><USER13> I suppose those monogamous pair-bonds should be heterosexual only, too?

Please lay off with the attempt to normalize any but your preferred flavor as deviant and wrong. You don't get to decide what happens in _any bedroom but your own_.

<comment><USER4> You are arguing against stuff I didn't say. I would guess that monogamy works best for most of the people most of the time, but there's tremendous variation in temperament and personality in our species, so do what works for you!

I was making an observation about _organizations_ that promote non-monogamy and communal living. They are almost invariably cults, regardless of how they present themselves to the outside world.

<comment><USER13> Yeah:

>> _The monogamous pair bonds _are_ the coercive bullshit._

> _It 's like Churchill said about democracy: It's the worst system, except > for all the others._

That's totally about coercive organizational dynamics, and not merely moralizing.

<comment><USER4> Again, I am making a statement about what I think is the overall best system (for most people, most of the time; and admitting that it is imperfect while I'm at it!). In no way have I advocated for forcing that system on people.

<comment><USER13> You only get to decide what's the best system _for you_.

But that's not even the point behind my criticizing your approach. People with non-mainstream lifestyles are already more often than not marginalized, sometimes _to death_. Please don't make that worse for them. You have _no idea_ how alienating it can be to have something as closely tied to one's identity as one's sexuality generally is hand-waved about by people whose words carry clear disapproval.

If you did have an inkling of what that kind of Othering felt like, I don't think you'd talk that way so casually, or without qualification.

<comment><USER4> I'm bailing on this thread, but my accounting of what happened here is that you repeatedly mischaracterized my position (even accusing me of homophobia, which is incredibly insulting, btw), while I calmly re-iterated my position. Given that, I don't really see the need to change what I'm doing.

<comment><USER13> I did not accuse you of homophobia, though that is a legitimate read of my comment, as phrased. I took your position of normalizing "traditional" human sexual dynamics and pointed out (in a manner admittedly somewhat motivated by, "Oh, god. Not this shit again...") the slippery slope you're treading.

If you feel I mischaracterized your point, I apologize. It was not my intent. I just have entirely too many queer and non-mainstream friends whose lives have been terribly adversely affected by other people telling them the myriad ways they're wrong, not to be a little reactive to it.

Your overall point isn't wrong. How you phrased it (and how I phrased my response) could have been done in a way that was more cognizant of how broad the brush you're swinging might seem to people getting splattered as you swing it.

Is that an unreasonable ask?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> I'll bet the Landmark Forum folks are thinking: _Damn. I wish I 'd thought of that._

</comment><comment><USER15> OT: I really expected Bloomberg to do better than NYT and others regarding their subscription service. How is it, that I would have to contact them to cancel my subscription? What is so hard about a simple cancel button. Also their pricing is way out of line. The introductory offer is $9.99 (which is just in the Netflix range and about right for a single service) but after 6 Months I'd have to pay $35? It needs more than one subscription to a news site to get a pluralistic world view and this high pricing works straight against that.

<comment><USER16> Try this: [https://outline.com/https://www.bloomberg.com/news/features/...](https://outline.com/https://www.bloomberg.com/news/features/2018-06-18/the- dark-side-of-onetaste-the-orgasmic-meditation-company)

</comment></comment><comment><USER17> Sounds like all dark side to me</comment>


Stanford Degrees in Statistics - <AUTHOR> https://docs.google.com/spreadsheets/d/1d_MNmIGY7yzrpnStnZqzzYUJc6znWUysfaVTKOvSQSk/edit?usp=sharing <comment><USER2> I'm still amused/saddened by how little theoretical work you need to do at Stanford to get a statistics BS (they call it Mathematical & Computational Science). I get it: you don't need a rigorous foundation of math to be useful as a workaday "data scientist". That said, university is probably the _last_ time you get to indulge/immerse yourself in deep, rigorous, mathematical thinking. Not requiring students to take theoretical courses is such a pity.

In hindsight, I am glad that I studied math at Stanford (also I ended up doing something completely different: marketing). It pushed me to think deeply and patiently about a problem at length and taught me how to mix intuition with analytic rigor.

I believe it was Paul Graham who said that math was one of the better subjects to pursue in school because it's one of the most difficult. I kind of agree with pg on this one: I was nowhere near the top of my math classes, but whenever I took theoretical CS or stats classes, I found them shockingly easy and did well with much less effort.

<comment><USER3> I'm currently doing my undergrad in math at a Canadian University, I'm interested in pursuing graduate school at Stanford in the future and would love to talk to you more about your experience and what they would expect, let me know if there's anyway I could contact you.

<comment><USER4> Not him but in general you need tier 1 publications, recommendation letters, a strong statement of purpose (very clear idea of what you want to do research in) and faculty fit. GRE scores are generally used as a filter. They won't get you in, but they will keep you out.

<comment><USER5> Forgive my ignorance, but how many undergrads have actually published a paper? I'm not saying it's impossible, but I was under the impression that this is something that happens once you get in to grad school, not before.

<comment><USER6> More than you might think, especially at tier 1 universities with funded undergraduate research opportunities[1]. You don't have to be first author to be published.

[1] [https://members.cur.org/members_online/members/directory_lis...](https://members.cur.org/members_online/members/directory_list.asp)

<comment><USER7> How helpful is just being named on the paper? I've been working on a project for a year that just had its submission, not sure if I should try for good grad schools though or just target industry (Big4+Unicorn) instead.

<comment><USER8> Grad school, if your ultimate goal is not academia, will most likely be an irresponsible use of your time.

<comment><USER6> Care to qualify that?

Surely any irresponsible use of time is a personal deficit, not a graduate curricula's.

From a complexity barrier perspective, consider a career in ASIC design.

From a market saturation perspective, consider a career in any discipline of psychology.

<comment><USER8> I am taking the simplistic view, and looking at the numbers from very simplistic view. Depending on what you expect out of Phd, advancing your knowledge might mean worlds to someone, but you could learn much more practical experience in those 5 years. It's up to someone's opinion.

Let me rephrase and probably further restrict what i mean: \- If you want to work in big four(which was my assumption from Big4+Unicorn piece), you are better of not doing PHD in terms of progress careerwise. here is the reasoning, using some numbers i have seen around: \- Big 4 usually let's you start Level N straight out of school. If you do PHD, they let you start Level N+1. Master's doesn't change anything, you still start Level N. \- Phd takes (approximately) 5 years. \- Promotions take 1-2 years, depending on your ambitions, your manager etc. Assume 1.5 years. \- With the above numbers, instead of 5 years in PHD and start at LN+1, you could easily get to LN+3. If you are ambitious, you could get at least one promo in 1 year, which would put you in 1 year into LN+3, making you close to LN+4.

In all these 5 years, you'll also be banking stock refreshers, people would get to know you well, you could build reputation, and you would have a good chunk of money in the bank.

If you are targeting starting your own company, depending on what it is, phd might help (taking phd topic and making a company out of it is common). However, I believe, you could do much more in those 5 years, and you wouldn't have to go through emotional ride of graduate school as an extra stress.

Again, it all depends on what you want with phd. if your goal is working for FANG, 5 years of your youth is worth more than a phd.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> This is very helpful to me, and I bet to many that want to get into Data Science the right way. A big "thank you" to whoever put this together.

What are we looking here for someone that wants to learn all this while keeping a full-time job? 3 years?

<comment><USER10> A class per 10-12 weeks is a reasonable pace with a full time job. I did a lot of my course work prior to enrolling in graduate school this way. There were a lot of late nights powered by chocolate chip ice cream and the light of my monitor, followed by not-very-productive days at work. Being enrolled helped - in my case through an extension program. Sometimes you need other people to explain things, and sometimes you need to have something to lose - just to keep you going.

<comment><USER11> The fact that you complete it says more about your character than the courses you did. Not everyone has the determination to _finish_ things. I applaud you.

<comment><USER10> Thanks! The classes are done. Hope to finish the PhD within the year.

</comment></comment></comment></comment><comment><USER12> What do the units specified against each course signify? They do not seem to map to the syllabus.

<comment><USER13> [https://statistics.stanford.edu/academics/ms- statistics](https://statistics.stanford.edu/academics/ms-statistics)

> The Department requires that the student take 45 units of work from > offerings in the Department of Statistics or from authorized courses in > other departments. Of these 45 units, eight statistics courses from the list > of required courses must be taken for a letter grade.

<comment><USER12> Thanks for the input!

</comment></comment></comment><comment><USER14> And yet some people still refer to modern day statisticians as "not data scientists"

</comment><comment><USER15> Thanks for this, but is there any way I can download the spreadsheet.

<comment><USER16> Change 'htmlview' to 'view' in the URL to get the full docs UI and then 'File -> Download as'.

</comment></comment><comment><USER17> Huge thank you!

<comment><USER18> Hi and welcome to Hacker News! No need to leave a comment saying thank you, an upvote is more than sufficient :)

In general, unless you have something meaningful to add to the conversation, it's best to refrain from making comments (even if you're comment is a positive cordial one such as the one you posted).

</comment></comment><comment><USER19> Statistics = Science - Mathematics - Science</comment>


Overlearning hyperstabilizes a skill by making processing inhibitory-dominant - <AUTHOR> http://www.nature.com/neuro/journal/vaop/ncurrent/full/nn.4490.html <comment><USER2> Practice doesn't make perfect. Rather, practice makes Permanent - locks it in. And perfect practice makes perfect.

Practicing the wrong way is like having a bad habit. The habit (practice) is bad but it locks in nonetheless.

Perfect Practice

To reach perfection, care has to be taking when practicing to encode things the right way. Good coaches accomplish this by:

1\. Slowing down the action e.g. playing a piano or a violin at a painfully slow rate to make errors more noticeable

2\. Chunking - breaking down the skill into smaller components and practicing these chunks separately. E.g. tearing music notes into pieces and practicing the notes separately

Books: Little Book of Talent, The Talent Code

<comment><USER3> _1\. Slowing down the action e.g. playing a piano or a violin at a painfully slow rate to make errors more noticeable_

You have to be careful with this as well. There are some musicians who do this, but can only play at the practice speed. (So be sure to speed things up, and vary things. You'll have true mastery if you can morph what you've practiced.) It's also good to listen to recordings of yourself and of model musicians as a means of feedback.

 _2\. Chunking - breaking down the skill into smaller components_

Care has to be taken with this as well. I've encountered musicians who have chunked ornaments in traditional music, but have practiced so much, that they consistently replay the ornament at their practice tempo, regardless of the tempo being played at the moment.

Music is a game of continual contextual awareness. There is a powerful analogy with programming here.

<comment><USER4> One of the tricks Ive worked with, is practicing something slow and chunked three times in a row perfectly. If you fail you start over, I.e. you may play it perfectly twice, but third time you fail, you start over.

Then once you do a small chunked section slowly perfectly (say 8 measures), you then try at regular speed until you do it three times perfectly.

Then you try playing two chunks (say 16 measures) the same way, constantly building.

For reference, I had a full ride to multiple universities for my music. So at least for me it worked well this way.

<comment><USER5> 'Chunking down' a piece is pretty much the only way I've managed to learn some harder pieces, at least by my regular-guy standards e.g. Rach Prelude in C sharp minor. That last one was particularly hard as I'm a terrible sight reader, and there's about two pages where you're playing 10 notes every half- beat.

But I think GP has a point about the dangers of this approach (even though it's unavoidable I think). It sometimes results in noticeable 'seams' in an otherwise fluent performance. You can occasionally spot these 'seams' even in performances by world-class concert pianists (though this is rare). I find it weirdly reassuring: no matter how talented you are, those first few days of practising a new piece will always be a tedious grind.

<comment><USER3> _there 's about two pages where you're playing 10 notes every half-beat._

There's a bit of stuff in classical music that strikes me as being there so that musicians can show off their speed. It's one of the things that even the lowest common denominator audience can relate to, so of course this happens!

 _It sometimes results in noticeable 'seams' in an otherwise fluent performance._

The way to avoid seams is to truly make the chunk yours, by being able to morph it in rhythm and time and introducing variation. By the time you can freely do that -- by the time it has become a plaything -- it is truly yours, and you can play it without seams. The problem for me with this and classical music, is that often I really don't care so much for the difficult segments. I'd rather play something beautiful, than something that shows me off.

<comment><USER6> Absolutely! I learned to play a lot of fast runs of sixteenth notes by varying the rhythm. Effective and much more fun than starting slowly ticking up the metronome (although I do a lot of that too).

<comment><USER7> You may want to check out Cortot, who did a series on how to practice Chopin pieces, notably the notorious Etudes. One of the techniques he describes is varying either rhythm or accentuation. I tried especially the latter which works pretty well. But I am a bit unsure whether it is a genuine effect or a consequence that a practice a chunk more often if you do this.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> If you can't get past nature's paywall, and want more detail... [https://news.brown.edu/articles/2017/01/overlearn](https://news.brown.edu/articles/2017/01/overlearn)

tldr:

Task: detect which one of the two successively presented images had a patterned orientation and which depicted just unstructured noise.

A first group practiced the task for eight blocks, waited 30 minutes, and then trained for eight blocks on a new similar task. The next day they were tested on both tasks to assess what they learned. The other group did the same thing, except that they overlearned the first task for 16 blocks of training.

On the next day's tests, the first group performed quite poorly on the first task compared to the pre-test. Meanwhile the overlearning group showed strong performance on the first task, but no significant improvement on the second. Regular learning subjects were vulnerable to interference by the second task (as expected) but overlearners were not.

</comment><comment><USER9> Curious how overlearning influences political beliefs, and if a subject is less likely to alter their belief system based on living in an "echo chamber" and constant re-enforcement of those beliefs.

<comment><USER10> There's growing evidence that political beliefs are linked to self-image more than factual evidence, which is why arguing over the facts of an issue often winds up causing both sides to double-down on what they already believe to be true and generally accomplishes nothing.

<comment><USER11> Source please?

<comment><USER12> I can't speak for his source.

But I have encountered this: I dated a bunch of girls from OKC a couple of years ago. Many of them claimed they were 'Buddhist' on their profiles.

I'm very interested in religion, and thought it was odd so many claimed to be this, when clearly it was not of their 'ethnic origin'.

When I talked to them about it, none of them knew anything about Buddhism beyond 'The Dalai Lama' and a few platitudes. They had never read a full book. Knew next to nothing of Buddhist theology. Never been to a Temple. Had no practices, holidays, knew nothing of the various forms of Buddhism (some of them are pretty hard-core and not what we think of in the West) etc.. So in reality, they 'thought positively of the pop-culture Buddhist image' and what that image meant for themselves, and how it projected onto others. And that's about it - but they were not remotely 'Buddhist' in any tangible way.

My point is people often 'identify with some idea' \- but those ideas, and even their understanding of the more formalized idea, can be essentially fictional - or rather, they are used to 'paint a picture of their self identity', and possibly nothing more.

</comment></comment></comment></comment><comment><USER13> So it sounds like they're saying that overlearning is what takes us from from "oh, huh, I was wrong" on encountering new evidence, to instead saying "no way, the evidence has to be wrong."

<comment><USER14> I think that's way too high level. It seems to me that this paper is discussing learning at the level of memorization or motor skills. I would think that behaviors like egoism can't be reliably connected to something at this level.

<comment><USER13> I wasn't quite trying to communicate egoism; more what the mental process (you could say "subconscious flinch reaction", but that doesn't capture the "physiological-ness" of what's happening) to encountering the kind of contradictory information that the brain "learns" from.

That is, new information that contradicts your knowledge usually triggers focused attention (i.e. NMDA activation) in order to facilitate learning. However, overlearning can make the same information be discounted as irrelevant (i.e. a GABAergic signal of "it's okay, I don't need to figure that out.")

Explaining at a high level exactly what that "it's okay, don't pay attention to that" signal is rationalized as in conscious experience, is a whole different thing.

<comment><USER14> Whether you call it egoism or something else, I still think what you're describing is too high level for this research to be applied to it.

</comment></comment></comment></comment><comment><USER15> Holy shit. It this what over-fit looks like for humans (as compared to neural nets)?

<comment><USER16> Gerd Gigerenzer is the author you want for looking at overfit in human beings. Sworn life enemy of the Kahneman and Tversky collaboration, and vice versa(Kahneman actually put in a few disses in his Nobel prize ceremony aimed pretty much at him...).

</comment></comment><comment><USER17> Is there an free copy of the article not just the abstract?

<comment><USER18> Try using scihub

</comment></comment><comment><USER19> Sci-hub link for the paywalled paper : [http://sci- hub.cc/10.1038/nn.4490](http://sci-hub.cc/10.1038/nn.4490)

</comment><comment><USER20> How then do you forget, after this overlearning already occurred?

EDIT: Someone says "If you can't get past nature's paywall,"

<comment><USER21> Stop practicing wrong, take some time to forget, and start over later.

<comment><USER20> I was actually thinking about veterins returning to civillian life at the time, but maybe you're right.</comment></comment></comment>


Scala Native 0.3.0 released – including new garbage collector (Immix) and more - <AUTHOR> https://github.com/scala-native/scala-native/releases/tag/v0.3.0 <comment><USER2> Author of the project here. I'll be glad to answer any questions about new GC or Scala Native in general.

<comment><USER3> Could scala native be used to compile scalac in the future (if enough of java.* has a clean room implementation)? And could that speed up compile time of scala programs, or is compilation bottlenecked by IO (or other things) which may not be enhanced by scala native?

<comment><USER2> 1\. Probably, but we're not quite there yet. Some required APIs are still missing.

2\. We'll find out soon enough.

<comment><USER3> Thanks for the answer. I'm looking forward to it. Now I wish scala.js would also be able to compile the compiler. Would be a nice benchmark for the language runtimes since the compiler is a non trivial program.

</comment></comment></comment></comment><comment><AUTHOR> The presentation slides about the new gc can be found here: [https://github.com/densh/talks/raw/ebb8f1f4b54bdc6d1a55b962d...](https://github.com/densh/talks/raw/ebb8f1f4b54bdc6d1a55b962d9d5306ec2cc97d4/2017-06-01-fast- startup-and-low-latency.pdf)</comment>


Graphical Linear Algebra – Bringing it all together - <AUTHOR> http://graphicallinearalgebra.net/2015/11/18/24-bringing-it-all-together <comment><USER2> If you're the type of person who read comments first, you might want to access the site via this link:

[http://graphicallinearalgebra.net/2015/04/23/makelele-and- li...](http://graphicallinearalgebra.net/2015/04/23/makelele-and-linear- algebra/)

It's a text book written as a blog and currently features 24 chapters / posts and for some reason the website really wants you to start at the end, instead of the beginning.

The above link is to the introductory post, where they introduce the course as a new way of looking at an under appreciated discipline, that is usually taught in an uninspired and counterintuitive manner, linear algebra.

More interesting is that the website is a call for phd students, and they have research position available, both paid and scholarships.</comment>


Ask HN: Suggestion on a service to manage user, pricing, plans - <AUTHOR> https://www.indiehackers.com/forum/post/-KxWZHkqParqIphQWygq <comment><USER2> There are a few platforms for this sort of thing.

Chargify, Recurly, Chargebee.

I was in the same position as you 4 months ago and was looking for a solution. I looked at a lot of solutions but typically there were two problems. 1) did not have the integration I needed or was not flexible enough that I could build it and 2) they are all quite expensive. The billing is % based billing so if you have even a couple hundred clients the cost is very expensive.

I ended up building a billing system in house which will pay for itself in about 6 months compared to the systems above. The system I built integrates with ezidebit for payments and also supports payments by invoice, and also integrates into our accounting system Xero. I can easily add new payment methods if we need to change in the future. It has items to be able to manage plans and also usage based billing.

If you have any questions, I'm happy to help, feel free to email me firstname.lastname@example.com</comment>


Ask HN: Google Maps not working? - <AUTHOR>

Hi, has anyone experienced any difficulty with Google Maps recently?<p>There is a terrible lag time of 3-5 min upon each zoom-in and even then the map images may not load fully. <comment><USER2> I've been on there in the past ten minutes with no issues. I'm London-based if that's relevant.</comment>


MailButler – Personal Assistant for Apple Mail - <AUTHOR> https://www.mailbutler.io/ <comment><USER2> No argument that this is an upgrade to a fairly lackluster mail client. However, Airmail has all of the features listed here plus a killer iOS client, more 3rd party app integration, real time push notifications for Gmail (in the case if the iOS client vs the terrible default mail app), syncs settings/accounts across all clients AND its blazing fast. All of that for a one time fee vs the monthly pricing scheme here for pro accounts. I made the switch a few years ago and have never looked back.

</comment><comment><USER3> Tons of cool features, and yet not the one I need. Am I the only one who wants my dock icon badge to show the total number of emails in my inbox, not just the number of unread emails? I follow the inbox zero philosophy, and treat my inbox like a todo list. Ugh, anyone have any idea how to hack Apple Mail to do this?

<comment><USER4> Can you not leave emails in your inbox as unread?

<comment><USER5> You can mark them as unread.

</comment></comment></comment><comment><USER6> I suggest reading the privacy policy before using the product, because using it has certain repercussions for the people you send mail to -- it includes a hidden tracker in every mail you send out, and they claim it is the responsibility of the recipient to make sure they do not get tracked.

</comment><comment><USER7> Isn't this a subscription service?

Speaking only for myself, I refuse to use any software on my desktop/laptop that is only available by subscription. If I choose not to make the next months payment, I want to be able to continue to use the software.</comment>


Semantically styling breadcrumbs—What's wrong with »  › / •? - <AUTHOR> http://kumpunen.com/?p=125

<comment><USER2> The blind are blind, not retarded. Sighted people infer the meaning of breadcrumbs from context and blind people can do the same. The ">" symbol didn't start out as being an international breadcrumb sign--it had a different meaning and was adapted to the metaphorically similar purpose of showing the relative size of subsections. There's nothing stopping blind people from making the same inference when they read "Home greater-than Articles greater- than Movie reviews".

If he thinks the blind can't figure out breadcrumbs, he'd probably spit his coffee if he saw one programming.

<comment><USER3> The fact that a shitty user-experience can be overcome is no excuse to go ahead and build it.

<comment><USER4> It's not just that it _can_ be overcome, but it _must_ be overcome. We each must look at these expressions as they are made, and infer what is intended by them -- it may be more awkward for a blind person, but understanding "greater than" is not fundamentally different from seeing > and inferring the meaning (though you'll lack the visual queue of an arrow-like symbol).

The article doesn't actually point to any better user experience, it just imagines one might be possible as a screen reader might be able to use his notion of "semantically correct markup" better than Google's -- even though Google is one of the only serious implementations paying attention to specifically breadcrumb-related markup.

</comment></comment></comment><comment><USER5> On a tangent: when parsing <title>s, does Google comprehend "page < section < site" the same as "site > section > page"? Up until now, I used the former, because it reads better in squished tabs and bookmarks better—but am I losing Google juice because of that?

</comment><comment><USER6> I wonder how screen readers interpret the following:

        #breadcrumbs li:after { content: ">"; }

<comment><USER7> According to the article, Google is not recognizing a list as a breadcrumb trail, which is a shame, because that is the Semantically Correct way to list breadcrumbs.

I suppose the next best thing would be to have a CSS rule

      .breadcrumb-marker { speak: none; }

but it appears, based on a little Googling, that hardly any of the aural browsers support aural CSS rules.

<comment><USER8> Can you give us more info on the "Semantically Correct way to list breadcrumbs?"

I'm genuinely curious. Is there an authoritative source some where (w3c, etc)?

<comment><USER9> It's similar to using lists for menus. Breadcrumbs are a list -- a list of places that you have visited on the way to where you are.

If you buy that, then you can acknowledge such use is Semantically Correct. There may be alternatives that just as Correct or even moreso.

I believe the capitalization on the term _Semantically Correct_ is a tongue- in-cheek acknowledgment that there is no authoritative answer to this particular question.

<comment><USER4> Semantics are almost always without authority, from what I can tell. E.g., by your definition if I write "When you go to the store can you pick up milk, butter, and toilet paper" I am being semantically incorrect, as I am using this "," thing to indicate items in a list instead of ul's and li's.

<comment><USER9> > _by your definition if I write "When you go to the store can you pick up > milk, butter, and toilet paper"_

In the context of a human conversation, the semantics of your list are apparent. In the context of HTML, the semantics are not apparent. An absence of semantics is not the same as semantically incorrect. To my understanding, something that is semantically incorrect would be more misleading than ambiguous.

</comment></comment></comment></comment></comment></comment><comment><USER10> So slash is the best solution out there, I guess?

<comment><USER11> It looks like the most semantically apt of all the options Google recognises. It's easy enough to use CSS or Javasscript to display it as something else.

</comment></comment><comment><USER12> This seems somewhat silly - isn't the most useful part of the whole "semantic web" that machines can process it easily? I do agree that Google's implementation is rather... ad-hoc.

</comment><comment><USER13> Hm, a > b > c is supposed to be worse than a (image) b (image) c? I disagree. The style="breadcrumb" approach also sucks (overly verbose and complicated).

</comment><comment><USER14> This seems to be something to fix and standardize in HTML5.</comment>


Game copy protection rolls further downhill - <AUTHOR> http://www.extremetech.com/gaming/114473-game-copy-protection-rolls-further-downhill <comment><USER2> This is a perfect case for asking people to vote with their wallet when too much really is too much. Come on, maybe this game is nice, but don't buy it. This is not an encouragement to pirate, but to give your money to nice people instead.</comment>


English Wikipedia down due to dns issue - <AUTHOR> http://techblog.wikimedia.org/2010/03/global-outage-cooling-failure-and-dns/

<comment><USER2> Why in the world would anyone have a data center in Florida?

<comment><USER3> Thanks bunches. You've now put a question in my head that I've never thought of before and am stuck wondering about...

"Are there geographically ideal places for data centers?"

...I never thought much of the question before, since I've heard stories of places like the Principality of Sealand being used for them, thinking that where you put them is more a matter of politics than situation.

But Florida _does_ sound like a less than ideal place for a data center, given its location on a peninsula in a hurricane prone part of the world. The only advantage logistically I can think of is easy access to ocean cabling.

EDIT: That reminds me... A few weeks ago, while visiting family, my mother asked me why they didn't put data centers in salt mines. She reasoned that the temperature and humidity controlled environment would be ideal for climate sensitive hardware. I didn't have a good answer for her, either with regards if they did so or not, or why not if they didn't.

</comment></comment><comment><USER4> Is this unusual for DNS failover? We are looking at doing the same thing for our DR system. Does anyone have any experience with DNS failover?

<comment><USER5> Record caching is intrinsic to DNS. Negative cache times being ignored is not usual in my experience; but then when you're at Wikipedia's scale minority cases are large enough that they are worth compensating for.</comment></comment>


Busted: elegant unit testing for Lua - <AUTHOR> http://olivinelabs.com/busted <comment><AUTHOR> We also broke out the assert library (<https://github.com/Olivine- Labs/luassert>) and the realllly basic beginnings of a string key/value store for i18n (<https://github.com/Olivine-Labs/say>) while building this. Luassert is a drop-in replacement for lua's built-in assert, and you can use it in any Lua testing lib (like lunit.) These will be thoroughly documented soon™.

busted is inspired by frameworks like Mocha and Jasmine, and comes bundled with support to easily change the output functionality, write your own asserts, chain and negate asserts, and integrates an i18n library so that you can customize the language in the output. It installs using the luarocks package manager.

</comment><comment><USER2> Sorry to be off-topic, but is there secretly some _good_ Lua documentation out there people use? While learning Lua yesterday (for use with Redis), I was astonished at how poor the official docs are. Even the book and the Lua Users wiki aren't that impressive. They all appear to be stuck in 1995.

<comment><USER3> The reference manual is fantastic: <http://www.lua.org/manual/5.1/manual.html> I rarely need to refer to anything else.

When learning you should read PiL (Programming in Lua)

</comment></comment><comment><USER4> I'm most impressed by the fact that the first thing you are hit with is a thorough and readable code sample.</comment>


Ask HN: Anyone Trying the New MySQL Branch Projects? - <AUTHOR>

Has anyone tried these new MySQL branch projects in their own projects?  Things like Drizzle and XtraDB?  My concern is that the pace of evolution with MySQL will slow under Oracle, and that 2-3 down the lines, we'll be turning to these offshoot projects for a solid (free) solution. <comment><USER2> I had a brief encounter with Drizzle, didn't convince me, so I went the safest route, and abandoned MySQL altogether and switched to PostgreSQL.

It was reasonably painless, thankfully, and so far, it's doing great.

</comment><comment><USER3> We've been looking at InfoBright <http://www.infobright.com/> and Tokutech <http://tokutek.com/> which are non-free table types with interesting properties. But haven't tried a complete branch yet.</comment>