BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//pretalx//pretalx.devconf.info//devconf-cz-2026//talk//VGQYX9
BEGIN:VTIMEZONE
TZID:CET
BEGIN:STANDARD
DTSTART:20001029T040000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20000326T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
UID:pretalx-devconf-cz-2026-VGQYX9@pretalx.devconf.info
DTSTART;TZID=CET:20260618T101500
DTEND;TZID=CET:20260618T105000
DESCRIPTION:`strlen("Dvořák")` returns 8\, not 6. If that surprises you\,
  this talk is for you.\n\nWe have all seen it: `Dvořák` turns into `Dvo
 ÅÃ¡k`\, names become question marks. You try things until it works. But
  what is actually going on?\n\nI will start with how we got here: ASCII\, 
 code pages\, Unicode\, and what it left unsolved. That part will be quick.
  Where I really want to dig in is what the C library does next: how `iconv
 ` converts between encodings\, how the gconv pipeline inside glibc works\,
  and why things like `//IGNORE` behave inconsistently. \n\nAs a glibc cont
 ributor\, I learned most of this the long way. I will share those experien
 ces and the surprises along the way.\n\nYou will walk away with a working 
 mental model of character encoding in general and especially in C\, from h
 istory to implementation.
DTSTAMP:20260430T125156Z
LOCATION:E104 (capacity 72)
SUMMARY:Lost in Transliteration: Why strlen("Dvořák") Returns 8 - Avinal 
 Kumar
URL:https://pretalx.devconf.info/devconf-cz-2026/talk/VGQYX9/
END:VEVENT
END:VCALENDAR
