Facebook gave Spotify and Netflix access to users' private messages - <AUTHOR> https://www.theverge.com/2018/12/18/18147616/facebook-user-data-giveaway-nyt-apple-amazon-spotify-netflix <comment><USER2> [https://news.ycombinator.com/item?id=18712382](https://news.ycombinator.com/item?id=18712382)

</comment><comment><USER3> 1) This is just a duplicate of the NYT article already on the front page

2) NYT seems to intentionally not elaborating on the "access to users' private messages" part and conflating app permissions to actually scanning, parsing, storing, deleting, modifying individual messages. Until disproven, it sounds like these are just standard app permissions needed to implement functions like song sharing in Messenger chat (in the case of Spotify), or sending payments over chat (in the case of RBC).

This is disappointing journalism, to be honest. FB has done a lot of bad things and they deserve the negative press, but it does seem like NYT has some kind of personal agenda against the company and they aren't afraid of exploiting the tech ignorance of their readers to accomplish that goal.

This is like publishing "Popular privacy extension uBlock Origin 'Accesses your tabs and browsing history'". Yeah. Because it needs those things to function:

[https://github.com/gorhill/uBlock/wiki/Permissions](https://github.com/gorhill/uBlock/wiki/Permissions)

Anyone who's ever written an Android app or a Chrome extension should see right through this sensationalism.

<comment><USER4> > FB has done a lot of bad things and they deserve the negative press, but it > does seem like NYT has some kind of personal agenda against the company and > they aren't afraid of exploiting the tech ignorance of their readers to > accomplish that goal.

To say The New York Times and the multiple reporters covering the Facebook scandals all have a personal agenda to make Facebook look bad is delusional.

The scandals started with Facebook, and the NYT, as well as other news organizations covering this story, are there to write about it.

Moreover, the Times spoke to nearly 60 current and former employees. You'd think if they had an agenda they wouldn't talk to that many people to corroborate the facts.

If the paper wanted to do a "hit piece," they'd just grab one of their columnists to write it and slap OPINION at the top of the story. A reminder for some people: Opinion is not the same as News. They are different departments that, in most newsrooms, do not dip in each others work.

The Times' investigations team is one of the best in American journalism. I highly doubt the editors would publish a story as a middle finger to Facebook. If you think otherwise, I welcome specific examples of agenda- pushing stories, with exactly the thing they're pushing out that benefits them and not the public.

Again, the scandals started with Facebook, and they're out now for every one to see.

The old saying goes, "Don't do anything that you'd wouldn't want published on the front page of The New York Times."

<comment><USER5> "Facebook gave your personal information to Netflix/Spotify/etc without your consent" is a scandal.

"Facebook gave your personal information to Netflix/Spotify/etc when you installed their app and approved the permission request" is NOT a scandal.

The NYT article makes it sound like the former, not the later. This is either incompetence or malicious intent.

<comment><USER6> >"Facebook gave your personal information to Netflix/Spotify/etc when you installed their app and approved the permission request" is NOT a scandal.

It is definitely a scandal, 99% of the users generally approving TOSes/permission request screens (including myself) have no idea what it's in there, we generally rely on the goodwill of the companies that wrote out those TOSes/permission request screens.

<comment><USER4> Agreed.

This tweet about the issue with TOS sum things up nicely:

"If you were to describe a contract that

\- no one has read

\- it doesn't matter if you read because you can't bargain over the terms

\- can be unilaterally changed at any time

\- does not explicitly describe the consideration you provide (data!)

You'd fail your 1L contracts class"

<comment><USER5> Nonsense - these are not 10-page EULAs we're talking about. The permission dialogs are clear and explicit about what they will share and who they will share it with. And you always have the option of _not installing the app_.

<comment><USER6> Did that message explicitly say "we are going to give access to your private messages to external companies like X, Y, Z" or was it a more convoluted message like "Facebook has direct access to your private messages (of course it has, I'm on FB, ain't I?) and as such it might process your private data with another external entity"?

Either way, many, many of the users would have clicked OK on the confirmation screen even if it had said something like "Facebook is going to sacrifice your first-born child", that's why hiding behind confirmation screens/TOSes when doing nasty stuff like what's described in the article is not enough.

<comment><USER5> When you installed the Spotify app, the message said "This will share your messages with Spotify".

You get similar messages when you install most mobile apps. What exactly are you looking for? If you want to install apps, and the apps are going to do anything useful with data, you need permissions.

 _nasty stuff like what 's described in the article_

This thread is about how the article is false and misleading. You can't use the article to justify the article.

<comment><USER6> > You can't use the article to justify the article.

What I'm saying is that giving access to FB private messages to entities outside of FB even with apparent user consent is not ok. Yes, I received that information from the article, but even if I had heard it from a neighbor down the hallway I would have thought the same thing.

> You get similar messages when you install most mobile apps. What exactly are > you looking for?

I'm saying those user consent messages don't absolve FB or any such entity of anything when it comes to them sharing private user data with third-parties. I'm looking at them to not share private messages with 3rd party entities, even if that stands against some of the "usefulness" you mention.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> "Giving Spotify, Netflix, and the Royal Bank of Canada the ability to read users' private Facebook messages."

Its RBC that is the interesting one here. Did anyone think we would live in a world where your bank has the ability to read your private messages between your friends?

EDIT: Puer mentions below that this might just be a permissions issue and it doesnt mean that they actually read your private messages.

<comment><USER8> And what, pray tell, were they checking up on?

My gut is telling me it wasn't just about prospective credit worthiness analysis or placing advertising for retail products and services.

Maybe debt collection and finding new ways to hunt down delinquent loan recipients? What else?

<comment><USER3> They needed those permissions to allow for sending/receiving of payments over Messenger. NYT is being intentionally misleading with what "permissions" mean here.

<comment><USER9> They had access to those messages. That is what they wrote, and it is entirely correct.

Nowhere does the article say they used that access in improper ways. The accusation isn't that your neighbor stole money from your bank account. It's that your roommate gave them your card and pin, without your consent or even knowledge. If you draw conclusions the journalists consciously did not make, that's your error in reasoning, not theirs.

To then claim insights into the thought process of an action that did not happen, I. e. your accusation of intent, just heightens the absurdity.

<comment><USER3> News organizations as established as NYT understand the weight of their words because every single one is scrutinized by a board of editors.

"Facebook also allowed Spotify, Netflix and the Royal Bank of Canada to read, write and delete users' private messages, and to see all participants on a thread — privileges that appeared to go beyond what the companies needed to integrate Facebook into their systems, the records show."

I find it highly unlikely that these companies actually had the power to delete individual's users private messages. There's a distinct difference between needing general read/write permissions so that Spotify can insert a song into your message and Spotify actually having the power to delete your individual messages, read them, or write them on your behalf to their fullest wishes.

I claim "intent" because how an article will be interpreted, especially for a story of this scale, is no accident. Hacker News has a much more tech literate population than the NYT's general readership, and yet even here there are people misunderstanding what permissions Spotify, Netflix, RBC actually had because NYT framed the information to be interpreted that way.

<comment><USER10> So it sounds like your complaint is not that they are being misleading, but that they made factually incorrect statements. Do you have any reason to believe that statement is incorrect other than "I find it highly unlikely"?

<comment><USER3> I apologize if my argument wasn't clear enough. My issue isn't that they aren't being factually incorrect, it's that they're seemingly using "facts" to be misleading.

Example: Saying Spotify has full editorial control over your messages is a very different narrative from "If you connect your FB account to Spotify, you can then send FB messages to your friends from Spotify's desktop app."[1] In one, the implication is that Spotify as a company somehow has the power to directly modify a users' private message. In the other, the user has the power --through Spotify's app--to modify their own private FB messages.

NYT is being factually correct with their reporting, but they're also being misleading, and my argument is that at a news organization of their size and stature this is no accident. Just read the comments from their readers and you'll quickly see how many of them are misinterpreting the above information.

[1] [https://newsroom.fb.com/news/2018/12/facebooks- partners/](https://newsroom.fb.com/news/2018/12/facebooks-partners/)

<comment><USER11> The latter includes the former, unless there's specific safeguards in place?

I think that's the crux of it: what communication/disclosure has to happen around granting a company access level X, even when they only hold it to implement feature Y which doesn't do all the bad things you could do with that access level, and who gets trusted with that and who doesn't? (I haven't seen the details of the precise example, so I don't have a detailed opinion on it, but would like to note that a design process aiming to reduce this exposure would maybe have removed or restricted the ability to _read_ messages, allowing only to send recommendations or only read responses to sent recommendations)

<comment><USER3> Well in the latter the user specifically gives permission to Spotify when they _choose_ to connect their FB account to Spotify's desktop app. NYT's wording makes it sound like they have unilateral control regardless of user consent. You can revoke Spotify's access whenever you want from your FB account settings.

<comment><USER11> I haven't seen the specific prompts - if anyone has good info on them I'd like to see it.

Facebook in their response to this says:

> _Did partners get access to messages?

Yes. But people had to explicitly sign in to Facebook first to use a partner's messaging feature. Take Spotify for example. After signing in to your Facebook account in Spotify's desktop app, you could then send and receive messages without ever leaving the app. Our API provided partners with access to the person's messages in order to power this type of feature._

What does _explicitly sign in_ mean here? For a while, signing in with Facebook was the only way to create a Spotify account, and _sign in with X_ is a common pattern in apps for authentication purposes only. Did it explicitly ask for permission? (what permissions?) Could you use your Facebook-bound Spotify account without granting this permission? I wish both sides in this would publish _screenshots_...

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> So basically all of silicon valley is colluding together. Maybe it is time to regulate them and break them up.

<comment><USER13> I think the major tech companies should be broken up. However its not 1982 anymore. The global market(mainly China) threw a money wrench into the system. If you break up Google, that's mostly to the benefit of the CPC which will results in a market that's potentially worse than the one we have now.

<comment><USER14> > If you break up Google, that's mostly to the benefit of the CPC which will > results in a market that's potentially worse than the one we have now.

[https://www.nytimes.com/2018/12/10/opinion/facebook-china- te...](https://www.nytimes.com/2018/12/10/opinion/facebook-china-tech- competition.html):

> Don't Fall for Facebook's 'China Argument'

> America's global dominance in technology requires fierce competition at > home, not the coddling of monopolies.

Also, the Great Firewall is a massive trade barrier, which I think would justify trade-retaliation against the companies protected by it if they somehow they gained ground in the US due to domestic tech-company regulation.

<comment><USER15> How would trade retaliation even work? Software isn't that straightforward to tax. For example, say you 2 video games, one of which is Chinese owned (say League of Legends), the other is American owned (say Dota 2). Tell me what justified trade retaliation you would use to promote one over the other? Would you add a $0.01 tax to cosmetics?

You can't do it. Of course it doesn't matter to the CPC what Tencent does with this game, because games are inconsequential. But if this wasn't Tencent's LoL, but rather WeChat we were talking about? At that point CPC policies, including censorship will be applied by Tencent. And what "trade-retaliation" will you use then?

</comment></comment></comment></comment><comment><USER16> I have a problem with the way NYT is reporting on this whole thing. The most egregious sounding parts of this (eg giving Spotify and Netflix the ability to read your messages) sounds like it was entirely tangential to what those agreements were all about. It's definitely something Facebook should be getting heat for, but there wasn't some colluding agreement to let RBC mine their customers' messages, as NYT makes it sound.

<comment><USER9> Where does it say that RBC was mining customers' messages?

And how do you know they did not, when apparently they don't care enough about users' privacy to even inform them, and continued said practice even after getting lots of uncomfortable questions?

<comment><USER16> They don't need to say it. The way the headline reads and the story is architected is designed to hook readers by implying the worst.

<comment><USER9> So you're now just making stuff up, then accusing the New York Times for lying to you?

</comment></comment></comment></comment><comment><USER17> Ironic that the site hosting this article does not give a real opt out to intrusive tracking (their privacy policy refers you to your browsers help menu to learn how to block their cookies!).

Is this GDPR compliant?

</comment><comment><USER18> (disclosure: i used to work for FB). This article left out words like "publicly available information" and "user consent". Why?

<comment><USER9> Yes: why? Or better: what. As in: what are you trying to tell us? That private messages are publicly available information, anyway? Or friends list, when set to private?

But to fulfill your yearning, the original NYT report mentions "consent" 12 times: [https://www.nytimes.com/2018/12/18/technology/facebook- priva...](https://www.nytimes.com/2018/12/18/technology/facebook-privacy.html)

(Although two of those mentions are in the context of "consent decree", which arguably doesn't make it look any better)

A taste:

 _"This is just giving third parties permission to harvest data without you being informed of it or giving consent to it," said David Vladeck, who formerly ran the F.T.C.'s consumer protection bureau. "I don't understand how this unconsented-to data harvesting can at all be justified under the consent decree."_

<comment><USER18> No where in this article do they say users gave consent to have their information shared which they were required to do before such services could be implemented. At best, that's bad reporting and misleading at worst it's an agenda.

<comment><USER9> I really don't think you are doing your employer any favors by your transparently obtuse attempts to misrepresent the actual content of the accusations.

<comment><USER18> i don't work for FB anymore. The content of the accusation leave out two critical pieces. 1. Users gave consent to share private information. 2. Only publicly available information was shared these partners. Those are pretty important omissions in my opinion.

<comment><USER9> The article clearly says users did not consent. And even if they did, that would presumably clash with your other assertion, namely that "only publicly available information was shared".

So I stand by my accusation that you are pretending to be stupid, because no person working at Facebook would really be unable to find the accusation of private data being shared in an article titled "Facebook gave Spotify and Netflix access to users' _private messages"_

</comment></comment></comment></comment></comment></comment><comment><USER19> My assumption, my hope really, is that FB gave away private messages in some sanitized and anonymized manner, because Spotify and Netflix was happy to pay for any insider marketing data they could receive about what relevant chat histories have to say about music or movies.

NYT seems to be on the attack against FB out of some ideological motivation but the details they are presenting leaves out contextual information about how the data was processed before it was handed off.

There's no question FB has been nothing but elusive and ink-spraying about this whole set of ordeals. It's one level of uncomfortable if FB is simply handing away sanitized data, it's another thing if you can just pay them and they will give you all the private posts of any given user without any sort of identity protection.

The fact of the matter is FB's terms basically allow them absolute possession of whatever data you give them. So there is so much grey area and legal ambiguity that it has been allowed to work with, especially in the US which matters most for a US company.

Europe has come around to the concept of citizen's rights to their own data. In some countries you can't even use websites unless they inform you they store cookies. At the end of the day, it's your responsibility who you give your data to.

<comment><USER20> >"NYT seems to be on the attack against FB out of some ideological motivation"

What ideology is that? The ideology of truth? The ideology of facts? The ideology of accountability and transparency? The ideology that one of the most power corporations in the world willfully failed to comply with a federal consent decree? Or that they lied to congress? You mean those ideologies? Did you miss the entire news story about how FB was used to influence the 2016 election?

And as such it is very much a public interest story. And you want to suggest that reporting on such a public interest story by a newspaper of record is "an attack"?

</comment></comment><comment><USER21> FB selling user's private information again: I feign surprise. This is getting old - It is their business model, what did you expect?

</comment><comment><USER22> ...and RBC still won't let me use Google Pay - I have to download their apps and do tap-to-pay using it. Best part is that all my other cards are in Google Pay so I'm constantly needing to switch the 'default' tap app because of this.

RBC - get out of the way!

</comment><comment><USER23> Here is a point that I think hasn't been raised yet:

You need consent from all parties messaging back and forth.

One party consenting to Netflix/Spotify/etc accessing your chat messages, is not enough.

I would hypothesize, that they didn't only grant access when all sides had consented, as the API was (supposedly) primarily used to share media with your friends, something that's pretty innocuous and shouldn't require "chat message read" access at all.

</comment><comment><USER24> I wonder if Spotify and Netflix look at prospective hires' personal messages. That would be something else.

That FB would give lots of user data to third parties is hardly surprising, nor is it shocking. That they'd give private messages to third parties (barring warrants) is shocking, though still not surprising.

</comment><comment><USER25> Although Zuckerberg might refrain from calling users "dumb fucks" any longer, it is evident that he continues to consider them so.

It shouldn't be surprising that such networks will continue to _monetize_ whatever they can.

> "They trust me — dumb fucks," says Zuckerberg in one of the instant > messages, first published by former Valleywag Nicholas Carlson at Silicon > Alley Insider, and now confirmed by Zuckerberg himself in Jose Antonio > Vargas's New Yorker piece. Zuckerberg now tells Vargas, "I think I've grown > and learned a lot" since those instant messages.

Source: [https://gawker.com/5636765/facebook-ceo-admits-to-calling- us...](https://gawker.com/5636765/facebook-ceo-admits-to-calling-users-dumb- fucks)</comment>


Angular vs. React: text analysis of commit messages - <AUTHOR> https://medium.com/@sAbakumoff/angular-vs-react-text-analysis-of-commit-messages-1cda199f3bdb#.1enwt8g77 <comment><USER2> I'm surprised he didn't track the number of committers, number of active forks, etc... That might have been some more interesting comparisons... esp wrt ng2 vs react.</comment>


Processing in RapydScript - <AUTHOR> http://salvatore.pythonanywhere.com/RapydP5 If you are used to use Processing in plain Javascript. You can now use RapydScript, a Python like language.
Press 'Sample' an 'Run More examples will be added
You can learn more on RapydScript here: https://bitbucket.org/pyjeon/rapydscript Regards <comment><AUTHOR> You can simply click 'Sample' en 'Run' the sample script More examples will be added</comment>


Ask HN: SoWink - How's This Landing Page? Feedback Please - <AUTHOR>

Hey Guys!
SoWink is proud to announce the official launch of our landing page as of yesterday evening, 3/9/11. Please take a moment and kindly review our site, feel free to offer any sort of feedback, good or bad, and help us improve our design/conversion. Thank you!
SoWink, Inc. Brings the Next Generation of Social Online Dating!
Check us out at http://www.sowink.com and discover for yourself how we'll revolutionize your dating world. <comment><AUTHOR> Here's a click-able link. Thanks

SoWink - <http://www.sowink.com>

Like Us - <http://www.facebook.com/sowink>

</comment><comment><USER2> Love the design.

I'd say 1 change would be to make the page end a little after the social site badges.

</comment><comment><AUTHOR> Thanks, anyone else?</comment>


Should lawyers learn to code? Arguments for and against - <AUTHOR> https://lawtomated.com/to-code-or-not-to-code-should-lawyers-learn-to-code-3-2/ <comment><USER3> Speaking as a software engineer who became an attorney, I would say that most attorneys could benefit from basic programming knowledge (e.g., simple scripts, macros, and SQL).

I say this because the bulk of work for many types of legal practice is information filtering/search/organization/and presentation, both in wrangling evidence and in exploring the law itself. Basic programming knowledge can do great magic in terms of making these processes more efficient, such as by programmatically manipulating the hundreds or millions of files that can be produced in legal cases.

In terms of more in-depth knowledge of programming, there is a definite place for it in the law (it has worked to my benefit), but I think that role is specialized/limited. I think improved software tools will, generally, fill the profession's need rather than every attorney attempting to specialize in another field enough to roll their own apps.

<comment><USER4> >> attorneys could benefit from basic programming knowledge (e.g., simple scripts, macros, and SQL).

Can you give a few examples of practical uses of those tools ?

<comment><USER3> One simple example would be where an attorney receives a thumb-drive with 100s of documents and files as a "production" in a case. An attorney without basic skills would (or would have staff) manually enter all of those files into a spreadsheet or a word document. An attorney with basic programming skills would write/run a short shell script that instantly pumps all of the metadata about those files into an Excel spreadsheet.

Another example, though a bit more general, would be an attorney trying to find documents in a case that were created around a certain date. An attorney without basic skills is, again, going to end up in a manual or semi-manual (with a basic tool) process. An attorney with basic programming skills is likely able to directly craft a query that produces the documents.

<comment><USER5> Or you send it to a vendor who has written the code to do that.

<comment><USER6> This.

It doesn't make much sense for a $400/hr attorney to play around with scripts and such or otherwise do much of anything with document production (that is what staff is for).

If an attorney knows coding from a previous career, it can be helpful in a few cases, but for a non-technical attorney to try to pick up enough coding to do anything useful is a stretch.

<comment><USER7> It may be the case that some vendor somewhere can provide a tool to do this, but they will charge quite a bit more than $400 and it will take more than an hour to find them.

A shell script to achieve your ends could be endlessly helpful here.

<comment><USER6> Having the depth of knowledge to recognize when a simple shell script would be helpful is the harder part.

It is one thing to teach a non-techie lawyer how to "hello world" But getting them to understand file system attributes, permission schemes, file I/O, regular expressions, and so on, is where "learn to code" falls apart in this context.

Just getting a non-technical person to learn how to navigate in Powershell is a near impossibility.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> My grandmother passed away a few years ago, and some of her express wishes were not correctly stipulated in her will - so when things were being sorted out it got messy. Thankfully all the family were really chill and we could sort it out amicably - but I had the idea at the time:

If legal documents have to be parsed and understood almost like source code, could we also have a testing framework? So I could stipulate things I want to happen as tests (user stories) and then run it against the contract / legal document and confirm that it does actually allow what I want to happen?

You'd be restricted to a subset of legal language - and possibly you'd have to actually write documents in some kind of meta-language (probaby lisp...) and then turn it into English or whatever as an output format in the end...

But would this work?

<comment><USER9> It wouldn't work because specifying requirements isn't the difficult part of law or really a problem now.

The problem is reconciling those requirements with reality. If contracts become functions, we don't make anything more neutral or unbiased. Same as today, the person who supplies the arguments to the function gets to control the output.

For example, earlier this year there was an interesting lawsuit [1]. An insurance contract excluded "acts of war." There was no dispute that that was a requirement.

The dispute was on whether or not a given action was an "act of war." Mondelez claimed that the NotPetya cyber attack was an act of war as the US government said it was the work of the Russian military. Zurich disagreed.

[https://www.zdnet.com/article/notpetya-an-act-of-war- cyber-i...](https://www.zdnet.com/article/notpetya-an-act-of-war-cyber- insurance-firm-taken-to-task-for-refusing-to-pay-out/)

<comment><USER10> Maybe it's different for the contract law, but I definitely think that legislation could benefit from more formal language.

We recently had a disagreement between an NPS officer and another visitor about what constitutes an occupied campsite. Apparently having paid for it, having a receipt on hand and another receipt with your name on the board by the entrance with the site number next to it doesn't mean it's occupied, you also have to leave a personal item. When you look at the rules it does mention leaving a personal item, but it's in the "How to pay" section indicating to me that it's a precaution to prevent two people trying to pay for the same site at the same time. Alas, the ranger disagreed and we almost lost our site and it turned into a whole ordeal all because the author of the rules didn't spell it out and it was up to everyone's interpretation.

Writing rules in the form of code has the chance of taking out a lot of that interpretation. Like you said, people can still disagree about what's "an act of war", but even that can be more precisely defined in a way that agrees with the common sense in the majority of the cases while still being unambiguous in the exceptional ones.

<comment><USER9> Sounds like the campsite could improve their signage, but as a general principle, I very much disagree.

There is a fundamental tradeoff between specificity and generality, where the more specific a law is, the longer and more complex it must become to accommodate the nearly infinite number of situations that can occur.

Take a look at the bill of rights. The thing is about as vague as the English language allows and is less than 500 words.

When is a search "unreasonable?" What constitutes "due process?" Where is the line between a "peaceful" and non-peaceful "assembly?" How long of a wait before a trial is no longer "speedy?" When is bail "excessive?"

Is it even possible to enumerate all of the possible situations and amounts when bail is considered excessive? There are countless crimes and countless mitigating circumstances. How could anyone foresee all the possible situations that can ever happen?

Despite these questions, most Americans have some idea of what the amendments mean and they can be easily taught to high school students in a US history or civics class.

Compare with a highly specific law, the Affordable Care Act (not picking it, just an example), which is 350k words long. At most, people are likely to have read a summary of a few specific points, but the law is basically only knowable to career lawyers with significant domain knowledge.

So even if it is possible to be very specific in laws, doing so basically makes the laws so immense and complex that they become unknowable. And since laws govern human behavior, humans need to be able to know the laws.

You basically just run into Bonini's paradox. A set of laws that was sufficiently specific to have absolutely no ambiguity would be as complex as the universe itself. [https://en.wikipedia.org/wiki/Bonini%27s_paradox](https://en.wikipedia.org/wiki/Bonini%27s_paradox)

<comment><USER10> The Bonini's paradox makes perfect sense, but I don't think it applies to this case because the law is not trying to model anything, it stands on its own. It's the same difference as trying to model the law and predict what is and what isn't lawful based on some circumstances vs declaring that the model IS the law and it determines what's legal or not.

Let's take the tax code as an example. I'd argue that it already is a form of a program (maybe that's why they call it code), but instead of something that I can run on my computer and explore and play with inputs to achieve a more beneficial result for myself, I have to instead pay a tax professional to do it. I think having the tax code executable would actually make it more accessible to people that are governed by it, not the other way around.

<comment><USER9> For the program you want regarding the tax code exists now. TurboTax, HR Block, free file etc...plug in numbers, see different totals is exactly how it works.

Of course there is still a ton ambiguity in answering the questions on the form. That has nothing to do with the format of the laws and everything to do with the inherit nature of translating reality into simple booleans and integers. If you wanted to remove all ambiguity, the form would need to be complex as reality.

</comment></comment></comment></comment></comment></comment><comment><USER11> I'm really waiting for the corollary. Should coders learn law? I'm of the opinion that engineers most certainly should.

<comment><USER12> >> _Should coders learn law? I 'm of the opinion that engineers most certainly should._

Canadian engineers have to take a short closed book 3-hr Professional Practice Examination (PPE) covering "ethics, professional practice, engineering law and professional liability" as part of the licensing process.[1]

The reference is from Professional Engineers of Ontario as Canada's engineers are regulated at the provincial level, but thankfully is also generally similar across the provinces. I'd imagine the American version (PE)[2] is somewhat similar.

While engineering law (typically torte) is a very small slice of The Law (TM), at least it's a start in the right direction.

Note that this would only apply to a subset of coders who actively seek out a professional "Engineer" title designation. Most computer engineering or electrical engineering graduates (probably the most likely population) don't need to, and don't actually end up, becoming professionally designated.[3]

[1] [http://www.peo.on.ca/index.php/ci_id/2060/index.php?ci_id=20...](http://www.peo.on.ca/index.php/ci_id/2060/index.php?ci_id=2060&la_id=1#PPE)

[2] [https://www.nspe.org/resources/licensure/how-get- licensed](https://www.nspe.org/resources/licensure/how-get-licensed)

[3] Anecdata

<comment><USER13> Yup. In BC, we basically have to read a law textbook covering contract law, professional liability, use of codes + standards, intellectual property, and other such topics and then pass an exam about it. Among many other requirements...

<comment><USER14> It's much the same for us Canadian accounting grads. Law classes are standard in any reputable accounting undergrad program, and mandatory for CPA accreditation (as it was in the CGA, CA, and CMA before the CPA merger). It's not so much about training accountants to be lawyers, but more about making sure that accountants understand when to seek legal advice, the consequences of failing to do so, and how to converse with a lawyer effectively.

</comment></comment></comment></comment><comment><USER15> I'm not saying that lawyers shouldn't learn to code, but I don't think it would be wise of them to heavily rely on it in practice.

1\. They have a specialized skill set, and they can offload a lot of this to other people in the firm. Billing someone several hundred dollars an hour so that you can spend time fiddling with SQL is kinda unethical. This could be considered gray, but it's akin to charging someone the full billing rate to use a copier. Maybe this will ultimately end up billing less and saving the client money, but then maybe not. It all depends on the person.

2\. The more important reason in my opinion is that programming is a specialized skill. You have to learn and really understand how it all works. It's easy to say "Well, just learn some Bash, and SQL" and you'll totally be able to get information faster. The question of whether or not it runs is an easy one to answer. Did it return information, yes or no? The real question and where it is tricky, is was it actually correct? Did you search all the files, etc.? Hiring a professional developer to aggregate information and have the knowledge to understand edge cases is why developers make the money they do.

Think about the flip side. Should all programmers become lawyers, because after you are one it's easier to understand the legal system. No, that's silly. Should programmers learn something about law? Of course, everyone should, but that doesn't mean that everyone should practice it. Now you could be saying, "Well, but going to law school takes years. That's a ridiculous statement to begin with." How long do you think it takes to be a really competent programmer?

<comment><USER16> I agree with most of this, but as a lawyer who has used SQL and PHP to automate work that I'd have otherwise been billing $600/hour to do manually I do find fault with your point on ethics.

Yes I could have delegated that work to do manually by a junior lawyer ($300/hr) or had the dev work done by an IT analyst ($800/day) but in both cases I'd have then had the check the output very carefully (junior lawyer) or gone through the cost and delay of onboarding a dev.

Doing it myself was the best overall value for the client.

There is an ethical issue if the lawyer is not properly qualified to do dev work. You can get into hot water that way. I avoid it by working closely with my client's IT teams, so they can vouch for what I've done.

<comment><USER17> Interesting observation. Coding could be comparable to using the photocopier, or it could be comparable to very advanced electronic legal research.

I'm not in law, but I do work with physicians and health care researchers who often need elaborate data analysis. I've found that there are some types of work that benefit immensely from having both coding and medical knowledge in the same brain, so to speak. This is usually when data is complicated and messy, and when the question a researcher asking isn't fully formed yet. The ability do complicated SQL, natural language processing, data formatting and cleanup, and so forth can end up shaping the question that gets asked. The process isn't always straightforward - researcher thinks of the question, asks the programmer to do the coding, programmer gets the answer back to the researcher.Yes, sometimes it works to describe what you want from a dataset to a programmer, but this often isn't the case for very interactive investigation of data sets. For this reason, I actually would highly recommend learning to code for some health professionals and researchers.

Now, there's a limit to what one person can learn to do, and there comes a point where it's not reasonable to ask people to be expert in multiple fields. Even when a researcher is pretty skilled at programming for data analysis, the moment will eventually arrive where the medical researcher needs to work closely with a programmer (who has very advanced data analysis coding skills). But even then, I've found that researcher often wouldn't have conceptualized the question that gets asked without possessing at least intermediate level data analysis skills (including SQL, Unix, Python or R like languages). I've also noticed that researchers who possess these intermediate+ level skills are far more effective at working with programming specialists whose main skill set is processing data.

I'm not sure if this comes up as often in law, but I wouldn't be surprised if poring through very large data sets for discovery might be one scenario where this happens.

<comment><USER16> Yes you are correct - I've seen this in e-discovery exercises.

</comment></comment></comment></comment><comment><USER18> Even if lawyers don't learn to code, I think they'd find source control to be a significant boon.

<comment><USER19> I wish our laws were in source control, even the bills that don't pass. I'd love to see who added the pork, who watered it down, etc.

With a 2,000 page bill, it would make it easier to keep up with the changes, even if you don't yet know what is in every page at the start.

<comment><USER20> Laws (at least in Italy, probably in other countries with similar systems) are actually commits to a source control system- in the sense that they contain both new content and modifications to previous content (additions, changes and deletions).

What I think is missing is a concept of _document_ : commits (laws) just accumulate on top of each other without producing named, organized documents (files, in proper source control systems) with clear responsibilities, that can be easily referred to from other documents, and of which the latest version is the only one that counts.

<comment><USER21> US jurisdictions mostly produce the organized documents you speak of. For instance, the codified laws here:

[https://www.loc.gov/law/help/statutes.php](https://www.loc.gov/law/help/statutes.php)

<comment><USER20> This (from a quick reading, I might have misunderstood) seems to be a system for categorising laws, but not exactly what I was talking about: when you look for something, you're still referring to individual laws, by law number or popular name.

Instead, when you want to read a computer program, you don't look at individual commits to the code base, you look at its files. Commits are more or less irrelevant, what counts is the most recent version of a set of documents, and each commit might create, modify or delete more than one document.

It seems only a change in perspective, the end result is the same; but reasoning in terms of documents with well-organised names and responsibilities, describing processes and data and designed for reusability, is much easier and more compact.

<comment><USER21> Here's a better link, to the text of the United States Code:

[https://uscode.house.gov/](https://uscode.house.gov/)

It's still full of references to bills and such, but it is the consolidated text of the law.

</comment></comment></comment></comment></comment></comment><comment><USER22> I think _everyone_ would benefit from learning a little bit of code and maybe databases. Not necessarily for practical purposes, but rather to expose them to it since so much of the modern world runs on software. The same way as we are thought the basics of chemistry, biology, physics, history, geography etc in school, I think kids should be thought the basics of software too. Give them some exposure, show them a little behind the curtains and.. then let them decide if they want to do more or not, same as the other sciences and subjects we teach kids and teens in school.

</comment><comment><USER23> Unrelated to the point of the article, but since we're discussing lawyers and their knowledge of coding in a Silicon Valley audience: has anyone else noticed that many of the lawyers who specialize in software licensing actually have a very shallow understanding of common open-source licenses? I think I've worked with at least 3 firms now at my current employer, a medium-size (>2000 person) software company. When I've had meetings with them about compliance with open-source licenses, they seem to be unaware of really basic aspects of the licenses. I've had one that thought the ASL 2.0 left you wide-open to patent trolls because you gave up all of your patent rights. I've had another that thought we could simply stop redistributing GPL software and have no further obligation to provide a way to get our modifications to the source. Especially for someone who went to law school, it seems as thought most of the lawyers I've worked with haven't read the license text, but simply heard this and that about the licenses. Is this common among Silicon Valley lawyers, or have I just had bad lawyers? I'm sure there's a lot more to law in Silicon Valley than this, but this is even with the person they refer me to for open source license questions.

<comment><USER16> Not excusing shoddy lawyering but here are some thoughts:

1.Many of these lawyers probably don't actually specialise in open source. Especially if they work for companies as project or product lawyers. They've probably been allocated it as part of their remit, along with issues like contract and data privacy.

2\. Open source is a niche within a niche (IP law). It requires a nuanced understanding of copyright and patent law but also requires strong understanding of software development practices. Concepts like GPL linking are really tricky to grok even if you are a knowledgeable IP lawyer.

3\. Several popular open source licenses weren't written by lawyers and so can be a little ambiguous when read against the relevant jurisprudence. Most are not well tested in court and so it's hard to give definitive advice on how they work.

</comment></comment><comment><USER24> The combination of headers, ripped images, scroll jacking, and that it is posted from the source give this article a very blog spammy feel, optimized for that exact google search.

<comment><AUTHOR> Thanks for the feedback. Honestly not optimised for anything other than trying to attempt a complete answer to a question we often get asked and see asked time and time again in the press, albeit usually answered in hyperbolic terms, i.e. "lawyers should never code" or "all lawyers should code", neither of which we agree with.

Scroll jacking is unintentional - not sure what you mean in regards to the article specifically. Be great to understand this better and fix? Is it the lazy loading of the images? If so, that's an attempt to boost the page loading speed.

<comment><USER25> Scrolling is horrible when using a trackpad like on a Macbook

<comment><USER14> You could have cut that sentence down to the first three words and I still would have wholeheartedly agreed with you. There is no justification for that design choice, in any circumstance.

</comment></comment></comment></comment><comment><USER26> As a lawyer who codes (though I don't currently work as either a lawyer or a coder) I thought this article does a great job of explaining where coding fits into law. At least in my experience, coding is a "legal-adjacent" skill: coding is neither necessary nor sufficient for good lawyering. But there are deep conceptual similarities between coding and lawyering, and knowing how to do one job well can certainly make some parts of the other job easier.

For example: redrafting a contract is a lot like refactoring code. (Make sure that terms are only defined in one place; consider and account for edge cases; be aware of how changes in one area affect dependencies elsewhere, etc.).

If, like me, you're allergic to repetitive, time-consuming tasks, coding is a way to potentially make your lawyering job go faster. I know lawyers who've used a combination of Python scripts and Zapier steps to fully automate client intake, for example.

HOWEVER! I'm pretty confident that coding will never become a core legal competency. Coding and lawyering are different roles, with different outputs, serving different stakeholders. Instead what's more likely to happen is that coding will gradually eliminate a whole swath of tasks that we once assumed only lawyers could do — until we realized that those tasks were just algorithms in disguise, and therefore automate-able.

Like most other knowledge workers, lawyers are going to be responsible for managing — and applying wisdom and discernment — to the outputs that algorithms/software generates. And that's a good thing! It'll mean that lawyers are doing more of what they do best.

</comment><comment><USER27> Holy crap, what is wrong with the scrolling on this site? It makes it super hard to read the article.

<comment><USER28> I'm guessing it's related to the hummingbird plugin they used.

</comment></comment><comment><USER29> It depends on the situation. If one is a lawyer who wants new skill sets and perhaps even a career change, an absolute yes. I did this transition seven years ago and left law entirely. I've met a handful of other interesting ex- lawyers who have made the switch from law to software and have been satisfied with the choice.

At the beginning of this year, after trying to explore what I wanted to do for the next stage in my life, I decided to get back into the profession as a solo practitioner and transition away from software development. I'm officially back to practice, and I'm surprisingly happy with my professional life - something I never thought would really be possible.

If you're a practicing lawyer who wants to give yourself an edge as a lawyer, I think it's more important to understand the concepts and principles as opposed inventing or finding the barely existent job of coder/lawyer for a firm - I don't know the name of the role, and I've seen it touted by legal tech folks - but these are elusive. Understanding what's possible, I believe, is by far way more important. For example, I've worked with countless non- coding project/product managers, and they've been great contributors to the process in software development.

My recommendation for lawyers? Do the Python track on Codecademy over a summer and read Code: The Hidden Language of Computer Hardware and Software.

<comment><USER16> I've thought about moving from law to software more than a few times. I like being a lawyer but software is an unscratched itch. I've noticed that many people who leave law eventually come back. What made you return?

<comment><USER29> It has a bit to do with the type of work arrangement I want for this phase in my life -- nearing 40 and splitting my time between two geographic locations where active computer time all the time becomes challenging.

I also wanted to move away from working for corporations to working for/with people instead.

If you have an itch, I say go for it unless you're on a track you absolutely don't want off of ever.

<comment><USER16> Interesting thanks. Sounds like we are at a similar stage and have similar circumstances. Being a lawyer is working for me too for the same reasons, so I'll ride this track for a little longer.

</comment></comment></comment></comment><comment><USER30> As a corporate lawyer that transitioned to software engineering, I'd say lawyers need to learn to code about just as much as everyone else.

Coding is clearly really useful for repetitive stuff and to deal with lots of data, but from my own 10 years of experience practicing law I honestly do not see anything in particular that would make a lawyer benefit more than other professions from coding.

Looking back at my time, maybe having an app that had contract clauses and allowed me to quickly set up a base one from the templates would be helpful and save some time. Nothing huge.

Managing lawsuits is a great candidate, but there are already dozens of "spreadsheet apps" that do that, as are there apps to keep track of contracts (expiry, increases, thresholds and so on).

A lot of research is already taken care by Google and other apps (consider Brazilian law practice here, which is based on Civil Law so a little different than Common Law in US, UK, Canada).

In summary, learning to code is not really that huge of a deal for a lawyer. It is still helpful like it is for most professions, but I honestly do not see a lawyer that codes having that great advantage over one that doesn't.

</comment><comment><USER31> I'm a lawyer who can code. Here's how I have used that skill:

* MS VB Macros for automating how my documents look and what they do

* Basic sync scripts that sync folders locally > server and vice versa

* An app to keep track of the my frequently used rules: trial rules dot com

* A website to keep track of various developments in my area law [internal to my firm]

* A PDF app that automates basic tasks [batestamping, adding exhibit stickers, etc]

Edit for spelling/formatting.

</comment><comment><USER32> Against: in my romantic view after watching way too much 'Suits', being a lawyer is mostly about convincing the other party to settle. By becoming a coder instead you may end up becoming nerdified and hence less capable of making the other side settle. The lawyer I used is a very bald old man who wears suits and is generally speaking a little bit intimidating. He knows a bit about law and a bit about humanity. He doesn't use computers other than to check his email and write documents in word. And he did his thing and convinced my boss that he'd better pay up if he wants to get rid of me.

That's worth the 200E per hour I paid. I really don't need someone to do coding for 200E per hour (my own wage is more like E18) and I certainly don't need another 'me' to represent me.

<comment><USER33> Software is full of almost lawyers who left law because they couldn't handle how irrational the law is.

<comment><USER6> A few of us lawyers left the tech-grind because they couldn't handle how irrational software development is.

</comment></comment></comment><comment><USER34> NO. They should have a good mental model of computing and they probably should learn tools that would aid them in data analysis (Excel is phenomenal for that). Apart from that, there is little benefit in knowing how to program in C# or Java or Python.

</comment><comment><USER35> I am thinking about doing JD after MBA (with CS & ML degrees already). The environment got really bad for developers, all kinds of fraudsters zeroed in as tech is making more money than finance these days and startups weaponize legal illiteracy against their own early employees. I woke up from the "all will be good" illusion and realized one has to be well-versed in legal matters these days in addition to be a top tech person. I guess it's going to be valuable for a JD to have some algorithmic skills as their own field is now changing and resembles early badly run algorithms in a need of bugfixes.

<comment><USER36> Do you enjoy history? Your first year classes will be like taking history lessons from caselaw. If it's remotely close to "yes I like it" _and if you can do it without going into debt_ then go for it.

<comment><USER35> Yeah, I am aware of that :-/ OTOH it could be refreshing to focus on something completely different than hunting the latest Deep Learning papers and figuring out if they work on the problems I am trying to solve... I still hope there will be some accredited online JD program by the time I get to do that to save time and money.

<comment><USER36> There's nothing more remote from those papers than reading about the Rule in Shelley's Case and various archaic English Court opinions dealing with pirates, matey. You won't like years 1-2.5 if you don't like English history. OTOH if you're in the English speaking world you'll learn stuff you'll never use in a law practice that you'll never forget and cherish the rest of your life. Enjoy! But FFS do not I repeat do not go into debt for it. Marrying rich is an option for some.

<comment><USER6> Ditto on not going into debt for law school!

I went to LS after several years of programming at various startups that failed. I wouldn't go now since LS tuition has almost doubled since then.

</comment></comment></comment></comment></comment><comment><USER6> Probably better to just get better at using office products.

I do use "programmer skills" in my law practice, but I was a SW developer for 15 years before going to law school. I use emacs for initial editing and I have made some crude "lint" tools that help me proof my documents.

Learning a bit of javascript, perl, python, etc. isn't going to be much use for a neophyte coder in an office full of Word, PPT, PDF, or visio documents.

</comment><comment><USER37> I disagree* to lawyers learning to code. With the asterisk because I think there are aspects of Computer Science they would benefit from.

1) Workflow Creation - Obviously, much of the legalities start from a boilerplate template that are expanded upon. However, this skill is not exclusive to CS and so there are other domains where a lawyer could learn this (from, say, business)

2) Natural Language Processing - This is more a CS concept and where some coding may be necessary, but not really. The more focused work would be from argumentation mining [1] and properly building strong arguments. The link I include is to my PhD lab's project on "Augmented Graph Grammars", that look to quantify the aspects of argumentation into a graph structure. While CS researchers could mine the graph structures to report better arguments, using a process such as this for lawyers would be beneficial.

[1] [https://research.csc.ncsu.edu/arglab/projects/augmented- grap...](https://research.csc.ncsu.edu/arglab/projects/augmented-graph- grammars.html)

</comment><comment><USER38> Does anyone have any thoughts on heterodox ways to go the other direction? I'm a software engineer with an interest in the law and I always wondered what sorts of opportunities there were for someone like me.

What's a good way for an consultant engineer to pick up a law firm as a client? What kind of open source community is there for legal software?

<comment><USER6> Some big firms have electronic discovery departments (and there are vendors in that space too).

Though, if you are interested in law tech, law firms are not the place to be. Seek out law-tech companies that are building tools that enterprises may use to manage their contracts or licenses. Also, compliance management (SOX2, etc.) is a growing field.

</comment></comment><comment><USER39> Real question: should they be trained in formal logic? Should everyone be trained in formal logic? (I think so, anyway)

<comment><USER40> Lawyers are generally trained in formal logic and in Canada is necessary knowledge for them to enter law school.

Source: Sister was studying the Canadian LSAT.

<comment><USER6> Unfortunately there is little use for formal logic in the practice of law.

</comment></comment></comment><comment><USER41> Should anyone not learn to code?

<comment><USER42> It's probably a useful skill even at a relatively superficial level for a lot of people. But there are an awful lot of useful skills out there and people have differing interests, aptitudes, and needs. So I don't buy the idea that _everyone_ should learn to code.

<comment><USER43> You learn a lot of mental skills from coding. I believe we should teach it really young, at least a simple scripting language. Sometime around Junior High, it can even be an elective, like band. I thought I didn't have any creative skills because I couldn't draw or play music, but I have the most creative skill of all, being able to build useful tools out of thin air.

It affects how you structure your thoughts, think through scenarios, gives you perspectives. There's so many perks, and kids would able to pick it up easily. You just need basic math and English skills to start.

I taught myself in the 6th grade or so. I believe it made a large impact early on in my life, and it makes programming very natural to me. I know the 10x developer term is controversial, but I believe that's one way to become one.

</comment></comment></comment><comment><USER44> In Composing Contracts[0], Peyton Jones, Eber and Seward describe a framework for "programming" financial contracts, even allowing for external events[1] to influence the result (for example, actual stock prices) of the contract.

As a though exercise, could actual law (or, more specifically, Penal Law, Contract Laws, etc) be formalized in an analogous manner? I know contracts are not law per se, but the comparisons are easy to spot.

[0] [https://www.cs.tufts.edu/~nr/cs257/archive/simon-peyton- jone...](https://www.cs.tufts.edu/~nr/cs257/archive/simon-peyton- jones/contracts.pdf)

[1] In the case of laws, external events could be the judge's opinion, for example

</comment><comment><USER45> > General Intelligence > Lawyers are generally very bright. Law is a tough > degree > and a tougher profession. It rewards intellectualism, > continual > learning, and adaptability. These are all > traits necessary for learning to > code.

This does not match my experience. I have worked in law for 20 years and hired (and fired) many lawyers for top tier companies. I saw some variant of an IQ tests for every one of them. As general rule they were not impressive and significantly below the scores we saw for programmers. The verbal comprehension was generally solid or better, the others not so much.

</comment><comment><USER36> This is a good piece. I don't believe (I'm probably mistaken) it's a US take. But it's still good. I came through it from the other side and used software royalties to pay my way through law school. I didn't have a CS or engineering degree and that ruled out practicing before the Federal patent bar: Make sure you realize this if you start taking law school classes, you need the undergrad engrg or CS degree in the US to sit for that exam and practice before the bar in that specialty. My geekdom precedes most CS major offerings and all but a handful of computer engineering offerings.

Other observations- \- Engineers make fucking excellent lawyers. Statutes construed alongside caselaw is sort of like data sheets alongside a schematic and code. You'll blow past everyone else in school and research will be a snap. When you get out to the real world don't spend too much on electronic research. Two services are there to service white shoe firms. You can't afford them if you're not one of the people I reference in the YMMV, _infra_

\- Good engineer attys are efficient and effective and don't hold back the truth. Your clients will come back to you and trust you. You will be a rainmaker on merit. But schmoozing, man, learn it if you don't do it. I can't: It hurt. YMMV if you practice for a large firm and are expected to book 8K billable hours per year. At that point you're doing something exceptional (not a judgment)

\- US judges are a mixed bag, elected or appointees. I preferred elected judges but wound up practicing 90% of the time before Federal appointees. Until early noughts the appointees were great. The statutes and binding caselaw in front of them may not make a difference. Unfortunately they're not like compilers or circuitry. You became an atty/engrnr because you're brilliant. But you need to schmooze or latch on to a partner to bring clients in and take the schmoozing bit on for you. Seek them out in law school and hang up your shingle with them. Don't go solo if you neither schmooze nor practice well. Don't go into law if you lie, please. If you don't schmooze, and if you forget to suppress your brilliance in arguments your client will get fucked. You'll get fucked if you have a temper and cross the contempt line (but that's really hard to do if you're sane enough to get through law school without a thorazine drip)

Bottom line: Go for it. My 2.5 years at law school were the most fun I had in my life. My 10 years practicing were stressful and not worth doing (I didn't have the schmoozer partner) but the education and my law license carries me forward in my engineering career, hopefully will get me into a corner office when geeking tires me. And it breaks the ice with my geeky colleagues who always need advice.

Copyedits for slightly improved readability. AMA here or by email if you wanna dig deeper

<comment><USER46> 8k billable hours per year = 153 hours per week. Not even Elon Musk works that much.

<comment><USER36> You are indeed correct. Nevertheless that's the way it is for new grads - <USER2> and 2nd yr fresh out of law school - at high end medium and large firms that are sort of like pyramid schemes. The associate newbies need to generate those billables (are those realtime hours? I never checked. Does the client check?). The partners get their cut from those billables. Periodically the herd is winnowed to make room for those with more energy.

<comment><USER47> _You are indeed correct. Nevertheless that 's the way it is for new grads - 1st and 2nd yr fresh out of law school - at high end medium and large firms that are sort of like pyramid schemes._

I'm questioning whether you have actually worked for a firm because your expectations for firm billing are wildly inaccurate as is your understanding of how billing works in a firm.

1st year lawyers bill time which generally doesn't get charged to client, because clients are unwilling to pay for training brand new lawyers.

Associates after their first year generally bill between 1600 and 2400 hours/year, depending on the firm. All of those hours are _actual hours worked_ because a lawyer who lies about that is committing fraud and can be disbarred for that (in addition to facing criminal sanctions). Clients do verify the hours billed--which is why lawyers are required to provide very detailed descriptions of hours worked, in some cases down to 6-minute intervals (i.e., tenths of an hour).

Partners bill _in addition_ to those associate hours. The only partners that get to avoid doing billable work are the rainmakers, because they do the tough work of actually acquiring paying clients. 5th-7th year associates generate the most profits for law firms because they have the highest ratio of gross billings (= hourly rate x hours billed) to salary, though partners usually generate the most _revenue_ for their firms.

<comment><USER36> > I'm questioning whether you have actually worked for a firm because your > expectations for firm billing are wildly inaccurate as is your understanding > of how billing works in a firm.

Let me end your speculation: All of my time was in 1 and 2 person law firms. The inflated billables are anecdata from my classmates. You may rightly call those out as anecdata. As for myself and the firms I worked in no attorney ever exceeded 1K billables in a year.

</comment></comment></comment></comment></comment><comment><USER48> Some other questions, and a purely subjective ones at that:

1\. Do you feel software or law is harder / more stressful?

2\. Do you feel that devs or lawyers are "smarter" on average? Specifically at same pay scales - so partner vs architect / senior dev vs senior associate, etc.

3\. Do you feel significant culture differences?

Any other notable positives and negatives that are significantly different between the two?

<comment><USER6> Compared to getting an engineering degree, law school was easy (time consuming but otherwise untaxing). The hardest part for some people was learning to think like a lawyer.

Also, some people seemed to have a lot of trouble analyzing fact patterns from different points of view. Where it may be easy for some to argue vigorously in support of an issue they agree with but difficult to form arguments for the other side.

Profs would listen to students argue from their preferred position (often the good guy position) and then ask them to argue why the other side is right. Some people just couldn't do it (future prosecutors?).

I found LS fascinating -- it was like learning a new kind of physics. One that described how society works rather the describing how nature works. And, like real physics, "legal physics" works whether you understand what is going on or not. E.g., previously I had a small business and entered into many contracts even though LS taught me that I had no idea how a contract really worked.

On the other hand, in my experience, the practice of law is much harder -- taking far more concentration and mental energy than SW development. Good lawyers are as nerdy and as smart good devs.

</comment></comment><comment><USER49> Yes, so they can automate 90% of their function.

</comment><comment><USER50> An old roommate of mine who has knowledge in both created [https://free.law/](https://free.law/) to help address the lack of availability of public court records for free (apparently the fees charged by the gov't may be illegal).

Not mine but definitely an interesting resource for lawyers/coders.

</comment><comment><USER51> I'm a law professor who has taught some basic coding (along with stats) to law students[1], I have a slightly different perspective on the lawyers learning to code thing than a lot of what has been expressed here (though it's similar to the "Dr. Doolittle" idea in the post).

For me the key goal is flexibility and uncertainty management. Lawyers have traditionally been extreme generalists across non-law domains (consider the fact that lawyers think of themselves as qualified to question expert witnesses from all kinds of hard sciences in a courtroom) who have exercised a consistent social function in the face of all kinds of social, political, economic, and technological changes, and the lawyers who have been best able to insert themselves at the joints of those changes are the ones who have succeeded. Having some understanding of the ontology of the various systems that are likely to be important in the domains where the law operates is pretty much a general good. And right now, code plays such a huge role in the economy that lawyers who have some clue what's going on are better positioned to adapt to changes in the economy as their careers move forward. (It's for similar reasons, I think that Harvard Law School recommends students take a class in accounting, or at least used to do so back in my day.)

With a minimum base of skill in slinging around code, it expands my students possible options. They might never use it again, relying on legal tech/document management/whatever vendors for any of the things noted elsewhere in this discussion. Or they might see a need and builds something that becomes one of these legal tech/document management/whatever companies. Or they might win a client a decade down the road by being the only lawyer in the vicinity who speaks their language. Or they might be working for a nonprofit who doesn't have the resources to buy solutions, and build something in-house that increases their capacity for service delivery to people who really need it.

TL;DR: lawyers have their hands in a lot of stuff by the very nature of the profession; it behooves them on general principles to become conversant with anything that occupies a large amount of territory in said stuff.

[1] version 0.1 of the course: [https://sociologicalgobbledygook.com](https://sociologicalgobbledygook.com)

</comment><comment><USER52> I feel like Software Eningeering and Contract Law have many parallels and similarities. What does a contract and a codebase have in common? 90% of the content is covering bizarre edge cases and eventualities.

</comment><comment><USER53> This is probably the best place to ask with talk of macros for generating documents.

Does anyone have a preferred method for generating Word documents that is better than mailmerge?

<comment><USER16> Most legal doc generation tools spit out Word's mangled version of HTML, but with a .doc file extension.

OpenXML or OpenDocument is the more robust way to go.

</comment></comment><comment><USER54> Should they? Wouldn't they legalese the profession the same way that politicians would politicise it?

</comment><comment><USER55> No, because none of their conditionals would be truthy.

</comment><comment><USER56> Whatever happened to division of labour?

</comment><comment><USER57> I feel it's unfair that we have to jump through all kinds of cartel like processes to get accreditation to lawyer it up while lawyers only need google to learn how to code.

We need something like the AMA for software engineers. Or get rid of of these arbitrary cartel blocks that prevent an ordinary joe from taking an online course to become a lawyer.

Do you have a licence to practice software engineering? No well then you need to go to jail like doctors and lawyers who also practice without a licence.

</comment><comment><USER58> In my view everyone should learn to code let alone lawyers.

</comment><comment><USER59> A lot of lawyers would quit being lawyers if they could code</comment>


Don't See How US Can Ever Pay Off Debts (Jim Rogers) - <AUTHOR> http://www.cnbc.com/id/44054257

<comment><USER2> I don't believe sovereign nations ever pay off all their debts, any more than banks ever collect on all of their loans. In a dynamic financial system, the money never comes to rest with a full accounting. It's always moving. Rogers is likely just trying to bolster the value of his gold and commodities holdings.

</comment><comment><USER3> Bankrupt means you can't pay interest due on your debts, not that you can't pay them off.</comment>


Ask HN: How do you create good key performance indicators? (KPIs) - <AUTHOR> I am ramping up on "key performance indicators" (KPIs) for technology projects, such as how to measure traction for startups and how to monitor devops and IT systems.
My work thus far is here: https://github.com/joelparkerhenderson/key_performance_indicators
How do you create good tech KPIs for your technology goals? What KPIs are you using that you like? <comment><USER2> Clickable:

[https://github.com/joelparkerhenderson/key_performance_indic...](https://github.com/joelparkerhenderson/key_performance_indicators)</comment>


Show HN: CodingDictionary – Simple explanation of coding terms - <AUTHOR> http://codingdictionary.com <comment> d--b Ok this is an empty wiki. I've just tried async, thread, hash and blockchain... No entries...

<comment><AUTHOR> There is a few entries, i'm adding more by the day to build it up :)</comment></comment>


A Sad 'Victory' – On Eich Stepping Down - <AUTHOR> http://www.teamrarebit.com/blog/2014/04/03/a-sad-victory/

<comment><USER2> Well, this is silly of them.

They were being naive if they took the approach they took, while thinking that the only form of success (or intended result) would be Eich saying the things they wanted. Eich stepping down was just as likely.

... especially given the fact that they _explicitly_ suggested he step down in another post. They are being very confusing here.

The main thing this latest post is missing is introspection.

</comment><comment><USER3> It's very weird to read a post saying "oh man, it's such a bummer that Eich had to step down; this totally isn't what we wanted and we're shocked that it had to come to this" and then look at the sidebar and see "Recent Posts: Five Reasons Brendan Eich should Step Down", which is a post calling for literally the thing they claim to be bummed about.

</comment><comment><USER4> _" The fact it ever went this far is really disturbing to us."_

Well, bit late for all of that, right?

 _" We are software developers and we'd much rather spend our time building great software and helping people than being involved in a horrible mess like this."_

Well, then why didn't they? Why didn't they help people instead of peevishly fanning the flames?

I hope that I never have the opportunity of working with these folks, because I'm not sure I would be able to keep such duplicitous company: at once both helping rabble-rouse a mob on an unrelated and non-professional capacity (in the strictest sense) and _then_ for lacking the backbone to own up to the fruits of their labors.

I'd rather work with somebody who's got the guts to say "Well, we got the bastard out--now, let's file a lawsuit."

At least that shows true passion.</comment>


U.S. Student-Loan Delinquencies Hit Record - <AUTHOR> https://www.bloomberg.com/news/articles/2019-02-22/u-s-student-loan-delinquencies-hit-record <comment><USER2> It should be noted that the delinquency rate is staying roughly constant, it's just that there's more debt to be delinquent on. Rather skewed reporting on Bloomberg's side not including this fact.

</comment><comment><USER3> It sure would be nice if there was solid data on the ROI from government subsidized education loans (beyond the economic stimulus of the colleges operating off of those funds, I mean).

<comment><USER4> What's an ROI on a subsidy?

The most problematic thing about college loans is not subsidy, anyway (that only applies to _interest_ ; the students are responsible for the loan amounts anyway), but the inability to write these loans off in a bankruptcy as you would with other debt.

This makes these loans special; it takes the risk away from an inherently risky activity (investing/lending).

Of course, this screws the whole ecosystem up. The banks are willing to give these loans to pretty much anyone, and the universities are incentivized to increase tuition because they won't see a drop in admissions since the students are all able to take on more loans - and will do so because one can't get anywhere without education these days. It's a positive feedback loop.

We shouldn't have this for the same reasons that we don't have debtors' prisons anymore. It's a net loss for everyone in the long run.

<comment><USER5> > we don't have debtors' prisons anymore.

Sadly, the US brought them back: [https://www.thenation.com/article/prosecutors-and-judges- hav...](https://www.thenation.com/article/prosecutors-and-judges-have-brought- back-debtors-prisons/)</comment></comment></comment>


Unreasonable Effectiveness of SQL - <AUTHOR> https://blog.couchbase.com/unreasonable-effectiveness-of-sql/ <comment><USER2> The relational model is awesome. SQL is one of the worst languages I have ever encountered. The syntax is awkward and unwieldy. The only unit of abstraction in SQL the language is the VIEW. I end up with so many repeated patterns in SQL it's mind numbing.

I would love to see lisp-style (AST) macros applied to the relational model. Here's an example that might have an obvious solution (please share), but not off the top of my head. Find the id of every row having the minimum value per group by aggregation. I have to write a subquery to do this, but the transformation is quite regular and predictable. Where's my macro?

<comment><USER3> I believe some of the window functions[0] (specifically, row_number) will do what you want. Honestly though, these might not be a readability improvement over subqueries.

[0] [https://www.postgresql.org/docs/11/functions- window.html](https://www.postgresql.org/docs/11/functions-window.html)

Edit: Just tested it, it works but I wouldn't call it pretty.

        create table testing(id int, grp int, other varchar2(255));

        insert into testing values (1, 1, '');
        insert into testing values (2, 1, '');
        insert into testing values (3, 1, '');
        insert into testing values (9, 2, '');
        insert into testing values (10, 2, '');

        with cte as (
          select grp, id, row_number() over (partition by grp order by id) as rn from testing
        )
        select grp, id from cte where rn = 1;

<comment><USER4> Another solution for PG which i've used many times:

        select distinct on (grp) grp, id
        from testing
        order by grp, id;

<comment><USER3> Neat! It doesn't work on Oracle, but you implied that it's PostgreSQL-specific so I somewhat expected that. It's a lot cleaner than mine and, even though it's not something I've seen before, it's fairly obvious what it's going to do.

When I did my testing I did it on Oracle since I have it available at work. For my non-work projects I use PostgreSQL and, for the most part, find that I can flip between the two database without too much trouble. Of course, this also means that I don't know about some PostgreSQL niceties like what you showed.

<comment><USER4> Very true, it's a nice PG specific extension of the SQL standard. Would be nice if some of these types of extensions made it back into the standard to increase the likelyhood other DB's you use would also support it.

It's syntactic sugar, but it is a whole lot more readable in some cases than a window function. It's nice to not need a sub query or cte to express it.

</comment></comment></comment></comment></comment><comment><USER5> SQL has a lot to recommend it; we've basically built a company around the effectiveness of SQL as a way to interact with data. I will say that it's pretty bad at code re-use, and `with` clauses are pretty awkward for breaking down a complicated analysis into small stages.

Kusto/Azure Data Explorer [1] is a really interesting new query language, focused on analytics. It fixes a lot of the things that are awkward about SQL. A simple example:

      StormEvents
      | where StartTime >= datetime(2007-11-01) and StartTime < datetime(2007-12-01)
      | where State == "FLORIDA"
      | count

[1] [https://docs.microsoft.com/en- us/azure/kusto/query/](https://docs.microsoft.com/en-us/azure/kusto/query/)

</comment><comment><USER6> It's the unreasonable effectiveness of a language and an approach that has some real mathematical backing behind it (relational algebra).

Lisps are unreasonably effective because they have lambda calculus behind them. The Hindley-Milner type system and linear types, both mathematically sound, are a large part of Rust's effectiveness and success, in my eyes.

I still would like that SQL read a bit more set-theoretic, if less English- like. It would make it less quirky and more composable.

<comment><USER7> > I still would like that SQL read a bit more set-theoretic, if less English- > like. It would make it less quirky and more composable.

I wish that it didn't introduce an incomprehensible ternary logic for null handling. SQL with algebraic data types would be amazing.

<comment><USER6> Nulls are facts of life. I wonder how they could be _succinctly_ represented in a query language. Something like the `?` operator in C# / Kotlin?

<comment><USER8> That would be an improvement. I'd rather have proper algebraic sum types, though (Option or Optional in languages like Haskell, OCaml, et al). They're really useful for all kinds of stuff. Perfectly representing missing values is almost a fringe benefit.

<comment><USER7> Not only would algebraic sum types be awesome, but if user-defineable they could eliminate so much of the ambiguity in how nulls are practically used in SQL. People often say that null just means unknown but that is a bug-causing simplification. In reality, null could mean unknown, but it could also mean not yet known, uninitialized, missing, impossible, uncomputable, join conditions not met, or hundreds of other things. And sum types would be extremely useful even outside of null handling...there are thousands of reasons why more and more modern languages are designed with sum types.

Not only would sum types be extremely helpful but it would also be awesome to have a standard for product types. As it stands, some implementations have them but they are clunky, and others you have to resort to just using multiple columns, which is pretty bad for composability, bug-ridden, and leads to behavior that is almost like Hungarian notation in order to maintain unique column naming. For example:

        create table foo(
          start zoneddatetime,
          end zoneddatetime
          ...
        );

versus

        create table foo(
          start_time timestamp,
          start_tz timezone,
          end_time timestamp,
          end_tz timezone
          ...
        );

(timestamptz is not an acceptable substitute...it doesn't store timezone)

</comment></comment></comment></comment></comment><comment><USER9> It seems to me SQL is, paradoxically, too low level, much like assembly language, in the sense that it makes you specify the joins. Over and over and over again. Why doesn't it infer them from the structure of the database (the relations between tables)? If the answer is performance, well, that means we are in agreement, and SQL is not high-level..

In summary I think a QL should produce a table from a database when provided with 1) the set of field names desired, and 2) the set of constraints on the desired rows. Anything that goes beyond this is in need of justification.

It is for this impedance mismatch (of understanding) that I have an aversion against SQL (therefore I am not well-versed). I basically see SQL as an exercise in complexity, resulting from the constraints prevalent in the seventies. Please prove me wrong!

<comment><USER10> _" It seems to me SQL is, paradoxically, too low level, much like assembly language, in the sense that it makes you specify the joins. Over and over and over again. Why doesn't it infer them from the structure of the database (the relations between tables)? If the answer is performance, well, that means we are in agreement, and SQL is not high-level."_

First of all, it absolutely can and does infer joins if you use a natural join.[1]

However, a lot of the time you don't want the database to infer the joins because how you join two tables depends a lot on the specifics of your query. Not every join is along a clean primary key/foreign key axis. Sometimes you have datasets from different sources. Othertimes, you have more novel relationships between your tables. The whole point of the relational model is to give the end user a lot of flexibility in querying the database which means you need to specify the joins a lot of the time.

1\. [https://docs.oracle.com/javadb/10.8.3.0/ref/rrefsqljnaturalj...](https://docs.oracle.com/javadb/10.8.3.0/ref/rrefsqljnaturaljoin.html)

<comment><USER11> > However, a lot of the time you don't want the database to infer the joins > because how you join two tables depends a lot on the specifics of your > query.

Some 90%+ of the times, you want exactly the join the database would infer, but natural join is basically useless, so you must repeat the basic join all the way every time.

SQL did it backwards. The simple join keyword should mean natural join over a foreign key. A cross product should be created with the `product` keyword or something similar.

</comment></comment></comment><comment><USER12> Prolog has always made more sense to me as a query language than SQL, but SQL is more popular because it's "English-like." Which is exactly the reason SQL bugs me.

<comment><USER13> I've never managed to wrap my head around prolog but I'd say SQL bugs me for the same reason. Care to throw out some examples?

<comment><USER12> I need to create some. In the meantime this is not a bad writeup:

[https://stackoverflow.com/questions/2117651/comparing-sql- an...](https://stackoverflow.com/questions/2117651/comparing-sql-and- prolog#2119003)

To clarify, I think Prolog is a lousy data storage language but a fantastic query language. What I've done in the past is used Prolog to query a Common Lisp object-oriented database (after modifying the Prolog to produce composable lazy streams, which is not usually included in the Prolog box but is very handy for database querying.) What I want to try next is the above with standard PostgresQL as the backend repository. That will make possible an apples-to-apples SQL comparison possible.

<comment><USER14> > ... used Prolog to query a Common Lisp object-oriented database ...

Could you share more details about this? I'd be very interested in exploring something like this.

</comment></comment></comment></comment><comment><USER15> Interesting the article mentions spatial data and Oracle Spatial, but no PostGIS. The latter, afaik, is state of the art for spatial data sets.

</comment><comment><USER16> Datalog is much more reasonable than SQL. Every time I have to write SQL more than 100 lines I go crazy.

<comment><USER17> Do you use Datalog with Datomic and Clojure or another database?

<comment><USER16> I don't use Datomic since it's closed source. But the design is really, really cool.

Actually, Datalog is a subset of Prolog, and could be used on any kind of data, not necessarily database. Nowadays, it's implemented in different languages, just like the Clojure version.

So like SQL, Datalog it's a declarative language and implemented on different kinds of platforms but IMO it's much more reasonable than SQL since SQL is much worse on composition.

</comment></comment></comment><comment><USER18> Great article and ref links.

Most people ignore the fact that Recursive Common Table Expression (CTE) makes SQL Turing complete

</comment><comment><USER19> I have always used RDBMS through an ORM, usually Django's. I understand basic SQL syntax, but nothing beyond that, and I cannot think in SQL if that makes sense. Is there a good book or course for someone like me to dive into SQL, preferably Postgres?

<comment><USER20> This course is a wonderful start

[https://lagunita.stanford.edu/courses/DB/2014/SelfPaced/abou...](https://lagunita.stanford.edu/courses/DB/2014/SelfPaced/about)

After this I would have a look at the postgres documentation. There's so many great examples between there and stack overflow.

<comment><USER19> This brings back memories. I remember going through the course many years ago, but I got busy with other projects and quit about 25% through. I'm glad it is still out there and still considered a good source.

<comment><USER20> Yeah if you've gone through a good chunk maybe complete it.

I really hate knowing how easy it is to do some queries and struggling to use the Django ORM to achieve what I could write in minutes - but for maintainability I hate dropping down to SQL in that context.

For a fun advanced tutorial, have a go at pivot tables with crosstab using the docs. I've used it for analytics queries to chart categories as headings, with complex aggregations etc.

[https://www.postgresql.org/docs/9.1/tablefunc.html](https://www.postgresql.org/docs/9.1/tablefunc.html)

Window functions are another classic

[https://www.postgresql.org/docs/9.1/tutorial- window.html](https://www.postgresql.org/docs/9.1/tutorial-window.html)

In general working with SQL and gradually solving the problems you have learning as you go is excellent. If you want faster than that there probably are courses but I really do rate their docs. Postgres is great.</comment></comment></comment></comment>


Ask HN: LLC taxation... Schedule C or Tax as corporation? - <AUTHOR>

I recently formed an LLC (launching within the next 2 weeks hopefully! I'm optimistic).
In any case I just had a free tax consultant presentation. The tax consultant service is too expensive for me even if I wanted to continue with that firm.
Here's the basic question: The tax consultant seemed to be leaning towards taxing the LLC as a corporation and paying out owner's distribution to save some taxes; however I have read that most LLC's just go with the Schedule C (I'm a single founder/owner). So what's the real scoop? <comment><USER2> In all seriousness, if you think that paying for tax advice is too expensive, wait until you see how expensive it can be when you don't get that advice. I've "been there, done that, paid the outrageous IRS penalties and interest" (I'm assuming that you're a U.S. citizen).

I'm currently in the process of setting up a new company and opted to pay an accountant on a monthly basis. It's going to cost me $150/month to have him handle the books for my fairly small business and ensure that I make the right payments at the right time. I probably could gone have gone even cheaper by paying for him to do some initial setup for QuickBooks and handling much of the rest on my own (with his occasional help). When I hired him, I told him exactly what my business goals were and how much I expected to make. Then I had him tell me what was the best way to pay myself. Ask other business owners you know for recommendations, if you can't find someone who charges a rate that you can afford.

I've been told that the IRS can crack down on you if you don't pay yourself a "reasonable" salary (which would require paying Social Security and Medicare) and only/mostly pay yourself through distributions. I consider the $1800/year that I'll be paying as cheap insurance against getting hit with a 5-figure penalty some time down the road. Plus, I can spend more of my time focusing on income-producing activities.

<comment><AUTHOR> Thanks for the advice... I am certainly not against paying a good amount for tax advice. The reason I opted not to join the firm I had a the free consultant with was because it was going to cost me 1500 dollars up front + a monthly fee which I simply don't have right now since I'm a student who hasn't started his summer job yet.

Can you (or anyone) recommend a good accountant in the bay area?

<comment><USER2> The guy I'm using is in Nevada, and I just started with him. So, I don't know that I can really "recommend" him. But if you don't find someone local, and would like to get his contact info, just send me an e-mail (address is in my profile).

</comment></comment></comment><comment><USER3> I have a LLC and fill out a Schedule C simply because at the end of the day there's very little profit to claim (I reinvest most of the money).

I've read some entrepreneurs claim that over $50,000 in Net Income should warrant conversion to a C-Corp but that's definitely not set in stone.

Of course, I don't know your situation (i.e. are you making any money yet?), so I can't comment fully. But if you're not wanting to pay for a tax accountant then sticking with a schedule C seems to make more sense in the interim.

</comment><comment><USER4> LLC tax returns can be very complicated--expensive. They file a partnership return. For best results you should find a CPA who does a lot of LLC/Partnership tax returns that you can afford and follow the CPA's advice.

I would be wary of doing what others do tax wise, or asking for online help, because everyone's situation is different. Be careful not to be Pennywise/Pound Foolish with this.

</comment><comment><USER5> IANAL, but it depends partially on how you're taxed.

If you're going to stay small, look into an S-corp status. That way you're only taxed once (personally) rather than twice or three times (depending on whether your state has a corporate income tax).</comment>