[00:51:15] <vlad2> Скачалось!!!
[00:59:13] <vlad2> Ставится.
[01:37:46] <vlad2> Поставил.
[01:38:40] <vlad2> Цвет менюбара даставляет. Как у советского цветного телевизора с кинескопом на помойку.
[13:46:41] <alexey.veselovsky> vlad2: как ощущения? работает шустро?
[16:22:12] <vlad2> Не пробовал еще.
[16:22:22] <vlad2> Но наш продукт успешно упал на первом запуске ;)
[16:23:27] <vlad2> Так что все как обычно.
[16:40:48] <alexey.veselovsky> Блин. Расстреляйте дизайнера!
[16:53:13] <alexey.veselovsky> ставлю заново
[16:54:46] <alexey.veselovsky> Зато Activity Monitor стал более вменяемым
[16:56:47] <vlad2> Щаз гляну.
[16:57:22] <vlad2> Гхм. Ну он не исез. Он просто не запускается.
[16:57:45] <alexey.veselovsky> у меня даже файлы икскодовых проектов перестали быть с ним ассоциированны
[16:57:58] <alexey.veselovsky> то есть они теперь выглядят как просто папки
[16:58:34] <alexey.veselovsky> и кто придумал для дока эту белесую подложку?
[16:58:40] <alexey.veselovsky> убогую
[16:59:01] <alexey.veselovsky> теперь иконки смотрятся не контрастно
[17:04:23] <vlad2> Мне больше всего менюбар новый "понравился" :)
[17:04:32] <vlad2> Вооьще все глчит.
[17:04:32] <alexey.veselovsky> менюбар - это что?
[17:04:45] <vlad2> Висят какие-то апдейтв. При этом они не хотят ставится.
[17:04:52] <vlad2> И не показывает что за апдейты...
[17:05:00] <vlad2> Это то, что на самом верху.
[17:05:06] <vlad2> Менюшка всех приложений.
[17:05:06] <alexey.veselovsky> Ну, такое уже было у меня, на iOS
[17:05:19] <alexey.veselovsky> Гм. Он вроде бы как раз не изменился - как был полупрозрачным так и остался
[17:05:27] <alexey.veselovsky> Воткни прежнюю обоину - станет тем же
[17:06:17] <alexey.veselovsky> Activity Monitor жжот! Утверждает что Сафари памяти не ест ВООБЩЕ
[17:06:23] <alexey.veselovsky> То есть ровно 0 байт ОЗУ потребило
[17:06:37] <vlad2> Хе-хе ;) Ы ты думал :)
[17:06:44] <vlad2> Рука руку моет :)
[17:07:01] <vlad2> Блин. Если икскод так и не запустится предтся же даунгрейтиться.
[17:07:16] <vlad2> А это будет непросто, я подозреваю.
[17:07:17] <alexey.veselovsky> а я снова его ставлю
[17:07:29] <vlad2> У меня ж он древний - 3.1
[17:07:31] <alexey.veselovsky> ибо АппСтор теперь также считает что у меня его не стоит
[17:07:35] <alexey.veselovsky> Аа...
[17:09:49] <alexey.veselovsky> Ыы...
[17:09:53] <alexey.veselovsky> У-у...
[17:09:59] <alexey.veselovsky> Жесть!
[17:10:14] <alexey.veselovsky> Перезапустил Activity Monitor - теперь оно считает что ВСЕ программы жрут по 0 байт ОЗУ
[17:10:56] <vlad2> Мда.
[17:11:51] <alexey.veselovsky> top - он как-то надежней :-)
[17:33:28] <Kemet> ыыы,яблочнеги
[17:33:40] <alexey.veselovsky> боль и страдания!
[17:35:35] <Kemet> apple.destroy
[17:36:12] <alexey.veselovsky> там нет деструктора :-)
[17:37:47] <Kemet> а ты бонбой
[17:38:59] <Kemet> ыыы, там мусорщик
[17:40:02] <vlad2> Распечатал и повесил: http://media.tumblr.com/c6af9bc39b84b0c445e9aa14c3f79d81/tumblr_inline_msq0n0ASUM1qz4rgp.jpg
[17:40:22] <alexey.veselovsky> ага
[17:40:34] <alexey.veselovsky> хотя это и для питона справедливо :-)
[17:41:39] <vlad2> В офисе. На доске рядом с "JavaScript Engineer wanted".
[17:41:45] <Kemet> vlad2: за это тебя признают экстремистом и припаяют 282-ю статью!
[17:43:05] <vlad2> alexey.veselovsky: жрет 0 это еще ладно, вот если бы "-1"...
[17:43:20] <alexey.veselovsky> возможно у них там unsigned :-)
[18:03:08] <vlad2> Было бы тогда 4Гб. Или 2^64 :)
[18:28:02] <vlad2> От шарпописателя картинка зачет получила. Подождем реакцию жабаскриптописателей.
[18:28:19] <alexey.veselovsky> :-)
[18:34:34] <alexey.veselovsky> vlad2: слушай, а LEN ведь для ARRAY OF CHAR выдает именно длину массива, а не длину строки ведь?
[18:35:20] <vlad2> Конечно!
[18:35:30] <alexey.veselovsky> как я Вирта люблю!
[18:35:34] <alexey.veselovsky> :-)
[18:35:40] <vlad2> Поэтому для строк и нужны динамические массивы.
[18:35:58] <alexey.veselovsky> для строк нужны строки :-)
[18:36:07] <alexey.veselovsky> а динамические массивы as is не нужны :-)
[18:41:25] <vlad2> Динамические массивы нужны, чтобы не придумывать строки :)
[18:46:22] <alexey.veselovsky> А строки все равно придумывать - ибо строка это не только динамический массив :-)
[18:46:45] <alexey.veselovsky> вот скажи мне, какого типа у нас CHAR?
[18:46:55] <alexey.veselovsky> И какого типа CHAR в Обероне вообще должен быть?
[18:49:29] <alexey.veselovsky> моя имха - CHAR - это должен быть UTF-32 (4 байта на символ),  исходный код программы в UTF-8
[18:50:35] <alexey.veselovsky> соответственно строковые литералы в коде тоже представлены как UTF-8, и компилер их конвертит к UTF-32 во время компиляции (или обращения - пофиг).
[18:51:51] <alexey.veselovsky> для мелочи всякой (типо микроконтроллеров) может быть опция компилятору чтобы CHAR был равен 1 байту. Но компилер в этом случае должен проверить и гарантировать что никакое другое значение (вылезающее за 1 байт) туда не попадет.
[19:29:01] <vlad2> В случае жабаскрипта CHAR должен быть нэйтив - UTF16.
[19:54:29] <vаlexey> vlad2: он у тебя не натив уже
[19:55:45] <vlad2> Нэйтив. Там целые числа, которые не могут быть больше 16 бит.
[19:56:56] <vlad2> (естественнно это не проверятся, в духе жабаскрипта)
[19:57:57] <vаlexey> vlad2: ты не прав :-)
[19:58:02] <vаlexey> str = "世界"
[19:58:14] <vаlexey> хотя нет, вру
[19:58:15] <vlad2> И чего?
[19:58:22] <vаlexey> надо другие иероглифы подобрать :-)
[19:58:30] <vlad2> Удачи :)
[19:59:14] <vlad2> http://www.w3schools.com/jsref/jsref_charcodeat.asp
[19:59:27] <vlad2> Там написано "number"
[19:59:42] <vlad2> В мозилле напсано, что это UTF16
[20:00:01] <vlad2> Короче будет зависеть от платформы.
[20:00:24] <vlad2> Если в каком-то JS движке UTF32 - значит будет 32-битные целые.
[20:00:55] <vlad2> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt
[20:01:04] <vаlexey> я наверно все же был бы за то, чтобы по индексу у нас всегда была буква
[20:01:05] <vlad2> "Note that charCodeAt will always return a value that is less than 65,536"
[20:01:07] <vаlexey> а не кусок буквы
[20:01:21] <vаlexey> да я уже проверил
[20:01:28] <vаlexey> str = "𝄞"
"𝄞"
str.charCodeAt(0)
55348
str.charCodeAt(1)
56606
str.charCodeAt(2)
NaN
[20:01:29] <vlad2> А как же O(1)?
[20:01:39] <vаlexey> Вот тогда и будет O(1)
[20:01:49] <vаlexey> А как сейчас имеем O(n)
[20:01:55] <vаlexey> O( n )
[20:02:04] <vlad2> Не, O(1) будет только для кодировки конкретной UTF8/16/32
[20:02:21] <vаlexey> не будет. O(1) будет только для UTF-32
[20:02:30] <vаlexey> ибо там фиксированный размер буквы
[20:02:39] <vlad2> Т.е. по индексу получаем кусок кодировки (который может быть символом), а не символ.
[20:02:45] <vаlexey> а в UTF-8 и UTF-16 он плавающий
[20:03:00] <vlad2> Где-то я читал, что каким-то иероглифам мало UTF32.
[20:03:10] <vаlexey> не, это для utf-16
[20:03:15] <vlad2> Т.е. один юникодный символ кодируется двумя UTF32.
[20:03:18] <vаlexey> 32 и близко не переполнен
[20:03:56] <vаlexey> Because only 17 planes are actually in use, all current code points are between 0 and 0x10FFFF.
[20:04:16] <vаlexey> еще точнее - лучше UCS-4 использовать
[20:05:03] <vаlexey> И тогда CHAR у нас 32битный, и доступ к символу по индексу у нас ВСЕГДА за O(1)
[20:05:04] <vlad2> Короче, я бы не стал исправлять огрехи конкретного движка компилятором.
[20:05:31] <vlad2> Чего у него там в строке сидит, то и будет CHAR.
[20:05:45] <vаlexey> В случае UTF-16 для строк придется городитЬ велосипед за O( n )
[20:06:20] <vаlexey> Причем это не столь критично для иммутабельных JS-строк, но критично для изменяемых обероновых
[20:06:26] <vlad2> Да не нужен он этот велосипед. Узкая специализация.
[20:06:57] <vlad2> У нас сколько лет уже в продукте юникод как UTF16 - никаких проблем с неполными символами.
[20:07:05] <vаlexey> короче, я еще литературку почитаю :-) точнее флеймы среди js-ников.
[20:07:16] <vlad2> (причем на маке тоже UTF16, чтобы не плодить багов на ровном месте)
[20:07:48] <vlad2> (хотя мак поддерживает UTF32 в части апи)
[20:07:49] <vаlexey> vlad2: а ты уверен что у вас именно utf-16 а не ucs-2?
[20:08:06] <vаlexey> потому что у ucs-2 гарантированно один символ - два байта
[20:08:14] <vlad2> Я не помню уже каки там тонкости.
[20:08:15] <vаlexey> (остальное в него просто не конвертится)
[20:08:28] <vаlexey> а у utf-16 таки переменная длина с минимум в 2 байта
[20:08:29] <vlad2> Не, на маке точно UTF16.
[20:08:43] <vlad2> На винде - ocs-2, потому что оно там нэйтив.
[20:09:09] <vаlexey> на винде utf-16 уже нэйтив
[20:09:16] <vаlexey> они поменяли API довольно давно в этом плане
[20:09:19] <vlad2> Вообще это все фигня, потому что у нас корная часть до сих пор в macroman ;)
[20:09:26] <vаlexey> O_O
[20:09:31] <vlad2> И конца этому macroamn пока не видно.
[20:09:53] <vlad2> Т.е. даже русский оно нормально не держит.
[20:10:03] <vаlexey> гы-ы
[20:10:11] <vаlexey> ну в этом случае да, ucs-2 вам за глаза :-D
[20:11:21] <vlad2> Я ж тут как раз с год назад подвиг совершил - сделал чтоб хотя бы интегрированный жабаскрипт работал в нормальном UTF16. Потому что до этого он тоже был в macroman.
[20:11:53] <vlad2> После этого была кучка regressions, естественно, но оно того стоило.
[20:12:21] <vlad2> Код на жабаскрипте усиленно пилится и дальше жить с macroman уже просто неприлично.
[20:17:34] <vаlexey> блин, жесть
[20:17:47] <vаlexey> кстати, а вы будете в аппстор выходить?
[20:26:52] <vаlexey> не, utf-8 и utf-16 таки для чара не годятся ну никак. ибо программер загребется подбирать размер N в ARRAY N OF CHAR чтобы строковый литерал туда уместился целиком.
[20:35:22] <vаlexey> vlad: а ну ка, признайся, как ты не делая CHAR 4 байтным реализуешь ORD? :-) ORD("𝄞")
[20:35:28] <vаlexey> где 𝄞 - кодируется 4 байтами.
[20:35:40] <vаlexey> (то есть не влезает оно в 16 бит
[20:35:54] <vlad2> Ну будет "ограничение реализации"
[20:36:01] <vlad2> Делов то.
[20:36:18] <vlad2> У Вирта там вообще было что-то про Latin-1 ;) Макроман в профиль ;)
[20:36:30] <vаlexey> Ну, то раньше было. Теперь то он выпилил :-)
[20:37:32] <vlad2> Видмо ему кто-то про уникод сказал :)
[20:37:44] <vаlexey> скорее проболтался :-)
[20:37:45] <vlad2> Но разбираться было влом, поэтому просто выпилил :)
[20:38:20] <vаlexey> короче, надо еще будет подумать. не думаю что реализовать все кошерно будет сложно. Но конечно вначале надо по граблям побегать на чем-нибудь реальном.
[20:38:30] <vаlexey> Ну. там либу рализовать, текстовый редактор написать :-)
[20:40:15] <vаlexey> во! я хотел еще глянуть как онлайн-редактор у гитхаба устроен.
[20:40:28] <vаlexey> нельзя же только на в codemirror смотреться
[21:19:09] <vаlexey> подумал я, и решил что не буду писать в Sublime на обероне - не достаточно сурово!
[21:19:12] <vаlexey> Буду писать в Фаре!