[01:24:59] <valexey> vlad2: вахаха! твой питоноскрипт не работает на актуальном питоне!
[01:25:04] <valexey> питономаздай!
[01:31:00] <vlad2> Да, я знаю, на 3-м не работает. Не смотрел почему.
[01:31:10] <vlad2> №-й не использовал в продакшине :)
[01:31:16] <vlad2> 3-й
[01:31:30] <vlad2> Кстати, актуальный питона 2 ;)
[01:31:44] <vlad2> актуальных питонов две штуки
[01:31:57] <vlad2> 2.x и 3 :)
[01:35:22] <valexey> vlad2: ну я пофиксил
[01:35:49] <vlad2> Спасибо! :)
[01:35:54] <valexey> теперь работает в третьем (хотя я хз работает оно во втором теперь, или нет :-) один фикс точно не приведет к неработоспособности в 2.6. а другой хз)
[01:36:10] <valexey> Да, и вот такой модуль оно у меня НИКАМПИЛЯЕТ!!!11
[01:36:12] <valexey> MODULE test;
IMPORT JS;
VAR a : INTEGER;
BEGIN
a:=42;
a:=a+1;
END test.
[01:36:24] <vlad2> Точка с запятой лишняя ;)
[01:37:31] <valexey> Ах, ты ж етить в карету! Интуитивно понятный синтаксис, блин.
[01:37:44] <valexey> Ну и сообщения компилятора тоже интуитивно понятные
[01:37:46] <valexey> Лог:
[01:37:52] <valexey> var JS = function(){return this;}();
var test = function (){
var a = 0;
a = 42;
a = a + 1;
oc.js:2724
line 1 oc.js:2725
exports.compile oc.js:2725
compile oberonjs.html:32
onclick oberonjs.html:15
Uncaught syntax error, position: 0 oc.js:2727
exports.compile oc.js:2727
compile oberonjs.html:32
onclick
[01:39:01] <vlad2> Конкретно над сообщениями нарушения семантики - я приложился. По поводу остальной диагностики (синтаксис, восстановление) - ничего не делал.
[01:39:35] <vlad2> Но я знаю как это сделать :)
[01:39:48] <valexey> Щща я его строками мучать буду!
[01:39:51] <vlad2> Там в одном месте у меня нормально дигностируется именно синтаксис.
[01:40:12] <vlad2> Т.е. надо просто "расставить" по нужным местам нужные маркеры.
[01:41:42] <vlad2> Вообще фрастрэйшн от точек запятой порой перекрывает даже необычность КАПСа ;)
[01:41:52] <vlad2> Ту и Вирта реально пунктик.
[01:41:55] <vlad2> Тут
[01:42:20] <valexey> Да капец. Фиг запомнишь где она нужна, а где нет
[01:44:37] <valexey> Uncaught type mismatch: 'b' is 'ARRAY OF CHAR' and cannot be assigned to 'multi-character string' expression
[01:44:40] <valexey> :-(
[01:44:56] <valexey> блин, опять я забыл что там со строками, в обероне этом
[01:45:45] <vlad2> Я тоже не знаю - не имплементил ;)
[01:45:53] <vlad2> Должно работать, вроде.
[01:45:58] <vlad2> Т.е. - моя недоделка.
[01:46:06] <valexey> MODULE test;
IMPORT JS;
VAR
a : INTEGER;
b : ARRAY 256 OF CHAR;
BEGIN
a:=42;
JS.console.log(a);
b:="Hello";
JS.console.log(b)
END test.
[01:46:15] <valexey> мужской половой орган вместо работы
[01:57:37] <vlad2> Но теперь я согу сказать, что ты можешь допилить сам ;)
[01:58:08] <valexey> злой какой!
[01:58:18] <valexey> так, пул реквест про питон я заслал
[01:58:31] <vlad2> Кстати, как оно работает в смысле VCS? Туда можно всем коммитать? Или я должен в какой-то момент применить все что накоммитили?
[01:59:07] <vlad2> Щаз гляну.
[01:59:23] <valexey> Нет, всем нельзя. Только тем кому ты явно пропишешь. Обычно мезанизм такой - тебя форкают, что-то меняют/фиксят и затем шлют реквест на слияние. Как я вот сейчас.
[01:59:41] <valexey> Это ж DVCS - распределенка. В этом то вся и прелесть.
[01:59:59] <valexey> (а этот фикс я вообще чисто в браузере сделал, без чекаута на диск даже)
[02:00:27] <vlad2> Фак. Забыл пароль.
[02:01:04] <valexey> (да, и я подозреваю, что этот фикс, в том месте где except Exception, e меняется на except Exception as e: -- вероятно сломает таки второй питон
[02:01:23] <valexey> Ну, вспоминай, фигли :-) Благо там есть восстанавливался пароля.
[02:04:26] <vlad2> Да, на втором не работает.
[02:05:31] <valexey> Походу надо две версии :-)
[02:06:00] <vlad2> Вот так "правильно" для 2 и 3 одновременно:
[02:06:02] <vlad2> try:
raise Exception()
except Exception:
import sys
exc = sys.exc_info()[1]
# Current exception is 'exc'
pass
[02:06:33] <valexey> o_O
[02:06:46] <vlad2> Пахнуло жабаскриптом :)
[02:07:29] <valexey> ога. да у них у всех единая сущность! только синтаксис чуть различается.
[02:07:35] <valexey> волк в овечьей шкуре!
[02:07:38] <vlad2> Сейчас не буду ничего фиксить (типа некогда)
[02:08:03] <valexey> ок
[02:09:11] <valexey> зато у меня теперь есть клон твоего репозитория, где я могу резвиццо всячески (оно автоматом создалось когда патч писал)
[02:09:17] <valexey> https://github.com/valexey/oberonjs
[02:09:47] <vlad2> Хе-хе.
[02:10:09] <vlad2> Больше обнронов. Тысячи их!
[02:10:52] <vlad2> Будущее уже сегодня. Гугл транслэйтит voice messages в емылы. Вау!
[02:12:14] <valexey> Эту технологию я в 2010 году видел на каком-то слете сотовых магнатов :-)
[02:13:08] <valexey> Кстати, на гитхабе можно в комиттах устраивать знатные срачики по поводу того кто чего там накомиттил.
[02:14:14] <vlad2> Пока критической массы не хватает :)
[02:14:22] <valexey> угу :-)
[02:14:31] <valexey> А ПОТОМ ПЕРЕПИСАТЬ ЕГО НА САМОМ СЕБЕ!!!!11
[02:15:00] <valexey> Не, ну реально, где там возникнут проблемы в таком переписывании?
[02:15:01] <vlad2> Да, иначе незачет :)
[02:15:20] <vlad2> Меня реально будет тошнить от массивов только заданной длины :)
[02:15:39] <vlad2> Типа идентификаторы в 256 символов и не больше.
[02:15:56] <valexey> РЕШИМ ЛИБАМИ!!11
[02:16:00] <vlad2> И пофиг, что большего размерв ненужны.
[02:16:13] <vlad2> Либами будет жестоко :)
[02:16:35] <valexey> А реализация либ - читерская -- через IMPORT JS; :-D
[02:16:44] <valexey> + Обвязка для статической типизации.
[02:20:49] <vlad2> А. Ну тогда да. Но это все же не либы, а расширения рантайма. Пусть даже и не компилятора.
[02:33:42] <vlad2> Учитесь политкорректности у америкосов: "Internet Explorer does not adhere to the general rules that all other web browsers follow when it comes to scripting." ;)
[02:34:07] <vlad2> А то все "гавно, гавно"...
[02:43:37] <valexey> vlad2: это просто либы которые писаны не на самом обероне, а скажем. на асме. то есть на нативном для платформы языке. low level lib
[02:44:13] <valexey> теоретически это можно и на обероне написать, но это будет геморройная кривая реализация. а главное - трудоемкая.
[02:44:20] <valexey> и не столь эффективная
[02:44:41] <valexey> то есть это все же не расширение рантайма, это либа.
[02:49:33] <vlad2> Угу.
[02:50:01] <vlad2> Но все равно - как будет выглядеть сигнатура функции, возвращающей массив заданного размера в о7?
[02:50:18] <vlad2> Указателей на массив в языке нет.
[02:50:59] <valexey> Через каллбек и открытый массив аргументом!
[02:51:09] <valexey> (адъ и израиль, да)
[02:51:27] <valexey> Впрочем, пофиг. Будет тупо дескриптор на самом деле.
[02:51:34] <valexey> Opaque type
[02:55:17] <vlad2> Таки добавить указатель на открытый массив и не парить мозг :)
[02:55:34] <vlad2> У ромираса как сделано?
[02:56:41] <valexey> Не, расширять и менять язык - не кошерно!
[02:56:47] <valexey> Точнее - не спортивно.
[02:57:07] <valexey> Чем тебя собственно дескриптор не устраивает? Вполне себе общее решение :-)
[02:58:44] <vlad2> Ужос-ужос.
[02:59:58] <valexey> Ну вот завтра нам захочется не массив, а btree, тоже в язык зашивать будем? :-)
[03:02:02] <valexey> Из всего этого меня не угнетают эти чертовы массивы, меня угнетает отсутствие дженериков. Без который вменяемой статической типизации для контейнеров не выйдет.
[03:03:09] <valexey> В точности также меня это же угнетает и в Go
[03:05:47] <vlad2> Эх ты на что замахнулся :)
[03:11:58] <valexey> Ну хоть бы как в модуле-3, с ручным приводом генерация параметризированных модулей
[03:12:00] <valexey> Впрочем, это даже вне компилера можно сделать
[12:06:41] <ilov_boris> Люди, кто нить знает как максимально быстро создать много тысяч файлов?
[12:07:14] <ilov_boris> Мне нужно записать ~700МБ инфы
[12:07:43] <ilov_boris> если кидаю все в один файл, то уходит 10 сек
[12:08:17] <ilov_boris> если кидаю в отдельные файлы (~30000 штук) то уходит 150 сек
[12:58:37] <egp> нет сил бороться с апп сервером.
[12:58:54] <egp> где взять неглюкавый аппсервер?
[15:01:44] <valexey> ilov_boris: последовательно или параллельно?
[15:02:38] <valexey> вообще, много тысяч мелких файлов на ntfs - плохая идея
[15:03:12] <valexey> особенно если они размером порядка 500 байт
[15:05:46] <ilov_boris> "последовательно или параллельно?" - без разницы. Нужно чтобы быстро :)
[15:06:21] <valexey> Чтобы быстро, не нужно использовать ntfs :-)
[15:06:38] <valexey> Ну или ВНАЧАЛЕ их создать, а уже потом писать.
[15:06:48] <ilov_boris> Оно будет и на венде и на линухе работать
[15:07:18] <ilov_boris> Узким местом является CreateFile
[15:07:38] <valexey> Дык да. Ибо системный вызов + сама ФС тормоззит
[15:07:56] <valexey> На линухе проблема частично решается использованием просто другой FS - например tmpfs
[15:08:21] <ilov_boris> Я уж думал как нить через потоки NTFS....
[15:08:38] <valexey> Э? Дык это ж один фиг будет один файл а не несколько
[15:08:45] <valexey> Просто в одном файле несколько "потоков"
[15:09:03] <ilov_boris> А потоки не быстрее создаются? Не шарю.
[15:09:58] <valexey> Потоки может и быстрее, но на выходе то у тебя ОДИН ФАЙЛ получится
[15:10:08] <valexey> Короче, поставь вначале нормально задачу :-)
[15:10:26] <ilov_boris> А их вроде потом можно конвертнуть в файлы...
[15:10:49] <valexey> Дык и обычный файл потом можно разрезать на кучу мелких файлов :-)
[15:10:53] <valexey> Эффективность будет та же
[15:11:22] <ilov_boris> О! А как?
[15:11:35] <ilov_boris> Это эффективно делается?
[15:12:08] <ilov_boris> Хотя наверно один фиг CreateFile
[15:12:21] <valexey> Дык, да.
[15:12:29] <ilov_boris> Чорт :D
[15:13:36] <ilov_boris> Я написал распаковщик конфигураций и обработок 1С на Lua
[15:13:57] <ilov_boris> Помнишь на шарпе я колупался с готовой либой?
[15:14:01] <valexey> угу
[15:14:14] <ilov_boris> Вот теперь у меня такая либа на Lua
[15:15:33] <valexey> А обязательно на файлы резать? А зачем на файлы резать?
[15:15:39] <ilov_boris> http://pastebin.com/enC3ZTZY
[15:18:02] <valexey> кот
[15:19:39] <ilov_boris> Ну конфигурация 1С это типа архив объектов
[15:19:53] <ilov_boris> файлы - это объекты
[15:20:08] <ilov_boris> типа в JSON формате :)
[15:20:20] <valexey> а что мешает сделать одно файло в json'e,
[15:20:21] <valexey> ?
[15:20:48] <ilov_boris> Суть распаковки в том, чтобы сие в SVN например закинуть
[15:21:03] <valexey> ну, и одним файлом закинится :-)
[15:21:43] <valexey> хотя... ведь оно только первый раз будет много создавать файлов. потом, при обновлении, оно ведь просто в них будет дописывать/модифицировать.
[15:21:48] <valexey> Так что не вижу проблемы.
[15:22:14] <ilov_boris> Да особой проблемы нет. 150 сек на такой объем тоже не плохо
[15:22:41] <ilov_boris> Я так сказать в общем заинтересовался
[15:22:58] <valexey> ну и опять же - решется использованием другой fs. В линухе. В виндах особых вариантов вроде нет :-)
[15:23:00] <ilov_boris> как быстро создавать кучу файлов.... и можно ли вообще
[15:23:56] <valexey> А ты посмотри, так ли тормозит именно создание файлов - возьми и создай это же число файлов из скрипта, но ничего туда не пиши.
[15:23:58] <valexey> И посмотри на время
[15:24:19] <valexey> А затем то же проделай в линухе с разными FS
[15:25:39] <ilov_boris> Да. Надо тестить разные варианты...
[15:28:31] <valexey> "NTFS may just be too slow in handling directories with large numbers of files"
[15:28:45] <valexey> http://stackoverflow.com/questions/7430959/how-to-make-createfile-as-fast-as-possible
[18:12:15] <alexey.veselovsky> /me еще один пулреквест мелкие сделал
[19:43:16] <vlad2> вроде мерджнулось
[19:47:08] <alexey.veselovsky> угу
[19:47:36] <alexey.veselovsky> опунсурс - отличный способ обновить свои знания и научиться пользоваться современным инструментарием :-)
[19:49:33] <alexey.veselovsky> мне аж письмо про это пришло и оповещалка на гитхабе
[19:55:13] <vlad2> Мне интересно как это все с минимальным гемором прикрутить к моей VCS
[19:55:39] <alexey.veselovsky> А твоя какая?
[19:55:45] <vlad2> perforce
[19:56:04] <alexey.veselovsky> у-у, блин. оно еще живо?
[19:56:10] <alexey.veselovsky> дивнозавр!
[19:56:14] <vlad2> Сразу оговорюсь, что на гит я не собираюсь переходить.
[19:56:36] <vlad2> Живее всех живых. Новые версии выходят.
[19:57:23] <alexey.veselovsky> жуть! про перфорс я слышал только в старых легендах, страшных сказаниях которыми пугают молодых программистов!
[19:57:24] <vlad2> Динозавр это мсный как там его...
[19:57:52] <vlad2> А чем там пугать, кроме централизованности?
[19:58:33] <alexey.veselovsky> проприентарностью? :-)
[19:59:57] <vlad2> проприетарность бывает полезной.
[20:00:01] <alexey.veselovsky> вообще в централизованных системах большого смысла я не вижу - не удобно же!
[20:00:01] <vlad2> Например виндовс.
[20:00:15] <alexey.veselovsky> это контрпример :-)
[20:00:16] <vlad2> Неудобно для чего?
[20:00:33] <alexey.veselovsky> для распределенной разработки например не удобно
[20:01:16] <alexey.veselovsky> ну не нравится мне, что мне нужно иметь сеть на машине для банального просмотре истории изменений, комиттов и так далее
[20:01:30] <alexey.veselovsky> то есть для полноценного наслаждения прелестями VCS
[20:08:05] <vlad2> Гхм. Зачем иметь сеть?
[20:08:26] <vlad2> Ставишь репозиторий на свою машину и все :)
[20:08:34] <alexey.veselovsky> а как сделать комит без сети в централизованной системе контроля версий?
[20:08:48] <vlad2> Никак.
[20:08:57] <vlad2> Но оно нинужно.
[20:09:06] <alexey.veselovsky> ну это ж гемор. потом мигрировать оттуда и ваще... ну нафик. git&hg наше все! ибо дюже удобно
[20:09:31] <vlad2> гит на винде - вечные глюки
[20:09:41] <vlad2> hg - название дурацкое
[20:09:47] <vlad2> что у нас оостается? :)
[20:10:17] <alexey.veselovsky> поэтому в тех проектах где у меня участвует подвинда, у меня mercurial :-)
[20:11:36] <alexey.veselovsky> А в медицинском термометре тебя hg не смущает? :-)
[20:11:57] <alexey.veselovsky> ну и давление меряется до сих пор в миллиметрах этого самого hg :-)
[20:22:28] <vlad2> Это тоже смотря где ;) Вот в штатах оно совсем в других попугаях меряется.
[20:22:46] <alexey.veselovsky> э? а в каких?
[20:22:47] <vlad2> (и даже не в дюймах)
[20:22:50] <vlad2> ХЗ.
[20:23:11] <alexey.veselovsky> в жопах толстого сэма на треугольный фут?
[20:24:11] <vlad2> Хотя на интеликасте в дюймах.
[20:27:25] <vlad2> То ли в барах то ли еще как.
[20:27:52] <alexey.veselovsky> а, ну бары это нормально. это хорошо. еще лучше было бы в Паскалях конечно
[20:27:58] <alexey.veselovsky> (в Борланд Паскалях!)
[20:29:26] <vlad2> Посморел на weather.com - тоже в инчазх
[20:29:31] <vlad2> навероне в инчах
[20:29:54] <vlad2> просто я помню как-то слушал прогноз - там какие-то вообще нелепые единицв измерения былм
[20:31:02] <alexey.veselovsky> Кстати, давление в mm Hg - это пожалуй основной позор Европы. Ниасилили сюда втащить СИ
[20:31:13] <alexey.veselovsky> То есть в массовое сознание
[20:37:58] <vlad2> Не, позор - это инчи ;)
[20:38:44] <vlad2> Я тут прикупил набор отверток. Они разделены на два контейнера. На одном написано "standard".
[20:38:48] <alexey.veselovsky> инчи они только у англосуксев остались :-) вся европа в метрах
[20:38:51] <vlad2> Отгадай что написано на втором ;)
[20:39:02] <alexey.veselovsky> на втором метры?
[20:39:03] <vlad2> Не, в британии тоже метры, вроде.
[20:39:13] <vlad2> а втором - "metric"
[20:39:17] <vlad2> Угадал.
[20:39:20] <alexey.veselovsky> дык британия это ж англосаксы тоже
[20:39:29] <vlad2> А.
[20:39:38] <alexey.veselovsky> англия и все её колонии - штаты там, канада, автралия...
[20:40:05] <vlad2> Но больше всего доставляют делители этих самых инчей - /8, /16, /32
[20:40:23] <alexey.veselovsky> древние программеры!
[20:40:39] <vlad2> Т.е. если надо сложить/отнять, чтобы найти скока чего отрезать - то все, ступор настцпает.
[20:41:21] <alexey.veselovsky> вообще, у меня подозрение, что древние что-то подозревали!
[20:41:26] <alexey.veselovsky> http://ru.wikipedia.org/wiki/%D0%92%D0%B5%D1%80%D1%88%D0%BE%D0%BA
[20:41:28] <vlad2> Потому как эти /32 приходится перегнать в нормальное число, посчиатть, а потом опять перегнать в дробь.
[20:41:37] <alexey.veselovsky> 1 вершок = 1⁄48 сажени = 1⁄16 аршина = 1⁄4 пяди = 1,75 дюйма = 4,445 см= 44,45 мм = 1 U
[20:41:55] <alexey.veselovsky> таким образом один Юнит (серверовый, ога) это один вершок
[20:42:00] <alexey.veselovsky> двухвершковый сервак!
[20:42:25] <vlad2> Круче толко римское исчисление ;)
[20:42:38] <alexey.veselovsky> палки? :-)
[20:43:11] <alexey.veselovsky> /me помнится в школе писал прогу которая из арабских в римские переводила. то есть любые числа вообще. ну и обратно
[20:45:09] <alexey.veselovsky> "В компьютерной технике, есть форм-факторы (размеры), которые проще измерять вершками, нежели дюймами — 3,5 дюйма = 2 вершка, 5,25 дюйма = 3 вершка. Юнит, современная единица ширины и высоты корпусов электронного оборудования, в точности равен вершку."
[20:45:23] <alexey.veselovsky> Двухвершковая дискета!
[21:13:49] <alexey.veselovsky> vlad2: я там на форум накидал сцылок про восстановление расфокусированных изображений. есть и исходники :-) можешь глянуть если интересно
[21:33:53] <alexey.veselovsky> vlad2: а напомни, что у тебя там с модулями в компиляторе? в смысле с обероновскими.
[21:34:11] <vlad2> импортируется только JS
[21:34:58] <alexey.veselovsky> Гм. То есть модулей как таковых пока нема?
[21:37:25] <vlad2> Нема.
[21:38:05] <alexey.veselovsky> Впиливать будешь? Или пока не приоритет?
[21:46:34] <vlad2> Буду, но потом.
[21:46:41] <vlad2> С ними пока все понятно.
[21:46:51] <vlad2> И они не нужны пока другие вещи не сделаны.
[21:46:54] <vlad2> Те жде строки.
[21:47:02] <alexey.veselovsky> ога
[21:47:34] <alexey.veselovsky> блин. интересная эта тема - deconvolution, обратная свертка
[21:47:56] <alexey.veselovsky> до кучи я еще чем-то задним чувствую, что оно мне для работы пригодится
[23:31:42] <vlad2> Дык, матан он такой. Иногда полезный :)