I asked the NSA for its file on me, and here's what I got back - <AUTHOR> http://www.dailydot.com/politics/foia-request-nsa-prism-metadata-kevin-collier/

<comment><USER2> The important thing to remember here is that the NSA was once started with noble goals in mind but it has since changed into an attack dog without much of a leash to hold it back. The NSA still has a useful function and indeed they'll compromise part of that function if their technical capabilities become too well known.

But to stonewall the general public on legitimate requests like these will cause people to use their fantasy as to what those capabilities really are, and that will likely overshoot reality. In that case any information the NSA is likely interested in will go underground so far that they won't be able to get at it in time to prevent damage.

On the other hand if they come clean and it will turn out to be (much) worse than people expected (and there is a good chance of this) then they will likely be reigned in diminishing their capability.

So they are damned either way.

Stonewalling is likely an indication that there is much more hidden than we know about today, otherwise coming clean would actually make them look better.

The best thing for the NSA would be for this whole thing to go away, organizations like that only work when they can do so in comparative secrecy. As soon as the spotlight is aimed at them some of their effectiveness (and in the case of the NSA likely quite a bit of it) will evaporate.

Those pesky foreign media and their relentless releases. Funny how the Guardian is the best place to get information about a United States institution, how Russian dissidents would move to the US and how a US whistleblower is now living in Russia.

It seems our (the general public) best chance in getting some progress in these matters is to play out nation states against each other.

I have no idea where this is all going but I could do with less surveillance in the name of (the war on) terror and a more constructive approach to geopolitical affairs to replace the 'might makes right' policy that we have today.

<comment><USER3> You forget what most people forget. It was the NSA (USA) that was attacked first. This is in response to that.

<comment> mkr-hn They don't hate us for our freedoms. We need to keep that bit of propaganda from propagating, otherwise we're doomed to repeat the last 50 years.

<comment><USER4> What I always ask: what freedoms? I can't think of really any activity I am not paying for. One can't even escape having any single piece of land without havig to annually pay a license to the government to keep it.

So when we are told others hate our freedoms, I want to know specifically which ones those are.

If they say "religion" I don't count that as one as I am not religious. If they say "speech" I'd like to point to "free speech zones" and other direct limitations.

I can't think of anything that is truly 100% free.

<comment><USER5> You have plenty of areas where you're not free to be irreligious. Or where criticising the regime will land you in jail. That said, the"hating our freedoms" line is definitely bull. People actually say that?

<comment> mkr-hn It was one of the main talking points after 9/11.

</comment></comment></comment></comment></comment></comment><comment><USER6> Going to go ahead and be the voice of reason and state that:

1\. The NSA does not keep a "file" on you. Domestic matters are the FBI's territory. The NSA is tasked with strictly foreign surveillance. If information is contained in databases that correspond to your communiques, it is not catalogued as "Kevin Collier", because that would be a direct FISA violation and trigger administrative removal of the data along with reporting about how the violation occurred.

2\. I can almost say with complete confidence that our national security resources aren't being used to target white suburban bloggers.

3\. By flooding NSA public relations with these useless requests, you're blocking potentially real requests from being processed. If you really cared about getting actual information about programs, you would back EFF, etc. efforts.

<comment><USER7> Ask Laura Poitras if the NSA has a file on her. Read the article. It's worth the 20 minutes:

[http://www.nytimes.com/2013/08/18/magazine/laura-poitras- sno...](http://www.nytimes.com/2013/08/18/magazine/laura-poitras- snowden.html?ref=magazine)

<comment><USER6> It's still illegal to collect on her...she's a US citizen with no ties to terrorism.

<comment><USER8> And with all the abuses admitted to by the executive branch of the federal government over the decades, do you honestly think that it being illegal actually prevents them from doing it?

<comment><USER6> Yes. That's basically like saying that you're culpable for a crime because the person who lived in your house before you committed a crime. The people who were in office and committed illegal acts decades ago are not the same people in office right now. Everyone should be judged based on their own actions -- the government is not some borg mind slowly creeping towards its dictatorial dreams, but a collection of individuals with different moralities. My guess is that if you look close enough, you're not going to find all these crazy conspiracies floating about actually be true, because people are much too lazy to be putting that much effort into a government job.

<comment><USER8> 1) It's not only elected officials who've abused their power. Employees of the FBI are not elected by citizens and the citizens have little power to change the makeup of the organization. See [http://www.washingtonpost.com/wp- dyn/content/article/2008/03...](http://www.washingtonpost.com/wp- dyn/content/article/2008/03/13/AR2008031302277.html)

2) Institutional culture plays a large part in abuses that continue through administrations and even changes in departmental leadership. Institutional culture doesn't simply change because the head of the beast is re-appointed. (And even in the case of the current elected head of the Executive, many things have not changed though changes were promised, but that's a slight digression.)

You talk about people with different moralities, and then mention that "people are much too lazy to be putting that much effort into a government job." I read that as regardless of people's personal opinions, they're too lazy to challenge the status quo and would rather keep their heads down and receive their paychecks. Without whistleblower protections, that's exactly the environment that's fostered.

Finally, in my opinion, all this is moot. We should _necessarily_ question those in authority, we should _necessarily_ limit the power given to those in government, and we should _necessarily_ suspect those in power to have anything other than _our_ _own_ best interests in mind.

<comment><USER6> >1) It's not only elected officials who've abused their power. Employees of the FBI are not elected by citizens and the citizens have little power to change the makeup of the organization. See [http://www.washingtonpost.com/wp- dyn/content/article/2008/03...](http://www.washingtonpost.com/wp- dyn/content/article/2008/03..).

I agree. It's an elitist culture of special agent assholes and "everyone else". Trust me, I don't like the FBI. But, people within the organization also have very little power to change it -- they're extremely reticent to any kind of change regardless of efficiency gains. It took months of planning for them to even consider using an excel macro I wrote that could save millions of dollars per year.

>2) Institutional culture plays a large part in abuses that continue through administrations and even changes in departmental leadership. Institutional culture doesn't simply change because the head of the beast is re-appointed. (And even in the case of the current elected head of the Executive, many things have not changed though changes were promised, but that's a slight digression.) You talk about people with different moralities, and then mention that "people are much too lazy to be putting that much effort into a government job." I read that as regardless of people's personal opinions, they're too lazy to challenge the status quo and would rather keep their heads down and receive their paychecks. Without whistleblower protections, that's exactly the environment that's fostered.

I agree, whistleblower protections would be a massively positive change in how governance works in the US, and would make people accountable for decisions which have significant impact on national policy, security, and economy. That being said, I don't see either Manning or Snowden as whistleblowers.

>Finally, in my opinion, all this is moot. We should necessarily question those in authority, we should necessarily limit the power given to those in government, and we should necessarily suspect those in power to have anything other than our own best interests in mind.

Definitely. I'm personally hoping that this stuff spawns a legitimate third party as a true representative of what this generation's ideals are heading towards. The smart money, though, is on incumbents commandeering the messages and subverting them a la Tea Party.

<comment><USER9> First, thank you for continuing to participate in this discussion. I think you are bringing some different perspective and make some good points.

> I agree, whistleblower protections would be a massively positive change in > how governance works in the US, and would make people accountable for > decisions which have significant impact on national policy, security, and > economy. That being said, I don't see either Manning or Snowden as > whistleblowers.

What do you think disqualifies them as whistleblowers? Manning seems disqualified on some level because his leaks were large, not specific, without a specific goal, and possibly not even motivated by the content of what he leaked. Snowden's leaks seem more specific and motivated by a desire to blow the whistle on specific practices he sees as illegal or immoral. Daniel Ellsberg's leaks were rather large and non-specific in many ways but he is widely regarded as a whistleblower. What is the qualification or disqualification?

<comment><USER6> Thanks for that.

I don't see them as whistleblowers, because their actions stand in contrast to Ellsberg. For one, neither of them tried to go to a higher authority to report wrongdoing -- that is the very first thing that a potential whistleblower must do, is handle things at the lowest level possible and allow the situation to rectify itself before taking matters into their own hands. When that fails, then you escalate to higher authorities. Secondly, Ellsberg surrendered himself to the court system willingly, knowing full well that he could face life imprisonment. Manning was caught and brought to justice after having bragged on an AOL chat to someone about his "hacking", while Snowden fled the country taking with him a trove of classified documents which could be in the hands of other countries, weakening any argument (to me) that he had the US's best intentions at heart. My argument about Snowden is that he knows so little about the programs he supposedly leaked -- I watched his interview and was astonished at the blatant lies in it (see my other post on [https://news.ycombinator.com/item?id=5885846](https://news.ycombinator.com/item?id=5885846)), not to mention him saying that he could wiretap any american (or even the president!) at any time. True whistleblowers are caught in the middle of something that they have solid knowledge of, but are unable to change the course of, so they go to the public in order for the public to do the course correction.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> > "Were we to provide positive or negative responses to requests such as > yours, our adversaries' compilation of the information provided would > reasonably be expected to cause exceptionally grave damage to the national > security."

Not surprising. They're obviously trying to prevent the situation where Mr Terrorist or Ms Spy makes a FOIA request for their file and—because the NSA has been handing out files containing _non-compromising_ evidence to anyone who asks—the NSA has to either:

\- Lie, and say they don't have a file (probably not plausible, and maybe illegal under FOIA)

\- Construct a fake file (expensive, and similarly might be illegal)

\- Hand over the true file, revealing what they know about the bad guys

\- Refuse to hand over the file, revealing that they know something incriminating, and that it's time for Ms Spy to disappear for a while

In information theory, and therefore espionage, you can't unask a question.

</comment><comment><USER11> My Ghostery browser addon reports that blog has 18 trackers. I guess tracking is a one way street then.

<comment><USER12> There is a gulf of a difference between a private business tracking its users and customers for business purposes, which you may opt out of by not dealing with said business, and your government tracking its citizens for criminal purposes, which you don't have the option of electing out of.

<comment><USER11> Where have you been the past few weeks? The US government uses private business to track people.

<comment><USER12> Surely you're not suggesting that the government's secret tracking weapon is Google Analytics. The tracking that the government is doing is not going to be visible to or blockable by end users. But hey, if it makes you feel safe, use ghostery and clear your cookies every hour. There's no way they can track you then!

Illicit tracking by the government is a definite problem. I think that even in these times, you have to have your tinfoil hat on a little too tight to think that advertising cookies are the bogeyman here.

<comment><USER11> Did I say it was the only tracking method they use? Of course the US government also uses non-blocking techniques like wire tapping, snooping, hacking etc.

However, today Google has all the information about users that the US government can use as a good complement to an already vast spying organization.

Google has information about your emails, friends, search queries, page you visit, documents and files you store, clips you watch, medical records etc.

Are you telling me that the US government is _not_ interested in this information and the reports of NSA plugging its system into private businesses was just a hoax?

Is the secret FISA hearings just tin foil bait?

</comment></comment></comment></comment></comment><comment><USER13> <quote>The NSA has admitted, separately, that it employs a practice called "contact chaining." That means that if one of their targets calls someone, who in turn calls someone else, who in turn calls you, agency's checking you out.</quote>

Ah. So when you get an appointment reminder from your dentist, you might just have been chained with a suspect who called that same dentist earlier. Or maybe your girl/boy-friend works at Domino's on the side and called you from there, and it so happens a suspect is one of their customers.... congrats, NSA file for you.

</comment><comment><USER14> If you follow the link the author set on the NSA asking "My NSA" to stop offering semi-automated filings, it's clear that the NSA isn't trying to coerce or intimidate, but rather is simply pointing out that the service doesn't actually work, because it generates noncompliant filings that NSA is prevented by law from even acknowledging.

That's one hop away, on a link this author _chose_ for the story, and yet I'm left wondering whether the author even read it.

</comment><comment><USER15> I assumed from the title that it would be something other than a boilerplate, or at least a follow up, but it's just a commentary on said boilerplate.

</comment><comment><USER16> tldr: "nothing"

Why am I not surprised?

<comment><USER17> Seriously, what a gimmick of a title. The whole article had no new information and his tone sounded like speculation and complaint that he didn't get some sort of special treatment.

</comment></comment><comment><USER18> The important question regarding this whole mess is where are the equivalent of the Swiss banks for data?

<comment><USER19> The EFF publishes a Surveillance Self-Defense resource I'd strongly recommend. The tools page: [https://ssd.eff.org/tech](https://ssd.eff.org/tech)

Essentially: encryption, self-hosting, small-scale hosting (the NSA have scaling problems with vendors, though don't expect that to last), privacy tools including browser privacy (privoxy), tor, VPNs, the FreedomBox, and others.

</comment></comment><comment><USER20> I haven't heard of any of these requests being accepted ... Does anyone have a reference to one?

<comment><USER17> I saw a website that that was devoted to writing up a request, you just entered in your name, address, etc. and it would write up a formal request for you. They said they had a few hits, but at an extremely low success rate (maybe a dozen responses, after thousands or tens of thousands of requests) -- although the successful responses were self-reported, so they may or may not be legit. It was on hacker news a few months ago, but I can't seem to find it.

</comment></comment><comment><USER21> Isn't it be nice that the webpage contains a virus: "[http://cdn0.dailydot.com/resources/20130808180232/js/dd- lazy...](http://cdn0.dailydot.com/resources/20130808180232/js/dd- lazyload.js.gz") wurde ein Virus oder unerwünschtes Programm 'HTML/Infected.WebPage.Gen2' [virus] gefunden.

<comment><USER11> What antivirus software are you running? May I guess its Avira Antivirus based on the German you posted?

Windows Defender in Windows 8 says nothing about it.

<comment><USER22> No AV on my FreeBSD setup, but this site says the questionable item is clean:

[http://sitecheck.sucuri.net/results/cdn0.dailydot.com/resour...](http://sitecheck.sucuri.net/results/cdn0.dailydot.com/resources/20130808180232/js/dd- lazyload.js.gz)

</comment></comment></comment><comment><USER23> Secret spy agency keeps secrets secret.

What's the story here?

</comment><comment><USER24> > "Were we to provide positive or negative responses to requests such as > yours, our adversaries' compilation of the information provided would > reasonably be expected to cause exceptionally grave damage to the national > security."

You just can't be more full of sh#t.

<comment><USER25> Oh, give it a week or so, and Im sure they will surpass that.

</comment></comment><comment><USER26> Please stop polluting the front page with Snowden and NSA related stuff unless it adds something new. This is just a fluff article which helps you read along an automated government response. At least link directly to the scribd document next time.

<comment><USER27> Hackers News works on basis of votes. The submitter added a link to something that the person thought was interesting. 69 other people agree. Thus there is no pollution, you're just do not want to see it. That's different.</comment></comment>


Why Telegram is insecure (2015) - <AUTHOR> https://medium.com/@thegrugq/operational-telegram-cbbaadb9013a <comment><USER3> So, here's the thing I'd like somebody to explain to me. Telegram encryption spec is published, and the client is open source. This means you can verify that the server is following the spec by creating a clean room client implementation. You could even create a green field server implementation if you wanted.

Telegram regularly has contests to break its encryption with a reward of 300K USD [https://telegram.org/blog/cryptocontest](https://telegram.org/blog/cryptocontest)

If it's not secure, then surely people would be cashing in on that sweet money. So, why is it that we constantly see articles talking about how insecure Telegram encryption is, but nobody is showing a proof of concept attack or collecting the prize?

Unless somebody puts their money where their mouth is and shows an actual exploit with code, it seems like pure FUD to me. On top of that, it appears that attacks on Telegram often come from people associated with Signal in some way. Signal is endorsed by NSA who have a history of promoting weak encryption that they have found backdoors into. I hope everybody still remembers this debacle [https://golem.ph.utexas.edu/category/2014/10/new_evidence_of...](https://golem.ph.utexas.edu/category/2014/10/new_evidence_of_nsa_weakening.html)

<comment><USER4> > the client is open source

Uh, no it's not. The client (which happens to seemingly violate a bunch of open-source licenses) and the code posted to GitHub do not match; occasionally a source dump is posted online but there's no indication how this relates to what they are shipping, as the released binaries differ and update much more frequently. The author is quite unresponsive about this: [https://github.com/overtake/TelegramSwift/issues/163](https://github.com/overtake/TelegramSwift/issues/163)

<comment><USER5> Sorry, that's just not true.

I have telegram-desktop (on Linux) which is unofficially distributed and compiled on my laptop via AUR[0], FDroid also has a version of telegram which is compiled from sources and not taken from pkg's released by the Telegram group, although they remove non-free parts apparently[1].

I'm not sure about iOS as I don't currently have the means to verify the content of my App Store iOS installed version of telegram, but the fact is that there are (at least) 2 client implementations commonly used that are compiled from source.

[0]: [https://git.archlinux.org/svntogit/community.git/tree/trunk/...](https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/telegram- desktop)

[1]: [https://www.reddit.com/r/fdroid/comments/9gmkob/why_is_teleg...](https://www.reddit.com/r/fdroid/comments/9gmkob/why_is_telegram_in_f_droid/e6m2is5/)

<comment><USER6> how is it not true?

the version in github works, but the version on play store different a lot from it..

<comment><USER5> >and the code posted to GitHub do not match;

Well, I was challenging this assertion.

"Does not match" what thing exactly? My point was that people are using the non-packaged versions (I mean, I'm not FOSS mad, I'm just a user and I'm using the FOSS version almost by accident).

I would prefer the FOSS version to be 1:1 what is in the repo (or, even the upstream of the non-free version), but I see the situation as more chrome/chromium. We're not shitting on chrome for being "the most secure webbrowser" despite having non-free elements.

Seemingly because large US tech companies deserve more respect than a guy who was essentially exiled from his country for not handing over his users data?

Sounds like a double standard. Telegrams OSS edition works, so if they're sneaking things in it would have to be a backdoor, which would be INCREDIBLY damaging to their endeavour if it was found, and it would be relatively trivial to find too. So I'm not sure where this FUD is coming from.

Making the argument about the server not being FOSS is valid though, but then if the E2EE is good enough on the client then the server is basically a relay and can't pilfer anything except metadata. (which, if we're honest, is what governments are after anyway)

<comment><USER4> > I would prefer the FOSS version to be 1:1 what is in the repo (or, even the > upstream of the non-free version), but I see the situation as more > chrome/chromium.

Chrome is not GPL.

</comment></comment></comment></comment></comment></comment><comment><USER7> > Telegram links an account to a telephone number.

> If you want to use secure and private apps, I recommend: Signal Private > Messenger: [https://signal.org..](https://signal.org..).

I feel it's wrong to criticise Telegram for using phone numbers, and then in the same breath recommend Signal.

<comment><USER8> Why do all messengers keep requiring phone numbers? Is it because of the problem of spam? Couldn't this easily be prevented by for example requiring consent before sending messages to new contacts? You could for example have it work 2 ways: 1) require a phone number connected to message unknown contacts. 2) without phone number, requiring prior consent from any new unknown contact, to message them.

<comment><USER9> Because:

1\. WhatsApp was the first widely-used such app and it was phone number-based, so all the clones use the same system.

2\. Non-technical people have a hard time (read: bordering on impossible) remembering their usernames, let alone passwords, and by using the phone number as both identification and authorization, the problem is sidestepped.

3\. People have an existing address book of contacts (in the form of phone numbers) in their mobile phones, that can be used to pre-populate the app's buddy list.

<comment><USER10> Re 2 - Blackberry Messenger used an eight character alphanumeric ID, and was enormously popular in the UK (not sure about other countries however) - <USER2> Blackberries died a death at the hands of Apple and Android...

<comment><USER11> Was BB ever really mainstream? I know it had loyal following, particularly for business users. But, at its peak it had 80M users globally. Most people still had basic phones then, and many of those with BlackBerries probably had an IT department supporting them.

<comment><USER12> BB was thoroughly mainstream in the UK.

[https://www.theguardian.com/media/2011/aug/08/london- riots-f...](https://www.theguardian.com/media/2011/aug/08/london-riots- facebook-twitter-blackberry)

from 2010 / 2011

> Using BlackBerry handsets – the smartphone of choice for the majority (37%) > of British teens, according to last week's Ofcom study – BBM allows users to > send one-to-many messages to their network of contacts, who are connected by > "BBM PINs". For many teens armed with a BlackBerry, BBM has replaced text > messaging because it is free, instant and more part of a much larger > community than regular SMS.

</comment></comment></comment></comment></comment></comment><comment><USER13> Not sure what the policy is on plagiarism, but this post plagiarized my write up.

The structure is the same and the section headings are the same. It is blatant plagiarism.

[https://link.medium.com/cWfUtKQjgT](https://link.medium.com/cWfUtKQjgT)

<comment><USER14> Author just edited it and added your post as a reference:

[https://gitlab.com/edu4rdshl/blog/commit/2fc4d85714d2bde3aca...](https://gitlab.com/edu4rdshl/blog/commit/2fc4d85714d2bde3aca669c86998154c9e840f10)

...

\+ 7 [https://medium.com/@thegrugq/operational-telegram- cbbaadb901...](https://medium.com/@thegrugq/operational-telegram-cbbaadb9013a) by [https://twitter.com/thegrugq](https://twitter.com/thegrugq)

<comment><USER13> He did only after I publicly called him out[0]. And it is still plagiarism.

"Plagiarism is the "wrongful appropriation" and "stealing and publication" of another author's "language, thoughts, ideas, or expressions" and the representation of them as one's own original work."[1]

[0] [https://twitter.com/Edu4rdSHL/status/1081971696431706113](https://twitter.com/Edu4rdSHL/status/1081971696431706113)

[1] [https://en.m.wikipedia.org/wiki/Plagiarism](https://en.m.wikipedia.org/wiki/Plagiarism)

</comment></comment></comment><comment><USER15> What I find interesting is that this article is very recent, however the calculations on Crypto are not up to date. MtProto has had some big changes some time ago already:

\- SHA-256 is used instead of SHA-1;

\- Padding bytes are involved in the computation of msg_key;

\- msg_key depends not only on the message to be encrypted, but on a portion of auth_key as well;

\- 12..1024 padding bytes are used instead of 0..15 padding bytes in v.1.0.

See [https://core.telegram.org/mtproto/description](https://core.telegram.org/mtproto/description)

<comment><USER16> None of these changes are big enough; it is still homebrew crypto. If there's issues with cryptography standards you can be sure your OS (such as your Linux distribution) lost CIA in one way or another. Whereas with MTProto, if that is broken, only your Telegram chats lose CIA. Which raises the question why _not_ use standards?

<comment><USER17> So Signal and others are not "homebrew crypto"?

That criticism is fair a lot of times, but every higher level crypto construction is going to be unproven for a while until checked.

It's not like they were inventing their own hash function and stream cypher.

<comment><USER18> Signal is the best-studied multiparty secure messaging protocol; there are academic papers that provide formal analyses. Trevor and Moxie won the Levchin Prize at Real World Crypto for Signal Protocol; the Levchin steering committee is a "Who's Who" of cryptographers, as are the other winners of the prize.

No, Signal is not "homebrew crypto".

<comment><USER17> What would be a good definition of Homebrew crypto?

Sure, if I put some primitives together (even if I had a good knowledge of how to do it) in a closed product and nobody evaluates it (and I add a label like "military security") that's Homebrew, no questions.

But all systems are born "in secret" (at least for a short while). Unless the definition involves appeal to authority.

<comment><USER18> Obviously, the term is a straightforward appeal to authority.

<comment><USER17> Which is sometimes unjustly described as fallacious, though even the best can make mistakes.

<comment><USER18> Hopefully we agree on the authority here. But I jumped the gun on my response a little as well, because my argument isn't simply an appeal to authority; for instance, you can just go read the formal analyses of Signal Protocol and evaluate them for yourself. Maybe IEEE EuroS&P was wrong to accept the paper!

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> Any reason you mention Signal and Threema but not Wire? Wire is objectively superior as far as I can tell.

For a quick (probably incomplete) comparison, Wire has proper multi-device support (not sure how Threema does that), open source and cross-platform clients and open source server (Threema does not appear to have a Linux client nor publishes sources as far as I can tell), it's free (allowing everyone to use it, even if you're in a country where it's hard to pay from), it has a proper profit model (unlike Telegram, and to a much lesser extent Signal), and it does not require a phone number.

The two major downsides of Wire is the battery usage due to all clients being Electron, and that few people know about it (hence my prompt to give them a mention). Not major stoppers I'd say...

<comment><USER20> > not proxying through your phone which Signal used to do and maybe still does

This is what Whatsapp does. Signal never did and has real multi-device support.

> and the Signal server is closed source

It's not: [https://github.com/signalapp/Signal- Server](https://github.com/signalapp/Signal-Server)

<comment><USER21> > This is what Whatsapp does. Signal never did and has real multi-device > support.

This is news to me. Curious then, why is it not possible to use Signal desktop without a phone?

[https://support.signal.org/hc/en- us/articles/360008216551-In...](https://support.signal.org/hc/en- us/articles/360008216551-Installing-Signal)

> Can I install Signal Desktop without a mobile device?

> Signal Desktop must link with either Signal Android or Signal iOS to be > available for messaging.

<comment><USER22> You must link a client with a mobile device, but after that apparently you can use e.g. the Desktop client without your mobile phone turned on.

</comment></comment></comment></comment><comment> VvR-Ox Threema is proprietary and I think it's dangerous to recommend it as an alternative. Everything we trust should be open.

Telegram is not perfect but better than WhatsApp. Also there is people who want convenience like history sync - it won't help telling them that it's unsecure. In the end at least facebook doesn't have their data.

For NSA etc. it's not that important where stuff is. From the leaks we know they can do everything they want (expertise + huge money) so if you want something more secure you maybe shouldn't use one of the popular solutions at all ;-)

<comment><USER23> > Threema is proprietary and I think it's dangerous to recommend it as an > alternative. Everything we trust should be open.

On the other hand, they have been audited [1], have transparency reports [2] and their servers are Swiss based [3]. Yes open source would be nice, but a relative small company with a focused business model (not dependent on advertisement, data-gathering, donations, kind [bi|mi]llionairs) has its advantages too.

I'm using Threema since some years and wouldn't want anything else.

[1]: [https://threema.ch/en/faq/code_audit/](https://threema.ch/en/faq/code_audit/) [2]: [https://threema.ch/en/transparencyreport](https://threema.ch/en/transparencyreport) [3]: [https://en.wikipedia.org/wiki/Threema#Privacy](https://en.wikipedia.org/wiki/Threema#Privacy)

<comment><USER24> >their servers are Swiss based

which doesn't mean anything.

<comment><USER23> Why not? Law, regulation and policies matter. The servers fall under the jurisdiction of the country where they are located.

There are certainly other options, but I think Switzerland is among the countries with quite reasonable data protection laws. Here the text... [https://www.admin.ch/opc/en/classified- compilation/19920153/...](https://www.admin.ch/opc/en/classified- compilation/19920153/index.html)) or some statements which I found with a quick google search: [https://protonmail.com/blog/switzerland/](https://protonmail.com/blog/switzerland/) or [https://swissmade.host/en/data-protection](https://swissmade.host/en/data- protection).

</comment></comment></comment></comment><comment><USER25> Does anyone have experience with using Matrix [0] as an alternative to Telegram and Signal? Maybe even running your own homeserver which stores your history on a server you control and syncs that across all devices?

As far as I saw you can also bridge to other messaging services, even to WhatsApp [1] which is why it might be worth a try.

[0] [https://matrix.org/blog/home/](https://matrix.org/blog/home/) [1] [https://github.com/tulir/mautrix-whatsapp](https://github.com/tulir/mautrix- whatsapp)

<comment><USER26> I'm currently self-hosting a Matrix homeserver! I got a few friends to join me and we use it to chat daily.

I can't really speak for its security. Afaik the protocol is almost considered stable, and I trust it for everyday communications — but I wouldn't trust it if dealing with a nation-state level adversary.

The only privacy pain point is that if you run a synapse home server (the reference implementation), by default your voice and video chats are routed through Google's servers. You have to run your own TURN server alongside synapse to prevent this. This is fine, but imho it's not well explained on the install guide.

Riot is... Okay. It's great ffor power users, but imho is quite obscure for the average chat app user; the ux isn't great yet. Perhaps with the redesign...

Lastly, bridges are the biggest reason why I want matrix to succeed... But as of now, none of them are really useful or even usable. They're all in very early stages of development and need contributions.

<comment><USER27> >Lastly, bridges are the biggest reason why I want matrix to succeed... But as of now, none of them are really useful or even usable

Why do you say that? I know many projects using bridges successfully. For example the UBports [0] guys have bridges between their Telegram and Matrix rooms.

Besides FluffyChat [1] works wonderfully on UT phones, so that's a plus for them.

[0] [https://ubports.com/](https://ubports.com/) [1] [https://christianpauly.github.io/fluffychat/](https://christianpauly.github.io/fluffychat/)

</comment></comment></comment><comment><USER28> This post has some useful information, but the recommendation of other centralized platforms that rely on a phone number make this post seem like the pile of FUD that Telegram has been enduring for long. Contact theft, metadata, susceptibility to phone number for setting up or verifying an account are issues shared by the other recommendations too. [1] For someone who doesn't know much about security, it comes down to "who can be trusted", and that question applies to Signal and Threema too.

[1]: Edit. I wasn't aware that Threema does not require phone numbers. Thanks to dbrgn for correcting me.

<comment><USER29> Threema does not rely on phone numbers. You can use it anonymously, and you can add other contacts without knowing their phone number.

More details can be found in the crypto whitepaper: [https://threema.ch/press- files/2_documentation/cryptography_...](https://threema.ch/press- files/2_documentation/cryptography_whitepaper.pdf)

</comment></comment><comment><USER30> Telegram is popular because of it's convenience, not security. I've tried using whatsapp and the app seemed so much inferior: no nicknames, crippled desktop client, no separate contact list. It happened so that telegram became some kind of standart for formal chatting in my country (universities, businesses, journalists, officials use it) even thought it's blocked by ISPs (still works fine most of the time), I think mainly because you don't have to expose your phone number to be contacted and you can easily use it on desktop (also bots, I know one big store chain that uses tg bots for managing your bonus programme).

</comment><comment><USER31> Yes, because it's such a delight to don't have a synced history across devices. When I was figuring out how to transfer WhatsApp hustory from my mother's Android to her new iPhone I realized that was no longer possible unless you use some wacky paid tools, because one only syncs with Drive and the other is with iCloud. Although I'd love to log in Telegram with Authy.

<comment><USER19> The usability of Telegram is indeed awesome and I'm sure that's why it's so widely used (well, that and it not being owned by Facebook). But there are so many choices they could have done better.

So you want synchronised devices? Encrypted ("secret") group chats? Heck, encrypted group video calls? Wire.com has you covered.

You want chat history? Any of your old devices could transfer the encryption key via a QR code or by having you type it over. The server could store opaque blobs that only your devices can decrypt.

The only thing you can't do with current technology is server-side searching without server-side access to the plaintext (as far as I know, homomorphic encryption is not practical enough yet for that). But they could at least give you the option not to store your plaintexts and only have device-local searching. I'd just put a telegram-cli client on my server and have searches deferred there. Heck, media storage could be deferred there so I don't use hundreds of gigabytes (that's how large my account is) on their servers with no known profit model. The whole thing is just so shady.

Anyway, most of the features are easily possible, but instead of working on it, Telegram keeps perpetuating insecure defaults since they launched. The desktop client never even supported encrypted chats. They make it very cumbersome to use the encryption (mobile only, no device sync) that I do it only for a few exceptional cases.

<comment><USER28> I don't understand why Telegram still doesn't have E2E ("secret chats") on the desktop. That's such a pain for longer and hotter conversations when one needs to type a lot.

<comment><USER32> The App Store MacOS version of Telegram offers end-to-end encrypted chats.

<comment><USER28> Thanks. I wasn't aware of that, and will look into it. But if at all it doesn't sync secret chat across devices, then it's again not of much value.

</comment></comment></comment></comment></comment><comment><USER33> "Telegram provides a feature called "Links previews" that's available and on by default in not encrypted chats, anyways if you use a "Secret chat", Telegram app ask to you if you want to use "links previews" adversiting that it previews are done in the server side. How can they know what links are you writing? Can they read your messages still if you are using "Secret chats"? (Not sure but is a edge case)."

They probably do pattern matching on the app, why would they need to send anything to the servers for content previews?

<comment><USER34> Not verified but i'd imagine the retrieval of the metadata (the cards/tags needed to show the image previews, etc.) is done by proxying via telegram servers, possible to prevent semi-doxxing someone (returning their real IP) just by sending them a message?

</comment></comment><comment><USER35> > Telegram provides a feature called "Links previews" that's available and on > by default in not encrypted chats, anyways if you use a "Secret chat", > Telegram app ask to you if you want to use "links previews" adversiting that > it previews are done in the server side. How can they know what links are > you writing? Can they read your messages still if you are using "Secret > chats"? (Not sure but is a edge case).

It feels reasonable to assume the Telegram client detects the links (using a regexp or something) and sends them to the server side. Of course they see the links if you ask them to but this doesn't mean they also see all the text.

</comment><comment><USER36> Sadly switching to Signal, Wire, and other "technologically superior to Telegram" apps means a drop in user experience. For example, I tried switching to Wire recently but I found that setting up a new device means I wouldn't have access to my old messages.

I understand these apps don't want to upload messages to a server, but can't messages be synced between clients? Even if I had to scan a QR code on my phone to sync with my laptop and had to stay on the same Wi-Fi network until it was done, it could then sync historical messages. I have Telegram messages from 2015 when I had a different computer, laptop, phone, and lived in a different house.

This is also why I don't use the secret chat on Telegram. As soon as you add too much encryption and security you have to trade-off usability. Must it always be that way? If you have to chose between security and usability, people will always choose usability.

<comment><USER37> Those other more secure chat apps also treat desktop as an afterthought or worse, which is simply not acceptable for my use case. I live at my desk, not on my phone, and expect desktop to be treated as a first class citizen. At present, the only two services that do this are iMessage and Telegram, so I use iMessage with everybody with Apple stuff and Telegram for everybody else.

</comment></comment><comment><USER38> I checked Threema because of this post (didn't know about it) and while searching, some people are complaining about it being under control of the Russian gov? Does anyone know anything about this?

[https://www.newsbtc.com/2017/10/04/crypviser-secure- messagin...](https://www.newsbtc.com/2017/10/04/crypviser-secure-messaging/)

<comment><USER29> Threema does not fall under Russian jurisdiction, so no.

[http://www.ewdn.com/2017/03/16/russia-adds-intrernational- me...](http://www.ewdn.com/2017/03/16/russia-adds-intrernational-messenger- threema-to-official-registry-with-a-view-to-control-users-communications/)

> Interviewed by Runet Echo, a Threema spokesperson said, however: "We operate > under Swiss law and are neither allowed nor willing to provide any > information about our users to foreign authorities."

<comment><USER24> That seems suspiciously specific.

>foreign authorities

This reads as "but local authorities are no problem" to me.

<comment><USER29> Check out the transparency report for details: [https://threema.ch/en/transparencyreport](https://threema.ch/en/transparencyreport)

</comment></comment></comment></comment><comment><USER39> At the end, the author recommends Signal ([https://signal.org/](https://signal.org/)) and Threema (([https://threema.ch/en](https://threema.ch/en)). I've never heard of Threema before, but having more viable options in this space is definitely a good thing.

<comment><USER40> Signal requires phone number just like Telegram does. Does it mean it is susceptible to the same attack that Telegram is?

<comment><USER22> With Signal, if a the numbers registers a new account like in this attack scenario, 1. the attacker cannot access old/pending messages (as they are _always_ encrypted), and 2. the person on the other side of the conversation gets a warning that the keys have changed, thus need new verification before continuing the conversation. So, Signal is more secure on that front.

<comment><USER41> Telegram got two factor support which a user can enable anytime for security.

</comment></comment></comment></comment><comment><USER4> > When registering an account with Telegram, the app helpfully uploads the > entire Contacts database to Telegram's servers (optional on iOS).

The Telegram iOS client has started pushing dark patterns to get me to upload my contacts: it now shows a perpetual "badge" in the app's main tab view (so that I can't ever miss it), as if it has an error or alert it needs to tell me about. If I tap on it Telegram will helpfully tell me, on a visually broken page, that I should please allow Telegram to access and upload all my contacts to "seamlessly find all my friends" (like I needed this).

<comment><USER42> You my not need it, but FSB sure does.

</comment></comment><comment><USER43> To summarize: there is a _theoretical_ concern about the MTProto protocol used by Telegram.

Mentioning "nation states" is laughable and it seems everybody should be reminded that not only advertisers have access to "metadata" generated by their mobile devices.

To make the life less convenient but more "secure", one could enable "secure chats", set an explicit password and don't allow access to the Contacts on iOS.

<comment><USER44> A theoretical concern about MTProto _that was already fixed over a year ago_ with MTProto 2.0.

</comment></comment><comment><USER45> I made a habit of using automatically disappearing messages in chat using Signal (after a day or week). You have to manually save important messages, but typically this is not an issue.

The only downside is that the Signal servers may store automatically disappearing messages until all devices have received it, so you can't rely on messages being removed in due time.

It would be nice to have an e2e encrypted p2p messaging platform to overcome this issue.

<comment><USER46> So, Tox?

<comment><USER47> No way. Tox claims to keep users safe from governments and does not even have a threat model in the documentation.

</comment></comment></comment><comment><USER48> XMPP: OMEMO, XEP-313, XEP-280, done. Cross-device e2e encrypted, synchronized messages. Local storage is not in-app encrypted though, but that needs to be taken care of on the system level anyway in my opinion.

<comment><USER19> Where can I sign up?

Serious question because I can't tell a few dozen friends and family to either run their own server, nor do I want to play customer support for all of them.

<comment><USER49> Also take a look at Quicksy [0]. It is done by the author of Conversations but allows phone number sign up, which simplifies things for non-tech people.

[0] [https://quicksy.im/](https://quicksy.im/)

</comment></comment></comment><comment><USER50> So storing data remotely is now a security nightmare? It doesn't really help to exaggerate like this.

<comment><USER20> Not necessarily. But storing them in plain text on the server and all history accessible just by hijacking a phone number (or a single text message) is, considering the alternatives, don't you agree?

<comment><USER51> How do you know that it is stored in plain text on the server?

<comment><USER20> Because there is no end to end encryption (other than some very limited temporary one on one chats that only work between two mobile devices) which means the server can (and does) read and store all your messages. Getting access to your full chat history is as simple as intercepting a single text, because the server has access to your plain text messages.

They might do some form of encryption to store the messages, but this is meaningless when they also have access to the keys and can decrypt any message whenever they want.

<comment><USER50> So in essence, like about any service that performs manipulations on your files? Like a storage service that creates thumbnails of your photos?

</comment></comment></comment></comment></comment><comment><USER52> Telegram does not store private keys only on client. On the other hand telegram splits the private key and stores in multiple severs in several countries making it legally very very hard to process requests. But this also means the founders or just some developer who has access to the servers can read the messages as they have access to private keys. Signal app is more secure.Signal app does not store private keys on the server. The following faq is from telegram site.

Q: Do you process data requests?

Secret chats use end-to-end encryption, thanks to which we don't have any data to disclose.

To protect the data that is not covered by end-to-end encryption, Telegram uses a distributed infrastructure. Cloud chat data is stored in multiple data centers around the globe that are controlled by different legal entities spread across different jurisdictions. The relevant decryption keys are split into parts and are never kept in the same place as the data they protect. As a result, several court orders from different jurisdictions are required to force us to give up any data.

Thanks to this structure, we can ensure that no single government or block of like-minded countries can intrude on people's privacy and freedom of expression. Telegram can be forced to give up data only if an issue is grave and universal enough to pass the scrutiny of several different legal systems around the world.

To this day, we have disclosed 0 bytes of user data to third parties, including governments.

### End of Faq ####

Even the secret chats in telegram are not secret because the protocol is custom developed by amateurs devs. It is not tested and have seen some articles on methods to attack, could not get the link now.

</comment><comment><USER53> Sounds more like this guy works for a competitor than a security firm.

No proof, and he apparently didn't even test his own theories.

And the whole "Telegram isn't secure because nation states can abuse their telcos to break 2fa" is, while accurate, also true for about 90% of the internet.

And what's with this method of disclosure? It's not ethical or responsible. It's plain defamatory.

</comment><comment><USER54> Keybase.io is an alternative for secure chats. Anyone know how it compares to signal, wire & threema?

<comment><USER55> I think Keybase does chat well and their code is open source. One issue I see with them is that they seem in a perpetual beta phase, so who knows how dependent you can be on their software. I also don't like the React Native based phone apps as they don't feel native and lack polish. I also worry about them having joined the crypto train with no reason besides being backed up by Stellar foundation. The stake from Stellar into Keybase isn't clear and may influence decision making in direction of Keybase.

The chat clients do have a nifty feature of setting up a time based, self destroying message. And you can share git repos within your registered clients and peers. They also have a shared filesystem and team based chat. You can also generate a PGP key pair for identity. The feature list is vast.

The main point of Keybase is also sound in my book, which is to have a network of proof such that you can prove who you are in your correspondence in whatever social media or chat you use. You can even use the encryption / decryption services of Keybase only and send the encrypted payloads however you'd like.

I think with more polish on their clients and proven stability that Keybase will be a great service to depend on. But I do think they need more personnel and/or they need to step up on their social aspect because their last blog post was 200 days ago.

<comment><USER56> A bit of input on the beta worry:

By no means has our experience been flawless, but as a small business we have been running entirely on Keybase for around a year and a half now.

We use Keybase every day for team & partner chat, shared storage, and git repository hosting. Our email is on ProtonMail, A/V chat via Wire, and our static websites I am not entirely sure where we host. Keybase IPs are not fixed at time of writing, so a CNAME solution would be our only option for root DNS hosting on Keybase - so we are not interested in that at the moment.

Again, we are just a small business and we do indeed run frequent backups of repositories and KBFS to offline storage (though I am not sure I would want things different with any other third party host), but given daily heavy collaborative use for our size, we do not really have complaints on beta-ness.

Primary feedback at this point are mostly feature requests - like support for git-lfs, static IPs for better DNS flexibility, minor client usability tweaks, and support for tablet displays. Thankfully the Keybase team is very active in community channels so we have a good idea on the status of these things and rapid turnaround time for bugfixes.

Active clients in the team are on android, Docker, iOS, macOS, and Win7.

</comment></comment></comment><comment><USER57> Let me preface this by saying I work in security and use Signal. That said, the security industry can be incredibly obtuse at times. End users don't care. Full stop. Having the best encryption isn't a selling point to the masses. I'm making a chat app right now and I'm doing it exactly the same way as Telegram, unencrypted by default with an E2E private chat option. Why? Search. I don't need E2E. I use it based on principle. I do need to be able to search my conversations. As long as the chat provider is trusted, I'm happy to have my messages in plain text to be searchable and I think 99% of end users feel the same way.

<comment><USER58> Why can't search be done entirely client side?

<comment><USER57> It could, with IndexedDB or similar, but then you have a massive conversation history being stored on user devices. Space is a precious commodity on phones.

<comment><USER22> For text? Nah. Most apps automatically store photos on your device, and that's fine. Mobile phones have several GB for storage. That is enough for hundred thousands of messages, before even noticeable. Please reconsider your E2E policy and don't make the world a more insecure place.

</comment></comment></comment></comment><comment><USER59> The whole article is based on the fact that secret chats are not enabled by default. But i dont understand why that's a critical point, if you are so worried about privacy just start a secret chat. Also from what i can understand its a design decision telegram took. If the secret chats are always on then the private key needs to be transfered from device to device and on new devices,which is a security risk.

The points about the contacts is right though. Also i am a strict no for closed-source privacy app. Even though telegrams code is open, the repo is handedly very badly. With squashed commits pushed once in few months, issues disabled.

<comment><USER4> > But i dont understand why that's a critical point, if you are so worried > about privacy just start a secret chat.

Usability is important. The more steps you put in the way of security, the less likely people will do the right thing.

</comment></comment><comment><USER60> Is there a standard checklist for messaging services that want to be secure?

<comment><USER61> EFF designed a way of scoring the security/privacy practices of IM applications. They've called it Secure Messaging Scorecard.

While it was useful, they've decided it was a fruitless attempt[0] and their arguments are very convincing to me. On the other hand, it's kind of shitty not to have a reputable resource to point to and say "you shouldn't be using this, it's at the bottom of this list". I appreciated the list while it was a thing more for its bottom than its top.

[0] [https://www.eff.org/deeplinks/2018/03/secure-messaging- more-...](https://www.eff.org/deeplinks/2018/03/secure-messaging-more-secure- mess)

</comment></comment><comment><USER62> [https://docs.google.com/spreadsheets/d/1-UlA4-tslROBDS9IqHal...](https://docs.google.com/spreadsheets/d/1-UlA4-tslROBDS9IqHalWVztqZo7uxlCeKPQ-8uoFOU/htmlview?sle=true) Digital Communications Protocols

</comment><comment><USER63> I think we should always remember that users want usability too and most of the times aren't willing to surrender features for the extra gain in security. If users preferred security, a lot more people would be using PGP.

</comment><comment><USER64> Telegram is insecure by nature because it's a proprietary service. It doesn't really matter much how is coded or how appear to be coded.

Not to reduce the value of author's analysis of course, but just to clarify a point: no proprietary service can be considered secure, no matter how good and well intentioned it's property is.

<comment><USER65> Unless you're advocating for P2P chat, I don't see how it's any different for open source solutions. At some point you have to trust the people hosting the centralized servers, OSS or proprietary.

<comment><USER64> Of course, we need decentralized solution at minimum, distributed at best.

Also about trust: I can trust a bit certain kind of paid hosting/services, for instance companies that are in my country under my country law can be trusted in the sense that I have a certain kind of legal protection and a clear signed contract. It does not stop them do thing I can't know with my data but I have few options. Against services hosted elsewhere in the world with "not-real- contracts" and zero formal fee my possibility of action is essentially ZERO so I can't even being protected by my country's law.

</comment></comment></comment><comment><USER66> All these criticisms apply to Gmail, Slack, Hangouts, Skype, whatever.

<comment><USER4> None of these use "security" as their a primary component of their advertising strategy.</comment></comment>


Show HN: I've always wanted a Y Combinator shirt, so I made one. - <AUTHOR> http://fold.sigusr2.net/2011/02/y-combinator-in-ycombinator.html <comment><USER2> When I saw the title my first thought was "too bad it won't be a shirt of the actual y combinator", I was pleasantly surprised, will probably be purchasing one soon

<comment><USER3> I thought the opposite: "Wow, cool someone made a orange HN shirt. I am going to buy one right this minute if he sells them."

</comment></comment><comment><USER4> I've always wanted a bright orange shirt (#ff6600) like the default topcolor with a nice large Y on the front.

I'm wondering if there is a trademark that would prevent someone from designing and selling one (even after explicitly stating no affiliation/connection with YC.)

Wikipedia Commons[1] says Jessica designed it and has trademark restrictions however...

EDIT:

Followed the rabbit-hole and found this: <http://ycombinator.com/legal.html> which states _This image of our logo is released under the Creative Commons Attribution 2.5 license._

..I unfortunately am not familiar with that license, but after reading up on it[2], it would seem fair game, as long as the person(s) gave attribution to Jessica/YC.

Anyone have any counterpoints/corollaries to prove me utterly out of touch with everything, or am I correct in my understanding here?

[1]: <http://en.wikipedia.org/wiki/File:Y_Combinator_Logo_400.gif>

[2]: <http://creativecommons.org/licenses/by/2.5/>

<comment><USER5> They're sold out at the moment, but I bought one here: <http://hackertees.com/>

<comment><USER4> Yeah, but I'm talking BIG Y...like whole front of t-shirt Y. And maybe even posthardcore-band-merch Y. Or even grunge-style Y.

But the Y must be massive.

</comment></comment></comment><comment><USER6> Cool idea, I'd be interested in something like that too, although not out of any implied association with YC (the VC firm). More because I'm a student in a PL group :).

However, there's something about the font/position of the logo...err.. expression on the shirt that doesn't quite appeal to me. Maybe I'll have to design one too!

<comment><AUTHOR> > However, there's something about the font/position of the logo...err.. > expression on the shirt that doesn't quite appeal to me. Maybe I'll have to > design one too!

The font is FF Meta, the same font used in the Y Combinator (VC) logo.

It's unfortunate that the Y-Combinator is so long. I tried to kern so it would fit in a single line but be big enough to see on a shirt. Not sure that I succeeded exactly; maybe not based on your comment. :)

<comment><USER6> I haven't seen the shirt that inspired you, so my opinion probably isn't so useful.

<comment><AUTHOR> I think I've seen people affiliated with YC with a shirt that just has the orange box with a Y on it.

Other YC shirts I know of: "make something people want", and when you get acquired, you get "i made something people want"

</comment></comment></comment></comment><comment><USER7> First thought: "Yo dawg. I herd you like Y-Combinator. So we put a lambda in yo lambda, so you can recurse while u recurse."

<comment><USER8> Recur! To recurse is to curse again! ;)

</comment></comment><comment><USER9> For those interested, I'd skip the baby-tutorials to the Y fpc and just look at the "math": [http://en.wikipedia.org/wiki/Fixed_point_combinator#Y_combin...](http://en.wikipedia.org/wiki/Fixed_point_combinator#Y_combinator)

Once you see that you just end up applying the function to itself repeatedly, it makes a lot more sense. It's also 5 lines to read, instead of paragraphs.

</comment><comment><USER10> I would prefer a shirt with the seven primitive operators of Lisp myself.

<comment><USER6> Seven?!! ...so inelegant compared to the two rules needed for evaluating lambda calculus ;)

</comment></comment><comment><USER11> For those interested, that's a $5.60 markup. Pretty honest IMHO.

EDIT: I was mistaken. It's a different type of shirt, so the markup is even less!

<comment><AUTHOR> Actually it's not. It's 17.40 base price for the American Apparel shirt (which I made so I could buy, since that's my preference), so it's a $2.60 markup.

<comment><USER11> Even at $5.60 it would have been totally fair. Kudos to you for making it available to others for so little.

<comment><AUTHOR> It took about 30 minutes to do--and, that long because I had to trace a few glyphs from FF Meta (the font) in Inkscape, since I don't own it. I'd be absolutely thrilled if enough people bought one so that mine is free, but, I'm not expecting that to happen.

The other shirts in that shop were marked up to donate to random open source projects. I think all together, I maybe gave $30-40 away from those sales?

</comment></comment></comment></comment><comment><USER12> I always wanted to make a quine t-shirt, something like

      A t-shirt with the following sentence followed by its quotation: "A t-shirt with the following sentence followed by its quotation:"

but the line is too long to fit confortably in a t-shirt (and it's so nerd even I would not wear it)

</comment><comment><USER13> Any chance I could get one in orange instead of black?

<comment><AUTHOR> You could, but the type is on an orange background, so I'd have to upload a just white design, which I can't do at the moment. If you want, ping me and I'll do it later. (my email is in my profile)

</comment></comment><comment><USER14> From the pictures, it felt that the y-combinator is placed a little high up on the shirt - might work better place to place it lower.

<comment><USER15> I agree. I also think it should be some what lowered.

</comment></comment><comment><USER16> Just bought a red one in Small. I'm a girl, BTW. Great work. Thanks !

</comment><comment><USER17> best to buy this before he gets sued for trademark infringement

<comment><AUTHOR> How would this be trademark infringement? Can you trademark math?

<comment><USER17> I don't see why not...you can trademark a fruit(apple) and a a color(pink).

<comment><USER18> Sure, he does infringe by using the color and the font of YC. But the YC gang know better than to shut down their loyal fanbase.

<comment><USER19> And even if they _were_ that silly, I'd be pretty confident that a fair use defense (parody) would hold up here, if something so ridiculous were actually to go to court.</comment></comment></comment></comment></comment>


Calling F# Code in a C# Project - <AUTHOR> http://connelhooley.uk/blog/2017/04/30/f-sharp-to-c-sharp <comment><USER2> Great read, and I'm not just saying that because I used to work with this guy (sharp fella, but I digress) ...

F# has always been one of those languages I have put on "the list" \- that list of "gee, I should explore that a bit more" but could never find something that I really wanted to cut my teeth on with it. I was aware of some of the limitations around compatibility with other CLR languages but never quite got the "why" of it. For instance, C++/CLI has a handful of things that you can express in it[0] that cannot be expressed in C#, however, C# can consume these completely blocked features without issue.

The breakdown between the two languages is interesting, particularly around "Cases with Types". I find it rather incredible that the exposed value in C# is so ... large? Several versions ago in F#, I wrote utility library that was _mostly_ centered around string processing which I wanted to use with C#. I ended up scrapping it due to not being able to eek out the performance I needed. This bit of code makes me wonder how much magic is happening on the back-end with F# to make _itself_ compatible with the CLR and if maybe some of that magic was responsible for the slowness[1].

Either way - great breakdown. I might crack a book on that language yet again.

[0] The two that I know of are around generic constraints. In C++/CLR and CIL, itself, you can constrain a generic parameter to require that it be of type "enum" or "delegate". This allows one to write a number of very helpful utility classes that handle enums performantly and with high readability (I know this from personal experience having released a package that does just this). C# does not allow constraints of this nature, however, _using_ a method that expresses this constraint works without issue. Consequently, the delegate conversions like the one from FSharpFunc to Func are one of the things I was aiming to address.

[1] I want to say it was F# 2.x that I was dealing with and I haven't really given the language another try since then, so I can't speak to its current performance. I'm also broadly speculating about how well F# code matches up to CIL because I've never directly investigated it, so it could be that the F# representation is _just dandy_ and ends up being plenty optimized ... obviously taking the C# representation of something that's represented in a different language is not a very good guide of what's really going on.

</comment><comment><USER3> Saw a presentation on this was done awhile back. Most features are exposable to C# pretty easily - it's pretty easy to design libraries where consumers wouldn't know it was a F# type at first glance if you know how things compile down. If not directly you can always do simple things to make your types consumable in C# (e.g for my DU's I put a "match" member on them and have a Func argument for each case if exposed to C#). Or provide Func<> overloads for C# compatibility rather than the faster non-delegate FSharpFunc equivalents. One feature you can't use from C# is F#'s templated method support (SRTP) which I've used as a get-out-of-jail card when working with some pretty bad APIs due to static duck typing support. I think even the most basic features (e.g. deep structural equality) make it easier to write things especially libraries quicker in F# once you get the hang of it.

</comment><comment><USER4> This is very well done, very understandable, and really drives home the "F# is laconic" thing. The amount of text in those generated classes is shocking, for the same functionality.

</comment><comment><USER5> dare you to open the network tab on this page..</comment>


Ask HN: Why does Gitlab's top-right logo now say "Gitlab Next"? - <AUTHOR> I've been a convert to GitLab for around 8 months. But I guess I missed something, because as of today there's a big green "Next" label near the regular GitLab logo. A skimming of the blog and a Duck Duck Go search don't immediately reveal an answer. I've checked it logged in and while logged out and it's still there.<p>(Quick shill: Github is great for discovering and sharing open source projects, no doubt; but try GitLab for your own FOSS or private repos. It somehow "just works" while being extremely flexible. I run their "built-in" CI runner on VPS and local machines for free, and the whole platform is open source and installable anywhere. Mirror any open repos on Github of course, but it's like a "MegaUpload" site compared to Gitlab's actual tools. Rant complete.) <comment><USER2> The other commenter is right about canary testing. We have an issue open to make this more clear: [https://gitlab.com/gitlab-org/gitlab- ce/issues/61503](https://gitlab.com/gitlab-org/gitlab-ce/issues/61503)

</comment><comment><USER3> You're in the canary bucket. Me, too, apparently. [https://about.gitlab.com/handbook/engineering/#canary- testin...](https://about.gitlab.com/handbook/engineering/#canary-testing)</comment>


How to Install Node.js for Ubuntu 20.04 LTS? - <AUTHOR> https://iroleh.me/how-to-install-nodejs-for-ubuntu-2004-lts-ck9fj390t069jcxs1aytehpt6 <comment><USER2> Replace '10' if you want another version:

curl -sL [https://deb.nodesource.com/setup_10.x](https://deb.nodesource.com/setup_10.x) | sudo -E bash -

sudo apt-get install -y nodejs

<comment><USER3> Better to point people at the official instructions, to give them context about the thing you suggest them to sudocurl: [https://github.com/nodesource/distributions#debinstall](https://github.com/nodesource/distributions#debinstall) .

Installation nit aside, nodesource is my preferred way to upgrade node on Debian/Ubuntu:

1\. It's "just a newer version" of the OS-packaged version! As simple/vanilla as can be.

2\. No shell magic making it unclear whether programs running out of the shell will pick up your nvm-managed version of node (most of the time, they won't)

3\. And if someday I need to try something on $OLDNODE, it's not much less convenient than nvm: I can just download the deb for $OLDNODE and install it anytime. Then, if you configure your apt cache to keep .debs in /var/cache/apt, switching between versions like nvm does is a matter of just running `sudo dpkg -i /var/cache/apt/node-whatever.deb`. (Sure, it's a bit slower than nvm: a few seconds of install rather than milliseconds of updating a symlink in nvm; still I prefer it for reasons 1. and 2.)

</comment></comment><comment><USER4> Can I still just install NVM and use that to install and maintain Node? I assume snap will suffer the same annoyances of apt where I can't trivially get the exact version I want and switch among them.

<comment><USER5> If you don't like NVM's shell config shenanigans you can use n - [https://github.com/tj/n](https://github.com/tj/n)

<comment><USER6> There'a also `nodenv` which I've taken to using recently. Doesn't slow down opening new shells like nvm. And has a handy feature that will set the used node version to whatever is found in a directory's `.node-version` file.

<comment><USER7> You can also just wrap the nvm commands in a function. I have it named `n`, so before doing any node/npm stuff in a shell, I run `n` then `node ....` whatever I wanted. Simple and doesn't slow down opening new shells.

        function n() {
          export NVM_DIR="$HOME/.nvm"
          [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
          [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
        }

Found it to be a ok workaround for the issue. Otherwise I'm just on nvm just because it continues to work and hasn't gotten in my way, since like 2013 or something. If someone is in the same boat but wanna fix the "slow new shell" thing, this is a quick fix for it.

Would love to hear what the "shell config shenanigans" wayneftw talked about, haven't hit that myself.

</comment></comment></comment></comment><comment><USER8> Is it possible to install multiple versions of node with snap, for multiple projects of (possibly) multiple customers? That was not possible with apt. I've been using nvm or asdf for ages because of that. Not only for node but also for ruby (rvm or asdf), elixir (asdf), python (pyenv), php (asdf) and probably something I'm forgetting about. I used docker for that sometimes but mainly for databases (multiple PostgreSQLs and MySQLs.)

</comment><comment><USER6> Note: Node 14 was released last week. You might want to use that rather than 13, as unlike 13 it will become an LTS supported release.

</comment><comment><USER9> I always do it like this:

sudo sh -c 'wget -qO- distro.tools/install/node | sh'</comment>


The Sophie Choice - <AUTHOR> http://www.stevenlevy.com/index.php/05/08/the-sophie-choice

<comment><USER2> I thought it's more for Chrome as a brand, and as a vision. It relates to both Chrome as a browser and ChromeOS as a system. Generally users don't understand and don't need to understand the difference.

I played with the Cr-48 recently and thought it wouldn't succeed, being at an inconvenient position between my Macbook Pro and iPad. If I sat down at a desk, I'd prefer my MBP either to code, browse the web on my external monitor, or perform other tasks like sorting my photos or music collection. If I wanted to browse the web while in bed or on the couch, I'd use my iPad. Similarly if I wanted to bring something out. The Cr-48 didn't fit in for me. I thought that Google would do better if they focused on making Android for the tablet form factor even better since it seems like that form factor is the winner in the near future.

But perhaps I'm wrong. Watching the video, I realised that maybe putting things on the cloud is how Google envisions Chrome. For casual users, you don't need hardware that has a user-writeable disk for storage or powerful machines. Perhaps there is still a (major) group of users that can do with a laptop form factor, with built-in camera, wifi and/or 3G connectivity that focuses on web applications and websites. The video clearly shows what's possible. It doesn't have to be Gmail. It could well be Facebook. It isn't a toned down netbook, it is a machine that has good connectivity to the cloud with a laptop form factor.

The Cr-48 looks similar to the black Macbook which Apple used to sell. It already looks good. But imagine a version with a Macbook Air design?

Pieces of these are obvious, but put together and you have a story.

</comment><comment><USER3> I cannot fathom why this article was titled this way. I skimmed it solely to find out what diabolical damned-if-you-do, damned-if-you-don't, torment-your- soul "choice" could be involved. That's what the movie "Sophie's Choice" was about: A mother was offered the choice that she could escape a trip to the German concentration camps and save her own life and the life of one of her two children. Pick which child lives and which child dies. (The other "choice" in the movie being between a nice but very young man and the abusive drug addict she was already with. Having lost both her children and being a very tormented soul, she chooses the drug addict and, iirc, they commit suicide together.)

As a literary reference, this title is a completely sucky choice in words. Though perhaps the author is, say, half my age, has never seen the movie and has no idea anyone would interpret it as a literary reference. (If so: "Get off my lawn!")

<comment><USER4> I enjoyed the movie "Sophie's Choice" and I have to say SPOILER ALERT for the above comment.

(I'm hoping the poster edits his comment to include a spoiler alert phrase)

<comment><USER3> _(I'm hoping the poster edits her comment to include a spoiler alert phrase)_

Sorry, I no longer have editing powers. Too much time has passed. (I logged in just to do as you asked, I don't normally log in from work.)

</comment></comment></comment><comment><USER5> _The Sophie ad is something different, less an interesting experiment in breaking an internal rule than a simple push for a product (the Chrome browser) that Google wants more users to sample._

Except I don't understand how the ad has anything to do with Chrome. It seems more like an ad for Gmail, or maybe just email itself. You don't need chrome to do all that crap.

<comment><USER6> This isn't a feature pitch, it's an attempt to associate the Chrome brand with all that's positive about the internet.

Heartwarming moment with your child? Chrome. Sharing laughter with your friends? Chrome.

etc etc. This isn't a pitch.

What I am interested in knowing here is how real the story in the ad actually is. Does Sophie exist? Does Daniel? If so, how much of this is make-believe?

I'm ok with a nondescript fictional Parisian love scenario, but it seems a bit dishonest to start using specific faces and names unless there's real authenticity there. But, so long as there is authenticity, I think these are beautiful ads.

<comment><USER7> I assumed the whole scenario was made up until I read the article, yet what I presumed didn't bother me.

Does it really matter if the situation is fictional? It was still an emotive advert and weather the characters were made up, or are real people who I don't know, it doesn't matter to me because the point was still clear.

</comment></comment></comment><comment><USER8> It's a beautiful ad.

<comment><USER9> And I can't see it because the page does not load.

<comment><USER10> Loads fine now, but here you go: <http://www.youtube.com/watch?v=R4vkVHijdQk>

</comment></comment></comment><comment><USER11> In other words: Google is getting older.</comment>


What Entrepreneurs Want From VCs: Independence And Faster Feedback - <AUTHOR> http://www.techcrunch.com/2009/09/25/cornell-study-what-entrepreneurs-want-from-vcs-independence-and-faster-feedback/ <comment><USER2> Don't those word at cross purposes? Perhaps with great skill a VC could manage to do both well, but this must be very easy to get wrong, especially because both personalities and technologies are involved, making it hard to just follow some formula.

</comment><comment><USER3> > 5\. Many entrepreneurs express concerns that some VCs have tensions within > their organization/partnership ...

I find this tons.

</comment><comment><USER4> What VC's want from Entrepreneurs: a company that makes lots of money.

<comment><USER5> somehow the huge investment companies like Twitter keep getting kinda makes me think that's NOT what VCs want...</comment></comment>


Human Engineering and Climate Change [pdf] - <AUTHOR> http://www.smatthewliao.com/wp-content/uploads/2012/02/HEandClimateChange.pdf <comment><AUTHOR> tl;dr

1) Make people allergic to meat.

2) Give children hormone treatments to limit their growth (reducing metabolic needs).

3) Give people "cognition enhancing" drugs such as Ritalin to lower birthrates.

4) Give people pyschoactive substances such as oxytocin and SSRIs to increase the willingness to cooperate with social rules or goals.

They say this should be voluntary: "human engineering would be a voluntary activity – possibly supported by incentives such as tax breaks or sponsored health care – rather than a coerced, mandatory activity."</comment>


How I Interconnected AWS VPCs with VyOS - <AUTHOR> http://tech.stylight.com/howto-interconnect-aws-vpcs-with-vyos/ <comment><USER2> This re:invent this was the most recommended feature in the VPC session. Wonder what blocks them...</comment>


Pure CSS parallax scrolling websites - <AUTHOR> http://blog.keithclark.co.uk/pure-css-parallax-websites

<comment><USER2> That debug functionality is so cool.</comment>


A call to arms for obfuscated Tor bridges - <AUTHOR> https://lists.torproject.org/pipermail/tor-relays/2013-April/002089.html

<comment><USER2> See also: <https://news.ycombinator.com/item?id=5569960></comment>


Ask HN: What has your experience been like with .NET Core RC2? - <AUTHOR> I'm currently working on an RC1 app and am trying to decide whether it's worth upgrading to RC2 or if it's another misstep like RC1. I'm sure there are others facing the same choice.<p>For those of you who have made the leap, what has your experience been like? Is RC2 easier to work with "legacy" full .NET class libraries? Is the new tooling more reliable? Is the Visual Studio integration more stable? <comment><USER2> I've recently updated a project from RC1 to RC2. It was fairly easy. I don't know about compatibility with "legacy" full .NET class libraries as I do not have such requirements.

I prefer the new tooling. Overall, things seem much more stable. The ecosystem of 3rd party libraries seems like it will be healthy in a few months for most commonly used things.</comment>


The scientist and engineer's guide to dsp - <AUTHOR> http://www.dspguide.com/pdfbook.htm

<comment><USER2> Some more fun dsp/digicomm sites:

Animated slideshow of how AES crypto works: [http://www.formaestudio.com/rijndaelinspector/archivos/rijnd...](http://www.formaestudio.com/rijndaelinspector/archivos/rijndaelanimation.html)

Digital communication tutorials: <http://www.complextoreal.com/tutorial.htm>

</comment><comment><USER3> My my. This is the stuff I studied in undergrad, and I have to say that to this day, I still don't know how FFTs work, with the butterflies and everything.

I suppose it's been a point of pride for me to go back and learn it well, but I don't get to use it much in the type of software I write nowadays. This is a gentle reminder for me to crack it open, along with tons of other stuff I've been meaning to learn/relearn.

</comment><comment><USER4> From MIT OCW, here's some more material on DSP from a course taught by the illustrious Prof. Alan Oppenheim himself in Fall 2005:

Discrete-Time Signal Processing: [http://ocw.mit.edu/OcwWeb/Electrical- Engineering-and-Compute...](http://ocw.mit.edu/OcwWeb/Electrical-Engineering- and-Computer-Science/6-341Fall-2005/CourseHome/index.htm)</comment>


Kronos Haskell - <AUTHOR> http://www.kronosnotebook.com/haskell <comment><USER2> This looks great. Anyone else test it out? Downloading now</comment>