Hacker Newsnew | past | comments | ask | show | jobs | submit | ge0rg's favoriteslogin

I like it.

roenxi's law: "In any sufficiently advanced bureaucracy, all oversight degrades to tautology".

We did it therefore it was right otherwise we wouldn't have done it. Case closed.


If you limit yourself to the West Europe languages, you can just go with the stdlib:

    >>> import unicodedata
    >>> print( unicodedata.normalize('NFKD', "éèêàùçÇ").encode('ascii','ignore'))
    eeeaucC
But if you need to project (transliterate to ascii) Arabic, Russian or Chinese, unidecode is close to black magic:

    >>> from unidecode import unidecode
    >>> unidecode("北亰")
    'Bei Jing '
Anyway, always remember that str.encode(), str.decode(), open() and many other related callables have an "errors" parameters that allow you to deal with unkown solutions when encoding or decoding:

    >>> print("Père Noël".encode("ascii", errors="ignore"))
    b'Pre Nol'
    >>> print("Père Noël".encode("ascii", errors="replace"))
    b'P?re No?l'
I'll conclude with the mandatory "use Python 3" (3.7 if you can, it has many utf8 fixes: https://vstinner.github.io/posix-locale.html), since you'll be in a world of pain if you deal with non-ascii in Python 2, and EOL is next year :) Tic, Toc...

I'm working on DDoS protection at Cloudflare. AMA

We try to publish most of what we do, the more obvious links:

https://blog.cloudflare.com/how-cloudflares-architecture-all...

https://blog.cloudflare.com/meet-gatebot-a-bot-that-allows-u...

https://blog.cloudflare.com/the-root-cause-of-large-ddos-ip-...

https://blog.cloudflare.com/memcrashed-major-amplification-a...

https://blog.cloudflare.com/syn-packet-handling-in-the-wild/

https://blog.cloudflare.com/reflections-on-reflections/

https://blog.cloudflare.com/say-cheese-a-snapshot-of-the-mas...

https://blog.cloudflare.com/the-new-ddos-landscape/

https://blog.cloudflare.com/unmetered-mitigation/

https://blog.cloudflare.com/introducing-the-p0f-bpf-compiler...

And maany more.

Also two talks:

https://idea.popcount.org/2016-02-01-enigma---building-a-dos...

https://idea.popcount.org/2015-11-16-black-hat-eu---defendin...

> But how does that prevent severe service degradation

It doesn't. You DROP the most specific thing you can. To avoid collateral damage we are able to do "Scattering" (move client across IPs with the hope the attack won't follow), and for example apply the controversial limits only in certain geographical areas (anycast network allows this).

> you still have to do some kind of work (in computation and energy) on the listening side

Yes. BPF for L3 works like charm. Read on XDP.

> or can fat edge-servers just eat that up?

Yes and no. You have to specifically optimize, whatever you do probably won't make Apache or IIS work under DDoS. Most vendors use "scrubbing centres", when they can have small number of beefy dedicated servers. We didn't find this architecture sufficient though, so in our case edge servers do handle the load. But we do spend time on tuning the servers and our applications.



> It was in about the third hour of using the new BlackBerry KeyOne, available for preorder now for $549 unlocked, that I started to question my longtime preference for touchscreen keyboards.

I'm surprised it took that long. Bret Victor explained it best:

I call this technology Pictures Under Glass. Pictures Under Glass sacrifice all the tactile richness of working with our hands, offering instead a hokey visual facade. Is that so bad, to dump the tactile for the visual?

Try this: close your eyes and tie your shoelaces. No problem at all, right? Now, how well do you think you could tie your shoes if your arm was asleep? Or even if your fingers were numb? When working with our hands, touch does the driving, and vision helps out from the back seat.

Pictures Under Glass is an interaction paradigm of permanent numbness. It's a Novocaine drip to the wrist. It denies our hands what they do best. And yet, it's the star player in every Vision Of The Future.

http://worrydream.com/ABriefRantOnTheFutureOfInteractionDesi...

I really hope this is the start of a trend


A timeline of Google's messaging rivalry with Facebook. Original inspiration from source [23], enhanced and corrected from [33]:

- 2006-02-07: Google Talk integration inside Gmail goes live [35]

- 2006-09-26: Facebook opens up to everyone (not just colleges) [36]

- 2007-02-14: (corrected date) Gmail opens up to everyone (not just invite-only) [37]

- 2008-04-06: Facebook chat goes live [34]

- 2008-07-11: iOS App Store launches [38]

- 2008-08-26: Facebook hits 100 million active users [24]

- 2008-09-23: Android 1.0 launches [39]

- 2008-11-11: Google Talk introduces voice and video calling [40]

- 2009-03-11: Google buys GrandCentral, launches Google Voice [1]

- 2009-04-08: Facebook hits 200 million active users [25]

- 2009-06: iOS gets push notifications [42]

- 2009-06-25: Google Voice invitations being serviced [2]

- 2009-09-15: Facebook hits 300 million active users [26]

- 2010-02-04: Facebook hits 400 million active users [27]

- 2010-05-20: Android gets push notifications [41]

- 2010-06-21: FaceTime released with iOS 4 [43]

- 2010-06-22: Google Voice opens up invite-free to everyone in the US [3]

- 2010-07-21: Facebook hits 500 million active users [28]

- 2011-01-05: Facebook hits 600 million active users [29]

- 2011-05-30: Facebook probably hits around 700 million active users [30]

- 2011-06-28: Google+ launches, with text chat "+Messenger" and video chat "+Hangouts" [4]

- 2011-07-06: Facebook introduces video calling powered by Skype behind-the-scenes, needs installation [5]

- 2011-08-09: Facebook introduces Messenger app [6]

- 2011-09-22: Facebook hits 800 million active users [31]

- 2011-10-12: iMessage released with iOS 5

- 2012-04-23: Facebook hits 900 million active users [32]

- 2012-09-20: Facebook tries SMS sending from Messenger [7]

- 2013-04-17: Wired editorial on "Will Google Hang Up on Voice?" [8]

- 2013-05-15: Google launches 'Google Hangouts', which subsumes Google Talk, Google+ Messenger, Google+ Hangouts [9]

- 2013-10-29: Facebook discontinues send-SMS support in Messenger, sends Messenger message instead [10]

- 2013-10-29: Google Hangouts Android App gets SMS handler support [11]

- 2014-02-19: Facebook announces it will acquire WhatsApp [12]

- 2014-04-09: Facebook removes chat from its main app, forces people to use Messenger [13]

- 2014-09-11: Google Hangouts gets Google Voice integration [14]

- 2015-03-25: Facebook announces Messenger Platform for business, bot, and ad integration [15]

- 2015-04-27: Facebook Messenger gets native video calling [16]

- 2016-01-27: Hangouts 7.0 asks users to use Google Messenger for SMS instead [17]

- 2016-06-14: Facebook Messenger gets Android SMS handler support [18]

- 2016-07-13: Hangouts 11.0 removes support for merged conversations [19]

- 2016-08-16: Google releases Duo [20]

- 2016-09-21: Google releases Allo [21]

- 2016-10-07: Duo is replacing Hangouts in the base Android install [22]

- 2017-01-23: Google launches rebooted Google Voice app, with Hangouts-like UI

[1] https://googleblog.blogspot.com/2009/03/here-comes-google-vo... [2] https://googleblog.blogspot.com/2009/06/google-voice-invites... [3] http://googlevoiceblog.blogspot.com/2010/06/google-voice-for... [4] https://googleblog.blogspot.com/2011/06/introducing-google-p... [5] https://www.facebook.com/notes/philip-su/building-video-call... [6] https://newsroom.fb.com/news/2011/08/a-faster-way-to-message... [7] https://techcrunch.com/2012/09/20/facebook-android-update-yo... [8] https://www.wired.com/2013/04/google-voice-future-uncertain/ [9] http://www.theverge.com/2013/5/15/4318830/inside-hangouts-go... [10] https://techcrunch.com/2013/10/29/facebook-messenger-phone-n... [11] http://arstechnica.com/gadgets/2014/09/google-hangouts-gets-... [12] http://newsroom.fb.com/news/2014/02/facebook-to-acquire-what... [13] https://techcrunch.com/2014/04/09/facebook-messenger-or-the-... [14] http://arstechnica.com/gadgets/2014/09/google-hangouts-gets-... [15] https://developers.facebook.com/blog/post/2015/03/25/introdu... [16] http://newsroom.fb.com/news/2015/04/introducing-video-callin... [17] http://arstechnica.com/gadgets/2016/01/google-hangouts-7-0-f... [18] https://techcrunch.com/2016/06/14/facebook-messenger-texting... [19] http://arstechnica.com/gadgets/2016/07/google-hangouts-for-a... [20] https://blog.google/products/duo/meet-google-duo-simple-1-to... [21] https://blog.google/products/allo/google-allo-smarter-messag... [22] http://www.theverge.com/2016/10/7/13202866/google-hangouts-a... [23] http://www.whoishostingthis.com/blog/2014/10/22/instant-mess... [24] https://www.facebook.com/notes/facebook/our-first-100-millio... [25] https://www.facebook.com/notes/facebook/200-million-strong/7... [26] https://www.facebook.com/notes/facebook/300-million-and-on/1... [27] http://web.archive.org/web/20100212075226/http://blog.facebo... [28] https://www.theguardian.com/technology/2010/jul/21/facebook-... [29] http://www.businessinsider.com/facebook-has-more-than-600-mi... [30] http://www.adweek.com/news/technology/facebook-nears-700-mil... [31] http://mashable.com/2011/09/22/facebook-800-million-users/ [32] http://money.cnn.com/2012/04/23/technology/facebook-q1/ [33] https://news.ycombinator.com/item?id=11114518 [34] https://www.facebook.com/notes/facebook/facebook-chat-now-we... [35] https://googleblog.blogspot.com/2006/02/chat-email-crazy-del... [36] https://techcrunch.com/2006/09/26/facebook-just-launched-ope... [37] https://googleblog.blogspot.com/2007/02/from-gmail-with-3.ht... [38] http://www.apple.com/pr/library/2008/06/09Apple-Introduces-t... [39] https://android-developers.googleblog.com/2008/09/announcing... [40] https://gmail.googleblog.com/2008/11/say-hello-to-gmail-voic... [41] https://blog.serverdensity.com/android-push-notifications-tu... [42] https://www.urbanairship.com/push-notifications-explained [43] https://web.archive.org/web/20100609163523/http://www.engadg...


I don't disagree with your points but your timeline fudges the timescale quite a bit. I've researched this [1].

Facebook Chat went live 2008-04-06. Google didn't view them as a threat in messaging but a threat in social networking; they thought they had messaging in the bag with their 2008-09-23 release of Android 1.0, and their 2008-11-11 update to Google Talk which brought voice and video calling, and their 2009-03-11 acquisition of GrandCentral, which was soon rebranded an invite-only Google Voice. But Facebook kept growing and growing and it had an integrated chat on a website where people went to spend their time, instead of Gmail, where they went to manage email.

To combat Facebook on social networking, Google launched Buzz with aggressive auto-opt-in on 2010-02-09. Buzz fizzled and attracted controversy for its aggressive piggybacking on Gmail, so Google tried again with Google Plus on 2011-06-28. That was a better effort, and it included the features "+Messenger", a text chat, and the video chat "+Hangouts". By this point Facebook had more than 700 million active users, and won messaging handily; its lead was cemented by the acquisition of WhatsApp on 2014-02-19, as Google continued to flail about.

In a post of mine last year [2] (which includes an older revision of the timeline linked in [1]), I speculate that it was Facebook Chat that killed the mid-2000s chat networks of old like AIM, Yahoo Messenger, and WLM, rather than Google Talk or any particular missteps of those incumbent chat networks. For example, I was surprised to learn that AIM was present in the iOS App Store at launch -- of course, there were no push notifications at the time -- not until 2009-06.

[1] https://news.ycombinator.com/item?id=13465483

[2] https://news.ycombinator.com/item?id=11114518


You can use the query below (or something similar) to narrow results to include keywords found in popular discussion boards (modify it to suit your needs):

"dell latitude" inurl:comments|question|forum|viewthread|showthread|viewtopic|showtopic|"index.php?topic" | intext:"answer"|"reading this topic"|"next thread"|"next topic"|"send private message"|"reply"


The "S" in IoT stands for Security.

The technical merits and drawbacks of XMPP aside, deployment only works if there's an appetite from deployers. For high-visibility consumer chat that average people use, this appetite has vanished.

Around the mid-2000s, IM networks started getting tired of constantly changing their protocols to thwart third-party reverse engineering efforts like Microsoft logging into AIM, libpurple (Pidgin), or Trillian. But then Google Talk appeared [1] in 2006 inside the coveted invite-only Gmail, supporting XMPP, and significantly raised the bar.

So interoperability became a tool to maintain market share. The underdogs WLM and Yahoo started seamless interop [1] in July 2006, while Google Talk and AIM started a limited interop [1] in 2007. AIM briefly dabbled with XMPP it in 2008 [2] (great source -- see comments for AIM's response).

In the meantime, Facebook opened up for everyone, introduced Chat and rapidly lured away the myspace/AIM generation, becoming a major player in chat. Facebook introduced XMPP in February 2010 [3] but discontinued it [4] in 2015 after having deprecated it the year prior. This neatly coincided with their announcement to monetize the Messenger ecosystem, in ways that require a captive client [5].

Other vendors are similarly pursuing monetization within the client -- Snapchat and Kik as a content portal [6][7][8][9], Google as a context-aware assistant, Microsoft is lost at sea, Whatsapp as a Facebook data mining scheme, the Asian apps as a combination of all other techniques and microtranactions -- when anyone can bring a third-party client, their monetization strategy suffers. This makes XMPP's deployment future exceedingly bleak, perhaps restricted solely to corporate deployments.

[1] https://news.ycombinator.com/item?id=11114518 [2] https://web.archive.org/web/20080120143857/http://florianjen... [3] http://web.archive.org/web/20100318030410/http://developers.... [4] https://developers.facebook.com/docs/chat [5] https://developers.facebook.com/blog/post/2015/03/25/introdu... [6] https://news.ycombinator.com/item?id=11935956#11941090 [7] https://news.ycombinator.com/item?id=12000854#12002773 [8] https://news.ycombinator.com/item?id=12206846#12207459 [9] https://news.ycombinator.com/item?id=12272973#12273447


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: