Is Perl Difficult? - <AUTHOR> http://www.prescod.net/perl/whynot.html

<comment><USER2> People always draw the wrong conclusions in articles like these. He shows a piece of code that uses a regular expression over implicitly-defined variables.

I agree that's confusing; regex syntax is _very_ terse, and there's nothing in there to help you learn it. (In regular code, variable and function names can help you infer from context what the other constructs do.) Secondly, it's hard to reason about code that does things that aren't written. "while(<>)" assigning to "$_" for "/.../" to use is confusing. $2 and $3 coming out of nowhere are confusing.

The problem, though, is not with Perl; it's with the author's lack of knowledge of how it works. Regexes are nice once you learn them. Operating on $_ is nice once you expect that to happen. $1 and friends are quite handy.

Finally, most Perl apps don't look like this. Sure, there may be something like this hidden over in an obscure subroutine, but most Perl looks like every other language.

Here's a randomly sampling of Perl from my git repository:

[http://git.jrock.us/?p=Template- Refine.git;a=blob;f=lib/Temp...](http://git.jrock.us/?p=Template- Refine.git;a=blob;f=lib/Template/Refine/Fragment.pm;hb=HEAD)

Basically, it looks like it would when written in any other language. It's not unreadable or crazy, it's just a program.

Finally, here's a more readable version of his example:

        while ( my $line = <> ){ # or "readline" if you hate <>
            while( $line =~ /<!--(?<comment_body>[^-]+)/g ){
                say $+{comment_body};
            }
        }

One more thing; from the article:

 _Even so, I supect that most readers that know both languages, even Perl fans, will agree with me._

Not true. I don't know Python, so of course I'm not going to be able to use it to write maintainable code. I do know Perl, though, and I bet I can write much better code than the author of this article.

I should note that his program doesn't actually work. It won't work across lines, and doesn't allow "-" in the comment. A full-file parser would do a correct job, and one is available from the CPAN, so it would involve less code anyway.

<comment><USER3> As you mention, RegExps are the wrong way to handle markup.

In Python, load lxml module and parse the content into an etree, a heirarchical data structure for XML elements.

lxml.etree will read them in and treat them as Comment or ProcessingInstruction.

You can then iterate the tree and collect the comments.

<http://codespeak.net/lxml/tutorial.html>

I've been working with etree for the last couple of weeks, firstly using xpaths to extract data from a HR database a customer expects my company to look up manually for 6000 people, then to create OpenDocument files. It's really easy, even if you've never done any XML programming before, and the mailinglist is very helpful too.

<comment><USER4> There are Perl packages to do the same - XML::TreeBuilder and HTML::TreeBuilder come to mind. I'm sure for most cases they would both work just fine and it's really just a matter of preference.

<comment><USER3> I agree - wasn't trying to use that as an an illustration of superiority of Python, but just show how the data should be properly parsed, not treated like unstructured data.

That said, I do prefer the 'one, right way to do it' of Python - it makes it a lot easier to pick up on someone else's code.

</comment></comment></comment></comment><comment><USER5> So there's a bunch of Perl lovers kneejerkingly responding to this post that the author doesn't "get" it.

Now I myself love Perl and code in it for a living and I think the author does in fact "get" it, it's just that he thinks Perl is a problematic language precisely because "getting it" is required to use it well. It's something he's explained a little further over here:

<http://www.prescod.net/python/why.html>

You may disagree with him and feel that an easier language does not a better language make (I'm not sure I'm convinced either) but complaining he hasn't read the documentation is proof that you yourself haven't grasped what he's actually talking about.

<comment><USER6> All he really says is that complex languages are harder to learn than simple ones. No kidding. His specific points are valid, except I'm not sure what's wrong with references in Perl.

I still much prefer Perl over Python and C++ over C, and I would recommend my preferences even to a beginner. The steeper learning curves are justified by the power. I disagree with his assertion that you should choose a language on the basis of how easy it is to learn. I also think his Perl vs Python debugging claim is baseless.

<comment><USER3> > I still much prefer Perl over Python

> The steeper learning curves are justified by the power.

What can you do in Perl that you can't do in Python?

<comment><USER6> Symbol table manipulation, source filters, run-time method generation via AUTOLOAD, proper closures, taint checking, lexical pragmas...

I think you'd be hard pressed to implement something like Perl's Moose in Python. I'm not completely sure it's possible.

There's a lot of tricky stuff that's easy in Perl but requires tons of hoop jumping in Python.

Don't underestimate the utility of perl one-liners. You can't do them in Python, both because of the whitespace and because in practice Python is too verbose.

<comment><USER3> > Don't underestimate the utility of perl one-liners. You can't do them in > Python, both because of the whitespace and because in practice Python is too > verbose.

The value in doing something in a smaller amount of lines is lessened by the lessened maintainability of unreadable code.

Where do you think the effort in maintaining software goes? Typing? Or maintenance?

<comment><USER6> Where is this unreadable perl? I can't find it. I have no problem reading perl by all kinds of people.

C, on the other hand, is frequently indecipherable because so many lines are spent doing something trivial that it's easy to lose the forest for the trees.

<comment><USER3> Generally ~kingkongrevenge. Many ways to do things means people who know enough to be competent at writing a language still have trouble reading code created by others due to unnecessary style differences.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I left Perl a long time ago and lately have been using Python almost exclusively. That said, statements like this:

> insert the same bug into the X programs.

raise an eyebrow. In my experience the platform and language determine what the what the bugs will be. Said more simply: You aren't going to have the same bugs in Perl that you will in Python, and vice versa. Certainly you _could_ , but typically you won't.

Also, the biggest problem with Perl isn't the language per se, it is the entrenched culture which is inclined to abuse of power and unclear coding, often in the name of "efficiency".

Still, Python drives me nuts daily with small things. I can't think of a language or platform that doesn't. Better yes, but not at a level to pick on Perl.

Oh, and I'm rusty but I'm pretty sure that regex is wrong.

<comment><USER8> I think you are right about there being an error. I didn't try running the code but it looks like it would match everything inside the html comment braces, but incorrectly stop at any occurrence of '-' instead of stopping matching only at '-->' which I assume is what is actually desired there.

So it should be /(.X?<!--)(..X?)-->(.X$)/ instead.

(Note I am using X as asterix because HN at the time of this writing converts asterisks to italics tags.)

But other than that the Perl is perfectly fine. And it is easily readable if you know Perl.

<comment><USER8> I think this version would be clearer though:

print $_ . "\n" foreach ((<>) =~ /<!--(..*?)-->/g);

</comment></comment></comment><comment><USER9> _sigh_

Why is it all who moan about Perl immediately point to a regex written in perl and cry "Look! That's perl! It's unreadable!" No dumbass, that's a regex, and regex by the way, looks about the same in every language. It just so happens perl is better at regex than most other languages and perl coders aren't afraid to use it (and unfortunately many abuse it).

<comment><USER5> He's not. Read the example again. He's pointing to code that:

\- uses the implicit $_ variable

\- twice

\- and modifies what it points to

The regex is just for dramatic effect.

<comment><USER9> He didn't point out that directly but I do agree that $_ is overused among perl coders.

<comment><USER6> I don't think so. As long as there are no issues of nested scopes you should use $_ plenty.

</comment></comment></comment></comment><comment><USER10> So, whoever wrote this clearly did not read the right perl documentation, everything the author talks about is VERY well explained in the perl man pages which are pretty much a source of gold.

The argument that Python is better beacause it is apparently more readable is lame. To me, perl just feels a lot more expressive since I grew up "thinking" in perl.

Bashing a language because you didn't read the right documentation and/or couldn't find it is just wrong.

I agree that perl can be daunting to learn and that may make it more unmaintainable though, but if you haven't made the effort don't knock the language.

<comment><USER11> As I understand it, author tries to demonstrate that Perl is so-called "difficult to learn", and because of that, is not a good choice. OMG!! Something is bad, because it is difficult to learn?!?! For some reason I can't explain, I feel sad about that article.

</comment></comment><comment><USER9> Perl isn't difficult, it's just quirky:

Perl OO: In Perl classes are called "packages". There are no private methods or private members, everything is mutable.

Sigils: @foo is an array, %foo is a hash, but $foo can either be a string (scalar), a number, a reference to hash, a reference to an array, a reference to a function, or a reference to an object.

Built-in functions that operate on arrays (push, pop, foreach) do not accept references to arrays, unless put an @ sigil in front: pop $foo <\-- WRONG! pop @$foo <\-- Oh sure, OK!

Lots of special variables: $ in combination with just about any other non alpha character means something in perl. The most often abused is $_, the default variable.

Libraries and package files have to end with 1; or return some non-zero value.

So sure, plenty of quirks of to learn, but so every lanaguage.

<comment><USER12> God, I read all your examples and think "how could it be any other way?"!

</comment></comment><comment><USER13> Yeah. So is VIM. So is emacs. So is driving an F1 race car or flying a fighter jet. Development isn't supposed to be easy to learn - but it is supposed to be efficient once you are proficient at it. And that is exactly what Perl is.

</comment><comment><USER14> Every time I look at Perl code I always go away pissed of for one of two reasons. A) The person that wrote the code did something super hackish and non-sesical which I attribute to the low quality of the language itself. B) I look at things like %, $ and @ and wonder why the hell I have to tell it what the variable type is. And don't even get me started on things like "Chomp" who's behavior changes depending on the value of some cryptic global variable $_\ @%#@#@^$&$*#%&@!

<comment><USER15> _The person that wrote the code did something super hackish and non-sesical which I attribute to the low quality of the language itself._

The language is only half of it, the other half is the culture. If you write Perl that uses an obscure (and perhaps undocumented/unintentional) feature to accomplish some relatively straightforward task, other Perl programmers will worship you as a God. The language and the culture are mutually reinforcing. Ruby is going this way as well.

Python language and culture both place a premium on doing things the simplest and most explicit way you can. Over the long run, the culture makes the biggest difference.

</comment></comment><comment><USER16> As I read this article, I couldn't help but think of the earlier submission on improving writing style: <http://news.ycombinator.com/item?id=239147>

</comment><comment><USER17> Is this article flame bait?

Hmmm... Let's read the following posts and find out!</comment>


Who Will Build the LAMP Cloud? - <AUTHOR> http://gigaom.com/2010/05/22/who-will-build-the-lamp-cloud/

<comment><USER2> I hope nobody. Cloud webhosting shouldn't just take apache out of the box and cloudify it. An event driven http server designed for cloud requests needs to be designed from the ground up, but implement most of the .htaccess directives to be viable for your average webhosting consumer.

<comment><USER3> Same here. I don't understand this "lamp cloud". Don't we already have this with aws? I think this is just enterprise analyst talk (ie. bullcrap).</comment></comment>


The GNU Name System IETF Draft - <AUTHOR> https://tools.ietf.org/id/draft-schanzen-gns-01.html <comment><USER2> > GNS is based on the principle of a petname system and builds on ideas from > the Simple Distributed Security Infrastructure (SDSI), addressing a central > issue with the decentralized mapping of secure identifiers to memorable > names: namely the impossibility of providing a global, secure and memorable > mapping without a trusted authority.

Great to see people learning from SDSI and SPKI, which have largely been forgotten despite their achievements.

<comment><USER3> Agreed. I've only recently been learning about capability and capability-like systems like SPKI, and there are lots of great ideas there that haven't gotten much attention since. It's refreshing to see them pop up in things like this!

</comment></comment><comment><USER4> The draft spec mentions DHT in several places long before it defines what exactly it is (in section 4)

Perhaps the spec would be better if it added a table of definitions at the top, just like it has a table of names for the cryptographic primitives.

<comment><USER5> The draft has it's issues, but the draft mentions ECDSA also without ever defining it and I'm sure I can find similar things in other accepted RFCs.

I think there is some domain knowledge that can be reasonably assumed when writing documents.

</comment></comment><comment><USER6> Why would this be an IETF document when the GNUnet protocol itself isn't?

"This document does not specifiy the properties of the underlying distributed hash table (DHT) which is required by any GNS implementation."

Okay... so...

<comment><USER5> > Why would this be an IETF document when the GNUnet protocol itself isn't?

Nothing in the spec suggests it must run on GNUnet. This is almost like asking why should IETF standardize JSON-schema when gRPC is not standardized. One thing does not require the other or depend on the other.

> "This document does not specifiy the properties of the underlying > distributed hash table (DHT) which is required by any GNS implementation."

Well they do specify the interfaces, why should they care about the impliementation?

> GNS resource records are published in a distributed hash table (DHT). We > assume that a DHT provides two functions: GET(key) and PUT(key,value).

> Okay... so...

So what?

<comment><USER6> > So what?

So, it's currently a disconnected lego brick hanging in the air. It serves no purpose until other documents accompany it that specify how to use it either for GNUnet, for IP, or something else. If there is more than one application document coming, at least one should (IMHO) be submitted at the same time¹ in order to aid review and understanding. If only one such application is expected, they should probably be merged into the same document.

Particularly, if it's to be applied for non-GNUnet (e.g. IP), it does need to say what underlying DHT is to be used. Otherwise it's not actually a naming system but 10 naming systems – which is, er, rather useless.

¹: it doesn't need to progress or be finalized at the same time, but the document should at least be published.

<comment><USER7> This is not true. Please study, for example, [https://tools.ietf.org/html/rfc6537](https://tools.ietf.org/html/rfc6537).

<comment><USER6> RFC6537 specifies an "upwards" (application direction) interface to HIP (RFC5201). Through that it is fully wired into IPsec / Mobile IP use. The GNS draft makes references to DNS but doesn't actually say how it would be used in that relationship.

RFC6537 references OpenDHT as a "downwards" (wire direction) interface and points to XML-RPC calls and expected behavior on that. The GNS draft simply presumes the existence of a "DHT".

Maybe you could tell me which part of my comment is not true? I don't see what your example is intended to illustrate...

[Edited to add:]

P.S.: please read the guidelines at [https://www.ietf.org/standards/process/informational-vs- expe...](https://www.ietf.org/standards/process/informational-vs- experimental/) (section 3.)

GNS is very much something that can be "practiced" — or rather, it should be possible to practice. I don't think it can with your draft. I suppose that might be why you went for Informational rather than Experimental, but that kinda misses the point: you _should_ be going for Experimental.

To walk through the guideline bulletpoints:

1\. GNS can be practiced. Or rather: should be. It's a protocol.

2\. If you want to push it through the IETF, you should probably open it to changes. What's the point otherwise? The IETF is not a rubber-stamping organization.

3\. I'm pretty sure you're not publishing this as "dropped, just for the record"?

4\. "If the IETF may publish something based on this on the standards track once we know how well this one works, it's Experimental." I feel that's exactly your intent?

5\. Doesn't seem to apply. Maybe it should too?

All I'm saying is that your draft should be practice-able, but isn't, and I think it should be.

<comment><USER7> Your comment does not make sense because it fundamentally says that the spec needs to define the DHT so that no 10 name systems exist. But that is simply nonsense. If you implement a new DNS stub resolver that follows the record wire formats but uses different root servers it will be effectively not the "same" name system as vanilla DNS. It will have different records under names and certainly different security properties. That is the whole point of hyper- local root for DNS. I am simply implying that you are wrong in that we have to specify the underlying layer. Anyone can (should be) able to use the spec an implement it. It could be done on top of Bittorrent (not Kademlia as that is the protocol, not the network!), IPFS (the DHT they use) or any other DHT. With the respective implicatoins on security. It will still be conforming to the spec.

</comment></comment></comment></comment></comment></comment><comment><USER8> Lots of people don't like the crypto construction used at all

[https://soatok.blog/2020/07/08/gnu-a-heuristic-for-bad- crypt...](https://soatok.blog/2020/07/08/gnu-a-heuristic-for-bad- cryptography/)

The non AEAD symmetric cipher is IMHO completely unjustifiable in 2020.

</comment><comment><USER9> They are baking the type of public key system (ECDSA) and a specific curve (Curve25519) right into the standard?

So what happens if some sort of weakness is discovered in one of both of them? The internet falls apart?

You need to define what is supposed to happen if your cryptography breaks.

<comment><USER7> See 9.1.

If ECDSA or Curve25519 are broken (e.g. because of quantum crypto), we can simply introduce a PKEY replacement (such as PKEY2) and migrate.

EDIT: However, point well taken. This needs more space in the draft and is definitely a point to address.

<comment><USER9> One perhaps obvious contingency is what to do if the key length has to get longer.

</comment></comment></comment><comment><USER10> This is very much a draft, as it seems many important things (like the label plaintext) is missing from grammars / packet diagrams.

<comment><USER11> FIXME: ausdenken was wir da gerne haetten.

<comment><USER7> Thanks, will be removed in -02 ;)

</comment></comment></comment><comment><USER12> FINALLY</comment>


The Best Way to Learn Math Is to Learn How to Fail Productively - <AUTHOR> http://l.goodbits.io/l/0r644yaz <comment><USER2> The gist of this article is contained in this sentence:

> _Students who are presented with unfamiliar concepts, asked to work through > them, and then taught the solution significantly outperform those who are > taught through formal instruction and problem-solving._

I obviously haven't done the research, but for myself, I find this to be true with almost everything, not just math. I learn to code in new libraries better if I struggle with them first and _then_ have them explained to me, rather than someone explaining them from the start. I find that this even applies to techniques for physical activities such as cooking and rock climbing.

I find that I'll understand a clever solution best if I first understand why the intuitive (but wrong) solutions don't work.</comment>


Revealed preferences aren't always accurate - <AUTHOR> http://lesswrong.com/lw/1lb/are_wireheads_happy/

<comment><USER2> The application of this line of thought to activities such as obsessively checking email (or HN, for that matter) rather than working on your startup/open source project/big idea/ etc. are potentially interesting.

For that matter, the implications for creating addictive experiences (eg. Farmville) rather than rewarding ones probably have implications for long term sustainability of business models, though not as much as I'd like (eg. cigarette companies).

<comment><USER3> It says some quite uncomfortable things about the whole consumerism-based economy we have going on. A friend wondered just today how the games you don't already own can be so much more attractive than the ones you already do...

<comment><USER4> "The grass is greener" mentality goes beyond consumerism...

<comment><USER3> True. Of course consumerism wouldn't probably even exist as a concept if our brains weren't somehow prewired to the "gotta catch'em all" mentality. Probably various hunter-gatherer adaptations at work.

<comment><USER5> >Of course consumerism wouldn't probably even exist as a concept if our brains weren't somehow prewired to the "gotta catch'em all" mentality.

Avoid projecting onto human nature the peculiarities of your own society.

</comment></comment></comment></comment></comment><comment><USER6> I absolutely love the style and subject matter on lesswrong. Even if they sometimes descend into the equivalent of 'how many angels can dance on the head of a pin' debates.

</comment><comment><USER7> Actually, Buddha figured this out 2500 years ago :) He came to the conclusion that liking and enjoying things is great, you should do it all the time and wanting things will cause grief and you should try to stop wanting things.</comment>


US Special Ops Is Looking for a Small Biz to Build a Freelance SW Developer Site - <AUTHOR> http://www.acq.osd.mil/osbp/sbir/solicitations/index.shtml <comment><AUTHOR> The United States Special Operations Command (USSOCOM) is asking small businesses to submit their concept for how they could build a web based platform so the US Government can leverage free lance software talent for rapid software development like industry already can. To find the USSOCOM announcement, follow the link and click on "SBIR BAA 2018.1" link. There are four separate topics listed by SOCOM. Look down the page and find the USSOCOM document link. Look for the last topic, "SOCOM18-004 Rapid Acquisition Demonstrator". Then look for the topic description, about four pages into the WORD document. You can also find additional info about the SBIR program on Wiki, [https://en.wikipedia.org/wiki/Small_Business_Innovation_Rese...](https://en.wikipedia.org/wiki/Small_Business_Innovation_Research)</comment>


Google doogle game - <AUTHOR> https://www.google.com/ <comment><USER2> Your link will expire when Google update the first page. It was better to link to its source page: [https://www.google.com/doodles/halloween-2018](https://www.google.com/doodles/halloween-2018)

Also you have a typo in the title: doogle -> doodle</comment>


Ask HN: Non-compete agreement advice? - <AUTHOR> Hi HN! I'm close to culminating my job search after almost four months. I'm looking at increased dev responsibility without people management with a significant pay increase (+22.8%) magnified by a lower cost of living here in Texas. Going through my paperwork, it's all straightforward; I thought the NDA was reasonable, but I'm having issues agreeing with the NCA. It's lengthy (48months, aka 4 years) and I feel very loosely worded (not to mention one sided). The thing is, very few companies seem to be out here, and I'm afraid of bringing this up since I may lose out on a rather significant pay raise. I'm thinking of asking for a more specific one (reduce it to the branch of the company that I work with, instead of every facet such as ecommerce/healthcare/whatever else is in the pipeline) and reduced time (24 months). Any advice? <comment><USER2> You might just ask an attorney to look it over. Seriously it would likely be a good $150-300 investment. I know in Florida where I am, non-competes are very frowned upon in the legal system if they are too broad, overly prohibitive or for more than 2 years (in general). The key is an employer cannot prevent you from working in your field of expertise, and they cannot prevent you from using your knowledge to help others, except that they can hold you accountable not to disclose or utilize company specific knowledge. That is sometimes hard to define, but usually is the secret sauce that makes something unique. Also, this changes the higher up in the company management you go too, execs are treated different than say a developer would be.

I had a company want me to sign a non-compete that said I wouldn't take any job where I would work with GPS, geographical systems, or location aware systems for a period of 4 years anywhere in the United States (this was a Florida Company). This was a firm involved with financial software for the lending industry. I just told them that 1, it is way to broad and I can't sign it, and 2, btw it isn't going to pass muster here in Florida because it is too prohibitive and way too broad not to mention too long. I had a good relationship with the company (and owner) so I felt comfortable telling them what I felt from having been involved in non-compete structure with my last company. What I did agree to is saying for a period of 12 months leaving their job I would not help any other financial software services firm develop a geographical based algorithm. I think in the end we settled on 18 months, but it worked out.

Not being an attorney, I did go ask an attorney and paid for an hour of guidance and I did the negotiation to keep it non-confrontational. In fact, they never knew I talked to an attorney. Best couple hundred bucks I spent as I made good money on that contract.

</comment><comment><USER3> Two basic strategies apply:

(1) Sign the ridiculous agreement, knowing it is completely unenforceable, and plan to completely ignore it when you leave. If you consider this strategy, you MUST consult with a lawyer to confirm that it is unenforceable, and you MUST be willing to pay a lawyer after you leave to deal with the nasty letter they may send you and your next employer. Ask the lawyer how much that might cost, and build it into your compensation expectations. Also, be aware that even if you know it is unenforceable, the nasty letter may scare your next employer into revoking your offer, so be prepared to be upfront about your situation with the next employer, and consequently to expect it to take longer to find the next job. Build that into your compensation expectations for this job as well.

(2) Negotiate an agreement you're actually willing to follow to the letter. Personally, I wouldn't agree to anything that doesn't compensate me for time sitting out, and I wouldn't care much what the restrictions are during the time period. I would be looking for at least 75% of total comp for periods up to 3 months, 100% of total comp for periods up to 6 months, and 120% of total comp for periods longer than 6 months.

IMO option 2 is the far better choice, if at all possible. Two factors would make me consider option 1. If the company is a large or inflexible organization, where you can't negotiate with a person who actually has the power to change the agreement, option 2 might not be realistic. Second, you should try to find out if the company actually has a habit of sending nasty letters to people who leave. If they actually do that, then I would guess they already know that it's unenforceable, but don't care because it's still an effective way of bullying people. I would take this as evidence that they would not be amenable to negotiating the non-compete, and go with option 1.

<comment><USER4> >Also, be aware that even if you know it is unenforceable, the nasty letter may scare your next employer

I am curious about this part. Why would the next employer even care, given that they are not party to any agreement made between the individual and their previous employer?

<comment><USER5> Interfering with a contract is a tort. If my company hires you, and you have a non-compete, the previous employer can sue my company. It doesn't matter if the contract is legal or not, my company will have to pony up to defend the lawsuit. [http://www.legalmatch.com/law-library/article/wrongful-or- to...](http://www.legalmatch.com/law-library/article/wrongful-or-tortious- interference-with-contracts.html)

<comment><USER6> Although in that case, if the NCA was unenforceable, a lawyer might also have fun reversing that principle and claiming tortious interference with the business relationship between the employee and the new employer/prospective employer by the former employer...

</comment></comment></comment></comment><comment><USER7> One of my favorite employment law blogs - "Screw You Guys, I'm Going Home" (written by a lawyer) - has a number of articles on NCAs:

[http://employeeatty.blogspot.com/search/label/noncompete%20a...](http://employeeatty.blogspot.com/search/label/noncompete%20agreements)

Reading this will give you a good idea of how complex these issues they are, how much the law varies from state to state, etc. - all good reasons to follow the advice of all the others in this thread who have recommended consulting a lawyer (who specializes in Texas employment law).

</comment><comment><USER8> Everyone already suggested getting a lawyer -- follow that advice. Pick a lawyer specializing in non-competes specifically in your area. They will be able to advise you on reasonableness of the proposed terms and what you could likely negotiate them down to.

Like everything else -- and you already know that -- non-compete terms are negotiable. Your plan is pretty good. Tell them you don't have a problem with the non-compete, but you're uncomfortable with how broad the terms are. Ask to reduce the term (ask for 12 months, they'll likely agree on 24), geographic area (e.g. your specific metro area instead of all of United States), and specific area of application (e.g. "web development for internal oil&gas applications" instead of "programming"). Worst thing that would happen is that they'll tell you to take it or leave it.

</comment><comment><USER9> In my experience, that amazing deal where you could never do better, usually isn't quite as unique as you think it is. There are always exceptions.

So of course talk to a lawyer, and of course be willing to negotiate, if minor negotiations kill the offer, there's probably a bigger problem.

But also just think through the most likely scenario, and then the worst case scenario. Could they hire you, and fire you 1 day later and you wouldn't be able to work for 4 years? There's a (I think Yiddish) expression: plan for the worst, because the best will take care of itself.

</comment><comment><USER10> Don't sign it.

Period.

Feel free to sign a Non Disclosure agreement, but simply do not sign a Non Compete.

If you feel like you should sign one, talk with a lawyer first. Sometimes they're broadly written so that it's impossible to find work in your field. You may not see how broadly it's actually written until you take it to a Lawyer.

If signing a non-compete is not-negotiable (a warning sign about the company), then you should have your lawyer draft a narrow one that protects you and offer it instead.

<comment><USER11> I respectfully disagree with this advice. But I don't have any evidence, anecdotal or otherwise, to back up my opinion.

Have you (or anyone else here) had direct experience in this area? Anyone had a job offer rescinded because you refused to sign the contract as-is? Anyone successfully tried to negotiate a non-compete?

When I went to my first job out of college, I was somewhat disturbed by the somewhat vague NCA that was part of the contract. I felt like its vagueness (it did not define what a "competitor" was) worked in my favor, and its duration was just a year. I talked with the HR person who said "oh, we don't really enforce those unless you're at the executive level anyway", and by observation this appears to be true. We even had an executive VP leave to be CEO of a startup which has become a direct competitor, and if there was legal action involved they kept it quiet, since by all accounts he left on good terms.

Sorry for the rambling and possibly unhelpful story, but tl;dr is that I feel like "don't sign it" is not good advice.

<comment><USER12> You are giving out appalling advice.

Do not sign things that you do not wish to abide by, no matter what HR says about it being a standard thing that is unlikely to be enforced.

If you do not agree with something in a contract you should always cross it off the contract and have the amendment countersigned by the other party.

Employment contracts are between two parties, they are not one party dictating terms to another and any employer who thinks they are is not worth giving your time to anyway.

<comment><USER7> And speaking of HR, it's good to always remember: HR works for the company's management, not for the employees. They routinely do things that are not in employees' best interests.

</comment></comment></comment></comment><comment><USER13> I personally wouldn't sign a non-compete unless it gave me my full salary for the entire period I couldn't work. If that causes the deal to fall through then so be it. A 22.8% pay raise isn't worth four years of forced unemployment. In my opinion it's not worth _any_.

</comment><comment><USER14> Consult with a lawyer. Amend the contract to protect both your interests with reasonable terms. Your potential employer will not look at it negatively.

Don't just "sign it" because the NCA might not be "enforceable". You could still find yourself out of pocket for legal fee's protecting yourself from an injunction in the future.

</comment><comment><USER15> My advice is the advice I give to everyone with a legal question: get a lawyer.

Laws vary from place to place, sometimes very widely. Only a lawyer in your jurisdiction is trained, qualified and knowledgeable enough to answer your particular questions.

I mean it. Get a lawyer and find out what your position is before you do anything. The only people on the internet who give out legal advice to strangers are _not lawyers_. Why? Because lawyers on the internet will _tell you to go see a lawyer_.

</comment><comment><USER16> The best and smartest thing to do is talk to _your_ lawyer (not theirs).

Laws regarding the validity of "Non-Compete Agreements" varies state by state, so if you don't talk to your friendly neighborhood local lawyer (with a specialty in employment law), then you'll most likely be following bad advice.

</comment><comment><USER12> A 4 year non-compete is 10% of your working career. That doesn't sound like a good plan unless they are offering you the moon on a stick as compensation.

</comment><comment><USER17> Contracts are not a matter of take-it-or-leave-it, they can be changed and amended before signing. As long as you can back up your reasoning, and are fair to them, a reasonable employer should be ok with changing it. If they're not, you may want to reconsider working there, because companies that are overly concerned with having the legal balance tipped way in their favor over their employees tend to be kind of hellish to work for eventually.

</comment><comment><USER18> Ask yourself a few simple questions.

Do You want to start a company in a similar field in the next 4 years?

If you loose this job will you be looking in a similar or same field?

Lastly it's quite possible this Non-Compete agreement could lock you out of finding a new job for the next 4 years.

P.S. Don't listen to anyone who tells you they are unenforceable; that isn't the point. You have to hire a Lawyer to defend yourself and that costs money; and only if you win can you recoup that cost.

</comment><comment><USER19> Tell them you can't sign it as it puts you out of a job for four years, which is ludicrous, and if they want your skills and experience they have to drop it.

It's that simple.

\--edit-- Ask them if they are proposing to pay your full salary for that 4 year period!

<comment><USER20> > Ask them if they are proposing to pay your full salary for that 4 year > period!

Plus more for the four year experience gap (if you can't really do anything else related to your old job).

</comment></comment><comment><USER21> You need to talk to a lawyer who specializes in Texas employment law ASAP. Do _not_ sign anything that you do not fully understand the implications of, even if your reading of the non-compete agreement and Texas's Covenants Not to Compete Act makes you think the agreement is completely unenforceable.

While you're talking to the lawyer, don't forget to ask if the non-compete agreement is still in effect in the event you're "involuntarily separated" (sacked, with or without cause) from the company. The answer may greatly influence your decision.

Finally, as is mentioned elsewhere in the comments here, do _not_ sign anything because random HR person says whatever you're signing is never really enforced. HR does not work for you, and "but so-and-so in HR said..." is not a strong defense against your signature on a contract. If the non-compete is never enforced, then the company should have no problem with you not signing it.

</comment><comment><USER22> 4 years is too long. 12 months is the most I've ever signed. 18 months is the most I've ever heard of (a major tech company).

</comment><comment><USER23> My advice is to ignore comments that don't explicitly mention Texas. How enforcable a non-compete is locale specific. A quick Google search for something like "Texas non compete enforceable" indicates that they are partially enforcable, where-as in California they basically are not, and in Massachusetts the current situation is murky due to the recently passed non- compete reform bill.

If you need specifics, and don't care to spend a few days reading up on the current situation in Texas with regards to non-compete law, then talk to someone, whos job it is to know specifics on non-compete law (commonly called lawyers).

</comment><comment><USER6> Obviously everyone saying check with a lawyer is right.

In addition, if you do decide to enter into a non-compete, keep in mind that merely guaranteeing to pay your existing salary throughout any enforced period of unemployment is _not_ sufficient compensation.

Firstly, if you were leaving by your own choice, it would presumably be for a better position elsewhere, so if you're locked out of that they need to compensate you for your likely increase in remuneration.

Secondly, if you have significant time out of the industry in any technical field, that will probably have an effect on your employability when you get back into the job market later, and the longer the absence the greater the damage. This needs to be compensated as well.

It seems unlikely that most employers will be willing to offer you a reasonable figure on this basis, say 150% of your highest compensation level during your time with them, for a four-year period after you leave. That should tell you everything you need to know about whether you should sign a four-year NCA.

</comment><comment><USER24> > very few companies seem to be out here

Are you able to move? There isn't exactly a shortage of dev jobs if you can relocate, and in places where the shortage is on the labor pool size (like the SF bay area), you shouldn't have trouble finding a company that will help you with the move. The cost of living is higher, but you can almost certainly compensate for that by taking a higher paying job.

Just putting that out there; it doesn't seem like there's much reason for an engineer to feel constrained by a lack of job opportunities in today's climate.

</comment><comment><USER25> One comment... If the non-compete is unreasonable (as this one is) it is likely unenforceable. It's worth digging a bit on the reputation of the company. If the company is known for going after people who leave, it's worth not joining independent of the time period. If they don't go after people, then don't worry.

<comment><USER13> If they don't go after people now, they might change their approach later. If they truly don't intend to enforce it then they shouldn't need you to sign it.

<comment><USER25> It's a judgment call, but if you have a fear that "This might be the type that will go after me" then that's enough to stay away.

<comment><USER13> I really don't think it is a judgment call. Even if you are absolutely 100% confident that you can perfectly predict the behavior of the people in charge of the company (because you own their soul, or something), what's to say the company is going to stay in the same hands forever?

If you don't like the terms, don't sign. If they don't intend to enforce then they shouldn't require you to sign. If they require you to sign then that means they might enforce it.

</comment></comment></comment></comment><comment><USER26> Ask a lawyer if in doubt. Fwiw though, non-competes are often written in such a way that they're unenforceable in court, on grounds that they're too broad (you can't find work) or one-sided (no compensation).

</comment><comment><USER27> For factoidal reference, in Sweden NCA's are pretty toothless as the company has to prove to a court that you've directly competed with them after contract termination (i.e. stolen their existing clients).

</comment><comment><USER28> My attorney once told me that NCAs are very hard to enforce because it's essentially illegal for a company or anyone to prevent you from working for a living is the way he put it to me. My attorney also said that if an NCA becomes a legal matter in court, the authors of NCAs are typically more in the hot seat because because they drafted the agreement to begin with. INAL but as I understand it from my attorney, the author of legal agreements is the party that typically in the "hot seat" to explain themselves in court. Perhaps a layer can chime in and fill in the gaps.

</comment><comment><USER29> You don't need a lawyer to know that 4 years is too long and that the terms are unpalatable.

</comment><comment><USER30> #1 Get real legal advice. That said...

Everything I've read says they are not enforceable. They cannot keep you from working and any company that tries to enforce them _cough cough amazon_ loses more than it's worth as all the top talent is dissuaded from ever working there.

</comment><comment><USER31> Lawyer.</comment>


A Photographer Inside the Wildfires - <AUTHOR> http://news.nationalgeographic.com/2015/08/150820-fighting-forest-fires-first-person/

<comment><USER2> I live in Central Washington where a lot of the current fires are burning. I have lots of friends that are fighting on the lines now or have over the years, most of my family has as well. Its interesting to read articles about something that is a reality to you, as if it was some strange thing happening in far off lands that you get to read about in NatGeo.

There is no drought that caused this, this years fire season has been waiting to happen for a long time. Better it happen now then wait to get worse. Hopefully, moving forward we can start practicing better forest maintenance and fire controls.

<comment><USER3> Better now than later, but still this is a very challenging year - and the lack of water makes it more challenging.

Hopefully you're volunteering! If not (and you want to) here's the sign up form: www.dnr.wa.gov/WildfireVolunteer

</comment></comment><comment><USER4> This reminds me of some essays in the book "Fire" by Sebastian Hunger. I mentioned it to my guide when I went white water rafting on the Pouvre River in Colorado just after they had a big fire. He said his roommate worked as a hotshot fighting fires who told him that the worst feeling is after days holding a fire when one little ember sails over your firebreak and ignites the trees beyond. All that work for nothing.

</comment><comment><USER5> After the Yarnell Hill Fire tragedy[0] happened, I got kind of interested in this stuff and wanted to learn more. I came across a pretty cool & interesting forum[1] that it seems is frequented by some of these wilderness firefighters.

Thought I'd share for anyone else interested -- BTW, the final report on the Yarnell Hill tragedy is also a very good read for those interested, just don't have a link handy...

[0] - [https://en.wikipedia.org/wiki/Yarnell_Hill_Fire](https://en.wikipedia.org/wiki/Yarnell_Hill_Fire)

[1] - [http://hotlist.wildlandfire.com/forum.php](http://hotlist.wildlandfire.com/forum.php)

</comment><comment><USER6> This page crashes over and over for me on iPad Safari iOS 8.4

Don't have time to dig in right now but I'm curious if is crashes for other people?</comment>


Google is linking court-protected names to online coverage - <AUTHOR> http://ottawacitizen.com/news/local-news/google-is-linking-secret-court-protected-names-including-victim-ids-to-online-coverage <comment><USER2> I wonder what this says about AI in the future, since you can imagine that as AI becomes more powerful, it starts to make inferences that aren't explicit, and discovers connections that aren't obvious. In some cases, those connections will be wrong, in others, they will be right, but whether or not harm comes from inferred facts, it'll be hard to make a system aware of it and foolproof, as even human beings can't yet do this.

And how would this be tested in court? If a human being and a machine can both "read between the lines", a human has the right to publish a blog article about his investigation, but a machine cannot? If the conclusions are 100% fact and not slander/libel, what does this mean for free speech?

It seems to me some kind of global blacklist would be needed for these protected individuals, that courts could update, but then we'd have to be on guard about abuse of these, both from hackers, and also governments (e.g. let's add Paul Manafort to the blacklist) using them beyond the intended purpose.

<comment><USER3> > I wonder what this says about AI in the future, since you can imagine that > as AI becomes more powerful, it starts to make inferences that aren't > explicit, and discovers connections that aren't obvious.

That's why we should invest more in AI interpretability. I heard some famous researchers saying that it's not important, but for these reasons it actually is.

</comment></comment><comment><USER4> I thought this might be minor, but oh god, no,

 _A Google search for the name of an Ottawa-based RCMP officer convicted of confining, starving and abusing his son links to coverage of that court case. The officer's identity is protected by a judge's order designed to shield his son from publicity.

The officer's name had never been reported by the Citizen or any other media outlet. The abused boy, now 15, was never identified in any article published online. Yet a search of the boy's name produces results that link to coverage of the case._

That's just horrendous, and in a world of social media, inescapable for the boy.

<comment><USER5> Well criminal acts that result in punishment are by definition matters of public record and familial data is pretty easy to figure out even if you can't figure it out in 2 seconds via google.

Since you can't keep the former secret it seems hard to imagine successfully keeping the latter secret.

Also the stigma attaches here to the victimizer who rather deserves it. Nobody is going to deny him employment or decline to date him based on being abused.

</comment></comment><comment><USER6> Could it be that some people who do know the identity of the victims are running searches with some type of pattern like "John Doe nightclub abuse ontario" and then clicking on the link to the reports about the case which Google then translates to relevant articles to "John Doe" in the future?

<comment><USER7> or it could be pages that mention the people link to the articles

<comment><USER8> This. Chatter on the public web gets scraped and a connection is inferred by some alogithm somewhere.

However, what's an inside joke (or just sarcasm) to the in-ground might not be a joke to google.

A link to a news story to the tune of "boy steals car and crashes it into river" is obviously a joke when introduced as "look it's $driver's son" in the context of $driver's performance at a formula off road event. Sarcasm on the internet is hard for people to read and harder for machines. While the overall percent of straight up sarcasm and jokes are probably pretty small there's probably a lot of other noise signals in there as well that reduce accuracy.

When you start introducing data from other sources (IP addresses, geolocation, usage patterns) it gets very easy to spot correlations.

I'd assume Google is very good at making these sort of connections out to a few degrees of separation.

</comment></comment></comment><comment><USER9> they claim it wasn't from meta. I'm curious if other sites/forums/social media accounts had connected the name to the story

for example, someone might post on facebook "hey look at this crazy article {link}, isn't this {name} from school?"

and google used this data to show the result

<comment><USER10> > _I 'm curious if other sites/forums/social media accounts had connected the > name to the story_

That's one of the theories mentioned in TFA.

<comment><USER9> you're right. I stopped reading at 'algorithms 101' the first time. reading comprehension test failed.

</comment></comment></comment><comment><USER11> What method did they use to determine this was a genuine phenomenon? There's so many "weasel words" as wikipedia calls it in this article. "Computer experts." Yeah, which computer experts? They're just generic experts in computers, not any actual field within computer science? They found 6 results, but obviously those results aren't made available for us, or anyone else, to scrutinize and fact-check.

<comment><USER10> There are a couple of "computer science professors" named in TFA, along with lawyers and a Google employee or two.</comment></comment>


Fandango Windows Slate App - <AUTHOR> http://www.fandango.com/windowsslate <comment><USER2> I was surprised that windows even has a slate <http://www.microsoft.com/windows/buy/asus-eee-slate-121.aspx>, and apparently another on the way [http://www.microsoft.com/windows/buy/products/exopc- slate.as...](http://www.microsoft.com/windows/buy/products/exopc-slate.aspx)

I suspect this is one of the first apps designed specifically for these devices.</comment>


What Machine Learning Means for Product Development - <AUTHOR> http://karlrosaen.com/ml-ux/ <comment><USER2> Boy that really falls down hard at the end there.

<comment><AUTHOR> Ha, it does. Thanks for reading in any case.</comment></comment>


Homeland Security spending marked by waste, lack of oversight - <AUTHOR> http://centerforinvestigativereporting.org/articles/homelandsecuritymarkedbywastelackofoversight

<comment><USER2> If this is so, can you imagine the amount of money wasted by the NSA? We can't see the NSA's budget, we can't audit the NSA, and we have no measure of effectiveness to guide judgement.</comment>


Ask HN: Website which shows styling applied step by step? - <AUTHOR> Does anyone remember the website that appeared on Hacker News which started off as a plain HTML page, and as you read through the page and clicked various Javascript links, CSS was gradually applied. <comment><USER2> I think you're referring to this: [https://jgthms.com/web-design- in-4-minutes/](https://jgthms.com/web-design-in-4-minutes/)

<comment><AUTHOR> Thank you!</comment></comment>


Brave New Phone Call - <AUTHOR> https://medium.com/@stevenlevy/brave-new-phone-call-f4064a4e720f <comment><USER2> That's an awful lot of hype that sounds like it was written by (or for) someone who has never used Skype, or Hangouts, or <insert messaging app of choice here>, all of which do store-and-forward messaging for individuals and groups, and let you call people with a touch of button. Hangouts also shows me if someone's on mobile or desktop, and whether they're "present" or not, and while it doesn't tell me _exactly_ where they are, that's arguably more a feature than a bug. Same goes for apparently recording _everything_ forever (cue image of legal departments around the world reaching for the NOPE button).

What am I missing?

<comment><USER3> Do any of them do store-and-forward voice messaging? I don't think Hangouts does.

<comment><USER2> If you call somebody on the plain old telephone network and they're not around, you'll likely get voice mail. It wouldn't be hard for Talko to offer a better interface for this, but I have a hard time seeing killer app potential in this.

<comment><USER4> I absolutely abhor listening to voice mails and I know I am not the only one. That is a really bad example to use.

<comment><USER2> Why is it a bad example? I hate voice mail as well, but it _is_ "store-and- forward voice messaging".

<comment><USER5> Agreed. I hate voice mail -- and while the clunky old interface (dial-tone buttons or what-not) doesn't _help_ \-- the thing I don't like is the concept of store-and-forward voice messaging in general.

Now that I think about it -- I did _one_ type of store-and-forward voice+ messaging that I _did_ enjoy somewhat. When a friend of mine went to Japan as an exchange student two? years ahead of me in ... 1995? We exchanged _cassette tapes_ via snail-mail. Each usually was kind of a mix-tape of voice diary/message and some music or other stuff and was accompanied by a letter, maybe with news clippings, pictures etc (I think, it's been a while). It's really the only exchange of voice messages I can remember enjoying.

Perhaps the clue is in the fact that the media has to be part of, or inform the message. Modern (phone) voicemail is usually not (in my experience) actually _made_ as store and forward, but more of a fall-back because synchronous communication wasn't possible. Generally if someone wants to forward me an asynchronous message -- I _much_ prefer text. Either sms or email (or a letter) -- to voicemail. That said, if someone mailed me a cd (or audiofile on a thumbdrive) I'd probably listen to it, and have a rather different experience. Not sure if someone emailed me an audio-file. I'm a bit of a die-hard plain-text email person. I'll stretch to image-attachments, though. But I _still_ feel we got oversold on the idea of multimedia, and it remains a bit of a "fad". I do realize I might be an outlier, though :-)

So maybe an app like this can help inform the media choice, and by virtue of that make store-and-forward voice messaging not-suck. As long as people use them as "voice logs" (like videologs) or something, and not as a means to transmit _information_. Which is just awful, IMNHO.

And I'll probably still prefer my plain-text -- but thinking about it, I could see it being a useful form of communication after all.

Apologies for rambling, but I think there might be traces of an interesting thought in there.

</comment></comment></comment></comment></comment></comment><comment><USER6> I've been using Talko for a little over 6 months, and I'm related to a founder. Discretion advised

It lives up to the hype. It's innovative in terms of an app that perfectly integrates synchronous and asynchronous communication at that same time. What's much more impressive is that it's one of the few pieces of software where I can confidently say It Just Works. The level of quality in every interaction and experience is carefully thought out and executed. It is modern enough that my girlfriend and I communicate with it exclusively. It's simple enough to facilitate discussion with >6 members of my extended family at the same time on a daily basis. That includes people ages 10 through >70.

I do communicate more with my family now than ever before. The key is the group aspect and being asynchronous. It's not pushy like a phone call where you're forced to make conversation with a single person. With Talko, we're always talking about a particular subject, usually with lots of pictures. I can be super engaged if I want to, or I can sit back and just watch it happen. What's awesome is that we all are experiencing it, even the people who miss it.

Talko's UX is helpful for guiding people to make the right decision about whether to talk about something in a 'new call', or to continue talking in an existing thread. This solves the issue of split conversations in the same thread, and if you want to talk about something for a long time (like your sports team every week), it's easy to bring up old conversations and continue them. Logged conversations aren't novel but are still great for nostalgia.

I've been happy to see them improve a lot in just the time I've been beta testing. They completely revamped some critical user flows which made a huge difference in usability. I know there are more awesome things ahead.

Give it a shot, and if you don't like it feel free to refute me! I am giving my honest opinion and haven't been asked to speak my mind from the Talko team in any way.

Edit: Forgot to mention that the voice quality is ridiculously crisp both in playback and realtime. It's much more clear than a call.

<comment><USER7> How do you hold your phone when talking with Talko? It seems that the photo stream plays a big role in the experience, so I assume that you keep it in the front of you instead of on your ear. Do you do this also when not inside or stationary?

Is the audio quality good when on the move? I've played with a few WebRTC solutions on a mobile and all of them call quality problems on mobile.

</comment></comment><comment><USER8> I would never use this product.

Why?

Because the last thing on earth is for my mom to know i'm available for a phone call when really i just don't want to talk to her.

Even if you prefer talking through a tiny speaker to texting, i simply cannot see this product taking off except with the technophobic. There is a reason i prefer texting, i'll return your message on my own schedule, i'll think more about my responses, and i'll make damn well sure that the person on the other end doesn't know i'm ignoring them when i am.

<comment><USER9> I agree with the comment about your parents knowing you're available to chat.

However, referring to the audio recording and playback capability of an iPhone as "talking through a tiny speaker" seems in itself pretty technophobic. Furthermore, your instant rejection of this idea furthers that concept. Typing on a tiny smooth keyboard isn't exactly the definition of the ultimate fulfillment of our technological capability. Regarding replying on your own schedule, I'm fairly certain that's built in functionality, to reply to a thread as you wish via voice, text, image, etc.

All that being said, I'm not sold on the idea and unsure whether or not I'd use it.

<comment><USER10> > However, referring to the audio recording and playback capability of an > iPhone as "talking through a tiny speaker" seems in itself pretty > technophobic.

There's something to that, though; for all the incredible advancements in mobile phone technology over the past decade, it's shocking how terrible the actual audio quality of the average mobile voice call really is. Even the most basic phone on a purely landline call sounds better.

And I think it's something many people have forgotten. It wasn't all that long ago that long distance companies (remember those?) used to actually compete over who had the best voice quality. "You can hear a pin drop" \- remember that? Maybe not; I imagine these days many young people have never even used a landline.

I do think that poor audio quality is a decent part of why so many of us hate actually talking on the phone these days. Having to strain to hear, asking people to repeat themselves, accidentally talking over one another, all these things make for a much more awkward experience. And you just don't get that same feeling of connection or illusion of sharing the same space when you lose the subtle nuances of someone's voice.

</comment></comment></comment><comment><USER11> > Using the sensors on a recipient's phone, icons tell you whether that person > is on the move (walking or driving), how the person is connected to the > network, and even what time zone she's in.

Seems like an awful lot of privacy to give up.

<comment><USER12> Yep, I can see it now.

"I see you're at home so I know you're not out doing something, why aren't you responding to me???" \- From a parent, significant other, boss, etc. Society in general doesn't really "accept" the notion of I'm busy doing my own thing, or I simply have no interest in talking to you right now.

If I couldn't disable that, the app would be a non-starter for me.

<comment><USER13> Funny you say that. It took me _years_ to make my mum understand the concept of working from home. Whereas people my age seem to grasp instantly that if I'm home, I'm at my busiest.

<comment><USER14> I'd wager that in our various parents' generations (no idea how old you are) one of the biggest factors that determined whether you could chat with someone on the phone was whether _someone was there to see you do it_. If you're at work, your boss can catch you 'using company time to handle personal tasks'; at home, nobody is there to watch you like a hawk.

<comment><USER13> > at home, nobody is there to watch you like a hawk.

Which is really the main point of working from home. The freedom to work without the needless pressure and thus getting more done.

</comment></comment></comment></comment></comment><comment><USER15> Too much hype. I've never seen anything like this live up to the hype. All the great (popular) products that we use came about in an organic, almost underground manner. There were no "launches" or big announcements. People just started using them and sharing them in a natural way. Tell me one product that launched with this much hype and lived up to it.

<comment><USER16> iPhone? :P

<comment><USER17> I think GP meant "product" in a What'sApp\Facebook\Instagram sense of the word. These all (as far as I recall) sort of spread without big "this is gonna change everything" hype\announcements (up to a certain point, I've no idea what that point was - something between ten and a hundred million users?), they just started getting used by people because they were fun and engaging.

</comment></comment></comment><comment><USER18> > Of course, those stored conversations might be available to government > subpoenas, national security letters and perhaps even NSA voodoo. But the > bet is that customers will understand that having a record of conversations > is an invaluable thing.

Why not encrypt them? Convenience seems like an excuse. If your monetization is focused on business users, offer them security. I think it will be really hard to succeed as an post-Snowden US company without offering encryption.

</comment><comment><USER19> "he sketched what his app would be like to users. Not long after, he filed for some patents."

I really wish we would leave this culture of patenting behind.

<comment><USER20> at least the patent system should require a working implementation before something can be patented.

<comment><USER21> No, it shouldn't. People should be able to invent something without having to build it.

The filing can come, and then they can spend a decade trying to build it without worrying about a big company spending 100x and building it in 1/10th of the time.

<comment><USER22> If they didn't file a patent and didn't have an invention to show and BigCo still beat them to having a working patentable invention that just means the "invention" was an obvious idea whose time had come, which is really the biggest problem with modern patents, IMO.

The self-centered egotistical notion that these ideas are something unique to one inventor as opposed to the reality where the vast majority (though certainly not _all_ ) of ideas are just obvious consequences of timing and everything that came before is really, really goofy and it is crazy that we award the first person who happens to legally file such ideas a nearly 2 decade monopoly on them.

It wasn't supposed to be like this. Read the writings of Thomas Jefferson who very clearly had a much higher bar in mind for awards of patentability than the rubber-stamping we do today:

[http://founders.archives.gov/documents/Jefferson/03-06-02-03...](http://founders.archives.gov/documents/Jefferson/03-06-02-0322)

[http://founders.archives.gov/documents/Jefferson/03-07-02-00...](http://founders.archives.gov/documents/Jefferson/03-07-02-0072)

Just a couple of examples, but pretty much whenever Jefferson writes about patentable ideas he always stresses how high the bar must be on both real novelty of the invention _and_ high social value of the invention.

If he had any notion of what patents would turn into today I'm absolutely positive he would have violently opposed the inclusion of them to the Constitution.

<comment><USER23> Patent doesn't have to mean monopoly; it can just mean licensing rights.

<comment><USER22> Exclusive licensing rights are by definition a monopoly.

<comment><USER23> Right but it doesn't mean that nobody can make products using your patent; it means you benefit from it when they do. Which is not so much a societal problem.

<comment><USER20> Or as Kodak did, use your patent to prevent anyone from using the technology. Which is a problem for society.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER24> iPhone-only social app = public beta, in terms of maturity.

Unless it supports all three mobile platforms or has published a full-featured API (or protocol specs) from day 1, any proprietary communication app is a non-starter for me (Hangouts included).

How one is supposed to promote it over WhatsApp, Telegram, LINE, and the likes? Hey, this new cool app does almost the same thing, but it's not available to the majority of your contacts!

In the real world, popular apps may be walled gardens, but they are cross- platform. Whatsapp supports 7 mobile platforms, Skype supports 6 platforms (5 mobile), LINE supports 9 platforms (6 mobile), Viber supports 8 platforms (6 mobile), WeChat supports 12 platforms (9 mobile variants), Telegram supports 7 platforms (3 mobile), Kik supports 3 mobile platforms, even Google Hangouts supports 2 mobile platforms. How an iPhone-only app can be considered seriously?

<comment><USER25> I disagree. For startups it's usually more important to focus their resources than to support everything. [http://blog.semilshah.com/2014/08/25/ios-first- android-much-...](http://blog.semilshah.com/2014/08/25/ios-first-android-much- much-later/)

<comment><USER26> What a joke, I hate those biased generalized articles.

> 1\. Early-stage startup teams cannot afford to handle the hardware > fragmentation that plagues Android.

You have a full stack of iOS devices, too, maybe even more expensive. It's a point if you develop quite near hardware features or want to do pixel-perfect designs without auto-layout, but that's difficult for iOS, too, these days. A messenger app is really not that device specific.

> 2\. Study after study demonstrates iOS users are not only growing in key > geographies, but are more valuable customers.

If it's about hype and money, you might be right, but if you just need users with a much more social diversity, Android is likely on your side.

> 3\. iPhone 5c and future low cost models will likely steal share from > Android relative to yesterday. Dunno. You say "likely", too, so why is that > even considered as a top 3 argument?

Nevertheless, the most important point here is: It's a messenger. For teams. You don't want split between iOS and Android devices and Talko itself sees this as negative point:

> (The corporate beta testers I spoke with sighed wistfully when reporting > that a couple of team members could not participate because they didn't use > iPhones.) "We can't build a business on this until we have all of the > above," says Ozzie, who wanted to make sure his engineers aced the iPhone > first; [...]

iMessage's strength is its SMS fallback (still, who wants to send expensive text messages these days), but Facebook, WhatsApp etc. are generally much more used.

</comment></comment></comment><comment><USER27> WeChat does a subset of this and is extremely popular in China. Basically it's like text messages, except voice. This looks a lot more polished though, and obviously includes many more features. I can definitely see it being handy. It's often easier to speak a message than type it, and if you care about the presentation of your message, voice to text will often take longer than straight text. (Plus can't communicate everything voice does.) But I still rarely use WeChat since voice clips aren't my _default_ mode of communication, and there's friction in using a completely separate app/service just for that. Including it in an all-encompassing messaging platform though, sounds great.

<comment><USER2> Chinese does have the additional complication of using a writing system that's not geared very well for fast entry on a mobile phone though.

<comment><USER28> Entry seems pretty fast to me. The pinyin system means that you can enter a few letters using the English alphabet and it will show you the most likely character. For common words, one or two letters per character is enough. I am not a native Chinese typist, but even by guessing at the proper spelling, the predictive entry system is good enough for me to type at a non-too-terrible speed.

<comment><USER2> There are basically two styles of Chinese input: easy and slow via pinyin, or hard but fast via radicals. Both have their drawbacks.

[https://en.wikipedia.org/wiki/Chinese_input_methods_for_comp...](https://en.wikipedia.org/wiki/Chinese_input_methods_for_computers)

<comment><USER29> I find it very surprising you have said pinyin is slow. It has the downside that you need to look at what you're typing, but it's certainly not slow. With modern IMEs it's more akin to something like Swype in it's usage.

I am appalled when in other regions in China where they do not use pinyin, watching people spending over a minute trying to tell their friend that they just got on the train.

</comment></comment></comment></comment></comment><comment><USER30> Talko wants to be Google Wave for voice.

<comment><USER31> I think it might succeed.

<comment><USER5> Looking forward to browsing the code, with an eye to self-host, after it crashes and burns and the ashes are cast upon the winds to be spread to all corners of the world under the APL...

</comment></comment></comment><comment><USER32> The post reads like PR. But what I found interesting is just how deeply synchronous and asynchronous communication are intertwined. This may be obvious to many of you, but for me I have always wondered why so many communication channels coexist (without any friction whatsoever) and what specific human purpose they all serve - e.g. when/why I send email, voice call & SMS? (not including the many proprietary ones).

Why a pure messaging app (like Whatsapp) wants to do voice, and why a pure voice app (like Viber) started doing messaging. Perhaps, both are needed within the same app to make it all work - but then why don't they do email? Why not have an app that calls, messages and mails? :)

Well smartphones are probably that app - they are a great communication tool just because they enable SMS, email and voice call together (all in the same seamless package).

Would love to get some thoughts about where you think this app sits in the communication app spectrum - what need it fulfills (I can't see using it, because it does nothing for me). But generally speaking, I'd love to discuss communication apps! :)

</comment><comment><USER33> What problem is this solving again? Proprietary app, Proprietary system. I'll stick with the universal phone call, SMS, and e-mail as my way of communicating with people.

Why are people always hell bent on changing the way we communicate? I tried the app and it does not offer enough to keep me using it.

</comment><comment><USER34> The telephone system is based on protocols, not "apps". Where is the protocol description of Talko?

<comment><USER35> Apps are the protocols of the 21st century.

<comment><USER36> Apps are significantly worse than protocols.

<comment><USER35> I never compared the two. And I'm not disagreeing either, but realistically, what's the last protocol that's gained mass developer/user usage? Facebook? Twitter? Skype? Whatsapp? Most of these services aren't even accessible without an app. The only recent protocol that comes to mind is bitcoin, but acceptance is still lacking.

<comment><USER34> > what's the last protocol that's gained mass developer/user usage?

XMPP and SIP.

And BTW, Whatsapp is non-federated XMPP. The Twitter protocol is HTTP, its API is documented and clones exist; like Whatsapp it is non-federated.

<comment><USER37> The distinction you describe is one I'm sure the mass market fully appreciates.

</comment></comment></comment></comment></comment></comment><comment><USER38> I think this could work well for people who are 'time rich' where talking is by far the better way to convey more information. For the rest of us drones though we have less choice about when / how long / how loud we can talk so texting or messaging is an attractive alternative.

</comment><comment><USER31> I can't helping thinking "right problem, wrong solution". I would take the bet that there's more ongoing demand for voice calls than many in the tech community realize -- but I don't think this demand is primarily among close- knit teams.

Our team used Hipchat for a while, which was notable because it had a button for 1-click voice or video calls... a button no one ever clicked.

</comment><comment><USER39> This seems anachronistic. Does anyone prefer voice messages to a text or email?

<comment><USER40> Depends on the case, but yeah, those extra emotional cues are very important to me now.

My business consultant, a retired SV engineer & entrepreneur, has been incessantly reminding me, "make that one a phone call, not an email," for four years now. And he's absolutely right. Many situations jut work better when people can hear your voice and v/v. I feel I can communicate far more effectively over the phone in many cases than I can via email. Any time you could do with some extra empathy, e.g. during negotiations, introductions, heavy procrastination, tense moments--you pick up the phone and the extra boost is like getting free money compared to email.

<comment><USER41> I feel exactly the opposite. All my life I've felt clumsy with spoken words. I much prefer to write.

Writing gives me time to think and to edit and to find the odd word that eludes me.

I do realise that not everybody feels this way. Many of my friends hate writing and will basically ignore important emails as if they had never existed.

I guess our brains are wired differently.

<comment><USER40> Perhaps you're too hard on yourself with regard to spoken words. Keep in mind that these are technologies. The phone is a form of technology that you can use to communicate. It will have pros/cons compared to email. And using it effectively is a skill that can be learned.

I often hire subcontractors and I cannot tell you how much I wish they would just call me when they fall behind, rather than emailing or texting about everything. It turns a bad situation into an even worse situation, where on at least one side of the conversation, there is an extra question mark or exclamation point behind every piece of punctuation. In contrast, some of the most effective people I know will call whenever there is any kind of a speed bump, because they recognize the potential advantages of a voice conversation. It's there for anybody to use, and it doesn't really care if we use it or not, but the phone has its advantages.

</comment></comment></comment></comment><comment><USER42> I wrote the article. One comment about the iPhone only issue. Of course I probed this with Ray -- a communications app is really handicapped if you can't share it with all the people you want to contact. His answer was that Talko wasn't going to take a shortcut of writing one version and porting it to different systems--they wanted to get one totally right and then then work native on the others. That's why, he says, that Talko right now is totally free in beta form -- kind of a tryout period -- and that no monetization will occur until Android and Web versions work fully. He thinks that Android folks will appreciate a fast native version in a few months (my estimate) rather than a balky one now and forever.

</comment><comment><USER43> They've brought IRC to the phone.

Back in the day we'd hang on party confs and chat online at the same time, and you'd idle for weeks at a time, never disconnecting, always logging the convo. So you could get someone's attention via voice, talk about the voice call on chat, send links and pictures, or private messages, etc, and go back to everything except the voice stuff.

We don't need 'voice' or one particular thing, we need all of these things in a continuum of historical communication of all mediums. A very thin personalized Facebook feed of every communication, essentially. Just show everything everybody has said, done or shared in chronological order and make it easy to read. That's all anybody needs.

</comment><comment><USER44> It sounds like a useful set of new features. I just wish every new batch of features wasn't heralded as the "amazing new way you will communicate in the future!" I also wish that people could look at these innovations and see ways they could be modified, improved, made to complement other ways of doing things, etc. Instead it seems like the pitch-culture of tech forces people to pretend as though one particular set of features shall be the entire future universe entire and perfect, as though you would never need more (or less), or to use it in a different way than designed.

</comment><comment><USER45> "On a whiteboard, Ozzie has jotted down a long checklist of emotions easily conveyed by voice, but difficult to decipher in quickly thumbed-out bursts of text: concern, pain, urgency, empathy, clarity, seriousness, confidence, anxiety, trust, strength, accountability, anger, fear, stress, confusion, doubt…"

Isn't this why we don't use voice? Voice is _so_ rich and emotionally expensive. note: I haven't tried the product but I guess I am always a bit skeptical of voice products.

</comment><comment><USER46> The product looks cool, and even had me a bit excited.

But then I saw "iPhone Only".

I agree that startups should stick to one platform when they are starting out, except when your product relies on the network effect to be useful.

Couple that with a big PR launch and its a failure from the start.

The product is irrelevant to a large portion of the world and handicapped to anyone with friends on Android.

</comment><comment><USER47> Sounds like the basic elements of his former Groove groupware, which worked really well, before it was bought by Microsoft, and disappeared down the memory hole. I always wondered if that was the cost of Ozzie's hire, or if they just thought it would cannibalize their existing server-based products. Fifteen years of missed opportunity.

</comment><comment><USER48> Whoever cracks having the verbal equivalent of hypertext will change the world. This is a step in the right direction.

<comment><USER5> Maybe in the sense that SGML foreshadowed the open web -- but not really. AFAIK SGML was mcuh more open that this.

Granted, open isn't enough: wikis were a _great_ idea, and while wikipedia might be one of this age's wonders of the world -- both stand on top of HTML and HTTP.

This is about as exiting as an office suite. Any old office suite. Not that people don't use office suites, it's just that it's broken tech, that locks people in caves. Bigger caves, yes, but still caves.

I wonder what had happened if they'd just made all of Lotus Notes Free software, rather than bundle it around in various zombie reincarnations?

</comment></comment><comment><USER49> The reason people stop using voice is that it doesn't work anymore. My experience is that if both parties are on a mobile phone, then there is about a 50% chance that there will be significant periods of time in which one party is completely unintelligible, or the call will drop.

</comment><comment><USER50> It sounds like the app opts people in to having calls recorded by default, which isnt legal in my state. It will be interesting to see if any legal challenges are brought -- I sure wouldn't use it.

</comment><comment><USER51> What is the product and who is the customer here? It is the users of the app that are for sale? If so, is there anything that would allow me to host my own version of this for my family?

</comment><comment><USER52> you know. i like asynchronous. and i like not having to explain why i didn't pick up the call/message back immediately. gosh. the wonder that is email..

<comment><USER53> "If you're under 30, the very idea of getting a cold-call from someone besides a close friend or family member seems intrusive, if not borderline odious."

If you're not in my contact list, I do not answer the phone unless previous arrangements have been made. I might listen to the voicemail in a couple minutes, assuming you leave a message. Really old people (white/blue hair) will not leave messages which makes for an interesting protocol breakdown.

I also don't do the ankle bracelet / house arrest thing, so people leave me a message on my phone and their brains explode that it took me 12 hours to notice and respond back. The very concept that I can own and pay for a smartphone but not look at it for half a day is literally unthinkable to them.

Thats the new world.

<comment><USER14> I'm the opposite; I pick up unknown numbers because, hey, who knows what it'll be. (Having once called several people from jail, who all didn't pick up because they didn't recognize the number, enforces my tendency to do this.)

Then again, I very rarely get unknown phone calls.

I also rarely listen to voicemail. Anyone who leaves me a voicemail is nearly guaranteed to be someone who doesn't know _me_ , and doesn't know that they can contact me in one of a dozen different ways that I'm more likely to notice before I even see the voicemail icon.

</comment></comment></comment><comment><USER54> Unified communications has a limited appeal, and I don't see anything in here that addresses the reasons for that limited appeal.

</comment><comment><USER55> It's not going to work, no matter how much Ray Ozzie is widely admired (his remarks on Google Wave is really insightful).

Here is the deal breaker: here is no easy way to edit sound so far on phone, nor computer. It means no editorship, implies less or no control. Users demand control over their own contents. It's the ultimate user psychology.

</comment><comment><USER56> im so tired of that web layout with massive font that you have to scroll like a mofo to see any content.

so tired.

</comment><comment><USER57> Stopped reading due to incapacitating fit of laughter @ 'The software visionary who created Lotus Notes'

<comment><USER58> And why would that be, if I might ask? Sure, it turned into a rather buggy/bulky/annoying proposition, but for a product that had a great run and many firsts from 1989-1999, it was truly remarkable and powerful, and Ozzie was definitely a visionary.

Ignoring its influence and importance is a sign of youth perhaps (making some assumptions here).

</comment></comment><comment><USER59> TL;DR: Sales pitch. Yawn. At least, Lotus was something new in its time.

</comment><comment><USER60> iOS only?? LAME START

</comment><comment><USER60> iOS only? LAME START

</comment><comment><USER57> Stopped reading at 'The software visionary who created Lotus Notes'</comment>


Startup Quote: Michael Lopp, Blogger, Rands In Repose - <AUTHOR> http://startupquote.com/post/5672304574

<comment><AUTHOR> Your work speaks for you.

\- Michael Lopp (@rands)

<http://startupquote.com/post/5672304574></comment>


'Black Silicon' Breakthrough to Change Solar Power Forever? - <AUTHOR> http://www.treehugger.com/files/2008/10/black-silicon-sionyx-solar-power-technology-breakthrough.php

<comment><USER2> So black Si absorbs 8-9x better in the IR range... heat to electricity converters, anyone?

</comment><comment><USER3> in a nutshell, yes</comment>


Show HN: Yan.js - <AUTHOR> https://github.com/wong2/yan.js

<comment><USER2> This is fun! One of the problems I notice is that pretty much always gets itself into a position where a portion of the table is off screen on mobile. Any plans to fix this?

<comment><AUTHOR> yeah, this will be fixed</comment></comment>


Ask HN: [Opinion] Will Cicada 3301 be back? - <AUTHOR>

What do you think ? I'm really looking forward to it, but nothing seems to have popped up in the last few days, and it's 17th Jan already.<p>With the amount of hype around it, it won't be back I guess... <comment><USER2> He/she/they have lost interest in the game. "Been there, done that."</comment>


Ask HN: What was a time you hacked a (non-computer) system to your advantage? - <AUTHOR>

This question is originally from the YCombinator application and I think it's really interesting.  The title is a bit chopped down, the original question reads: "Tell us about the time you most successfully hacked some (non-computer) system to your advantage." <comment><USER2> I once hacked an older hotel pay-per-view system by ordering a movie and rearranging/disconnecting wires while it was "activated". Had free soft-porn (and other movies) all week at COMDEX (about 12 years ago, in high school).</comment>


2019 Edition: I created the same app in React and Vue. Here's the differences - <AUTHOR> https://medium.com/javascript-in-plain-english/i-created-the-exact-same-app-in-react-and-vue-here-are-the-differences-2019-edition-42ba2cab9e56 <comment><USER2> At this point I just put PWA frameworks all on my resume side by side just so clueless recruiters can hit keywords, even if I was only using one in a particular role

Vue.js (React, Angular)</comment>


How to Protect Yourself Against Spearphishing: A Comic Explanation - <AUTHOR> https://theintercept.com/2017/11/19/how-to-protect-yourself-against-spearphishing-a-comic-explanation/ <comment><AUTHOR> Not of much value to HN:ers personally perhaps, but as something to point others to...</comment>