We Chat, They Watch - <AUTHOR> https://citizenlab.ca/2020/05/we-chat-they-watch/ <comment><AUTHOR> Also a thread by Citizen Lab researcher: [https://twitter.com/jsrailton/status/1258391908319137797](https://twitter.com/jsrailton/status/1258391908319137797)

<comment><USER3> [https://threadreaderapp.com/thread/1258391908319137797.html](https://threadreaderapp.com/thread/1258391908319137797.html)

</comment></comment><comment><USER4> Looking at the comments I think that most of commenters missed an important point. It's not just that the app is tracking users, but the messages sent by any non-Chinese user help the regime censor the content for Chinese users. In other words, if you use WeChat, and you send a photo of something that happened in Hong Kong along with some text that explains it, then you actually help Chinese authorities to censor this photo in China.

> Upon analysis, files deemed politically sensitive are used to invisibly > train and build up WeChat's Chinese political censorship system.

Also I think it's super cool how they did the research.

<comment><USER5> Many Chinese-Americans have no choice when they need to communicate with family and friend living in China. No outside communication tools allowed in China.

<comment><USER6> Outside of China, we're pretty lucky that we can just register for random sites like HN with nothing more than a username and password and start talking.

Every Chinese site I've ever used requires phone number or ID verification. Most of them only allow Chinese-registered phones, meaning it's absolutely impossible to communicate with Chinese people from the outside world, aside from a very small number of carefully vetted services like WeChat.

But I fear the rest of the world looked at China and thought, "Wow, we should've done that a long time ago!" Accounts I registered about a decade ago now demand I confirm an email and sometimes a phone number. Email accounts I've had half my life lock me out unless I link it to my phone number and prove my identity. Some services ask for a fucking ID card scan, which prompts me to just drop the service. Some things I've used in the past only accept US phone area codes, which having left the US, means those services are now completely inaccessible to me.

China says it's for state security. They're at least kind of honest that their intention is to keep the population in check and watch their every movement. The rest of the world says it's for personal security. Then another day passes and another heap of phone numbers, names, SSNs, and addresses leak and another identity is stolen.

<comment><USER7> We will give our freedoms away in name of preventing toxicity and hate speech. Won't you feel good you are helping squash bigots by giving your PII away

<comment><USER8> There's not a single social network that has begun to require phone verification because of the risk of "toxicity or hate speech". It's all to fight spam and to better track user activity (and, if we're being charitable to them, perhaps to stymie deliberate propaganda/fake news).

<comment><USER9> This.

A service I built+run started getting overrun with bot users. The signup CAPTCHA didn't help because they'd sign-up for accounts using humans - <USER2> after that's done they'd copy their access tokens to the bot users. We couldn't use a CAPTCHA for every operation on the platform.

But by requiring a real phone number that we verify (by placing a TTS phone call - not an SMS - as processing received TTS calls is much harder for the bot makers to automate) - but also looking-up the phone number's SS7 info to prevent people from using Skype, Google Voice, and Twilio users - all commonly used by bot operators.

(Legitimate users that want an account but can't make it past our bot screen can still contact us directly to be set-up - and to-date no-one has done this or complained about the (admittantly user-hostile) verification process.

<comment><USER10> I despise services that require to have a real phone number. Being locked out of something when you travel, have no reception, lost your phone or got it stollen is just a pain. Bonus hate points for banks that implement a sms code check for online payments with your visa/mastercard (common in France at least). I changed bank for one that provided me with a device generating one time codes from my CB

<comment><USER9> It's only used for sign-up/registration in my case.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> It's worth noting that Facebook Messenger also intercepts and filters messages. For example, it's impossible to send a message containing the link "joebiden.info". On the mobile app, it will simply say "failed to send." On desktop, it will tell you the link violates its "community standards" and cannot be shared.

<comment><USER12> The differences are: (1) with Facebook it's a private company doing the censoring and there's no issue with that, no First Amendment issues at all, unlike WeChat where the censoring is heavily linked to the government; (2) Facebook at least tells you when a message can't be sent but WeChat fails silently.

<comment><USER13> > it's a private company doing the censoring and there's no issue with that

That's certainly not a universally agreed upon perspective. Just because you're a private company doesn't mean you can do anything you want (eg. discrimination), hence the existence of regulations.

<comment><USER14> I think one major issue with FB's stance is they say they are not a publisher but rather a platform.. of course, they do tend to use whatever is convenient to them sometimes.

[https://www.theguardian.com/technology/2018/jul/02/facebook-...](https://www.theguardian.com/technology/2018/jul/02/facebook- mark-zuckerberg-platform-publisher-lawsuit)

</comment></comment></comment></comment><comment><USER15> It's not just WeChat.

They own stakes in many american media companies and movie production houses. They use this influence to also change our Media and push pro-Chinese propaganda to the American public.

<comment><USER16> Can you show an example of blatant Chinese propaganda from those production houses? One that are clearly separated from opinion?

Or are we using propaganda and opinions interchangeably here

<comment><USER17> How about the fact that a character in a Marvel movie, ostensibly an inoffensive family film, who was originally Tibetian, was changed to a white woman just so it could make money in China? I don't think Disney has any Chinese ownership, but it's pretty blatant that the industry is bending over backwards to not piss off China and get the box office returns there.

Here's a whole article on it: [https://www.cnet.com/features/marvel-is- censoring-films-for-...](https://www.cnet.com/features/marvel-is-censoring- films-for-china-and-you-probably-didnt-even-notice/)

</comment></comment></comment><comment><USER18> I worked for a company that tried to require wechat. I refused. Never got any flak, but missed a lot of comms from the first gen Chinese immigrants in the company.

I posit they use WeChat more than just to censor/spy in wechat, but rather more as an one of a set of apps that can be used to side-channel leak data about the phone/user. (Israel is also the other giant player in this arena). I don't understand any tech-savy privacy conscious person being ok with it, other than being one of those who has completely given up on privacy.

There is a reason the military banned tiktok, for example. (and it's not just because I've never seen a user on tiktok not look like total base-dumbass)

<comment><USER19> > (Israel is also the other giant player in this arena)

Mind elaborating on this?

<comment><USER20> Do some research on the NSO Group.

</comment></comment></comment><comment><USER21> People are routinely jailed in china for sending messages on WeChat [0] [1] [2]... This has been going on almost on a daily basis since WeChat started... Did anyone think they weren't monitoring and censoring it?

[0] [https://www.google.com/amp/s/www.wsj.com/amp/articles/jailed...](https://www.google.com/amp/s/www.wsj.com/amp/articles/jailed- for-a-text-chinas-censors-are-spying-on-mobile-chat-groups-1512665007)

[1] [http://www.phayul.com/2020/03/22/42960/](http://www.phayul.com/2020/03/22/42960/)

[2] [https://www.google.com/amp/s/www.nytimes.com/2020/04/25/tech...](https://www.google.com/amp/s/www.nytimes.com/2020/04/25/technology/china- huawei-iran-arrests.amp.html)

<comment><USER22> Non-amp links:

[0] [https://www.wsj.com/articles/jailed-for-a-text-chinas- censor...](https://www.wsj.com/articles/jailed-for-a-text-chinas-censors-are- spying-on-mobile-chat-groups-1512665007)

[2] [https://www.nytimes.com/2020/04/25/technology/china- huawei-i...](https://www.nytimes.com/2020/04/25/technology/china-huawei-iran- arrests.html)

</comment></comment><comment><USER23> Honestly curious: knowing what everyone knows, why would any person who is not of Chinese origin, use WeChat?

What's the use case?

<comment><USER24> It's really useful for note taking. I'm logged in on my phone and main computer, and as I watch lectures I can screenshot useful slides and send it to the file transfer contact. I can also send a text message, and later its search feature lets me go to the context where my query appeared. The messages are stored locally on your devices so the query is lightning fast (unlike if I were using slack).

I'll use it to evict stuff from my head so I can concentrate on other things (a "oh yeah I'm running low on tomatoes" thought results in a message for me to go back to later).

Since the UI is in the style of a messaging program then it's really low friction to enter stuff, as opposed to a dedicated note taking application. It's UI is also so clean and of a design not seen anymore.

Its QR code scanner is really good as well.

It should be noted that I'm also using it to message other people on the platform, but half the time I switch to the application I'm not using it to communicate with other people.

Someone may criticize sending so much data to "scary China" but I'm aware of what data I send through the platforms that I use. You wouldn't send your company's private information to a random server, and there's no reason why any other non company sponsored platform should be trusted.

I'm not into discussing controversial topics so the most scandalous message I've ever sent probably revolved around defending an unpopular bubble tea shop. I have alternative contact means so it's not like I'm being restricted in what I talk about. There's a proper time and place for everything. (and in the west there's memes about landing on a list for viewing an edgy meme or source).

<comment><USER25> But why WeChat? Any other chat app will do the same, without being monitored by the Chnese government.

<comment><USER24> Really? Messenger can't. Whatsapp can't. Snapchat can't. Zalo can't. GroupMe can't (maybe I could create a solo group chatin it?. I don't remember telegram having it. At some point app fatigue sets in and you don't want to install even more apps.

I'm not setting up a second account just to have something to send it to. Additionally the messages won't be available on my computer.

<comment><USER26> Telegram allows you to chat and send messages to yourself. The search is decent and searches through the rich text description of links you sent too (so you can look for the title of a YouTube video despite having only sent the link).

</comment></comment></comment></comment></comment><comment><USER27> It's a feature not a bug. It was designed this way because it makes business sense.

Why are Americans using WeChat I'm not sure.

<comment><USER28> Because it's the only way to communicate with 1/5 of the world's population?

<comment><USER29> About 1/6th these days. Pedantic I know, but it's super common for people to not realize that China's population growth is nearly zero. India will likely have more people than China by 2025.

<comment><USER28> My rule for pointing out small inconsistencies is: "does it change the point of the argument?" My point was it's the only tool to communicate with a large part of the world, 1/5 or 1/6 is immaterial.

</comment></comment></comment></comment><comment><USER30> Chinese state surveillance and state censorship is terrible. But - US', and int'l corporations' mass surveillance, and censorship, is way up there in the "degree of evil".

Please encourage your tech-savvy friends to use safer applications, like Signal for messaging - not WhatsApp; and FOSS alternatives to Zoom, e.g.:

[https://fosspost.org/alternative-software/end-users/zoom- alt...](https://fosspost.org/alternative-software/end-users/zoom-alternatives)

no less importantly - try to ween them off of GMail, Yahoo Mail, Outlook365 or Apple mail.

<comment><USER31> What's the problem with Apple mail?

<comment><USER30> No problem if you're already have:

Cc: email@example.com

on all your emails. Actually, that's not good enough, since your correspondents need to have that too; plus, Apple probably monitors your interactions with the webmail interface too and that can be scrutinized to learn more about you.

<comment><USER31> My threat model doesn't consider state-level actors. I presume that they'll get me one way or another. It's the advertisers I'm worried about, and Apple doesn't use this data for ads.

</comment></comment></comment></comment><comment><USER32> Pretty much given up on WhatsApp, iMessage, Facebook Messenger etc... in favor of Signal.

Would like to see a similar analysis on Signal.

<comment><USER33> Been using [https://getsession.org/](https://getsession.org/)

I don't like how signal requires phone number.

</comment></comment><comment><USER34> Regardless of what nationality an app is created under, in today's day and age, why is not just assumed that any website/app is not slurping in all of your data (usage, messages, location, wifi name, etc)? To me, all apps are guilty until proven innocent.

<comment><USER35> What is the incentive for any app to do the right thing then?

It seems to me that coloring all apps the same regardless means that all apps may as well just do exactly as you describe...

Anyone who doesn't isn't thought of as any better...

<comment><USER36> > Anyone who doesn't isn't thought of as any better...

Not until proven innocent, no. We need hardware and software we can inspect, that's not an unattainable goal.

It may seem far away, but any other direction is _even_ worse... so I'd rather head towards a goal that is far away than into a wilderness that is just as far away, but boring and empty at best, terrible at worst.

<comment><USER35> I feel like the assumption that everyone is guilty just puts everyone on par with the guilty so before proven innocent ... why bother?

It seems like the net effect would be to just provide cover for all actual offenders making them equal with everyone.

</comment></comment></comment></comment><comment><USER37> Why don't democratic countries keep WeChat off the App stores or completely block its network?

A company proposing a means of communication that would subtly or not so subtly twist the communications towards authoritarianism should not stand. Why would Some Country let Tencent silently block targeted messages between two of its citizens?

Blocking WeChat altogether of course warrants discussion because some people need to contact family and friends in China. But the discussion should happen if more and more non-Chinese start using WhatsApp, if anything to protect non- Chinese citizens from trouble the next time they visit China.

<comment><USER16> So the solution to the problem is to be more like the problem?

Also if you actually read you'll find that your point in the second paragraph not true. The filtering only happens with China based accounts whereas surveillance are reportedly global.

</comment></comment><comment><USER38> Clever experimental set-up (tl;dr they detect whether novel content first sent between non-China accounts increases the probability of it being censored in realtime when being sent to China accounts -- and it does -- implying a censor (or perhaps a non-realtime automated system) looked at it).

I'm wondering though if this is intentional or just "incompetence/laziness". WeChat itself seems self-interested in not bothering with content transmitted outside China, but perhaps it is just such a small amount of their user-base, that they never bothered setting up a "firewall".

</comment><comment><USER39> This article is somewhat out of date. Grindr was sold by its Chinese owners after some of the concerns about privacy/security. [https://techcrunch.com/2020/03/06/grindr-sold-china- national...](https://techcrunch.com/2020/03/06/grindr-sold-china-national- security/)

</comment><comment> tedk-42 This is common knowledge. You can't send a picture of winnie the pooh without it being scanned first and deleted over the wire before being received.

People don't use WeChat to organise dissent against the government or for any kind of malicious or illegal activity. The intention is for well meaning folk to communicate and do business online.

<comment><USER40> Implying that dissent isn't done by well meaning people.

<comment> tedk-42 World isn't binary like you frame it to be.

<comment><USER41> Ironically, by implying that all "dissent against the government" is not done by well-meaning people, you're the one portraying the world as binary.

Political dissent, including protests, demonstrations, boycotts, sit-ins, and marches, have contributed to the advancement of society on many occasions.

[https://books.google.com/books?id=0yvPaXt3lyoC](https://books.google.com/books?id=0yvPaXt3lyoC)

The dissenters who galvanized these reforms were certainly well-meaning.

</comment></comment></comment></comment><comment><USER42> Seems like a good opportunity for steganography to make its move

</comment><comment><USER43> Excellent research! I have a feeling that many governments would be wondering how to get this kind of power on their side. Envy > horror.

Every administration around the world fighting for loosening e2e secured messaging protocols is basically envious of China!

</comment><comment><USER44> "non-China-registered accounts are subject to pervasive content surveillance that was previously thought to be exclusively reserved for China-registered accounts."

This is perhaps the least surprising discovery I've heard this entire year.

</comment><comment><USER45> Do you think they are using AI as they observe? Is some of this AI passive? Obviously they wouldn't be able to spy on everyone, or else they would need a lot of researchers haha

<comment><AUTHOR> From the article, it looks like they have observed that the chat data is used for cross referencing image hashes to text, but extending it to incorporate and leverage representations learned via ML algorithms (supervised, or self- supervised) should be quite straightforward.

<comment><USER46> They probably use something like NarusInsight, which according to Wikipedia, can do real-time semantic analysis.

</comment></comment></comment><comment><USER47> Do we have a website with list of all Chinese websites and apps that we can have a look and not install them ?

I wonder if all this is applicable to Taiwanese companies as well or not.

</comment><comment><USER48> Between me and my girlfriend we use Signal. But for talking to anyone else I have no choice but use WeChat. I just either don't have the power to persuade others to use a more secure app, or they just don't care, or the cost of switching to another app is too high. It's (relatively) easy to develop an alternative with no censorship and pretty secure. The hard part is to make it popular and avoid getting blocked in China.

</comment><comment><USER49> Can someone from Google please explain why is this literal spyware allowed in Play Store?

And why ISPs don't block such obvious widely spread spyware?

<comment><USER50> I'm not affiliated with any of the players. Still the reason of why Wechat is available is clear to me: Unlike many other apps that track you on the side, this one is actually needed by a large chunk of Android users. And I mean needed in the strong sense of losing family and business ties if it were removed. It's pretty much utility-level at this point.

If your store doesn't have it, people will use another store. And if your phone can't use that store, people will use another phone because that one is useless to them.

We should discuss how people can get better choices than Wechat. But in the end it will involve political solutions. Not just technical ones.

<comment><USER49> strange, when I lived in China nobody cared I can't communicate with my family abroad

for business everyone is using VPN or email, do you really think people will be isntalling Chinese spyware to their phones to talk to their business partners in China?

</comment></comment></comment><comment><USER51> This isn't unique to WeChat. How do you think you receive free teleconferencing services from Google?

<comment><USER52> Please back this massive claim up with some evidence.

If there is none, please realize that a lot of companies use G Suite and pay for these services, which might allow Google to provide them for free to individuals. I don't know for sure that this is the case, but I have seen no evidence for your 'claim' either.

<comment><USER51> You want evidence that Google provides free services in exchange for tracking and interpreting all of the content passed through its services, turning it into a multi-billion dollar enterprise?

</comment></comment></comment><comment><USER53> Every app that does not have E2EE spies on the content that all users send each other, including Americans.

</comment><comment><USER54> I think that's true for almost all the messengers. You dont know who is spying and peeping into your chatbox. We've given so much power to social media and softwares that they are kinda driving us now. Huh!!

</comment><comment><USER55> It seems the censorship is performed on documents and images that are exchanged between users. I'm interested to know if text messages undergo such a process as well .

</comment><comment><USER56> Did anyone actually think WeChat communications are secure?

Do we have reason to believe iMessage and Whatsapp are more secure?

<comment><USER57> This narrative of false equivalency is dangerous, IMO.

WeChat has been proven to be a heavily monitored and censored network. Whatever security failings iMessage and WhatsApp have, they pale in comparison to what's in place for WeChat.

<comment><USER58> The false equivalency also begs a deeper moral analysis. Let's assume the US government has as complete access to iMessage and WhatsApp as the CCP does to WeChat. The story doesn't end there, since you have to examine the nature of the entities that have access to your information.

Would I prefer that access be held by the US Government, which for all its faults is extremely engaged with and integrated into the global system, beholden to Law and a robust court system which enforces a strict set of checks and balances on its behavior, and is philosophically rooted in individual liberty?

Or would I prefer the CCP, which does not even recognize the concept of individual liberty, is beholden to no one but itself and its own desires, and ruthlessly upholds its iron and unquestioned (unquestionable, at least in China) will upon the entire nation with absolutely 0 oversight?

Yeah, gonna go with the US here.

<comment><USER59> I disagree with several aspects of your depiction of the US's "robust court system" (especially in the case of mass surveillance). There have been several attempts by citizens to sue the US Government for their illegal and indiscriminate surveillance programs, but have been stonewalled for years by government lawyers arguing that such cases should not happen in public courts (where they could be held accountable) due to "national security risks". Not to mention that the NSA has their own interpretation of the US Constitution which completely twists the meaning of "collection" to allow indiscriminate mass surveillance to not be seen as "unreasonable search and seizure". Then there's the whole FISA court system, which rejects so few requests that it is in every sense of the word a rubber stamp court. And even if the court system is "robust" \-- let's not forget that the PATRIOT Act exists (though it turns out that the NSA actually violated even the minimal restrictions present in the PATRIOT Act).

Now, is China any better? Of course not, and the CCP has countless policies which are far worse to their own people than the US. But the key question is -- do you live in or have any connection to China? If not, then I would go with the CCP surveillance because there is no obvious mechanism for such surveillance to harm you directly. On the other hand, if you live in a 5-EYES country (as I do), any data obtained from US surveillance can be used in parallel construction (or other not-entirely-legal methods). Hell, here in Australia our mass surveillance systems have been used to punish minor infringements such as littering.

Obviously I'd prefer not to be surveilled at all, but between the two I'd choose the one that has the smallest threat of direct impact on my life.

<comment><USER60> > But the key question is -- do you live in or have any connection to China? > If not, then I would go with the CCP surveillance because there is no > obvious mechanism for such surveillance to harm you directly.

Tell that to the forcibly disappeared political dissidents, or to the Uyghurs who are being "re-educated" as we speak.

And remember, even if you're not connected to China _now_ , that can always change in the future.

<comment><USER59> I'm not sure I see where we're disagreeing. Yes, if you have a connection to China then you should opt to evade CCP surveillance and there are many CCP policies which are awful towards groups in China. That's what I said.

My point is that if you have a connection to the US (as all 5-EYES and allied countries do), then _today_ that has a more direct impact on your life than any theoretical future risk that the CCP will be able to have a direct impact over your life. The premise of this discussion is that you have to choose one or the other. I am well aware of the massive threat that is retroactive surveillance, which is why I would choose neither (obviously).

> Tell that to the forcibly disappeared political dissidents, or to the > Uyghurs who are being "re-educated" as we speak.

Those are all people who have direct connections to China in some respect, and what has been done to them are all horrific human rights abuses. However, I don't see what that has to do with what I said.

<comment><USER60> If you only consider the direct, personal impact on you as an individual with no current or future ties to China, then sure, the risk is probably lower. However, it is important to note that CCP surveillance is much more intrusive in general.

The point I'm trying to make is that you're not taking into account the fact that your use of CCP-backed services implicitly contributes to human rights and surveillance abuses _within_ China. Once you consider this, I think minimizing the use of these products and services is worth incurring the added "risk" of being surveilled by the Five Eyes.

</comment></comment></comment></comment></comment></comment></comment><comment><USER61> China bashing is not an intelligent COVID19 response. It will only encourage China to close up more.

</comment><comment><USER62> are they censoring things like the concentration camps that China has with over a million people in them? [https://www.bbc.com/news/world-asia- china-50511063](https://www.bbc.com/news/world-asia-china-50511063)

</comment><comment><USER63> Thankfully my intuition told me to never participate in this app.

</comment><comment><USER64> WeChat/CCP is far more dangerous virus then Corona virus.

</comment><comment><USER65> As the world moves more and more to an Orwellian-dystopia things like this don't surprise me much. In the states Google and Facebook do the same thing: data and monetizing it for better ads in a capitalistic sense vs. using it to suppress dissent and bolster government power when the PBOC does it.

I am free to say vile things about political leaders (so long as I don't flat out call for anyone's harm) here in the west which is nice. I feel bad for my fellow nerds in mainland China that don't have as much access to the same information and opportunities that a largely free internet affords. I hope that one day we will see a liberalizing of China in this regard.

</comment><comment><USER66> All our chats, regardless of the app or country, are monitored by authorities. Not sure what is the purpose of singling out WeChat only.

Can anyone enlighten me?

<comment><USER19> Other apps don't have a policy to censor anti-government talk.

<comment><USER66> Are you sure?

<comment><USER19> Please feel free to provide examples of mainstream Western apps censoring criticisms of government.

<comment><USER66> Facebook? Facebook was asked US government to censor/ban political things. Twitter removed Alex Jones for Coronavirus conspiracies, examples are various.

<comment><USER19> I believe you're right--that's not so different to what WeChat is doing.

</comment></comment></comment></comment></comment></comment><comment><USER67> I uninstalled WeChat over a year ago.

</comment><comment><USER68> That's not cool man

</comment><comment><USER69> What a surprise...

</comment><comment><USER70> No surprise there.

</comment><comment><USER71> Duh.

</comment><comment><USER72> Also check Zoom while you are at it.

<comment><USER73> You are being downvoted, maybe because Citizen Lab has already investigated Zoom before: [https://citizenlab.ca/2020/04/move-fast-roll-your-own- crypto...](https://citizenlab.ca/2020/04/move-fast-roll-your-own-crypto-a- quick-look-at-the-confidentiality-of-zoom-meetings/)

That report is one of the reasons why Zoom has such a poor reputation for security. The other being Zoom is largely Made In China software, so subject to the requirements of China's totalitarian government: to bolster domestic industries by stealing technology and R&D from around the world (by infiltrating companies, communication networks, computer servers and end-user devices using any software and individuals it has influence over, including hackers from Ministry of State Security and People's Liberation Army).

This is achieved through direct legal requirements to co-operate with Ministry of State Security corporate espionage (via China's 2017 National Intelligence Law), and more broadly through the China's attempts to switch the allegiances of all ethnically Chinese people through the overseas political interference organization called the "United Front Work Department" ([https://www.youtube.com/watch?v=jTXPxWtl8Zw](https://www.youtube.com/watch?v=jTXPxWtl8Zw)), and also through the Thousand Talents Plan.

</comment></comment><comment><USER74> I dare you to share on wechat

</comment><comment><USER75> Of course. This is what the CCP does. They are sucking up every piece of information they can, whether or not they can currently make use it.

We ought to block any know tools that a foreign government uses to spy on our citizens. They block everything of ours and anything that offers a different point of view.

</comment><comment><USER76> Why is anyone surprised by this? We should ban chinese apps.

</comment><comment><USER12> This is old news though, to most people using WeChat. For example, the same people documented similar findings last year: [https://citizenlab.ca/2019/07/cant-picture-this-2-an- analysi...](https://citizenlab.ca/2019/07/cant-picture-this-2-an-analysis-of- wechats-realtime-image-filtering-in-chats/) and three years ago: [https://citizenlab.ca/2017/04/we-cant-chat-709-crackdown- dis...](https://citizenlab.ca/2017/04/we-cant-chat-709-crackdown-discussions- blocked-on-weibo-and-wechat/)

<comment><USER77> Somebody says this every single time something nefarious gets revealed. Confirmation lets debate move past "whether or not it's happening".

</comment></comment><comment><USER78> Don't you worry, the US pays in kind.

<comment><USER79> This sort of comment is so tiring to see. There is an obvious difference.

<comment><USER60> Yep. I guess a lot of people don't realize how intrusive and prevalent Chinese surveillance and censorship is.

</comment></comment></comment><comment><USER80> too young to simple.

All message is under China control.

</comment><comment><USER81> Signal and telegram if you don't wanna be spied on...

<comment><USER82> How can you trust them?

</comment></comment><comment><USER83> Everyone's spying - US, China, Europe, Middle East, East. Some are lesser known to detain and try in secret courts (USA), others are known to do that rampantly (china)

<comment><USER28> On other countries, not on their own citizens with the intention of censoring and persecuting political crimes.

Big difference.

</comment></comment><comment><USER84> Are there articles in China talking about how Google and Facebook spy on the content that all users send each other, including Chinese?

<comment> intro-b Considering how banned Google and Facebook products are in China, I'm not sure what you're getting at with this comment.

<comment><USER84> Not all Chinese people live in China. My comment might have made more sense before the post title changed.

Just pointing out that American companies engage in similar sorts of surveillance and censorship that Chinese companies do, although admittedly the CCP is more heavy-handed and paternalistic in its approach.

<comment> intro-b I feel like the bevy of comments changing the topic to American tech/media companies every time the main parent post is China-centric is predictable and exhausting. It's rarely a new or interesting take, and mostly just derails the conversation on the original thread.

</comment></comment></comment></comment><comment><USER45> I communicate regularly with people in mainland China. For me the best policy is just don't say anything that I would be too concerned about being shared. Of course, my behavior is the same for other apps. Beyond government-level type hacking, I feel a little more safe on some of the Chinese apps, as I know they have a stronger hand in their ability to stop hackers and scammers.

<comment><USER85> Self censoring is exactly what the authoritarian regime wants you to do.

<comment><USER86> China is 80% of the way there with this guy already.

<comment><USER45> When I get "there" what would that be like? You are funny. But you don't know me.

<comment><USER86> > For me the best policy is just don't say anything that I would be too > concerned about being shared

You embrace state influence in full regarding your thoughts and words.

<comment><USER45> I embrace that virtually anywhere I post there are going to be some repercussions of doing so. For example, here I will be downvoted if I post something that people don't like.</comment></comment></comment></comment></comment></comment>


Ask HN:How to find where your target users hangout online? - <AUTHOR>

Target demography for one of the startups I'm working with is {gender:female,min-age:18,max-age:60}. How do I find out which blogs/sites/social networks have
1) Maximum number of users of my target demography - Top 100 list. 2) How much time they spend on given site. 3) What is their percentage compared to total no users.
Is there any online tool/service for this? <comment><USER2> Hrm. Your target demographic is super wide! I don't think there's a tool that does this. But you can possibly do it this way.

Run a Facebook Ad campaign for 3 days (at $10 a day max budget), Then interview all those that "liked" your page or signed up for your form personally. To build their user profiles.

<comment><AUTHOR> Nice advice. I will give it a try.

</comment></comment><comment><USER3> Umm, shouldn't you be focusing on something like revenue per click/CPC? Also, a less-broad demographic may work better...

</comment><comment><USER4> Quantcast usually contain some information on demographics.</comment>


WIPO Pearl Launched, a Free Multilingual Terminology Database - <AUTHOR> http://www.wipo.int/pressroom/en/articles/2014/article_0012.html <comment><USER2> Well this is great. This will make a patent search little bit easy for a person who doesnt know the language of the patent in which it has written.</comment>


The Java Origins of Angular JS: Angular vs. JSF vs. GWT - <AUTHOR> http://blog.jhades.org/the-java-origins-of-angular-js-angular-vs-jsf-vs-gwt/ <comment><USER2> Stay the fuck away from JSF . I have had to deal with this piece of shit since version 1.0. It is because the J2EE enterprise App Servers and tooling vendors have managed to convince big corporate CIOs that JSF equals programmer productivity.It is such a lie but who's gonna tell the emperor he is naked ? JSF still has issues with concurrency and memory usage. And forget about adding new ajax widgets to your page without tearing out what is left of your hair. You will write 50 lines of javascript widgets code and then a million lines of wrappers for your widget. You can't even see what your UI looks like without writing a ton of stubbing code. I could go on but my hair is on fire just thinking about all the shit I have had too deal with when using JSF.

<comment><USER3> Have to agree, JSF is the worst kind of J2EE committee-designed, overengineered nonsense. It is the EJB of web frameworks. The component-based philosophy behind it is sound, but is much better executed by frameworks like Tapestry and Wicket.

That said, modern web apps are all about fat JavaScript clients, enabled by much better frameworks, GWT being one of them.

</comment></comment><comment><USER4> This isn't accurate _at_ all. 1) AngularJS was not built by Java developers at Google. Further, it's not clear if the original authors were Java developers. 2) JSF was built by the guy who created Struts, which he did to because he was unhappy with how Struts worked. 3) I wouldn't describe JSF as a Java/XML framework, it's intended to be a component framework.

<comment><USER5> Check the facts before your blurt it out!

1\. You're wrong on the 1st point again. Misko is a Java developer and he created Angular JS - also the way Angular supports Dependency Injection, was inspired by the way it's done in Java land. [https://docs.angularjs.org/guide/di](https://docs.angularjs.org/guide/di)

2\. No one said he wasn't that guy so this point is moot.

3\. You're wrong there too, If you've done any JSF programing you would know that Facelets tags/components need valid XML elements when the UI is declared. So basically there are 2 things that you need to know to use JSF - Java and XML which makes is a Java/XML based Web development framework.

<comment><USER6> 1\. He's right - if by 'built' you mean 'designed and created at' rather than just 'worked on'. See [http://en.m.wikipedia.org/wiki/AngularJS#Development_history](http://en.m.wikipedia.org/wiki/AngularJS#Development_history) .

</comment></comment></comment><comment><USER7> It looks like Google doesn't want to push more developers to GWT, instead they want devs to use Dart and Polymer, if you check the bottom of this link [https://developer.chrome.com/home](https://developer.chrome.com/home) GWT is no where to be seen.

Just saying that GWT might not a have good future.

<comment><USER8> Google is a big place; Dart and Polymer are funded as _products_ under the Chrome division (that has budget to spend on big teams and marketing and developer advocates like Seth Ladd).

GWT is under the platform/languages team, e.g. the same org structure that manages Google's contributions to, say, GCC.

So, right, it's not surprising that there is not a lot of marketing pizzazz around GWT, but I don't think that fundamentally affects it's future viability.

Frankly, I'd be much more surprised to see Dart go away than GWT: a) GWT translates to JS, which will be here forever, and b) there are literally 1000+ projects (both public apps and LOB-type stuff) inside of Google that use GWT.

If Dart can't get over the hump and truly become a first-class citizen, eh...

Admitted that I'm coming to this with biases.

<comment><USER9> Dart compiles to JS

</comment></comment></comment><comment><USER3> > The GWT programming model means that the web page is viewed from an object > oriented point of view [...] this [...] ends up not being that helpful and > often gets in the way of the developer more than anything else.

Maybe true in terms of UI building, but for modelling large (web) applications, I have found having a mature and full-featured object oriented language at my disposal tremendously helpful. Of course when refactoring the static typing is very useful, too.

</comment><comment><USER10> GWT doesn't mandate MVC, and it is not meant to "hide the Web", it states as such in the original mission statement. GWT is three things: a cross compiler to Javascript, a development environment, and a bunch of libraries that are layered. GWT != HTML Panel. The naming is unfortunate, GWT really should have been called 'j2js' or some such, to emphasize the fact that its most important function is an optimizing compiler (it is not a transpiler)

You can build GWT applications that use nothing but HTML templates, low level jquery-like operations, and avoid all of the high level MVC cruft, in fact, many GWT applications, like Google Flights or Google Shopping Express are built exactly this way. I wish the Widget system had never been layered on top (along with MVP) because it gave people a false sense that it was the only way to use GWT, and it was primarily useful for supporting older browser like IE6. There was a justification of 'hiding' some of the Web when you had to bridge IE6 to modern, and many third party JS libraries took similar approaches at the time. The days of IE6 support were painful and once of the reasons for the success of GWT in enterprise is all of those WinXP IE6 desktops.

The primary pain of using GWT these days is the compile times, and the overhead of interacting with Javascript (JSNI). Both of these are being solved in GWT 3.0 along with language boilerplate complaints thanks to Java 8. For example, here is an example of GWT using Polymer components effortlessly [https://www.youtube.com/watch?v=wFMD1GXR2Tg](https://www.youtube.com/watch?v=wFMD1GXR2Tg)

GWT 3.0 deprecates the old DevMode and replaces it with a fast incremental compiler. It replaces JSNI with a new @JsType interface. It boils away asynchronous callback boilerplate with auto-conversion of Java8 lambdas to JS functions and vice versa. The new DOM apis will be auto-generated as @JsType interfaces by directly reading W3C IDL specs, not hand-written as they are today. And it will be possible to read JsDoc and TypeScript interfaces and extract API interfaces from them.

GWT 3.0 will be about lowering the barriers, the friction, between the Web, JS, Native, and GWT code bases, to make polyglot programming as easy as possible. It will also be about hybrid apps, that are part native, part web. See the new Google Sheets 2.0 as an example, it's Java code cross-compiled via j2objc and married with a native UI on iOS, and cross-compiled with GWT and married to Closure UIs on the Web.

I'm endeavoring to make things "and" not "either-or", to give developers as much choice to use as little or as much of GWT as they want. As an example, see AngularGWT, which uses AngularJS 'as is' but lets you write Angular controllers, directives, etc in Java, including using JSR303 BeanValidation to do form validation in Angular.

[https://github.com/cromwellian/angulargwt](https://github.com/cromwellian/angulargwt)

<comment><USER11> Once again GWT is rebooting and has a whole new way of doing things as an effort to take over the world, at the expense of people who bought into one of the previous visions and have large legacy code bases.

Every release since 1.5 (which is as long as I've been paying attention) has come with an entirely new best practices paradigm and neglect for keeping the penultimate new shiny working. Remember deRPC? Integration with Spring? LayoutPanels? Activities and Places? Is RequestFactory even part of this brave new 3.0 world, or is it all supposed to be JSON now?

There's a severe mismatch between the people that develop GWT, who seem to wish they were working on a bleeding edge library in a trendy language and be popular among social start-ups, and the people that use GWT, largely enterprise programmers working on LOB applications. That doesn't seem to have changed any with the new council model.

It doesn't matter how many times the project pivots, the hipsters are never going to use java. Much better to care about the users that have actually adopted GWT -- people that want backwards compatibility, stability, and bug fixes.

A project that closes the majority of longstanding bugs with status ASSUMEDSTALE rather than fixing them really doesn't care much about its existing users. Or new ones really, since many of those old bugged classes don't have formal deprecation notices on them.

<comment><USER10> GWT hasn't ever rebooted, unless you count HostedMode -> DevMode. It has removed hardly any of the old APIs going back to 2006, which is part of the problem. Everything you refer to was an add-on layer of functionality that did not remove the old. Every single platform adds new layers. Windows, Android, iOS, J2EE. Each release brings new and better ways to do things.

We have paid the price of actually supporting the old APIs for too long.

1) GWT widgets were designed to overcome IE6 memory leaks and layout deficiencies. IE6 is gone, not even Microsoft supports it any more.

2) deRPC was an experiment and marked as such. It did not change the API calling surface or semantics, and apps could switch between the two very easy. The theory of deRPC was that it would be faster than deserialization code, that turned out to be wrong for most browsers. To make deRPC work required all kinds of hacks in the compiler, in DevMode, and yet another symbol map format. Removing it makes GWT better. It's also incompatible with CSP and introduces yet more security surface area to worry about.

3) Google applications like Adwords continue to rely on old GWT APIs, and we have been fixing serious core bugs as we find them, but we are not a large team and we have to support over 3,000 internal engineers. Part of the reason GWT is now controlled by an external committee is because the focus of Googlers is to prioritize and fix bugs for internal applications, that's how we continue to keep our jobs. GWT is an open source project, and if a particular bug is not getting a lot of love, we invite either the contribution of a patch, or to talk to ArcBees, Vaadin, or RedHat who are providing commercial support.

4) Issue Tracker, I talked about this in my Google I/O announcement of the steering committee: The reality is, around 2009, as GWT got more internal popularity at Google, engineers paid more attention to the internal Google issue tracker rather than the external one, and the external one became unreliable as a source of truth. This was a bad situation caused by the mostly exclusive control of GWT by Google, which is why I advocated turning over control to external users, and moving the entire GWT development process back to non-Google infrastructure (until the recent change, our internal source repository was the real source of truth). Ideally, we'll eventually move everything to GitHub.

So yes, from about 2009-2012, honestly, we didn't pay attention to external users bugs, we prioritized internal bugs. We're trying to rectify that now, but we can't tell which of the thousands of issues in the issue tracker dating back to 2006 are still unfixed and how many got fixed and no one ever marked them closed. The 'ASSUMEDSTALE' status is an attempt to crowdsource the fixing of the issue tracker, since we assume if someone had starred a bug, and it got closed, they will complain it's not fixed, which gives us valuable feedback. Once he issue tracker is triaged back a usable state, we'll be in a better place.

It's not like other projects don't aggressively close bugs, many use robots which auto-close bugs are a few months.

5) We are not just trying to get "the cool kids". The world has changed since 2006. The modern browser environment is substantially different. Javascript VMs have evolved a lot. Mobile browsers are now a substantial force. The world is changing, Google, who is the biggest backer, writes bleeding edge web apps, and so changes with it. We don't get paid if we can't support the kinds of apps Google wants to write, and that's increasingly a modern Web world. If someone else things this is a bad idea, they can fork GWT, freeze it in time so support the Windows XP/IE6 legacy, that's the power of open source.

The steering committee is already planning to keep the 2.7.x line updated with bug fixes from the 3.x line.

</comment></comment></comment><comment><USER12> I was expecting a lot more direct comparisons based on the link name. Would probably have been nice to see some of the numbers around the origin, specifically. "we could build the application (Google Feedback) much faster than we could build it in GWT" only goes so far to say that Angular can be faster to develop in.

</comment><comment><USER13> Kind of thought that Angular is a bit like VB <cue shrieks and screams>.

Both allow relative novices to produce sophisticated GUIs rather quickly. Both require a fairly high level of understanding discipline, and organization to produce high quality large-scale products. Frankly, GWT sort of fits that description as well.

<comment><USER14> _> Both require a fairly high level of understanding discipline, and organization to produce high quality large-scale products._

When is that not the case?

<comment><USER13> \- Both Angular and VB make it easy to get a "pretty" GUI up and running quickly. \- Both Angular and VB require quite a bit more knowledge to make a more sophisticated application beyond a simple interface. \- There are plenty of other languages that are difficult to get even a simple example up and running, but tend to force certain organization and partitioning from the start.

So it is always necessary to have "high level of understanding discipline, and organization to produce high quality large-scale products." It just seems to me that Angular (like VB) is extra easy for simple things and extra hard for sophisticated things.

A specific example - Angular directives. You can happily code for quite awhile without defining your own. Until one day you decide to integrate another library and then need to "wrap" all of your code.

Another example, Angular is described as working with jQuery (which it does). However, if you don't understand Angular's event loop and start doing jQuery stuff outside of it, mayhem ensues.

<comment><USER15> >A specific example - Angular directives. You can happily code for quite awhile without defining your own. Until one day you decide to integrate another library and then need to "wrap" all of your code.

which you can define a directive for, and thus an interface. This is probably the safest way to use external libraries.

>Another example, Angular is described as working with jQuery (which it does). However, if you don't understand Angular's event loop and start doing jQuery stuff outside of it, mayhem ensues.

I admit if you don't understand how angular really works (and most who use them probably don't, including me) it is hard to get this. But, if you restrict UI manipulations to directives (as suggested by angular), you can probably avoid mayhem

</comment></comment></comment></comment><comment><USER16> It was actually very much inspired by WPF and it's relatively innovative MVVM pattern.

<comment><USER17> AFAIK it was more inspired by Adobe Flex (though like WPF and other frameworks, Angular took the data binding idea further with full two-way binding), which predated WPF (at least in terms of public releases) by a couple of years.

See, for example:

[http://misko.hevery.com/2010/08/10/what-flex-thought-me- abou...](http://misko.hevery.com/2010/08/10/what-flex-thought-me-about-data- binding/)

</comment></comment><comment><USER6> Angular was not created at Google. It was created at BRAT Tech.

</comment><comment><USER18> But the big thing missing is the old javascript pain point : if your frontend is in javascript, and your backend in C++ or java or php or python, you will have translation issues between the two. Things will go wrong. Server and client don't handle the "RPC" quite the same way. This will bite you again and again.

If you have a real one-page (the only way to go responsive) web-app, once you hit a certain level of complexity GWT is the only way to go. Javascript <> Frontend <> middleware <> backend <> database (using the right framework), all statically typechecked. You NEVER get a fieldname wrong. Checking if a call works ? You don't write tests for that, because static typing means it works. Need the same RPC calls to work for an iOS app, an android app, a desktop app, ... ? They can share all the model code (literally, the same lines of code, same bugs, same everything) and only need custom views and controllers (which you'd have to do differently in any language). Backend is simply identical, and java supports secure RPC to all these platforms, all of whom process data in exactly the same way.

Plus : GWT makes dynamically creating user interfaces tolerable, something I still have nightmares of doing in javascript.

But my main complaint is controlling complexity : in javascript, you can forget about it. 500-1k lines of javascript nicely working together really does mean you have a good programmer. You can effectively not load more than 1 javascript library without unwanted interactions (exception being the many Google libraries that do seem to work together, but combine them with jquery and you'll already see surprises). The point where complexity starts exploding is very low. PHP/Perl/Python/C is a little better : you can generally expect a good programmer to be able to get ~10000 lines to work together nicely without very serious problems. Java/C#/C++ allow you to control complexity on a large scale. 100k, 1 mil, 10 million line codebases are possible and (can be) maintainable in those languages. Now keep in mind that sucky programmers suck in any language, I'm talking about good programmers

Yes, angular is really fast to make a tiny form with "standard" functionality. If you think that's going to do anything more than get you a standard app without armies of programmers (like Google has), you're deluding yourself.

Plus let's state the obvious here : people hate javascript for good reason. Good language, considering it was a weekend hack, but horrible language compared to anything else out there. Java, flawed as it is, is massively better than javascript. Also : once GWT frees you from frontend/backend integration and ridiculous testing you won't want to go back, and of course there's the java library ecosystem that is very extensive indeed.

<comment><USER19> Considering that most Google Apps (GMail, G+, Docs, Calendar, etc.) are single-page webapps with over a million lines of JS, I'd hardly say "GWT is the only way to go". The programmers I know at Google who worked on complex GWT apps (notably Google Base and Adwords 3) didn't have very many nice things to say about it, besides the Eclipse integration.

The Java/JS integration is handled the same way it's handled in any large distributed system: define a protocol for the server and client to communicate. Only evolve the protocol in backwards-compatible ways. You need to do this anyway if you expect user sessions to survive server upgrades, because you may have an old client talking to a new server. I'm curious how GWT handles this case - if it's autogenerating communication responses, it needs to be aware of both old and new versions to safely upgrade them.

<comment><USER20> I'm most familiar with GWT-RPC and it doesn't have any backward compatibility built in, so most deploys are a protocol change. (It does at least give you a clear error when there's a protocol mismatch.)

So if you want old user sessions to survive, you'll need to keep the old service available until they reload the page.

There are protobuf/JSON-based alternatives with a better compatibility story.

<comment><USER3> It's not true that most deploys are a protocol change - only changes that would also change Java serialization's serial UID will cause GWT-RPC clients to become incompatible.

I routinely deploy a new version while hundreds of users are online and nobody is the wiser.

<comment><USER20> Well, that's true; it depends on how complex your protocol is and how often you change it. Simplicity is good!

But this can be tricky for large, distributed projects, where the author of a class might not even be aware that it's used with GWT.</comment></comment></comment></comment></comment>


44.25 Hours & Counting « 48-Hour Launch - <AUTHOR> http://48hrlaunch.wordpress.com/2008/06/14/4425-hours-counting/ <comment><USER2> Presently on my fifth startup. Next time I think I might give this a try - though maybe not 48 hours - maybe a hundred. I am looking forward to checking out the live site whenever those 225 minutes are finally up. Crazy to think of launch time in minutes ...

Anyway, the only change I'd make is to immediately send out the first lesson. By tomorrow, I'll have forgotten what it was I wanted to learn.

Also, I know this is nit picking, but brainbankhq.com is a not a great domain IMHO. Head Quarters? Is that a pun? How about brainbanklearning.com or brainbankcourses.com ... something that's a bit more about what it is. What it isn't is a Head Quarters.

Great job so far though.

<comment><AUTHOR> Tom, I just spent 0.25 hrs and got the first email to deliver immediately. Thanks for the idea!

<comment><USER2> Don't real users rock? Ok, here's a bit more feedback.

1\. Please don't send plain text passwords. This might just be me, but man, that bums me out to EVER see my password.

2\. Ok, so I just activated. Tell me better what to do here.

3\. You can register for a class twice.

4\. Remind me that once I enroll, the stuff is coming via email.

What's your plan going forward time wise? Still four hour chunks? Will you be keeping the blog up to date with that sort of info? I personally find it interesting.

<comment><AUTHOR> * Yep, they are indeed rockstars in my world... especially users like you who offer feedback

* Gotcha... I'll change that soon

* Gotcha

* Yep, needs tweaking.

* Good idea

* Yep, I can't really do more than 4-hr chunks. With the blog, I've intended on keeping it updated daily but that hasn't happened. I will very much be keeping it updated with info as much as I can.

I'm planning on making a key change tomorrow based on the usage I've seen today i.e. if someone is not logged in, instead of telling them "Hey, log in or register", it will create a temporary user for them with the enrollment... and send them an email saying "Hey, you enrolled into this course. Click here to activate your account and confirm your enrollment."

After that change is made, I'll write another blog saying "I lost XXXX number of people who tried to enroll but couldn't because they were not logged in and they didn't register. Here's how I solved the problem..."

<comment><USER3> Don't just avoid sending plaintext passwords, also avoid storing them! Storing plaintext passwords makes all of your users vulnerable if someone gets their hands on your database.

Instead, store the salted hash of the password, something like sha1(password + 'this string is a secret!'). When a user tries to log in, compute the hash again, and compare it to the one you stored.

<comment><AUTHOR> It's not stored as plaintext. It is salted as per the restful authentication plugin with some tweaks for additional security.

</comment></comment></comment></comment></comment></comment><comment><USER4> Really cool idea. You've inspired me to do a similar thing for a project idea I've had for about a month now. Going to start early July once I move into my new place.

Thanks for sharing this!

</comment><comment><USER5> his description gave me an idea. how about an app that turns _any_ list of links into a subscription where you get emailed 1 per/x days.

for example, you could highlight some of MITs open courses, click a button and then get emailed a link every x days.

I would find this highly useful as I'm the kind of person who never gets around to things.

Does this already exist?

<comment><AUTHOR> I'm planning on getting MIT open courses involved with BrainBank once it's slightly more mature.</comment></comment>


David Chang's New Startup: A Restaurant Without the Restaurant - <AUTHOR> http://www.wired.com/2015/04/maple-david-chang/ <comment><USER3> I don't see many people talk about the packaging and food quality at the time of delivery. This is the absolute biggest factor for overall satisfaction. They mention trying to optimize delivery, but that only helps so much.

If you are doing high-end food, it need to travel extremely well. Having tried a lot of food delivery services - with both first- and third-party drivers - <USER2> rarely order anything other than pizza or Chinese food for delivery anymore.

Pizza places, Jimmy Johns, and many Chinese food restaurants have perfected the food experience and delivery network. But the truth is, their products are pretty average.

<comment><USER4> New York has very standards too. The weak service that companies like DoorDash pull (cold food after an hour wait) won't fly in NYC.

I think this has been tried in the past. [http://www.grubstreet.com/2011/05/introducing_savory_a_deliv...](http://www.grubstreet.com/2011/05/introducing_savory_a_delivery-.html)

</comment></comment><comment><USER5> Interesting. By getting rid of front of house, that eliminates on average 80% of the square footage needed to be a full service restaurant, and they can vie for non-premium properties, so rent will be much cheaper. That said, all else is pretty much the same as any other restaurant business. Delivery drivers replace front of house workers on almost a one for one basis. Kitchen buildout is the same cost. And customers will be customers until they have their first bad experience.

They're playing a volume game. And without alcohol sales, they'll need a lot of volume. So then the question is this: Does "fancy food" from a high end chef like David Chang have a wide enough appeal to solicit the type of volume needed for this to be successful? I suspect it does in pockets of NYC. From a higher vantage point, I'm less optimistic.

Restaurants are about more than food though. Their job is to set a stage with design, lighting, music, background noises, service, plating, and conversation amongst other human beings. That's why people pay $1000 for a bottle of wine, $45 for a New York Strip, or $4.50 for a cup of coffee. If we didn't care about these other things, we would all be getting delivery, making our own food, or eating out of vending machines and paying 75% less to do so.

<comment><USER6> > If we didn't care about these other things, we would all be getting > delivery, making our own food, or eating out of vending machines and paying > 75% less to do so.

My delivery options are very limited, and vending machine food is almost universally terrible. I cook a lot, and like it. However, sometimes I do not have the time or do not want to devote the time to cook, so I go to a restaurant. Plus, there are some things I can't do well at home for lack of equipment. For those cases, I go to a restaurant. I don't care much about design and lighting, hate having what most places call music, don't like much background noise, and really don't care what the food looks like on the plate. It is a predominantly functional experience for me. Some of my favorite restaurants are very Spartan affairs.

Now, I have no idea how typical I am and suspect it varies based on location. I am probably closer to typical here in Dallas than I would be in NYC.

</comment></comment><comment><USER7> > costs $12 with tip and delivery included

Whoa, putting _all_ the charges in the advertised price? Madness!

Seriously though, I wish this was the norm.

<comment><USER8> Pricing transparency is one of the nice things that has come out of the mobile revolution. I think it'll become more and more common.

For an alternative vision, Chicago's Alinea restaurant (with 3 Michelin stars, one of the greatest restaurants in the world, possibly _the_ greatest in America) has gone from traditional reservations to a ticket-based model. You buy tickets in advance for your meal, like you would a sporting event or a concert. Tickets aren't refundable, but they're transferable. That's a fascinating model, at least for a restaurant that can be jampacked full with wait times running out weeks or months in advance.

<comment><USER9> Are the tickets entry-only? Then presumably you pay for your meal as well?

Perhaps you could just pay for drinks, I guess, and have the meal on the ticket. I assume their price covers all your typical upcharges anyway.

<comment><USER8> The tickets are for the meal. Meal runs like $300 per person or so... I'll find out later this year, when I plan to buy tickets for my daughter and myself. She's a budding chef, and we should eat at the most powerful restaurant we can one of these days!

</comment></comment></comment></comment><comment><USER10> How is this different from Little Caesars or Dominos business model, except being app-only instead of phone-call based? My local dominos barely has a pick-up window as it's storefront. There's always a delivery guy pulling in or out.

<comment><USER8> How is BMW's business model different from Hyundai's?

Upscale experience matters.

<comment><USER11> That's the part I don't understand.

Why do people spend $600 for a phone that they use to do stuff a $80 phone does, except the $80 phone has an effectively better battery and often gets better signal?

<comment><USER12> marketing. brand positioning.

people filter out the products that are not good enough on their own. they decide which ones of the remaining products they will buy based on how they feel about it.

</comment></comment></comment></comment><comment><USER13> If you enjoy cooking shows, definitely take a look at Mind of a Chef. David Chang is the star of the show's first season, and it's narrated by Anthony Bourdain. Probably the most cerebral cooking show I've ever seen.

</comment><comment><USER14> Pizza businesses have basically operated like this for years.

</comment><comment><USER15> How is this different than Sprig, Munchery, UberFRESH, Zesty, Deliverance, etc?

<comment><USER16> Seems like the difference is in the quality. Correct me if I'm wrong, but they are a bit pricier than the above, and seems to serve fancier food? I'm wondering if there is a market for slightly better quality/higher priced delivery food...

<comment><USER17> The high price might be tricking you into thinking the product is better than others.

</comment></comment></comment><comment><USER18> This idea became much more palatable to me when I went to a restaurant after work to grab some take-out for dinner. I walked inside and saw no one sitting down but the kitchen staff were furiously working and cooking. I thought it was so strange and wondered who they were cooking for. And then all of a sudden I saw: 1 postmates courier, 1 doordash courier and 1 caviar worker all walk in with giant bags. I realized how this new trend is going to change restaurants and make them more 'lean'. No need to spend crazy amount of money for location, no need for a huge seating area, no need for expensive storage machines. Just a kitchen and distribution.

</comment><comment><USER19> Are people interested in a lower-cost option? I find myself making the same meals (simple salads, chicken & rice), and these do not cost a lot per meal, certainly not $12. It would be nice to order $3-5 meals of things I would normally cook but just don't have time for, which would be appealing to the parents of the world. That is something I would set up a meal plan for so I never had to buy groceries or cook, but still receive high-quality (albeit basic) food.

<comment><USER8> Restaurants aren't high-profit businesses by and large. As Peter Thiel observed, in order to make significant profit margins, you need something monopoly-like. In perfect competition, profit is impossible, and near-perfect competition like restaurants drives profits very low.

Cachet restaurants offering singular experiences can get that monopoly of uniqueness to a certain extent, but it's very difficult and requires operating at an extremely high level of art.

So basically, if you want to compete on price, welcome to racing to the bottom, and competing directly with the likes of Dominos and McDonalds. At tiny margins, economies of scale become extremely important.

In the case of this story, by bringing a world-class chef like David Chang in (see the first season of _Mind of a Chef_ to grok his greatness), they're going for an upscale market - people who really care about eating. Those people will always be outnumbered 100:1 by people eating wretched disgusting crap at Subway. That's where the quasi-monopoly comes in - not just delivering food, but delivering the kind of food a mind like David Chang can create, at lunchtime prices and convenience.

So Maple isn't competing with Domino's. They're competing with fine-dining lunches.

<comment><USER19> Right but Dominos and McDonalds are all terrible food that isn't healthy. And only Dominos delivers.

If my neighbor can cook my rice and beans for $0.30 USD / serving, or $3 for a basic salad (spinach, serving nuts, beans, olive oil, vinegar), I'd pay $1-5 to have that delivered to me. How does that not keep up with profits?

I mean what's shocking to me is that families across the country make these basic meals that seem clearly too basic for restaurants to make. But most families (especially poorer ones) just don't have time to make the food, but they want something cheap, so they resort to fast food - when I'm sure they'd be fine with spending the same (or less) on a rice and beans dish instead of a big mac.

<comment><USER20> An AirBnB for food seems like an interesting idea. Making it hyper-local (i.e. in the same building in NYC) would eliminate the delivery need, and you could market hard to one building at a time to get enough people on board. It seems the problem would be the health code requirements.

<comment><USER21> This exists and is called seamless and predates Airbnb by many years.

</comment></comment></comment></comment></comment><comment><USER22> I've thought about starting the same kind of business (delivery-only restaurant), but Manhattan is a ridiculously crowded market for moderately priced, high quality food.

<comment><USER23> Fitness angle, prepared meals that help you maintain or lose weight. Tabloid huckster Perez Hilton dropped all his weight from using those Los Angeles low carb gourmet meal delivery services.

Here in my city restaurants seem to be all about specialty cured and smoked in-house meat there's an explosion of hipster hand-made Ramen noodle houses with said specialty meats that have lineups down the block everyday for lunch.

</comment></comment><comment><USER24> How do you get good restaurant margins without alcohol sales? I wonder if the savings of not running an actual restaurant offsets that (or more).

<comment><USER6> By not needing serving and dining room equipment or expensive locations. An operation like this can be set up virtually anywhere a city will grant a permit for, as long as there is a reasonable density of people around. Plus, there are plenty of successful traditional restaurants that don't sell alcohol, though that may vary on a regional basis.

<comment><USER25> Not to mention location costs are MUCH better when you don't need popular frontage.

</comment></comment></comment><comment><USER26> In Holland we've had takeaway.com (thuisbezorgd.nl actually) for a long time. A lot of takeout places, but also some regular restaurants are on there. You can order with an app which takes just a few seconds. Does nothing like this exist in the US yet?

</comment><comment><USER27> Sounds like Deliverance[1], which has been around in London since around 2002 or so.

[1] [https://www.deliverance.co.uk/](https://www.deliverance.co.uk/)

<comment><USER28> The quality of the Deliverance food is, politely, really not great. I think these guys are approaching it from a different angle; Deliverance always struck me as a restaurant that delivers, and without the restaurant...

</comment></comment><comment><USER29> I'm not sure if I get how this is any different from Munchery or Zesty. But hey, I'm not going to complain about another company I can harvest free meals from through referrals.</comment>


What's new in Linux 2.6.34 - <AUTHOR> http://www.h-online.com/open/features/What-s-new-in-Linux-2-6-34-1000122.html

<comment><USER2> In a more technical format: <http://kernelnewbies.org/LinuxChanges>

</comment><comment><USER3> It's really nice to see how btrfs is improving.

I am playing with it a little and I wonder if I could expect greater redundancy (like three or more copies scattered) and block deduplication (that would probably require using a hash function instead or in addition of crc32 for block integrity checks)

The yum plugin (unfortunately, I am a Debian guy) looks very sweet.

</comment><comment><USER4> Does anyone have any experience with Ceph? It sounds interesting, but is it reliable? Easy to configure and maintain?

<comment><USER5> It's still pretty experimental. Getting the kernel client into a released kernel has been a step forward, but Ceph isn't ready for production yet. It's getting closer, though.

</comment></comment><comment><USER6> I'm excited by the Python support in Perf.

</comment><comment><USER7> How many megabytes is the current Linux kernel in its generic/default/full form (i386 or amd64, either goes)?

<comment><USER8> That is really hard to say. The source code is massive - hundreds of megabytes. The image created is tiny. It all comes down to what drivers and options are included.

Most generic kernel _package_ included in Ubuntu is around 121mb. But it includes a lot of modules - see:

[http://packages.ubuntu.com/lucid/amd64/linux- image-2.6.32-21...](http://packages.ubuntu.com/lucid/amd64/linux- image-2.6.32-21-generic/filelist)

Very few of these will actually be running on your system.

I work on embedded Linux and once build your own kernel with just the drivers you need, the image is tiny. I know the exact number of the top of my head but it was either a few mb or maybe even less than 1 mb. We had 256 mb of total system flash and we got our entire Linux distro on there easily.</comment></comment>


Revolutionary 3d Printing Coffee Maker, Sugar Free – Open Electronics - <AUTHOR> https://www.open-electronics.org/revolutionary-3d-printing-coffee-maker-sugar-free/ <comment><USER2> Looks like the coffee maker is used just as a frame and possibly as a heated base. Title is a stretch.</comment>


Ask HN: Micro-payments without cryptocurrencies? - <AUTHOR> I've been thinking a bit lately about some ideas with micro-payments, mostly related to music. I was wondering if there are existing or promising solutions for micro-payments that pay directly in USD or other government-backed currencies?<p>I've seen something called flattr but that looks to be built around a subscription model. I am looking for something that allows me to directly send $0.01 to another person in very short time. It's possible this already exists and is widely available, I haven't been thinking about this for very long. <comment><USER2> Credit card fee structures make it a little complicated. Generally speaking, you'd want to pool both the input and the output, and then use paypal or something similar -- i.e., require a minimum of a couple dollars to be put in escrow, and then actually flush the payment once it reaches a couple dollars. That way, transaction fees don't totally overwhelm actual payments.

I haven't seen general-purpose systems optimized for micropayments in this way. Aside from flattr, I've seen token-coin (a blogging platform, essentially), and places like patreon roll their own system internally.

<comment><AUTHOR> I wonder if it could be done where the service acts essentially as a bank but does not use fractional reserve policies. So a user A adds $100 to their account. We keep a log and add that $100 to our "real" bank account. User A then pays User B $0.01. So we keep it in our ledger that $99.99 is for User A and $0.01 is for User B. But we don't make any actual bank transactions until a withdrawal request happens. There is probably some sort of regulation around this but maybe we do it like SecondLife with Lindens and then people can cash out their Lindens later.

<comment><USER2> No, this is totally reasonable and basically what I meant by 'escrow' in my original comment. Most systems that perform microtransactions & handle credit card stuff themselves basically do it this way -- including Google, when it comes to Adsense and Adwords.</comment></comment></comment>


OpenSSH makes bcrypt key encryption default - <AUTHOR> http://marc.info/?l=openbsd-cvs&m=138633690918227&w=2

<comment><AUTHOR> For those that don't know, OpenSSH previously used MD5 to secure the private keys. They added the option a while back to use PBKDF2 via PKCS#8, but I rarely see it in use in the wild.</comment>


How A Startup Lobbied For It's Right To Survive - <AUTHOR> http://pandodaily.com/2012/03/27/a-startup-goes-to-washington-how-motaavi-lobbied-for-its-right-to-survive/

<comment><USER2> Hard work pays off!

</comment><comment><USER3> Inspiring!</comment>


Inc.com Audio Slideshow on PG & YC - <AUTHOR> http://www.inc.com/ss/can-paul-graham-mass-produce-start

<comment><USER2> Is it by design that the picture of pg sitting at the table surrounded by founders is reminiscent of da Vinci's _The Last Supper_ ( <http://en.wikipedia.org/wiki/The_Last_Supper_(Leonardo)> )?

<comment><USER3> Yes, it was intentional. We had to pick up and put down those red cups so many times it I got a good idea of what being an animatronic robot must be like.</comment></comment>


Google Says No to Building an Ad Blocker in Chrome, Would Lose Billions - <AUTHOR> https://www.engadget.com/2016/11/11/google-says-no-to-building-an-ad-blocker-in-chrome-would-lose-b/ <comment><USER2> Unfortunately for them, Opera has already done that.</comment>


New Tech Start-Up Bubble - <AUTHOR> https://www.youtube.com/watch?v=G7vrCpWbmDw <comment><USER2> This video cut of about ten minutes at the front. The full video is here: [https://youtu.be/IRphJ7_FJO0](https://youtu.be/IRphJ7_FJO0)

The full playlist of the conf: [https://www.youtube.com/playlist?list=PLbzoR- pLrL6rm2vBxfJAs...](https://www.youtube.com/playlist?list=PLbzoR- pLrL6rm2vBxfJAsySspk2FLj4fM)</comment>


Rate our startup: 42goals.com - <AUTHOR> http://42goals.com

<comment><USER4> It looks quite nice and I've been looking for something similar - <USER2> ideally as a native iPhone app.

One thing I'm forever pernickety about: donations != business

It's a nice looking webapp but it takes more than that to make it a business

EDIT: oh, wait, the frontpage only mentions donations but I go to sign up and there's a $5/mo plan. Why isn't that front & center on the front page? It makes it feel like a bait & switch

EDIT #2: Aggggggggggghhhhhhhhhhh... It gets worse! Once I've activated my (supposedly) free account I immediately get presented with options to pay for 1, 6 or 12months. Even more bait & switch! Why don't you just man-up, put the price on the front page and give a 30 day trial. Right now I'm not even going to try the app itself - the upsell attempts are worse than GoDaddy!

<comment><AUTHOR> I agree, perhaps it's misleading and we should fix it. When we have launched, it was a non-profit project, so we have added donations. Recently, we have added some additional features with a premium account.

</comment></comment><comment><USER5> From your pricing page, what are "Basic Goal Types" and "Advanced Goal Types"? Is that like, "do my laundry" vs. "solve P == NP"? As a visitor, these labels mean nothing to me.

<comment><AUTHOR> Thanks for the good point, I will have to populate it more.

</comment></comment><comment><USER6> Ok so my honest opinion is that this, although it can be nice for certain things, will not turn out to be a success. My reasons:

1\. The people that like to track everything probably can also use custom spreadsheets, e.g. in Google Docs.

2\. Keeping track of your cigarette or food consumption will probably not help you quit smoking or loose weight.

3\. There are already competing sites that look more polished and seem to have more features.

4\. (For me) the best way to remind myself of something is putting a sticky note on my monitor. :)

<comment><AUTHOR> Thank you for your honest opinion! Could you give some examples of those web- sites?

<comment><USER6> Sure, quick Google-search ("goal tracking") for example gives me:

* <http://hubpages.com/hub/The-Best-Goal-Tracking-Tools-Online>

* <http://lifehacker.com/5439026/five-best-goal+tracking-tools>

If you want to compete I guess you have to look at the competition and either do something different or do something better.

<comment><AUTHOR> Thanks for the links. Evernote is a really nice service for keeping notes, but not really for goals tracking. Joesgoals is also nice, but not maintained currently. Excel... well, one can probably do pretty much anything there. And of course, I'm not trying to compete with paper, pen and friends.

</comment></comment></comment></comment><comment><USER7> nice site, good idea. I use todo applications like Done on my iPhone to document and keep track of long term goals and Omnifocus to tick off tasks against projects but this could be slightly different and work well with these tools.

Thumbs up: [+] nice design, clean [+] signup is simple and easy [+] intuative and easy to use - like the keep clicking to change on boolean

Thumbs down: [+] echo the upsell [+] would be nice to have the option of going to the details menu once you add a goal, rather than adding the generic ones and then editing it [+] the roatating screens are nice but they could be larger and the transitions a bit more smooth (bit chucky at the moment at least on my browser)

Future features: [+] definately be handy as a mobile app [+] linking to a todo app or providing that functionality would be great: Don't forget the milk, Omnifocus and Things for the iPhone are my favouries [+] export reports and get them emailed to you [+] email and/or sms in values for the day [+] goal reminders and how much you have left [+] add rewards for yourself for achieving your goals [+] timeframe to goals - i.e. life, 3 year, 2 year, this month etc

Commercials: I wouldn't pay $5 per month for it at the moment. If it was $3-5 one off as an iPhone app and had the todo features or linked to my existing todo app I would buy it.

</comment><comment><USER8> I think the functionality is great, I especially like the data aggregation options that you provide.

That said, I think the design needs polish. This is nitpicky, but looking at the demo, there's no visual distinction between the time and the stopwatch types. Also, I'd suggest a more web-optimized font, Times New Roman looks, for lack of a better term, bleh

</comment><comment><USER9> Nice, I've been looking for a goal tracking solution that can spit out graphs for me!

One thing that does bother me about your site... is the "caroussel" image effect for the screenshots. It seems more gimmicky than useful, and is not appealing. At first it looks like a bunch of small screenshots floating about willy-nilly. It just looks out of place.

</comment><comment><USER10> Your call to action needs to stand out more by using a color that will pop. It currently blends into the rest of the page. Instead of "Register Now" it should say something like "Start Tracking Your Goals".

</comment><comment><USER11> The image rotator on the frontpage looks really cool, however on my screen(1280x800) it doesn't add any clarity on what the app does. The images are way too small.

</comment><comment><USER12> This seems to be a very popular thing at the moment. I know of another developer who is currently running something very similar in private beta.

<comment><AUTHOR> Any chance to take a look at it?

</comment></comment><comment><USER13> Accessing it from my iPhone and I don't see a link to register. Is that just for the mobile version of the site?

<comment><AUTHOR> Yes, for now you need to go to the desktop version to register and add goals. Once you've done it, you may continue use it on your iPhone.

</comment></comment><comment><USER14> Hi, the site is themed pretty well and is attractive but the aim is to manage one's daily goals and events, right ? Wouldn't it be better if the user is reminded of the same on his desktop rather than visiting a web browser every time he needs to check for his lists.

A email notification of the tasks needed to be accomplished would be better. Developing a desktop app for your web app to communicate with the server and notify using the local notification daemon such as libnotify or any thing else would have been good too :) Any ways that was my honest opinion.

All the best

<comment><AUTHOR> Thanks for the advice! We already have an open API, so that any developer can implement it, while we also plan to develop a desktop app ourselves.

<comment><USER14> greatwork alexpak. Best of luck.

</comment></comment></comment><comment><USER15> Was 38, 39, 40 and 41 all taken for something else?

<comment><USER16> I imagine '42' was picked both for the Hitchhiker's Guide to the Galaxy reference and to be somewhat similar to the goal-tracking site 43things.com.

Not sure I get naming the company something so similar to 43things - <USER3> initially assumed it was a total knockoff, but the feature sets are actually pretty different.</comment></comment>


Amazon Fever Is Killing Netflix Stock   - <AUTHOR> http://www.theatlanticwire.com/business/2011/09/amazon-fever-killing-netflix-stock/43139/

<comment><USER2> No, it's the higher prices, and the split of DVD and streaming that are causing customer exodus, which, in turn, causes the stock to go down.

It's currently trading at P/E=28, which is only normal for growing companies, so I'd expect another 20-30% decline, if they can't solve that customer problem.</comment>


If We All Left to "Go Back Where We Came From" - <AUTHOR> https://flowingdata.com/2018/05/16/go-back-where-you-came-from/ <comment><USER2> I am Black, but I use to laugh when people said that to me and reply "Why would I want to move back to London, England".

It is not just where we really came from, but many of us if you try just using our surface features have no connection to where many snap judgments think we came from.</comment>


IU freshman rescued after surviving three days in cave - <AUTHOR> http://www.idsnews.com/article/2017/09/iu-freshman-found-after-surviving-three-days-in-a-cave <comment><USER2> Sometimes it sucks to be a freshman.</comment>


StackOverflow and Github Visualized As Cities - <AUTHOR> http://ekisto.sq.ro/
Ekisto is an interactive network visualization of three online communities: StackOverflow, Github and Friendfeed. A graph layout algorithm arranges users in 2D space based on their similarity. Cosine similarity is computed based on the users' network (Friendfeed), collaborate, watch, fork and follow relationships (Github), or based on the tags of posts contributed by users (StackOverflow). The height of each user represents the normalized value of the user's Pagerank (Github, Friendfeed) or their reputation points (StackOverflow).
Sharing this because I thought it's really awesome - published Dec 1 by Alex Dragulescu. <comment><USER2> Don't abuse the text field in the submission form to add commentary to links. The text field is for starting discussions. If you're submitting a link, put it in the url field. If you want to add initial commentary on the link, write a blog post about it and submit that instead.

[http://ycombinator.com/newsguidelines.html](http://ycombinator.com/newsguidelines.html)

<comment><USER3> I wouldn't say it's "abusing", as the page is probably less visited when one has to copy the url and not just click a link.

</comment></comment><comment><USER4> So many white men. (just an observation, not commentary)

<comment><USER5> White male shaming: Now moving on to grander things like selfless community pursuits such as contributing to open source (just an observation, not commentary)

<comment><USER6> I'm a white male, very active on Stack Overflow, and working to become more active on Github. Still, I find acadien's observation very interesting. We should aim at trying to find the real causes of the situation, instead of being offended, just because someone pointed out something that clearly is a fact.

Suggesting that white males are more selfless is a bullshit answer. Maybe they (we) are the only ones who have the right combination of being educated and having enough free time? Maybe this has something to do with gender stereotypes? Or gender roles and woman usually having much more additional non work related responsibilities? I don't know. But it's worth asking.

<comment><USER7> It may be worth asking why, but I don't think it's an actual problem, and especially not a problem that needs action to make the distribution of races/genders more fair. White men aren't preventing people from getting into open source software. Just the opposite actually - a few white men have made it extremely easy for people to get into OSS.

<comment><USER8> Being a 19-year-old black software engineer, from a "current reality" POV, I can say that acadien's observation is definitely spot-on. However, I can also say that it seems things are getting much much better. Just a little under 3 years ago, I'd attend a conference with 300, 500, or even 500+ attendees, and would EASILY count the amount of black folks on a pair of hands (yes) and the ladies on 2-3 pair of hands. This isn't necessarily the case anymore (it's still kind of a problem though). Also, a majority of the "white men" programmers I know in the industry are very welcoming and helpful in this sense, so I wouldn't blame "white men" since that's just too general, and quite frankly, wrong, for the most part. Now that that's out of the way, THERE ARE those "white men" who are not so welcoming and aren't afraid to show it either. I couldn't even tell you the amount of times I've been offended by such folks. There's even one conference I went to where I was literally stopped on my way to grab lunch and randomly requested to go to security to be searched while EVERYONE ELSE was enjoying the sessions and meals. I was searched, I went to bathroom and cried for a while (yes, I admit it), and immediately headed home afterwards. Which conference ... well, I digress. The point I'm trying to make here is that we shouldn't be blaming folks in a general sense, but instead find those folks who do have such behavior and try to help them change.

<comment><USER9> great post. i think the main cause is economic / structural, but the underlying problem may well be exacerbated by bad behaviour of individuals. code4lib have an anti-harassment problem to deal with the behavioural problems ([https://github.com/code4lib/antiharassment- policy](https://github.com/code4lib/antiharassment-policy)) I've never been to their conferences so couldn't say how helpful it has been for them. as for dealing with the structural issues, that's a bigger problem without any clear answers that I'm aware of.

</comment></comment></comment></comment></comment></comment><comment><USER10> Clickable: [http://ekisto.sq.ro/](http://ekisto.sq.ro/)

</comment><comment><USER11> In case someone else wants to find github user ids, you can use this webapp: [http://caius.github.io/github_id/](http://caius.github.io/github_id/)

<comment><USER12> For Github you have to enter the username. For Stackoverflow you have to enter the numerical userid which can be found in the url of your profile page.

The Github API rate limiting made it impossible to keep up with the user/repository growth so I stopped in March 2012. Only users that were public at the date of the crawl, and are part of the largest connected component of the network will be shown.

I am the designer of Ekisto. Questions and feedback are welcome :)

<comment><USER13> Hey! Firstly, good to see some Romanian software news that's not linked to organized crime. I love your country! I was lucky enough to cycle around it for a month a few years ago and really loved the place.

Random suggestion: mapping a user metric such as dominant programming language to inform the building style. So maybe shell code would be more oldschool (Chinese/Japanese/Korean style wooden pagoda type look), perl would be hacky (like lashings of bamboo), enterprisey languages would be shiny skyscraper windows, and obscure stuff would be mud brick or straw bale or something!

The spatial proximity domain seems a little wasted with this mapping .. perhaps it could be improved by using direct links informed by real clones/contributions.

I hope Github gives you a data feed!

<comment><USER12> For my thesis I had some similar ideas, but they were more abstract, sculpture-like. The user volume was a cylinder, with varying radii (mapped to activity) at different heights (time). The mappings you are talking about are very subjective, but it's good brainstorming. Refining and iterating over such ideas, brings innovation.

You are spot on that Github has very rich relationships of collaboration and sharing that are not all expressed by the data I chose. I wrote a longer post about my goals and motivation with Ekisto that addresses that concern: [http://processq.tumblr.com/post/69098066993/ekisto- design](http://processq.tumblr.com/post/69098066993/ekisto-design)

I also write about future work which will improve the current version. I think some tagging functionality either precomputed or user-contributed will help a lot of newcomers understand the map better. Stackoverflow veterans immediately recognize the clusters and the avatars.

<comment><USER14> Thanks for the overview on the algorithms / approach used on your Tumblr - looking forward to your post on the visualization pipeline

</comment></comment></comment></comment></comment><comment><USER15> The is really cool. But what exactly am I looking it? Would be awesome if this was clickable somehow to see the projects/account linked to it.

<comment><USER16> On the left hand side there is a (Q)uery tool. Click it, and then you can click on any stack to find out who it is.

<comment><USER12> There is a shortcut: Press Q + click. Pressing Q turns on query mode for one click. I only included it that in the mouseover tooltips, fearing abuse. The server seems to handle it well, so query away.

The info overlays are also draggable, so one can make sense of their surroundings. See how this user mapped "his village": [https://twitter.com/mc_sabourin/status/409592532452913152](https://twitter.com/mc_sabourin/status/409592532452913152)

</comment></comment></comment><comment><USER17> This is really cool but makes my eyes feel funny. Something with the frame rate, feels as if the screen is shaking. But nevertheless amazing :)

<comment><USER18> I felt the same way - I think it's partially frame rate, but also scrolling on a 2d plane in a "3d" world.

<comment><USER12> Also the tiling effect might have something to do with it. There are multiple levels of zoom that get loaded and scaled as you zoom in.

</comment></comment></comment><comment><USER19> Github's top 20 of 2012 only includes two humans, woops watir is a group, so here it is, only defunkt.

</comment><comment><USER20> Would really love to see this with up to date data.

Edit: Just saw the author explain why that won't happen.

</comment><comment><USER21> This is really, really cool. Never seen this before. Nicely done!

</comment><comment><USER22> I'm under Jon Skeet's toe</comment>


Stop Using If-Else Statements - <AUTHOR> https://medium.com/swlh/stop-using-if-else-statements-f4d2323e6e4 <comment><USER2> This reminds me of this pre-release book I'm reading from Manning. The author suggests a hard rule of avoiding if/else in functions.

[https://www.manning.com/books/five-lines-of- code](https://www.manning.com/books/five-lines-of-code)

</comment><comment><USER3> since all state machines are reducible to a switch statement I kinda don't get the point of it all. You are moving complexity around, not reducing it.

</comment><comment><USER4> I was expecting. "Just use early returns. Only in rare cases you might need an Else statement "</comment>