The Zen of Erlang (2016) - <AUTHOR> https://ferd.ca/the-zen-of-erlang.html <comment><USER2> I've seen ex python or node.js developers say they are just as productive in Rust.

After a few years of Rust experience, it still pales in comparison to Erlang productivity for me.

<comment><USER3> I'm really looking forward for Hamler lang to become mature and popular [https://github.com/hamler-lang/hamler](https://github.com/hamler-lang/hamler)

It's based on PureScript, which has a great reputation, but adds all the benefits of Erlang.

<comment><USER4> Running on the Erlang VM and all the benefits of Erlang aren't the same thing. Erlang itself is based on a very carefully constructed set of trade offs. You don't add something without giving up something else.

<comment><USER5> As long as you give an escape hatch to access the Erlang VM, the rest is somewhat superficial. I am way more productive in Elixir than I am in Erlang, but that's probably because of the way my brain is wired.

> very carefully constructed set of trade offs

But also the VM has changed since 1980 (for example there are maps now) and the programming ecosystem has changed (we know what drives productivity in terms of how to effectively test, document, deploy, good documentation > separate header files), we also know more about things like how lexical metaprogramming is maybe not the best idea for IDEs or language servers, it's really tough to say that Erlang got everything right for time immemorial. And on some things Erlang hasn't moved yet (thankfully it seems like there's movement in documentation).

<comment><USER4> True, I'm mainly talking about stronger types. It's something people have asked for a lot and generally the trade offs aren't taken into account.

Elixir aimed for 100% Erlang compatibility.

</comment></comment></comment></comment></comment><comment><USER6> _This is a loose transcript of presentation given at ConnectDev '16._

Video of the presentation: [https://youtu.be/4ZIPijEqrNI](https://youtu.be/4ZIPijEqrNI)

</comment><comment><USER7> Is Erlang about to be the next big thing due to companies unable to use Huawei and instead going with Ericsson for 5G deployment?

<comment><USER8> The Erlang ecosystem (including my personal favorite BEAM language, Elixir) has been kind of a secret weapon for a lot of companies for years. There are a handful of freelancers in the community who have had the experience of going to work for a company doing Erlang/Elixir, only to be told they can never reveal the company's identity because they consider the language a competitive advantage. One big corp went so far as to say they use Java in all their public-facing info (including hiring).

<comment><USER9> What does Erlang offer that the JVM or .NET don't?

<comment><USER10> While there is actor support through Akka and Akka.net on the JVM and .NET, neither of them support preemption like the BEAM does. Preemption of blocking actors is a _game-changer_ in terms of how you write and structure concurrent code. I wrote a BitTorrent client in Scala using Akka and found myself desperately wishing that I could write actors in a blocking style. The amount of extra complexity and book-keeping required to write purely non-blocking actors is truly staggering.

Let me give you an example. I have an actor that asks for two objects from a DbActor, and then sends them to the AdderActor to get the sum. Without preemption, I have to do the following.

1\. Send a message to get object A and object B. Return.

2\. Wait for an object.

3\. When I get the object, figure out if it is object A or B (or maybe it's something else entirely). Update internal state so that I know I need one more object. Return.

4\. Wait for an object

5\. Get the object, figure out if it is object A or B (or something else). Update internal state so I know that I have both objects. Send the two objects and my Add message to the AdderActor. Return.

6\. Wait for the result.

7\. Now that I've gotten the result, update internal state saying that I've completed my A+B operation. Either store the result of A+B or whatever.

This method requires a lot of internal booking and a lot of mutable hash tables in order to keep track of all the various stuff this actor is in the process of doing. If I'm trying to calculate A+B and C+D, I need to know how far along I am in each computation. This is a buggy and annoying process that creates a ton of complexity.

Let's look at how we could do it in Erlang:

1\. Send a message saying we want object A.

2\. Don't return, and instead block until we get A. Now we ask for B.

3\. Block until we get B. Now send the A+B message.

4\. Block until we get it. Do something. Return.

See how much easier this is? Because we can block, our code actually can be structured to look like normal, non-concurrent code. It can be executed in a sequential fashion, even though the actual computation is happening somewhere else. With Akka and Akka.net, we can't do that. We have to return as quickly as possible, or else we are going to lock up the entire system. This means that all of the implicit state that a normal program has (like current line being executed), must be stored _explicitly_ by our program.

It sucks, but hopefully the JVM will get preemption sometime soon. The actor model doesn't really work with out it. And even though it doesn't work without it, it's still better than threads and mutexes.

<comment><USER11> In Scala/Akka, you could use the ask operator and compose the resulting Futures, something like this:

      for {
        a <- aProviderActor ? gimmeA
        b <- bProviderActor ? gimmeB
        aPlusB <- adderActor ? (add, a, b)
      } yield aPlusB

<comment><USER10> Yeah, but you're blocking the thread. It's very very easy for you to deadlock the entire system writing code like this.

</comment></comment></comment></comment></comment></comment><comment><USER12> If curious see also

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

Discussed at the time: [https://news.ycombinator.com/item?id=11058500](https://news.ycombinator.com/item?id=11058500)

</comment><comment><USER13> I have the feeling that Erlang is great, but only if you are working in a very specific problem domain.

For example, I wondered if there is a GUI library for Erlang, and the response with the most votes here [1] is that people don't write GUIs in Erlang.

The other answers point to wrappers around libraries written in other languages.

I think that is suspicious for a language that has been around for such a long time now.

[1] [https://stackoverflow.com/questions/97508/what-libraries- can...](https://stackoverflow.com/questions/97508/what-libraries-can-i-use-to- build-a-gui-with-erlang)

<comment><USER5> check this out:

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

But also there are GUIs (I believe there are wx bindings) that are _shipped_ with erlang (wobserver for example)

By and large, though people are writing servers in erlang, so building GUIs has never been a priority, and by the time erlang got a kick in butt in popularity due to Elixir, the way to write a GUI in erlang, became "write a web interface in Elixir".

Finally don't necessarily trust stackoverflow; the entire elixir community has basically left SO and gone to elixir-specific fora, which we think is why elixir dropped off the SO developer's survey.

<comment><USER14> > the entire elixir community has basically left SO and gone to elixir- > specific fora

That's very surprising to me. Do SO's metrics of questions/answers/etc reflect this? If so, why the move? Was it organic? Organized?

<comment><USER15> I was active on the Erlang stackoverflow.

I left because stackoverflow is not a community, I don't give a crap about the gamification, the incorrect answers most upvoted because they provide a quickfix rather than a proper fix, and I'd rather go in places where you can have an actual discussion when you need to re-frame problems since newcomers aren't generally used to the paradigms of the VM and OTP.

Stackoverflow felt like working for free just spending time answering things for imaginary points whereas other fora have more reciprocity available through richer dynamics that can help build communities.

Stackoverflow, to me, is a last resort more than anything else.

</comment></comment></comment></comment><comment><USER16> I watched the presentation some months ago on YouTube. Really really well done. Thanks to that video I was able to get some tricky concepts of Erlang that I was previously struggling with.

</comment><comment><USER17> The incessant functional evangelizing everywhere I go reminds me of why people don't like vegans

</comment><comment><USER18> Immutable variables are too weird for me.

<comment><USER5> If you are willing to get over it, you'll find that huge classes of errors disappear. It's a very nice feature that lets you cut a bunch of bs, clarify your code, and make everything much more comprehensible. When you can mutate your values, you have to read any given block of code with a ton of suspicion (and possibly trace through control flow, keeping branches in your head, god I don't miss doing that). If your values are immutable, you don't have to do that.

The one place where it screws you over in erlang is the REPL, which I think is why Elixir chose to allow you to mutate the variable binding, (but the underlying values are still immutable). In my main code, I mark any variables that I will mutate binding (almost never) with a ! postfix sigil (idea stolen from Julia/Ruby)</comment></comment>


Computational Law, Symbolic Discourse, and the AI Constitution - <AUTHOR> https://backchannel.com/computational-law-symbolic-discourse-and-the-ai-constitution-d8528ee27bf0 <comment><USER2> I can't help but completely disagree with both the idea and the probability that this will ever happen.

Modern law is supposed to be open, so that anyone can read it. Reencoding laws, for whatever reason, strikes me as being fundamentally undemocratic.

The argument can be made that if legal "code" is taught in schools, then it's no more undemocratic than writing down law, but the chances of that happening seem slim to none.

Another argument is that law is already written in "special" English that most people can't figure out, but I think that having it in English alone is a big step toward having it being readable by almost anyone.

It would be neat to have law written as code and to have AI be able to parse it for you in lay language -- that is, you could ask it questions or pose situations to get a legally-binding answer. But then the question for me is, why don't we just have said AI read the current legalese and parse it?

<comment><USER3> Another aspect here is that people think writing contracts as code will eliminate errors. But just look at our software, it's full of bugs. The DAO episode is a perfect example of what will happen with contracts as code: bugs and loopholes, just like now, but harder to address.

<comment><USER4> Now imagine how buggy legal documents are when they're rewritten fresh each time, rather than using open source libraries and subroutines.

<comment><USER5> Luckily things are interpreted by human judges who can use discretion and interpret things in a sort of "do what I mean" way, so "bugginess" isn't as big of an issue as it is in coding.

<comment><USER6> this is the crux of the thing.

<comment><USER7> Well, until we reach smarter-than-human AI, you ultimately have to base everything in society on trust. That's why I actually find the ideas around trustless systems to be potentially dangerous.

Discretion of a human judge is grease on the gears of law.

</comment></comment></comment></comment></comment></comment><comment><USER8> I remember thinking that this was a good idea, in my first year of law.

By the third year I had rather given up on the idea.

Legal writing is already well-specified. The problem is not with the language that the law is written in. The problem is that _the world is irreducibly complex_ and the law cannot shrink its domain from "everything humans have done, do, will do, or could do; interacting with other humans, dead, alive, unborn; interacting with objects, in their homes, in public, on private property, belonging to them, belonging to others, belonging to nobody; on the surface of the earth, underneath the earth, in the seas, in the international seas, in the skies, in orbit, on the moon, the limits of human space; with ideas, owned and unowned, with multiple kinds of ownership; in concert with other legal systems, or in contrast, or in direct mutually incompatible conflict; without limit, forever".

Which is probably a fraction of it.

Quite aside from scope, there is ordinary fuzzy logic: in coming to a conclusion, judges must give consideration to concepts that cannot be crisply, discretely encoded: "the buyer without notice at arm's length", the "reasonable person, similarly circumstanced" and so forth.

These are all supported by _cases_. Mounds and mounds of cases. Case-based reasoning is a well-explored area of AI, but it hasn't been to any avail. Civil legal systems try to go without caselaw and have pure statute in the fashion that this kind of idle daydream typically tries to express.

And they've had hundreds and hundreds of years to get the "perfect" drafting. Bugs are still showing up. All that it does is shift the burden of adjustment to a slower, central bureaucracy from a self-correcting, distributed, multi- level system.

We still need humans to make sense of humans. For the foreseeable future this can be expected to continue. The law isn't going anywhere.

<comment><USER9> > Legal writing is already well-specified. The problem is not with the > language that the law is written in.

I was initially happy with the title of the article but this is exactly the reason why the content left me disappointing. It is very difficult to capture law in a computational context and there are interesting forums these days.

That said, there are interesting questions to ask.

* What are the properties to make a law (fully/partially) computational?

* What stages of time could law be made computational? Time, number of cases etc.

* What laws could be made computational and what can not? Are there laws that could never be made computational? Are there laws that could be made fully computational? Are there laws that could be partially computational?

* What are the effects of computational law on the legal ecosystem? Would it give rise to less better lawyers and judges?

I think such questions need investigation (if not already done).

</comment></comment><comment><USER10> Ambiguity is a feature of natural languages, it's not a bug.

It's because of this ambiguity that you can pass a law and assume other laws will update their meaning accordingly. For instance, civil rights.

A law is an abstraction, and its meaning gets clarified or even updated when cases occur. For instance, marriage discrimination is now unconstitutional. The text of the constitution didn't change, its meaning did.

<comment><USER11> > Ambiguity is a feature of natural languages, it's not a bug. It's because of > this ambiguity that you can pass a law and assume other laws will update > their meaning accordingly.

Which is huge problem. It means that laws can be interpreted any which way we want, which essentially means that the law only retains its meaning for a certain period of time until, until people forget their meaning, or judges make enough exceptions to those laws to render them useless but "true in principle", or judges decide at whim to change the interpretation. Since laws can change, what reliance have we upon any of it? What guarantee do we have that we can keep our "rights"? It's an incredibly stupid system. Is there something better? - Not one we can implement, to say the least. So we're stuck with it. It's not a blessing, it's a curse.

<comment><USER12> It is a huge and unjustified leap to go from "ambiguity is a feature of natural languages" to "it means that laws can be interpreted any which way we want". It is interesting that this appears in a discussion of this topic.

In reality, natural language can be precise - consider a textbook on logic, for example. It is humans that are ambiguous, and if you force them to use a language that has a precise meaning, they will simply write things that do not mean exactly what they intend. We know this is so from observing how programming errors are made.

<comment><USER11> It's not that big of a leap. And a text book is actually a poor counter example. Can modern Greeks read ancient Greek? No. Culture degrades language. Gradually, words will mean something else. Consider the word "cool". How many people these days actually associate it with temperature first? Or "ass". How many people think "donkey"? Those are simple examples. We could go back to older English, but I think my point has been demonstrated.

Admittedly, I keep shortening my responses before posting, so sometimes I don't explain some logic that seems obvious to me. Apologies.

<comment><USER12> No one is disputing the possibility of ambiguity, but a few single-word examples is still a long way from "interpret any way you want." If you need to be precise about temperature or fashion or animal taxonomy or physiology, you can be, and a textbook is a better example than the observation that few people understand a language that is no longer in general use.

<comment><USER11> Notably, I wasn't talking about precisely-defined textbook words. If you go back, my original comment is directed at the fact that the Constitution can be liberally interpreted because the meanings of words change, which is due to cultural influence. Sure, we could go back and look at the history of America and figure out what "right" probably meant to the founding fathers (or "electricity" or yada yada for that matter), but to Joe Shmoe, the original meaning is either gone or no longer relevant. The only reason certain words' meanings don't change is because people aren't using them.

That said, I would still say natural language is, when you try to fully examine it without relation to reality, arbitrary (in a completely different argument), and while it doesn't mean "any which way we want" (initially), we could make a deep philosophical examination of the topic and come to that conclusion, but that's off topic. Though I feel like that's partly what you may have thought I was arguing initially.

<comment><USER12> We can only go by what you write, and you are making a more thoughtful point now. I do not think, however, that you can exclude "precisely defined textbook words" when the issue is whether natural language is necessarily imprecise (not that my textbook example is only about word definitions, FWIW.)

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> This is contradictory:

\- A system of law is needed to settle disputes happening in the so-called "real world".

\- Often, these disputes involve what people say.

\- The decision therefore needs to account for the meaning of what was said.

\- If you could algorithmically derive the "true meaning" of anything people say, you could also derive the "true meaning" of any law, because both use the same medium, i. e. "language".

-> You could just use that system to derive the "true meaning" of laws without translating into any sort of code.

</comment><comment><USER14> The primary problem with law is the technicality of the language, aka "legalese".

At the moment, expecting someone off the street to properly understand a legal document is broadly equivalent to expecting them to understand what's going on with a command line (assuming they use computers only casually).

Law needs the equivalent of a GUI.

It's possible. Some other lawyers and I are working on an open source system of "defined phrases" that can be used like software functions. Lawyers already define words, there's no reason you can't do the same with phrases.

Each plain english phrase represents a module of legalese that can be manipulated with "arguments" specified in conjunction with the phrase. Like a GUI, a comprehensible representation is there for the user, and the technical legalese still does all the work underneath.

You can take a look at it here [http://lawpatch.org](http://lawpatch.org). Previous HN discussion here: [https://news.ycombinator.com/item?id=10597778](https://news.ycombinator.com/item?id=10597778)

</comment><comment><USER15> Two words: 'event calculus'. A type of predicate logic constructed to precisely specify the types of relationships that we use language to do with law and contracts:

'Formalizing Legislation in the Event Calculus': [http://www.marcellodibello.com/files/research_files/theses/c...](http://www.marcellodibello.com/files/research_files/theses/citizenship.pdf)

Yes, it uses a library of obscure symbols to describe these relationships, but can be algorithmically translated into any number of natural languages, thus making these descriptions understandable to most people.

It's my belief that event calculus + blockchain (I'm looking at tauchain as an ideal platform) to enable the construction of massively scalable, voluntary, commons-based social coordination, production, politics and law.

</comment><comment><USER16> Original source: [http://blog.stephenwolfram.com/2016/10/computational-law- sym...](http://blog.stephenwolfram.com/2016/10/computational-law-symbolic- discourse-and-the-ai-constitution/)

</comment><comment><USER17> Damn it. Every time I read a Stephen Wolfram entry I am so divided between if what I read is there for its own sake or is it just another shameful plug for his products.

I wish he could simply write for once in a neutral way. He has good messages, even if some disagree. But makes it so distasteful by these Wolfram mentions again and again...

<comment> nv-vn This is how I feel too. It doesn't help that the links posted on HN always come from another URL and the article starts out without giving any indication of what it will be about. It feels like a bait-and-switch every time it goes from some really interesting, difficult to tackle issue being posed to "My product, Wolfram Language, was built to do exactly this." By the end of it, I'm left feeling like I just read a massive advertisement.

</comment></comment><comment><USER18> Laws are not in anything that can be called in natural language; they are in a code called "legalese".

Legalese doesn't have to be formalized into program-like code. Rather, perhaps into mathematical language, with some of the notations that go with it. It needs to use clear logic, and set theoretic descriptions and reasoning. Law is all about logic and sets: what rule applies under what conditions, and what is included and excluded and so forth.

</comment><comment><USER19> Reality is a fractal, thus any language that precisely represents all the corner cases will by necessity be infinite.

(The law currently deals with this problem by only solving questions that come before it, not by solving every potential problem.)

</comment><comment><USER20> Ethereum's smart contracts were a good example of why this probably won't happen anytime soon...

<comment><USER21> Solidity is a terrible language for designing contracts in. It's not an effective counterexample as it seems to be such a poorly considered construct to begin with.

<comment><USER12> The problem with Ethereum is not 'just' a poor language, it is the general difficulty of verifying a Turing-complete anything.

[http://blog.paralleluniverse.co/2016/07/23/correctness- and-c...](http://blog.paralleluniverse.co/2016/07/23/correctness-and- complexity/)

The same applies to all 'formal law language' proposals.

<comment><USER21> I didn't say the problem was "just" a poor language. I said that Solidity is a poor example of a language for writing contracts in. I didn't say it would be easy to develop one, certainly not a universal one. But Solidity is not a counterexample, itself, to the idea of a "formal law language". It's just an example of a language totally unsuited for its intended domain.

<comment><USER12> >I didn't say the problem was "just" a poor language.

It was the only specific point you made in support of your position.

<comment><USER21> Sorry, I wrote it at 2am and my girlfriend distracted me from finishing my thought. Maybe I shouldn't have hit "reply", but I did. Even so, a post making one point doesn't mean it's the author's only point or what they consider "just" the problem. Take it at face value, it was a post making a singular point: Solidity (Ethereum's language) is a bad language for writing contracts in, so it makes it difficult to consider Ethereum an example of problems with formalized/programmatic contracts.

</comment></comment></comment></comment></comment></comment><comment><USER6> "There can be no Justice so long as Laws are absolute".

</comment><comment><USER22> The idea itself is rather beautiful, I used to believe it was the only way things should be, but the more I think about it and its presentation here, the more I feel uncomfortable about it.

The contents of the article are fairly heavy on the technical side of things, but seem to hand-wave the human aspect of the whole operation, or tend to mostly point out human flaws and rarely qualities. I'm not sure whether it's cynicism or me reading too much into it, but it bothers me a little.

Should this idea (and others alike) ever be implemented, I personally believe they should only ever be decision-support systems that members of society (humans and possibly AIs) would ultimately decide upon. Such a system would be designed for humans first-and-for-all ; I think consistently making it decide for humans would likely remove the relative aspect of morality over time, leaving all your decisions to a "greater entity" and all that entails.

I did enjoy the article, if only as a very interesting thought exercise, but I sincerely hope not too many people take it to heart.

</comment><comment><USER23> I have to say this is one of the more thought-provoking ideas to be posted here in a while. I agree with the cynics that it's probably not a good solution to the problem of codifying laws. Legalese is already intended to act like code, but what separates it is the requirement for human interpretation, especially in applicability to unforeseen circumstances.

For example, how do you codify concepts like, from easy to hard: assault; theft; copyright infringement; or software patents, in terms of the underlying social benefits and harms that these concepts are supposed to enshrine? Ideas about exactly what is "harm" or "benefit" (and their highly subjective nature) have been well explored in sci-fi. The short story "Liar!" by Isaac Asimov springs to mind in particular.

On the other hand, I can see these ideas being more immediately useful for digital contracts. Some have pointed out that software can have bugs, but so can contracts. Some have pointed out that code isn't as accessible as plain writing, but contracts already aren't written in plain language. The very clear advantage of a purely code based contract is that you can query it without a lawyer. Imagine having a contract that you can literally ask questions, like "what will happen in the event of Foo?" and get a clear, unambiguous answer. Contracts today are open to interpretation. If you try to query a contract, you'll have to pay a lawyer a lot of money and get an answer like "Most likely this, but it may depend on a judge's opinion".

Another advantage of code is that it can be refactored. This means if you have a large, complex contract, you can restructure it to produce smaller, simpler contracts that focus on specific areas that may be of more or less interest to different parties. This can be done while provably not destroying any information. That isn't possible if you merely summarise a contract.

</comment><comment><USER12> Putting aside the improbability of the notion that we are about to make a breakthrough in writing precisely what we mean in code, virtually none of the difficulties that arise in law and governance are of the sort that can be resolved by formal logic. The law is primarily about human relationships and conflict resolution, not rules.

</comment><comment><USER24> I think this paper is more important for AI than for law. Wolfram correctly considers that we're bad at giving complex instructions to AI and that the way Law does it is very good. Thus, getting inspiration from legal systems to code AI is a great idea - I actually worked a lot on this during my PhD in 2000/2005.

On the contrary, trying to use AI to regulate legal systems is... well actually we already do it a lot! Smart Contracts? Just look at the way an invoice is generated today. Taxes? You really think there is a guy putting the numbers in your tax declaration? Etc.

There will be more AI in Law in the future. But that's about it. It won't change its nature. It will allow Law to evolve more quickly and to become ever more precise - creating more and more rules instead of simplifying it. Contrary to most people, I think that more Law is always better than less. So I guess it's a good thing.

</comment><comment><USER25> Why not keep it in english and add some unit tests that demonstrate the intent of the law?

<comment><USER10> They are called precedents.

<comment><USER25> I mean in a more TDD approach, precedents are regression tests.

</comment></comment></comment><comment><USER26> I thought about the similarities between law and computer code several years back - see [http://greenash.net.au/thoughts/2008/08/legislation-and- prog...](http://greenash.net.au/thoughts/2008/08/legislation-and-programming- two-peas-in-a-pod/)

Nice to see that Stephen Wolfram goes into much more depth than I do, about what would be required for this to happen. He's also more optimistic than I am!

</comment><comment><USER27> the piece seems too founded on symbolic representation and building a world model, but the vast amount of AI systems deployed don't use either of those, or only use a bit of 'knowledge'. His example with 'You should eat a banana' should be replaced with 'You went banana crazy'. This highlights the ambiguity that we may want to tell a machine, that any symbolic system would utterly fail at.

He touched on machine-learning, but I think the most powerful systems in the future will be heavily built upon data driven algorithms will (and presently) be able to handle ambiguity and understand what this means.

</comment><comment><USER28> SW; DR. But I think SW is partly right. I think AI systems _will_ parse and assess new legal documents and laws, but not to compile them into code. Instead the AI-based legal engine will simplify, disambiguate, and debug informally specified legal documents of all kinds into a form that is logically consistent and narratively standardized. Every AI-post-processd document will follow a legal template, simplified. clarified, and systematized by the bot.

I'm sure it'll be a while yet before AI-processed legalese can make deep use of common sense or real world knowledge. But I think it should be possible soon to at least symbolize the concepts specified and confirm that the logical premises and constraints are well formed, based on a small domain-specific knowledgebase customized to each use case.

For example: real estate contracts. The terms used in leases should be fairly few, and the relations between owner, lessor, lessee, et al should be straightforward enough to allow a bot to build and maintain a sufficient world model of relations to represent all the necessities to capture any property's purchase, sale, or lease.

The advantage then is that the AI processor could look for anomalies or unusual attributes (present or missing) and reveal them to the signatories, perhaps interactively, as well as rewrite the legalese into a very standard format that _any_ human could understand quickly, since all terms and constraints would be presented in the same standard sequence every time.

If such an AI capability then could be extended to handle contracts of other kinds, I don't see why, one day, all contracts could not be subsumed by the bot. Plausibly, as the model grows, the bot might scale up to accommodate other application areas of law and all the other uses for legalese.

Once the models for each application area of law are induced derived and matured, such an AI bot should be able to create and flesh out any legal document simply by applying an efficient Q&A with the consumer or lawmaker, meanwhile offering advice on potential gaps, unintended consequences, and loopholes. Then the need for encoded legalese like what SW proposes would disappear as the fundamental tenets of legal verbiage disappear into the representational workings of the [Deep Net or whatever].

</comment><comment><USER29> I've always wondered, why is the tax code called the "tax code" Is it written in English and how many lines is it?

<comment><USER5> Not sure if you're a native English speaker, but anyway this usage is not specific to tax. All bodies of law can be called a "code".

For example, the body of federal law in the U.S. is called the "United States Code". [http://uscode.house.gov/](http://uscode.house.gov/)

<comment><USER30> Not all bodies of law would be called a code. "Code" is, I think, always legislative in nature, and specifically indicates a codified or organized and self-contained body of law. For a good example of the difference, compare the United States Statutes at Large with the U.S. Code. I'm not sure if that distinction carries over into the civil law countries, but I'd think it would (in order to revise or add to the civil code, you'd have to enact various statutes).

There's also the "model code" category in the US, where what you're codifying is typically common law principles distilled from court decisions, subject to some attempt at reform by the people involved in developing the model code.

</comment></comment></comment><comment><USER31> [http://ai.neocities.org/AiLaw.html](http://ai.neocities.org/AiLaw.html) is complex material.

</comment><comment><USER32> Isn't this a Wolfram blog? Why is it here?</comment>


Elixir Tasks vs. Scala Futures - <AUTHOR> http://undiscoveredfeatures.com/elixir-tasks-vs-scala-futures/

<comment><USER2> Scala Futures and Elixir/Erlang Tasks are different abstractions. Tasks are more akin to Actors in Scala/Akka.</comment>


Geek Feminism: Resources for allies - <AUTHOR> http://geekfeminism.wikia.com/wiki/Resources_for_allies

<comment><USER2> It's too bad that this wiki absolutely refuses to even mention the problem of anyone who doesn't identify as female being raped or sexually assaulted.</comment>


A little car you can drive in France without a licence (2016) - <AUTHOR> https://www.bbc.co.uk/news/magazine-35210572 <comment><USER2> Tangental, but is there really no analouge for 'shrug' in the french language? I find that hard to swallow.

Otherwise, this seems like an imperfect, but functional, system. Seems these would be a great niche to target with electric dockless cars. (Sorry scooters, I want to like you, we have seasons where I live.)

<comment><USER3> Shrug = Hausser les épaules

Literally means "lift the shoulders"</comment></comment>


The Berkeley Pit - <AUTHOR> https://www.topic.com/postcards-from-the-edge <comment><USER2> Why can't they slowly push more dirt into the pit filling it up as they pump out and filter/treat the water?

<comment><USER3> First and foremost because "they" cashed out all their profits over seas and bankrupted the company, neatly avoiding any of the responsibility of dealing with the repercussions of their actions. This is the most basic strategy of mining companies everywhere. They. Don't. Ever. Clean. Up. Their. Messes. If they did, most mining wouldn't be profitable. This is why people get up in arms about the DAPL pipeline and other such projects.

</comment></comment><comment><USER4> See also Iron Mountain Mine in CA. It's a Superfund site and it generates pH -3.6 water (which is absurd).</comment>


Watch the First-Ever Video of a Star Exploding - <AUTHOR> http://time.com/4269247/star-exploding-video-gif/ <comment><USER2> No, this is not a video of the star exploding. It is an animation. [http://www.nasa.gov/feature/ames/Kepler/caught-for-the- first...](http://www.nasa.gov/feature/ames/Kepler/caught-for-the-first-time- the-early-flash-of-an-exploding-star)</comment>


Chimps should be recognized as 'legal persons,' lawsuits claim  - <AUTHOR> http://www.cnn.com/2013/12/03/us/chimpanzee-legal-person-lawsuits/index.html?sr=sharebar_facebook

<comment><USER2> As soon as Chimps start observing my rights, I'll start observing theirs.</comment>


Shake Shack to open cashless, kiosk-only location in New York City - <AUTHOR> https://www.cnbc.com/2017/10/02/shake-shack-to-open-a-cashless-kiosk-in-new-york.html <comment><USER2> Well, you wouldn't want to sell a burger to someone without a bank reference and a 700 fico score, would you?</comment>


Google AppEngine – Java vs Python Performance Comparison - <AUTHOR> http://distractable.net/coding/google-appengine-java-vs-python-performance-comparison/ <comment><USER2> This is because in Java land startup speed isn't viewed as something important.

Groovy also has the poorest runtime IMHO. JRuby or Clojure are in a better shape.

</comment><comment><USER3> I'm confused. Why isn't scala also affected by the loading-time issue? It's running on top of the JVM, too...

<comment><USER4> It's not apples to apples. They are totally different tasks and frameworks.

They are probably having the same issue Rails 2.x has on it. Each request needs to have several libraries loaded. Scala is probably just using servlets fairly directly which entails a minimal spin up time.

<comment><USER3> I see, so it's not the JVM loading time, so much as library loading time. Interesting. I would have thought that would hit python even harder.

</comment></comment></comment><comment><USER5> I love app engine and if it had SSL I'd use it for all projects I do ... BUT: It feels odd to run the speed analysis tool in google webmaster tools and discover that my very simple site is slower than 80% of the sites on the internet...

I use python, btw, so it's still fairly fast, but for some reason even the simplest pages (one datastore request by key and a simple template) are still not "fast" compared to the rest of the internet.

</comment><comment><USER6> Here's a very good explanation of why python performance is faster than java on GAE: [http://stackoverflow.com/questions/1085898/choosing-java- vs-...](http://stackoverflow.com/questions/1085898/choosing-java-vs-python-on- google-app-engine/1087878#1087878)

<comment><USER4> I hope you don't think this site demonstrated this. The python site was a proxy. The java/scala websites did more than trivial things.

<comment><USER6> Of course not. But it's helpful to know that information when you're comparing python to java on GAE regardless.

<comment><USER4> Alright but for your information that post is almost a year old and GAE/J is now much more mature. IMO, a developer should just use what they are more comfortable with. Sadly, it looks like the groovy framework has not been tweaked to work well on GAE.

</comment></comment></comment></comment><comment><USER7> I was under the impression that Java was faster (even in startup time)...wow. Hope this summary is correct, as I didn't have plans to swap to the java ecosystem.

<comment><USER8> JVM is the slowest runtime in terms of startup. But it does run way faster once it has run for enough time and has profiled and optimized a good portion of your application.

In most cases where Java is used on the server, it is expected to startup once and continue running for a long time and host multiple applications. In this JVM's startup becomes a non-issue and its optimizations become a huge benefit.

<comment><USER9> I agree. And it is also not a real benchmark since it obviously tests different types of applications.

</comment></comment></comment><comment><USER10> It's a little ironic given slow startup time was a major reason why we switched away from CGI in the first place.</comment>


Show HN: The Good Man. An experiment with CSS3 animations - <AUTHOR> http://thegoodman.cc/

<comment><USER2> Thanks! :D</comment>


Demo: Raspberry Pi running Quake 3 - <AUTHOR> http://www.raspberrypi.org/?p=106

<comment><USER2> From their FAQ: <http://www.raspberrypi.org/?page_id=8>

> Is PoE (power over ethernet) possible?

> Not in the base device, but it's been a very commonly requested feature, so > we're examining options for later releases.

PoE would make it AMAZING. Connect it to HDMI, install Linux, and you now have an awesome set-top box capable of very high quality performance.

</comment><comment><USER3> I guess they just have to get armhf (hard-floating point) running on, and they would get even better speeds.

The folks at <http://powerdeveloper.org>, and others are doing this transition now. (Proud owner of Efika MX smart top / smart book). Can't wait for the Raspberry too!

</comment><comment><USER4> Now i'm impressed.. What similar projects are out there? I may be interested of a tiny computer to do some work on! ;) Although i am wondering how Ubuntu, Iceweasel and KOffice will run on 128 or 256 MB SDRAM..

What would you run und such a little thing?

I imagine Enlightenment E17 + vim for some development.. now for a browser that doesn't eat memory for breakfast... opera? Certainly not Firefox or Chrome.

<comment><USER5> PandaBoard...if you can get one. <http://www.pandaboard.org>

<comment><USER6> If it's anything like the BeagleBoard, just place an order for a single unit (even though DigiKey likely lists 0 in stock), and you'll get one fairly quickly (probably faster than the 4+ weeks for a SheevaPlug).

</comment></comment></comment><comment><USER7> This seems like a very low power way to manage network access to a small cluster of external hard drives.

</comment><comment><USER8> This is such a beautiful little project. The more advanced hardware gets, the more kids (and people interested in learning) lose sense of the raw elements. Cool idea raspberry pi.</comment>


ADVICE NEEDED: Alternative ICO Bounty System Instead of the Viral Exchange? - <AUTHOR> Hello,
In the past year, I've managed two ICOs and used The Viral Exchange to manage the Social Media bounty. I found it an easy way to gain Social Media traction quickly. Unfortunately, TVE's owners are no longer accepting new campaigns. The core system has not been upgraded in over a year, so this is not altogether surprising.
Does anyone have recommendations for something new I can use to replace The Viral Exchange?
To be fair, I'm managing an ICO now where we are using the "traditional" method of asking people to report their here in bitcointalk. But ideally, I'd like to also use a system that easily incentivizes users to share/RT/Like Social Media content -- AND makes it easy for me to manage.
Any ideas or thoughts?
At your service, Michael <comment><USER2> HN probably isn't a good place to ask for advice on ICOs. We'll just tell you that you're a scammer and you should die.

<comment><AUTHOR> Thank you for choosing to be a douche canoe instead of being kind or helpful.

Have a nice day.</comment></comment>


Is max MySQL transactions per second = max fsyncs per second? - <AUTHOR> https://sirupsen.com/napkin/problem-10-mysql-transactions-per-second/ <comment><USER2> TIL about "two-phase commits". Thanks for sharing!</comment>


Simulating Futures in Extended Common Lisp (1988) [pdf] - <AUTHOR> https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19880015808.pdf <comment><USER2> For those curious, Extended Common Lisp was renamed Allegro Common Lisp in the early 90's. ExCL and ACL are the same thing.</comment>


New Short Cut Found for Long Math Proofs (1992) - <AUTHOR> http://www.nytimes.com/1992/04/07/science/new-short-cut-found-for-long-math-proofs.html?pagewanted=all <comment><USER2> These types of articles are always frustrating, in that they very rarely provide an even halfway decent explanation of the math or science involved (if they do, it is buried deep), and are instead little more than a repetitive explanation of the importance of the work, judged by quotes from as many people as humanly possible. This article (which says very little) is still probably too long with all the fluff added around the actual discovery.

<comment><USER3> If only there were a way to check the accuracy of a long article by scrutinizing it in only a few spots...

<comment><USER4> Unfortunately, there is only a way to check the accuracy of a long article by scrutinizing a complicated mathematical _transformation_ of it in a few spots.

</comment></comment></comment><comment><USER5> This is about the PCP theorem [https://en.wikipedia.org/wiki/PCP_theorem](https://en.wikipedia.org/wiki/PCP_theorem)

An interesting application are SNARKs, a fully generic type of non interactive zero knowledge proof of knowledge. They can be used to preserve transaction privacy and fungibility in cryptocurrencies for instance.

</comment><comment><USER6> Is this the paper they're talking about? [http://people.csail.mit.edu/madhu/papers/1992/almss- conf.pdf](http://people.csail.mit.edu/madhu/papers/1992/almss-conf.pdf)

<comment><USER7> Yes. Note both the article and the paper are from 1992.

</comment></comment><comment><USER8> So it's 23 years passed and are there any practical implementations that mathematicians would use?

Since this work can be applied only to proofs that were recorded in machine- readable format (like Mizar), I suppose it's much harder _to record_ a proof in machine-readable format, than to really go ahead and check all the pages manually.

<comment><USER9> Not that I know of, for the reasons you suggest. AFAIK nobody is seriously using formats like Mizar when we have actual proof assistants available that can check the proof, which kind of obviates the need to use the PCP theorem at all.

<comment><USER10> Would there be any remaining value for such a tool in checking proofs if already using a standard, proof-checker? Sort of a "get's it done faster/easier" argument or perhaps like in software a "catch obvious problems in ill-specified work earlier" sort of thing?

</comment></comment></comment><comment><USER11> >As is the custom in mathematics and theoretical computer science, the result gains credibility not by having been sent to a journal and reviewed by other scientists but by having been vouched for by leaders in the field

WTF?

</comment><comment><USER12> I hate to admit my inability to convince myself that this wasn't an April fool's joke!

</comment><comment><USER13> I never had Motwani as a professor but I've only heard good things about him. RIP.

</comment><comment><USER14> Not sure why this is on the front page today.

<comment><USER15> Considering it's 23 years old, I think it has a roughly equal chance of being submitted on every day - and today's the day.

<comment><USER16> 23 years old

<comment><USER15> Er, yeah. That. Fixed.</comment></comment></comment></comment>


It's not them, it's you: Why new hires are so hard. - <AUTHOR> http://foundread.com/2008/03/19/its-not-them-its-you-why-new-hires-are-so-hard/ <comment><USER2> "It's pretty crappy trying to get your data in or out of Facebook"

<http://wiki.developers.facebook.com/index.php/API>

But judging by the tone (and general ignorance) of the article, the author is not a developer.</comment>


Good Fenwick trees explanation - <AUTHOR> http://www.swageroo.com/wordpress/little-known-awesome-algorithms-fenwick-range-trees-rapidly-find-cumulative-frequency-sums/

<comment><AUTHOR> I found it better than the Top Coder and Wikipedia explanations.</comment>


How BuzzFeed Migrated from a Perl Monolith to Go and Python Microservices - <AUTHOR> https://www.infoq.com/articles/buzzfeed-microservices-migration <comment><USER2> I think Go will supersede python in a few years time as the more performant language useful for systems programming but also glue code as well. The fact that it builds to a single static binary is huge IMO.

<comment><USER3> > The fact that it builds to a single static binary is huge

What a curious perspective, this is the norm for most popular languages, and less relevant than ever in the age of containers.

<comment><USER4> Not really, C# and java have not historically produced static binaries. Unless using some third party tool.

</comment></comment></comment><comment><USER5> What would be the best way to integrate Go for performant pieces in a python codebase? The only things I found online currently offer the use of cgo, which results in _even less_ performant code.

<comment><USER6> Migrate the code base to Go.

</comment></comment><comment><USER7> You won't believe how this company upgraded their technology stack!</comment>


Where can I get source code of google? - <AUTHOR> http://stackoverflow.com/questions/3763640/where-can-i-get-source-code-of-google

<comment><USER2> that's funny, but it used to be available via the google soap search api.

actually, the chinese probably have the source code after that security breach.</comment>


The Long Strange Trip to Java - <AUTHOR> http://www.blinkenlights.com/classiccmp/javaorigin.html <comment><USER2> It should probably be pointed out that Patrick was later arrested and since then, has been largely written out of the Java story.

<http://news.zdnet.com/2100-9595_22-515722.html>

<http://slashdot.org/articles/99/09/20/0744243.shtml>

<comment><USER3> ...used the Internet in an attempt to have sex with a 13-year-old girl. The kicker, of course, was that the "girl" Naughton met in a chat room called "dads&daughterssex" was an FBI agent trawling for pedophiles, and even the decoy he met on the Santa Monica pier Sept. 16 was a sheriff's deputy in pigtails.

[http://www.salon.com/media/col/elde/1999/12/22/naughtonwalks...](http://www.salon.com/media/col/elde/1999/12/22/naughtonwalks/)

</comment></comment><comment><USER4> The author writes that this was cut from the book, but I actually read it the first time in the first edition of Naughton's work. Pretty much word for word. So maybe someone got mad and decided to sue and it was left out of the second edition...?

</comment><comment><USER5> I give up. My eyes are hurting from reading white on a black background.

<comment><USER6> On a Mac:

System Preferences, search term "Vision". First match should be "white text on black display". Hit enter.

<comment><USER7> Or control-alt-apple + 8

</comment></comment></comment><comment><USER8> A some what longwinded read but with interesting points if you are interested in Java and the early days at Sun.

</comment><comment><USER9> i was rooting for him to take the job at NeXT. probably would have turned out better in the long run.</comment>


Babylonians Were Using Geometry Centuries Earlier Than Thought - <AUTHOR> http://www.smithsonianmag.com/science-nature/ancient-babylonians-were-using-geometry-centuries-earlier-thought-180957965/?no-ist <comment><USER2> I'm so astonished and impressed with this kind of work. When I look at that tablet all I see are a bunch of triangle impressions like scales. I wonder how it is read.

[http://thumbs.media.smithsonianmag.com//filer/67/a8/67a8aa02...](http://thumbs.media.smithsonianmag.com//filer/67/a8/67a8aa02-268f-4622-bce1-2588049737f1/tableta.jpg__800x600_q85_crop.jpg)

<comment><USER3> From

[http://www.livescience.com/53518-babylonians-tracked- jupiter...](http://www.livescience.com/53518-babylonians-tracked-jupiter-with- fancy-math.html)

> "It's not an actual trapezoid that describes the shape of a field, or some > configuration of the planets in space," Ossendrijver told Live Science. > "It's a configuration in a mathematical space. It's a highly abstract > application."

> "Actually, this particular tablet has ugly handwriting," Ossendrijver said. > "It's slanted. It's like cursive if it were written very rapidly. It's very > abbreviated. He left out everything that is not absolutely necessary to > follow the computation."

You can read the details here:

[http://science.sciencemag.org/content/351/6272/482.full](http://science.sciencemag.org/content/351/6272/482.full)

The supplementary materials give a full transcript of the tablet you linked (one of several):

[http://science.sciencemag.org/content/sci/suppl/2016/01/27/3...](http://science.sciencemag.org/content/sci/suppl/2016/01/27/351.6272.482.DC1/Ossendrijver.SM.pdf)

> 1 The day when it appears: 0;12, until 1,0 days, 0;9,30.

> 2 0;12 and 0;9,30 is 0;21,30, times 0;30

> 3 is 0;10,45, times 1,0 is 10;45.

> 4 After completing 1,0 days, until 1,0 days 0;1,30.

> 5 0;9,30 and 0;1,30 is 0;11, times 0;30 is 0;5,30.

> 6 0;5,30 times 1,0 days is 5;30. (erasure) 10;45 and 5;30 is

> 7 16;15, the total. From appearance until station the motion is 16;15.

The actual trapezoid is mentioned in another tablet, which is also translated.

To see how the numerals actually work, just look up Babylonian Mathematics. It's a pretty simple base-60 system.

<comment><USER4> Weird question, but how does one write very rapidly in stone?

<comment><USER5> Clay tablets texts were written in soft clay mass, just pressing the clay with the wooden stylus produces the marks. Only once it's baked it is durable.

</comment></comment></comment></comment><comment> gene-h Title is a bit misleading, what they were doing was a lot closer to a precursor to calculus.

<comment><USER6> Reminds me a bit of a guy my physics teacher met in the oil fields of alaska. The guy, who had never finished high school (and much less seen Calculus), had figured out a way to calculate the volume of a large, tapering tank using his own shorthand. He had the concept of limits and was essentially doing calculus.

<comment><USER7> As my math phd adviser once told me, 'Those who do not understand homology are doomed to reinvent it.'

</comment></comment></comment><comment><USER5> The original paper in Science by Mathieu Ossendrijver:

[http://science.sciencemag.org/content/351/6272/482](http://science.sciencemag.org/content/351/6272/482)

"Ancient Babylonian astronomers calculated Jupiter's position from the area under a time-velocity graph"

As gene-h noted, it's interesting because it's something close to calculus but done so early in history.

<comment><USER8> I'm guessing that the mentions of fourteenth-century Europe refer to the work of the [https://en.wikipedia.org/wiki/Oxford_Calculators](https://en.wikipedia.org/wiki/Oxford_Calculators) , an interesting bunch in their own right.

<comment><USER5> Oresme in Paris did it graphically. The calculators apparently produced the "mean speed theorem". It's written in the full text of the paper:

"The "Oxford calculators" of the 14th century CE, who were centered at Merton College, Oxford, are credited with formulating the "Mertonian mean speed theorem" for the distance traveled by a uniformly accelerating body, corresponding to the modern formula s = t•(v0 + v1)/2, where v0 and v1 are the initial and final velocities (12, 13). In the same century Nicole Oresme, in Paris, devised graphical methods that enabled him to prove this relation"

</comment></comment></comment><comment><USER9> The trapezoid rule, also known as Tai's method in the diabetes community.

[http://care.diabetesjournals.org/content/17/2/152.abstract](http://care.diabetesjournals.org/content/17/2/152.abstract)

</comment><comment><USER10> History of math class... one of the assignments was to find the error in a Babylonian secant table and also reason out how the computing error happened. Fun.</comment>


A quick primer on type traits in modern C++ - <AUTHOR> https://www.internalpointers.com/post/quick-primer-type-traits-modern-cpp <comment><USER2> The amount of background knowledge you need to understand what's happening here... I don't envy people who have to catch up

becoming more and more convinced that when sfinae opened the Turing hatch it doomed c++

<comment><USER3> It just looks kinda wrong to me - If your generic template has to switch on what type it's been passed, surely you've made it too generic somewhere? Adding back conditional compilation or execution afterwards strikes me as the same sort of code-smell as checking if something is an instance of a given class before then casting it and calling a member - you've lost information and using some sort of reflection to get it back looks like poorly thought out code. Sure, there are times when you more or less have to, but you ought to try to avoid them.

But what do I know, I haven't done C++ for about 5 years and was never _that_ into it.

<comment><USER4> You do not switch on types, you switch on groups of tuoes having certain properties. It is not a new thing this sort of thing has been doable for the last 20 years in a form or another.

</comment></comment></comment><comment><USER5> That was an excellent article, thank you.

</comment><comment><USER6> I found the use of 'if constexpr' in the example pretty nasty. I would have thought it more idiomatic to use std::enable_if to enable different implementations of 'algorithm' as in the example of 'construct' and 'destroy' given here:

[https://en.cppreference.com/w/cpp/types/enable_if](https://en.cppreference.com/w/cpp/types/enable_if)

<comment><USER7> Most of this is pretty new to me. Why is it nasty? It looks neat to me!

<comment><USER6> I consider it nasty (compared to the std::enable_if example that I linked) because it does not express the programmer's intent.

When you use enable_if to enable specific algorithm variants for specific trait predicates, you're saying "here is the specialised algorithm to use when this predicate is satisfied". Both the predicate and the algorithm code that relies on the predicate being satisfied are part of the template specialization definition. There's no chance of missing a precondition: it's stated right in the definition. Another advantage is that it's completely modular -- you can add or remove specializations at will.

On the other hand, the example in the post using 'if constexpr' wraps the algorithm in an extra layer of indirection (a generic wrapper) with a bunch of constexpr if-else spaghetti used to dispatch to the correct implementation. Even if the if-else spaghetti is pristine, the fact remains that the predicate and the specialized code that depends on the predicate as a precondition have been separated out into two independent code sites.

</comment></comment></comment><comment><USER8> algorithm_signed() and algorithm_unsigned() in the conditional compilation example need to be templated functions for the example to make (more) sense.

<comment><USER9> Is algorithm being templated not enough?

<comment><USER10> Two points. 1) Currently, the code could be written with normal overloading (one for int and one for unsigned). No traits required. 2) The current code relies on an implicit cast to int or unsigned int. I'm not sure that's good.

<comment><USER11> > Currently, the code could be written with normal overloading (one for int > and one for unsigned). No traits required

f( (uint8_t)0 ) will dispatch to the overload f(int) with overloads. The type- trait code will dispatch to f_unsigned(unsigned).

<comment><USER12> I didn't believe you but you're right. The uint8_t gets promoted to int, not unsigned int.

[https://godbolt.org/z/icQHw3](https://godbolt.org/z/icQHw3)

<comment><USER9> C's integer promotion rules aren't the best.</comment></comment></comment></comment></comment></comment>


Ask HN: What problem that unsexy industries need to solve - <AUTHOR> Unsexy industries are those whom talented developers do not want to work for though they have competitive offer (mostly due to branding). Name your painful problem in these industries.<p>Please be specific as much as possible. <comment><USER2> I'm assuming you're trying to find problems to solve so as to start a business. This seems like a fine thing to do. Your approach could be a bit better, though.

1\. You're asking about "unsexy industries." The people who work in those industries might care quite a lot about their job, so your description isn't going to be appealing.

2\. You're implicitly insulting any developer who works there, based on how you define such industries: you're saying they're probably not talented.

3\. You're asking in the wrong place.

4\. The term "sexy" is going to turn a bunch of people off regardless of where they work.

5\. Your phrasing makes this sound like an exam or a test.

<comment><USER3> I guess "unsexy" means stablished industry not (yet) in Google, Facebook, Tesla, etc.. world domination plan.

;-)

<comment><USER2> I don't really understand what that means. Tesla is losing lots of money, not clear if they have a viable business model, whereas Google & Facebook are massively profitable behemoths.</comment></comment></comment>


To Understand Religion, Think Football - <AUTHOR> http://nautil.us/issue/39/sport/to-understand-religion-think-football-rp <comment><USER2> I do think of it in exactly that way. But football fans, whovians, trekkies and all other sorts of harmless geeks and freaks don't expect the world and the law to bend over backwards to accommodate their hobby or fandom.</comment>


"Commons Clause" was intended to stop AWS from selling open source as products - <AUTHOR> https://techcrunch.com/2018/09/07/commons-clause-stops-open-source-abuse/ <comment><USER2> _When open source became popular, it was designed for practitioners to experiment with and build on, while contributing back to the community. [...] open-source software was never intended for cloud infrastructure companies to take and sell._

Uhm no. If you are using the BSD license or the Apache license, you are explicitly saying: you can use this software as you want, just give me credit, and don't sue me if it does not work. Many companies have used the BSD TCP/IP stack and included it in proprietary software, including the BSD projects. This is something that the non-copyleft open source licenses explicitly permit and has been encouraged by a lot of projects. Using open source software in the cloud is a modern variant of it.

When it comes to copyleft licensing, the goal is that the user of a program or service (in the case of AGPL) can obtain the source code of a program and redistribute it under the same terms.

The goal of open source was never to protect (VC-backed) companies that want to pretent to do open source, but then object when other people earn money with their software.

What you are looking for is a non-open source license, optionally with the possibility to make the source available. That's fine. But please stop hijacking the history of open source and diluting the reputation of open source licenses by calling it Apache 2 License + Commons Clause.

Commons Clause is not open source and had nothing to do with it.

 _Some rabid open-source wonks accused Redis Labs of trying to trick the community into thinking that modules were open source, because they used the word "Apache." (They were reported to be foaming at the mouth while making these accusations, but in fairness it could have been just drool.)_

What does this poison even do on Hacker News?

<comment><AUTHOR> I think its useful to have a name of "Apache 2 License + Commons Clause" because 99% of the users will use it as Apache-2.0 rather than sell it as a cloud service.

<comment><USER3> > 99% of the users will use it as Apache-2.0 rather than sell it as a cloud > service.

No, that's the fundamental problem: 0% of the users will "use it as Apache 2.0"; this is not a dual license with Apache 2.0 license and some other license as options, it's a single license which is more restrictive than Apache 2.0.

<comment><AUTHOR> Practically speaking, how is that different than shipping Apache 2.0 with a NOTICE file? Having to include a notice is more restrictive than Apache 2.0 without a notice. For a cloud provider, there is a real difference, but for a non-cloud provider the NOTICE version is more restrictive.

A question I don't see addressed is: what licensing compatibility issues (for non-cloud providers) are presented by the commons clause?

<comment><USER4> It's incompatible with all open source licences.

</comment></comment></comment></comment></comment><comment><USER5> > Some rabid open-source wonks accused Redis Labs of trying to trick the > community into thinking that modules were open source, because they used the > word "Apache." (They were reported to be foaming at the mouth while making > these accusations, but in fairness it could have been just drool.)

What an incredibly uncivil article. How can one say this when, in basically every HN thread on this subject, it had to be explained to at least one person that this is not an Apache license?

<comment><AUTHOR> They have done a poor job communicating this license to the community, and this continues the tradition :(

I would like to see the discussion move from the messenger to the idea (now that hopefully everyone actually understand it!). This is a very important topic to figure out.

<comment><USER2> _This is a very important topic to figure out._

IANAL I think there is a very simple solution: use the 'Notice clause' of the Apache 2 License to require cloud users to put some unflattering notice in their documentation:

 _If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear._

Offer the option to purchase a license to the software without the requirement to display the notice.

<comment><AUTHOR> Cloud providers aren't actually distributing open source software though unless it is AGPL. So I think this is a good idea, but you also need a better AGPL license too.

<comment><USER2> I agree that (again IANAL) the clause would have to be extended to something like 'distribute or perform' rather than purely focusing on distribution. But I think it could be a compromise where software can still be fully open source, while calling out cloud providers that are not contributing back (well, actually, they'd have to call out themselves by putting the notice somewhere visibly ;)).

But I don't think they are really listening to other suggestions. This seems to be an effort backed by some VCs with the goal of getting the benefits of open source ('it's just like open source, so please contribute'), while having an exclusive opportunity to monetize 'the commons'.

<comment><AUTHOR> Thinking about this more, this approach is innovative but awkward. The point of licenses is that they provide a legal basis. "Calling out cloud providers" has no legal basis, but is instead an attempt at societal shaming. Shaming should be achievable without using licenses.

But I would rather have legal licenses than a shaming system. If we want contributions back, lets make a better AGPL. If we don't want cloud providers to sell the software, lets have the Commons Clause (but just don't annoy everyone by prepending Apache).

</comment></comment></comment></comment></comment></comment><comment><USER6> The author of the article has invested in Redis Labs.

[https://techcrunch.com/author/salil- deshpande/](https://techcrunch.com/author/salil-deshpande/)

<comment><USER3> The author of the article (overtly, as described in the article) organized the Commons Clause effort and the dishonest propaganda of selling it as a rider attached to an open source license by open source firms rather than a proprietary license by firms abandoning open source.

</comment></comment><comment><USER7> The Commons Clause is a cancer to open source. It is as much as saying: You can use our software however you like, unless you charge someone to host and maintain an environment that runs our software.

In other words, it stifles one of the most powerful tools for increasing the market penetration of open source.

<comment><USER8> In other other words, it isn't free software at all. It's commercial software with source code access and a limited right to free use.

<comment><USER7> EDIT: You were agreeing with me. Sorry for the misunderstanding. I don't delete my goofups, so I'll let the below remain and take the karma hit.

\---

Nonsense. Open Source does not mean, and has never meant, that you get everything for free.

For example, a company wishing to use Postgres in some project has a choice: Setup and manage it themselves, or pay someone to do it for them. That someone may be Amazon in the form of an RDS instance. Or maybe they hire me to setup and manage a traditional VM for them on Amazon's infrastructure. Or maybe they host it themselves, but contract with me to do all of the setup and maintenance so they don't have to. (Please note that despite having the skills for this, I don't do this for anyone but my own company.)

By your logic, any of those options turns Postgres into commercial software that ceases to be free.

By your logic, you are literally telling anyone who wishes to use Postgres: That's great. Just don't you dare to pay someone to do this for you.

How about comparing the cost difference for paying for SQL Server RDS vs. Postgres RDS. For an m4.large instance, the former is $0.977/hr. and the latter is $0.189/hr. Why do you suppose that is?

<comment><USER9> I feel like duskwuff was violently agreeing with you about the Commons Clause, not arguing against you.

</comment></comment></comment></comment><comment><AUTHOR> I would really like to see some revised approaches to the AGPL (actually open source) that doesn't freak everyone out. Some of the purpose of their commons clause is just because big company lawyers ban AGPL software in large part due to their interpretation of the license which may not even be correct.

</comment><comment><USER10> The author downplays the critical feedback, and raves about the small pieces of positive feedback he got. The feedback on previous HN posts was largely negative though

</comment><comment><USER11> In my opinion if a company makes software they want to get contributions back there are licenses such as GPL and AGPL, the commons clause just infringes on user freedoms. Thus I think the title is a bit too absolute and thus should be changed to something else.

<comment><USER12> We've changed the title above to reflect more specifically what the article says. If someone can suggest a better (i.e. more accurate and neutral) title, we can change it again.

</comment></comment><comment><USER13> While, I understand the sentiment of not liking companies basically reselling open source software. It does restrict the rights of users on what they can do.

However, I have also never consider GPL entirely open source it restricts someones right to not publish changes they make. It's also definitely a reason some people choose not to use the GPL.

If we want to get philosophical the only true open source license is release code to the public domain. No restrictions/requirements at all.

However, there is one big issue with this "Commons Clause". This section here "whose value derives, entirely or substantially, from the functionality of the Software". Your not allowed to sell services even if you modify it to add some unique features. If those depend substantially on the software. If it just said "entirely" instead also including "substantially". The problem is the word "substantially" is quite vague, and if changes or additions you make can't run without their software which is pretty much any software modifications/modules, scripts ect... that have software licensed under this as a dependency.

Let's say someone licensed an operating system under this license. You develop an application which uses the OS's system calls. Your application does something useful, so you wish to sell it as a service, but because your application can't run without calling those system calls. It may be legally counted as "substantially" deriving value from the licensed software, and you can't sell your own work.

While, I understand some licenses are a compromise of the only license that ensures all freedoms which is public domain. These compromises either tend to try help open source or just ensure that software is free for everyone using it. Since something in public domain can be resold, and the secondary users of that may never know the source code exists. Some just prevent someone else from claiming that they made the software.

However, as I mentioned at the start, I understand why some people do not like the idea of company just taking an open source project and selling it. However, this license goes way too far. It places what I call unreasonable restrictions on the users. It's in need of a major rework.

<comment><USER14> > No restrictions/requirements at all.

It's been tried. Unix vendors would take publically available code (MIT's X Windows), close it off, and prevent system administrators from touching it, or only release it under NDA.

Freedom for the vendors, not for the users.

<comment><USER13> I did say the following above: "Since something in public domain can be resold, and the secondary users of that may never know the source code exists."

I am quite aware of that issue. All I was saying any license other than public domain puts some sort restriction/requirement on users. Vendors are users too, and ideally they would not try close off open source code. So a good OSS license should unobtrusive, and reasonable to users who are not trying engage in shenanigans. These are obviously restrictions since the license tries to prevent underhanded behavior, but I woulds say a reasonable compromises since we don't live in a perfect world where everyone is honest.

Despite it's confusing name I would say this "commons license" was attempt to stop what they see has underhanded behavior. However, as I said before it's a comprise too large since really does have the potential limit a lot of freedoms. I would say it's anything but unobtrusive.

However, the OP author of the article also appears dismissive or closed to any criticism.

</comment></comment></comment><comment><USER15> Open source abuse would be complaining someone made money from open source work. DRM is the solution for people who wish to arbitrarily restrict how others use IP.

</comment><comment><USER16> This is the first time I have seen this topic. The points seem reasonable enough to me.

<comment><USER12> If you want to get caught up, the previous large discussions are:

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

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

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

</comment></comment><comment><USER17> From the article > First, AGPL makes it inconvenient but does not prevent cloud infrastructure providers from engaging in the abusive behavior described above. It simply says that they must release any modifications they make while engaging in such behavior.

Thats the point of Open Source... You can compete right back with all their changes, and your likely to be the most knowledgable about the product.

</comment><comment><USER18> I can't read articles from TC - when I scroll, the content disappears and I see like an another article or page. i'm on iOS 12. What is it?</comment>


Arctic now locked into devastating temperature rise, UN report says - <AUTHOR> https://www.cbc.ca/news/canada/north/arctic-warming-locked-in-1.5056548 <comment><USER2> I'm constantly reminded of the cartoon where a heckler is standing up during a Climate Change presentation, yelling, "What if it's a big hoax and we create a better world for nothing?"

I'm a big believer in the scientific method. I think wherever possible we should gather evidence to confirm or deny our hypothesis. But sometimes we have to make decisions without time for all the facts, all the calculations to come in. You could stand there in the street as a car careens toward you, slide rule in hand, being absolutely sure the car will collide with you before finally stepping out of the way. But, of course that's ridiculous.

So, the fear is that making the necessary changes to society would be far too disruptive, too expensive, resulting in ultimately more death and devastation than what Climate Change may or may not bring.

That's quite a gamble. We seem totally fine spending trillions of dollars on _other_ experiments [cough] tax cuts [cough]. We go to war, sacrificing lives and national treasure on uncertain outcomes, on shaky premises, and on and on. Why, with this one issue, are we so reluctant to make the leap with a significant scientific consensus around the issue?

<comment><USER3> > I'm constantly reminded of the cartoon where a heckler is standing up during > a Climate Change presentation, yelling, "What if it's a big hoax and we > create a better world for nothing?"

The truth is that if climate change really is the catastrophe that people are talking about, we will have to take drastic action that will make the world worse. Maybe we have to convert large portions of our land into solar and wind farms spoiling previously pristine wilderness with installations and power lines? Maybe we will have to embrace nuclear power and decide that having a Chernobyl every decade or so is a tolerable risk? Maybe we will have to decide that seeding with sulfur in the upper atmosphere is required to help with temperatures and that acid rain will just have to be an acceptable trade-off.

If people really believed that climate change was the catastrophe that they say it is, they would be willing to practically give away everything in exchange for getting legislation through that would help climate change. If democrats went to republicans and said "Look, climate change is a life or death thing. If you support an effective global carbon tax, we will support everything else in your platform." You could probably get legislation passed by next month. Of course, nobody really views climate change as being that much of a crisis!

<comment><USER4> I don't follow your logic. Giving way to a fascist Republican agenda is only going to make climate change worse.

</comment></comment></comment><comment><USER5> Climate scientists, in an effort to avoid panic, are downplaying the calamity and timescale of this crisis. It's common knowledge in the climate science academic community that the 2018 IPCC report was overly conservative in its modelling of CC progression by lacking any mention of self reinforcing feedback loops.

The two most impactful of these loops are the Arctic sea ice reflectivity loss (less ice -> less incoming light reflected back into space -> more heat captured by earth -> less ice) and the Siberian arctic shelf methane loop, arguably the most devestating one because we already know it caused Earth's worst extinction[0], and it is beginning to happen again[1].

It will be refreshing to see if the scientific community's consensus on how silent to be about the severity of the climate crisis will change as the facts of how rapidly the feedback loops are progressing essentially implicate near- term (10-20 years) civilisational collapse.

More info from the World Research Institute on climate feedback loops:

[https://www.wri.org/blog/2018/08/why-positive-climate- feedba...](https://www.wri.org/blog/2018/08/why-positive-climate-feedbacks- are-so-bad)

[0]: [https://www.independent.co.uk/environment/earth-permian- mass...](https://www.independent.co.uk/environment/earth-permian-mass- extinction-apocalypse-warning-climate-change-frozen-methane-a7648006.html)

[1]: [https://www.economist.com/science-and- technology/2018/04/28/...](https://www.economist.com/science-and- technology/2018/04/28/scientists-struggle-to-explain-a-worrying-rise-in- atmospheric-methane)

</comment><comment><USER6> Lands warm up more than oceans. We're already past 1.5°C of temperature rise and we probably won't do anything to prevent 2°C. Most probably, we'll hit +3-+4°C in 2100. However even +2°C is a global average; oceans are cooler, and 75% of the surface. It can easily be +1°C on the oceans, and +5°C on land, averaging to +2°C.

The situation of complex systems such as climate, the world economy and global ecosystems doesn't simply gently degrade over time. There are quick, catastrophic changes that occur rapidly when reaching certain thresholds. So all could be mostly fine for 1 year, or 5, or 10, then collapse suddenly any time because we've gone through one particular threshold we don't know (ocean acidity, surface temperature, oxygen concentration, forests dying from the heat and becoming carbon sources, etc).

Prepare for a tough, violent future. Be scared to death.

<comment><USER7> >Prepare for a tough, violent future. Be scared to death.

This is exactly the type of fearmongering Science avoids.

<comment><USER8> The IPCC has indeed carefully avoided claims which may appear to be "fearmongering". However, a consequence of this is that they typically discuss the least severe warming scenarios in predictions of the effects of climate change. But the fact is that at current emissions, temperature anomalies of 3 C or more are likely within the next century. Barring large-scale geoengineering on a scale never before attempted, such an amount of warming would be utterly devastating to human civilization. Relevant historical comparisons include the Black Plague and the Spanish flu and not much else. Nine-figure death tolls are not off the menu.

<comment><USER9> A nine-figure death toll seems optimistic, unfortunately.

</comment></comment></comment></comment><comment><USER7> So i tried to find the actual UN report. The article linked to this [http://www.grida.no/publications/431](http://www.grida.no/publications/431) but it doesn't appear to exist anymore (??) Luckily there is a Google cached version [http://webcache.googleusercontent.com/search?q=cache:w_- _g9l...](http://webcache.googleusercontent.com/search?q=cache:w_- _g9leLdgJ:www.grida.no/publications/431+&cd=1&hl=en&ct=clnk&gl=ca) which links to the report [https://gridarendal-website- live.s3.amazonaws.com/production...](https://gridarendal-website- live.s3.amazonaws.com/production/documents/:s_document/465/original/GlobalLinkages.pdf?1552478695)

In the cbc article, they say "According to one study cited in the report, up to 70 per cent of Arctic infrastructure could be threatened because of thawing permafrost by 2050. ". This refers to page 17 of the report, which cites this study [https://www.nature.com/articles/s41467-018-07557-4](https://www.nature.com/articles/s41467-018-07557-4)

In the abstract, they clearly state "We show that nearly four million people and 70% of current infrastructure in the permafrost domain are in areas with high potential for thaw of near-surface permafrost." While the CBC sub- headline says "70% of infrastructure will be threatened because of thawing permafrost by 2050"

Seems quite misleading. CBC will have people think that 70% of all infrastructure is threatened (subjective interpretation) whereas the study clearly indicates it's 70% of the infrastructure __in the permafrost domain __, which affects a whopping 4 million people. I 'm sure there will be plans to help those affected in time.

I'm not saying it's not a problem, I'm just saying, as usual, the media hypes and sensationalizes it, most likely for some ulterior agenda.

</comment><comment><USER10> On one hand I wonder what is the breakthrough that is going to happen that will save us all? Some new energy or carbon removing technology. I fear this will not happen soon enough and that brings me to the other hand at what point will climate change break a nation and what is going to be their response when their back is against the wall and other nations are already strained by climate change. If no one takes them in, what measure will they take to ensure their children live on? At what point will we start seeing other nations carbon emissions as hostile? It seems pretty selfish the way we run the earth now. Perhaps we need to truly pay for our individual emissions. Like sure you want to be a millionaire and run a private jet sure but you will be responsible for not just the cost of it's gas but it's entire emissions as well. You want to sell something that causes emissions, sure but you better add that cost into your products you sell as you will pay for the emissions. And by pay for emissions I mean the true cost. If current world tech costs 100$/kg to remove then you pay 100$ for every kg you release. And by law that money is used for that actual purpose. It seems pretty obvious some industries are reaping the rewards of high emissions with little pay back. That needs to stop. It completely reminds me of the plastic problem where people are selling these products with copious amounts of plastic packaging that ends up in landfills and city's are left trying to deal with the cost of it all.

<comment><USER11> Arab Spring happened in part because food prices went up to not-affordable levels (partly because of 2011 forest fires in Russia destroying their grain harvests), and the Syrian civil war was also triggered because drought caused failed farmers to move into the cities looking for other income, causing social tensions. The chaos has triggered the refugee crisis, turning many European nations into right-wing populism.

So, break a nation? Climate change broke a few already.

The EU governments are already making it hard for refugees to cross the Medditerranean (financing the Libyan Coast Guard to stop "smugglers", as well as camps in Turkey), although all the Neo-Nazis still scream about it, I can imagine that when more right wing governments get voted to "represent" the populace, they'll take even more drastic measures (even more than the Italian government refusing docking rights to ships which rescue refugees).

<comment><USER12> But could these be just triggers in unstable countries?

You only have to take one look at Egypt demographics to understand Arab (counter-)revolution(s) are inevitable.

[https://www.ined.fr/thumb/?q=90&w=1027&h=768&src=/fichier/s_...](https://www.ined.fr/thumb/?q=90&w=1027&h=768&src=/fichier/s_rubrique/308/graphique_egypte_fin.gif)

This is a desert country, bankrupt for 20 years, and dependent on foreign dollar aid to buy food.

Syria is a vicious civil war, with a minority governing sect fighting for its life against an abused majority.

After 7 decades of democratic progress in the EU, there are bound to be push backs. Is the Brexit insanity related to climate change?

Well-managed China will leverage Green Tech as an economic opportunity. Mis- managed countries will sink lower. Sad but true.

<comment><USER11> The whole EU clusterfuck is because of Berlin's policy of Austerity uber Alles, especially in the UK. Plus the stupidity of the Euro, which meant tying your currency to Germany's if you join up.

Interesting point about China, do they have a refugee crisis? I suppose being seen as an oppressive regime not scared to shoot at people has its advantages. (I'm a "refugees welcome!" kind of person, although I'm sure the society I live in barely tolerates them, and the situation will not improve.).

</comment></comment></comment></comment><comment><USER13> Would unfreezing some of these soils make the soil hospitable to carbon- consuming plants?

Seems like the effect of permafrost melt may be partially mitigated by increased plant growth in those areas: through both gas and soil nutrient sequestration.

<comment><USER14> Yes, but because those latitudes receive less light, plant growth is hindered somewhat.

</comment></comment><comment> temp-dude-87844 The poles are a reservoir of factors that could further contribute to a warming climate and rising sea levels, and with their disruption, the processes will escalate.

The emergence of similar reports might finally cause the conversation around climate change to move out of talking about vague if dire impacts and about policies that resemble austerity pledges, and about mitigation and adaptation. Those seem to have been a taboo so far, but that can't continue.</comment>


New Zealand's spy reach stretches across globe - <AUTHOR> http://www.nzherald.co.nz/nz/news/article.cfm?c_id=1&objectid=11415172

<comment><USER2> Url changed from [https://firstlook.org/theintercept/2015/03/10/new-zealand- gc...](https://firstlook.org/theintercept/2015/03/10/new-zealand-gcsb-spying- trade-partners-nsa/), which points to this.</comment>


Pineapples could be key to treating the new coronavirus - <AUTHOR> https://www.nzherald.co.nz/lifestyle/news/article.cfm?c_id=6&objectid=12357695 <comment><USER2> > The drug, BromAc – which is made with an enzyme found in pineapples -was > found to dissolve the spike proteins that Covid-19 uses to infect human > cells.

So not pineapples themselves but a derivative.

> It has been repurposed into a nasal spray that researchers hope will stop > the virus' spread from the nose and throat to the lungs. A trial on patients > at the Royal Melbourne Hospital could start next month.

So not an injection or anything, just sort of a nasal barrier.

</comment><comment><USER3> yummy! maybe they could make the nasal spray scented in pineapple.</comment>


Extra glass of wine a day 'will shorten your life by 30 minutes' - <AUTHOR> https://www.theguardian.com/science/2018/apr/12/one-extra-glass-of-wine-will-shorten-your-life-by-30-minutes <comment><USER2> This will change again in six months. It's not worth paying attention to any of these studies until there's a critical mass of them saying the same thing

<comment><USER3> This was a meta-study, not an actual study. So the studies used won't change, what might happen is that another meta-study will come along that will interpret the data differently. So for stuff like this it comes down to methods. There is no point to waiting for more data if you accept the methods used in this meta-study. There is lots of data, perhaps even too much...

</comment></comment><comment><USER4> Oh, can we have no fun anymore?

</comment><comment><USER5> I'd gladly trade a drink a week with friends for the last 3 years of my grandfather's life - stuck in assisted living.

<comment><USER6> Haha it's always better to trade away other people's time :)

</comment></comment><comment><USER7> fair swap</comment>


Ask HN: Online Project Management with Document Editing - <AUTHOR> I'm looking for a online project management application for a small team (~10 people) which also can be used as a text editor.
Document editing is important because it is needed to editing motions and press releases in a team, which are currently send back and forth via email and it is hard to keep the text current.
One last thing, it must have a German localisation. Therefore Basecamp 3, even though it looks nice, can't be used. <comment><USER2> Look at taiga.io or use good old one trac at trac.edgewall.org</comment>


How software engineers managed to create a hardware product - <AUTHOR> https://www.indiegogo.com/projects/world-s-first-personal-air-conditioner/?utm_source=yc <comment><USER2> So only 1 component, the evaporative cartridge, requires replacement which can last upto a year depending on amount of usage im guessing?

<comment><AUTHOR> Yes, you got it absolutely right.

The only thing that needs replacement is evaporative cartridge.

It can last up to a year depending on amount of usage and quality of water. If water contains too much of impurities you'll need to replace the cartridge more often.

<comment><USER2> great! thnx!!

</comment></comment></comment><comment><USER3> I always loved Kickstarter but there are lots of interesting on IndieGoGo too.

<comment><AUTHOR> every time I open IndieGoGo I hang out there for 20 minutes)

<comment><USER3> good luck for you, guys

</comment></comment></comment><comment><USER4> What about mold and mildew with respect to the water tank?

<comment><USER5> +1

</comment></comment><comment><USER6> Cool thing. Good luck with your project.

</comment><comment><USER7> Congratulations! What a campaign! Great!

<comment><AUTHOR> thanks

</comment></comment><comment><USER8> Well done, proud of you!

</comment><comment><USER9> Does it smell??

<comment><AUTHOR> No.

Smell is a common problem for existing evaporative coolers. That is why they are also called "swamp" air conditioner.

However, we managed to sove this problem. Our evaporative material doesn't contain any organic elements so no microorganisms can spread inside the deice.

<comment><USER10> Can I add essential oils to the water?</comment></comment></comment>


What if I don't want to "join the conversation?" - <AUTHOR> http://www.dangerouslyawesome.com/2008/07/09/what-if-i-dont-want-to-join-the-conversation/

<comment><USER2> Unfortunately for the author, talking about the conversation _is_ "joining the conversation".

</comment><comment><USER3> I lurked for over 6 months on News.YC before I started posting. I think some anonymous online discussions are more interesting because they are niche and anonymous.

Like UrbanBaby and maybe News.YC:

<http://www.urbanbaby.com/talk/posts>

If joining the conversation requires linking an identity to my opinion, I might be too shy or scared to say something. Who are the top Yelp reviewers anyway?

<comment><USER4> They don't call you wallflower for nothin'...</comment></comment>


Show HN: Rdio Remote Control for Chrome - <AUTHOR> http://partyq.us/

<comment><USER2> As an rdio user, this is great! If you manage to make one for the desktop App, throw it on the Market and I'll gladly pay for it. There are plenty of times when I'm across the room and want to change tracks without having to get up and go back to my laptop, something like this would definitely come in handy.

Nice work!

<comment><AUTHOR> Thanks. I'd love to make one for the desktop App but I haven't figured out a way to do more then Previous, Next, etc. No searching.

I've contemplated building my own desktop app though that basically embeds a browser plus the extension.</comment></comment>


Excel is a Database ... - <AUTHOR> http://www.neopoleon.com/home/blogs/neo/archive/2003/09/29/5458.aspx

<comment><USER2> This is good. And it's true.

There's one dude in sales where I work who consistently (at least once a week) sends us his latest specification as a spreadsheet embedded in a _Powerpoint slide_. I called him once and tried to explain what he was doing wrong, and I realized I pretty much didn't know how to communicate the level of wrong that is to his mind.

 _You're not supposed to... well, you know there's a separate program for that, right?_

"Yeah, of course. I just stick it in Microsoft Office and send it to you. That's what I've always done."

 _Yes, but Office has different parts, and you're using the part that's for presentations, and..._

"Look, I just click the button to open Microsoft Office, and then I stick the stuff in those columns. Is that really so hard for you guys?"

... at which point I just gave up, because it's not worth the headache to explain this.

<comment><USER3> Seen in video form: <http://www.youtube.com/watch?v=1SNxaJlicEU>

</comment></comment><comment><USER4> Jokes on us for not creating friendlier software for these people who struggle with this all day. They'd pay good money for it too.

<comment><USER5> See koeselitz's post. What you say is true up to a point, but no matter how much you simplify and refine and simplify and refine again, your users do have to be willing to learn _something_ to use your program. At the point where the user is literally not even in the right program for the task they are trying to do it is difficult to imagine what more could be done without the user trying at least a little harder.

</comment></comment><comment><USER6> and heres how to make the excel file relational: [http://angrytechnician.wordpress.com/2010/06/14/dear- microso...](http://angrytechnician.wordpress.com/2010/06/14/dear-microsoft/)

</comment><comment><USER7> In my company they use Excel for Newsletter mailing. True story.</comment>