Pro Yearly is on sale from $80 to $50! »

Hello, my name is __________.

05bab33cfd102c84f045838aa4e05bec?s=47 Nova Patch
October 28, 2015

Hello, my name is __________.

Video and notes: http://patch.codes/talks/hello-my-name-is/

Our personal identity is core to how we perceive ourselves and wish to be seen. All too often, however, applications, databases, and user interfaces are not designed to fully support the diversity of names expressed both locally and internationally. This talk demonstrates ways to build applications that respect users’ identities instead of limiting them.

Topics include:
◦ Input, validation, storage, and display of personal names
◦ Unicode usernames and solutions to security concerns
◦ Internationalization and localization considerations

The intended audience includes programmers, UX designers, and QA testers. Together we can build inclusive software that supports diverse identities.

Presented at:
◦ 2015-10-28: Internationalization & Unicode Conference 39 (IUC39), Santa Clara, CA
◦  2015-07-23: OSCON 2015, Portland, OR
◦  2015-06-23: Open Source Bridge 2015, Portland, OR
◦  2015-06-10: YAPC::NA 2015, Salt Lake City, UT

05bab33cfd102c84f045838aa4e05bec?s=128

Nova Patch

October 28, 2015
Tweet

Transcript

  1. Hello, my name is ___________.

  2. Hello, my name is Nova Patch

  3. Hello, my name is @novapatch

  4. Hello, my name is #MyNameIs

  5. Why don’t you support my name?

  6. 1. Unintentional bugs Why don’t you support my name?

  7. 1. Unintentional bugs 2. Uninformed decisions Why don’t you support

    my name?
  8. 1. Unintentional bugs 2. Uninformed decisions 3. Oppressive “real” name

    policies Why don’t you support my name?
  9. None
  10. None
  11. None
  12. None
  13. 文字化け

  14. Mojibake

  15. æ–‡å—化ã� ‘

  16. In memory of Nóirín Plunkett

  17. None
  18. None
  19. None
  20. None
  21. None
  22. None
  23. None
  24. None
  25. None
  26. None
  27. None
  28. Source: W3C “Character encodings: Essential concepts” by Richard Ishida; ©

    W3C
  29. MySQL utf8 vs. utf8mb4

  30. JavaScript “characters”

  31. “Almost all emoji —and all new ones— are encoded in

    Plane 1” Why support non-BMP characters? Source: ”2015 Top Ten List: Why Support Beyond-BMP Code Points?” by Dr. Ken Lunde © Adobe Systems Incorporated
  32. “Japan’s 2,136 Jōyō Kanji requires one Extension B ideograph” Why

    support non-BMP characters? Source: ”2015 Top Ten List: Why Support Beyond-BMP Code Points?” by Dr. Ken Lunde © Adobe Systems Incorporated
  33. “JIS X 0213:2004 requires 303 Extension B ideographs” Why support

    non-BMP characters? Source: ”2015 Top Ten List: Why Support Beyond-BMP Code Points?” by Dr. Ken Lunde © Adobe Systems Incorporated
  34. Why support non-BMP characters?

  35. “GB 18030 certification without PUA requires six Extension B ideographs”

    Why support non-BMP characters? Source: ”2015 Top Ten List: Why Support Beyond-BMP Code Points?” by Dr. Ken Lunde © Adobe Systems Incorporated
  36. “China’s 8,105 hànzì set requires 196 Extension B through E

    ideographs” Why support non-BMP characters? Source: ”2015 Top Ten List: Why Support Beyond-BMP Code Points?” by Dr. Ken Lunde © Adobe Systems Incorporated
  37. “Hong Kong SCS-2008 requires 1,702 Extension B & C ideographs”

    Why support non-BMP characters? Source: ”2015 Top Ten List: Why Support Beyond-BMP Code Points?” by Dr. Ken Lunde © Adobe Systems Incorporated
  38. “Modern OSes and applications support code points outside the BMP”

    Why support non-BMP characters? Source: ”2015 Top Ten List: Why Support Beyond-BMP Code Points?” by Dr. Ken Lunde © Adobe Systems Incorporated
  39. “As of Unicode Version 6.0, there are more characters outside

    the BMP” Why support non-BMP characters? Source: ”2015 Top Ten List: Why Support Beyond-BMP Code Points?” by Dr. Ken Lunde © Adobe Systems Incorporated
  40. “The BMP is effectively full” Why support non-BMP characters? Source:

    ”2015 Top Ten List: Why Support Beyond-BMP Code Points?” by Dr. Ken Lunde © Adobe Systems Incorporated
  41. 李炘煜

  42. 李▯煜

  43. 李炘煜 U+674E U+7098 U+715C

  44. None
  45. None
  46. None
  47. None
  48. O'Reilly

  49. O\'Reilly

  50. O'Reilly

  51. OReilly

  52. O

  53. None
  54. None
  55. None
  56. 1. Identifier characters 2. Case folding 3. Normalization 4. Confusable

    characters 5. Mixed scripts Unicode Usernames
  57. 1. UTS #31: Unicode Identifier and Pattern Syntax 2. UTR

    #36: Unicode Security Considerations 3. UTS #39: Unicode Security Mechanisms 4. RFC 7613: Preparation, Enforcement, and Comparison of Internationalized Strings Representing Usernames and Passwords Unicode Usernames
  58. None
  59. Preventing fake names is not worth discriminating against real users.

  60. Nova Patch @novapatch Shutterstock