[00:01:55] <valexey> они просто зарулили не туда.
[00:04:02] <TRUE> <vlad2> Петр и Ильченко (если не напутал фамилию).
[00:04:13] <TRUE> уж не Ильин ли Александр имеется в виду?
[00:06:56] <vlad2> Да, Ильин
[00:07:17] <TRUE> Если да, то наезд беспочвеннен. Даже если предположить, что он время от времени ошибается, то стоит вспомнить, что все люди ошибаются. А он обычно сопровождает свои решени адекватной аргументацией.
[00:07:34] <TRUE> *решения
[00:09:08] <vlad2> Э... Я не говорил об ошибках. Я говорил о психологическом портрете. Каким он видится.
[00:09:25] <vlad2> И это не наезд :)
[00:10:16] <vlad2> Хотя переваливающий за край сарказм - так да, плохо.
[00:10:31] <vlad2> Можно расценивать как наезд :)
[00:10:37] <TRUE> Пётр и Александр ну совсем непохожи.
[00:10:41] <valexey> Александр Ильин - довольно вменяемый товарисч
[00:10:57] <valexey> А вот Петр Кушнир (который белый шум) - он довольно адиозный :-)
[00:10:58] <TRUE> вот-вот. тут где-то ошибка
[00:11:06] <vlad2> Да, вменяемый. Особенно если с Петрорм сравнивать.
[00:17:28] <vlad2> Я не говорил, что оберонщике не вменяемые.
[00:22:59] <TRUE> Какой сарказм?! Лурк - вот где сарказм. Сарказм является особенностью людей, проживающих на данной территории, а не только оберонщиков. Думаю, его исток - действие правительства. Он нужен, чтобы живя здесь не слететь с катушек, когда отобрано главное право русского человека.
[00:27:14] <TRUE> главное право: http://www.youtube.com/watch?v=dTESPsinCsU
[00:41:03] <valexey> сделал русский по умолчанию на форуме
[00:41:06] <valexey> imho стало хуже
[00:41:17] <valexey> /me ищет как его отрубить хотя бы для самого себя
[00:59:09] <TRUE> /me интересно, нашёл ли valexey как включить другой язык?
[00:59:25] <valexey> нет. не нашел
[00:59:40] <valexey> то есть я могу конечно включить, но он включится для ВСЕ
[00:59:42] <valexey> Х
[00:59:44] <valexey> :-)
[01:00:00] <valexey> а в похапе ковыряться лениво. лениво и противно.
[01:00:40] <TRUE> Set the server settings default language to whatever you want it to be.  Then disable the ability for users to choose their own language via Features and Settings.  Then it will force them to that chosen language, without a need to reset anyone's account details.
[01:01:14] <TRUE> может, в админских настройках эта фича специально отключена?
[01:01:47] <valexey> специально включена. проверил
[01:01:59] <valexey> четырежды проверил
[01:03:00] <TRUE> а чем русский так коробит?
[01:03:13] <TRUE> слова длиннее? Читать долго? : )
[01:04:20] <valexey> глюками коробит для начала
[01:04:46] <valexey> посмотри на это безобразие в последнем ответе например
[01:05:48] <valexey> ну а кроме того, если что-то нужно найти относительно настроек, то англоязычные фразы много проще нагугливаются
[01:06:21] <valexey> то есть чистый прагматизм. с английским интерфейсом форум технологичней
[01:06:43] <TRUE> лучше отдебажен : )
[01:07:05] <valexey> в том числе
[01:07:13] <valexey> и лучше поддержка.
[10:39:08] <genieprox> вроде нормально форум выглядит с русским интерфесом, косяков не заметил...
[14:12:19] <vlad2> А вот астроному тут есть? Почему в этот раз луна отъедена (чуть-чуть, почти полнолуние) сверху, а не сбоку?
[14:15:34] <valexey> vlad2: потому, что земля движется :-)
[14:20:33] <vlad2> И чего? :)
[14:20:44] <vlad2> Отъедена почему не сбоку, а сверху? :)
[14:35:17] <vlad2> /me вкурил про move sematics...
[14:35:26] <vlad2> В С++
[14:35:40] <vlad2> Хорошая трава, в духе С++
[14:35:57] <vlad2> Теперь правила перегрузки еще интереснее!!!
[14:36:24] <vlad2> (хотя казалось бы куда дальше?)
[14:37:12] <vlad2> 20 минут пытался понять почему не вызывается правильный конструктор базового класса (с этой самой move semantics).
[14:42:32] <vlad2> Жаль только gcc4.2 не держит ее. Придется ифдефы писать.
[14:44:23] <vlad2> Остановите кто-нибудь их!!! :) http://forum.oberoncore.ru/viewtopic.php?p=71293#p71293
[14:44:48] <vlad2> (это я про "герметизацию")
[14:45:59] <vlad2> Лично info21 заверил :) http://forum.oberoncore.ru/viewtopic.php?p=71292#p71292
[15:19:35] <valexey> vlad2: а почему более свежее не пользуете? ну то есть можно же собрать gcc 4.6 под макось и пользовать
[15:19:39] <valexey> вон я gcc 4.7 собрал
[15:19:43] <valexey> и радуюсь
[15:19:50] <valexey> иногда
[15:20:03] <vlad2> Не до эксперииментов пока...
[15:20:53] <valexey> чот я не понял про гермитизацию
[15:21:03] <valexey> это ж один хрен ассерт времени исполнения будет
[15:21:31] <valexey> вообще такие ведь коллекции жутко не эффективны - куча проверок в рантайме + боксинг
[15:38:05] <vlad2> Угу. Я ж говорю - не ведают, что творят :)
[15:46:27] <valexey> и при этом без повышения безопасности
[15:46:49] <valexey> лучше бы на перле (ну или рефале) препроцессор бы сделали для генерации готовый модулей для разных контейнеров
[16:01:26] <vlad2> Это не оберон вэй :)
[16:01:48] <valexey> http://forum.oberoncore.ru/viewtopic.php?p=71297#p71297
[16:01:50] <valexey> /me facepalm
[16:02:29] <valexey> ну, скажем в Обероне (операционке) для гуя был специально разработан небольшой функциональный язык. То есть не все же на Обероне писать предлагали его создатели.
[16:05:12] <vlad2> Угу. Это оно. facepalm :)
[16:16:13] <valexey> по моему, они из оберона питон делают :-)
[16:19:40] <vlad2> Хе-хе. До питона им еще...
[16:20:19] <vlad2> Они делают статическую динамическую типизацию.
[16:21:02] <vlad2> Не помню говорил или нет. У нас есть такая компонента, а-ля variant.
[16:21:21] <vlad2> Т.е. держит определенное количество значений разного типа.
[16:21:43] <vlad2> Великая ошибка дизайна.
[16:21:52] <vlad2> С которой все долюаются и долюаются.
[16:22:17] <vlad2> Ошибка не в том, что она может держать разные типы.
[16:22:32] <vlad2> Это обычный, нормальный прием (см. тот же boost::variant).
[16:22:56] <vlad2> Ошибка в том, что она начинает проверять типы в рантайме.
[16:23:07] <valexey> угу. в ObjC тоже есть NSData, где может лежать что угодно
[16:23:23] <vlad2> Например варианту типа "целое" нельзя присввоить "строку".
[16:23:26] <vlad2> Или сравнить.
[16:23:30] <vlad2> Все. Полный пипец.
[16:23:54] <valexey> то есть это дикая смесь статической и динамической типизации
[16:24:05] <vlad2> Потом эти исключения не выловить никакими путями.
[16:24:11] <valexey> с другой стороны, как их сравнивать то? ;-) преобразовать к строке все?
[16:24:42] <vlad2> Доходило до того, что специально крэш дамп делали - чтобы поймать стэк откуда такая херня произошла.
[16:25:16] <vlad2> Не равно и до свидания. Или не определять оператор сравнения вообще.
[16:25:57] <valexey> так. я наврал. NSValue конечно же
[16:25:57] <vlad2> Мало того, в каких-то случаях оно пытается приводить типы (например int к long)
[16:26:07] <valexey> используется для оборачивания всякого примитивного в объект
[16:27:22] <vlad2> Короче да, динамическая типизация + "статические" проверки в рантайме. Это именно то, что делают эти ребята со своими списками. Это не будет работать как general purpose container неикогда.
[16:27:34] <vlad2> Точнее его поятоянно надо будет заставлять работать.
[16:27:35] <valexey> причем оно тупое-тупое. все касты делает пользователь этого класса. оно само ничего не делает
[16:27:49] <valexey> https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/nsvalue_Class/Reference/Reference.html
[16:27:52] <valexey> во
[16:28:40] <valexey> ну, на игрушечных проектах оно вполне будет работать :-)
[16:28:52] <valexey> а реальных больших проектов на Обероне вроде как особо и нет.
[16:29:41] <vlad2> По поводу NSValue - сравнение там как раз нормальное.
[16:29:58] <vlad2> (как я понял, оно не будет кидать исключение для разных типов)
[16:30:47] <valexey> угу
[16:31:21] <valexey> оно тупо сравнивает все до чего дотянется. если не шмогла, то возвращает NO
[16:31:28] <valexey> типо палюбому не равно :-)
[16:32:48] <valexey> один помидор очевидно не равен названию фирмы
[16:34:10] <valexey> кстати, есть еще такая еретическая мысль вырасшая из практики - иногда лучше чтобы программа работала некорректно (в каком-то месте) нежели аварийный останов всей программы.
[16:34:22] <vlad2> Это да.
[16:35:04] <vlad2> Но здесь даже сомнений не должно быть - нет повода падать.
[16:35:26] <vlad2> В плюсах это еще более актуально, потому что там сравнение и приравнивание налево и направо.ю
[16:36:29] <valexey> я к тому, что везде развешанные ассерты это не всегда хорошо :-) Ну, или ассерт не должен приводить к аварийному останову, а должна вызываться функция обработки этого самого ассерта, которая посмотрит где что произошло и в некоторых случаях забьет и не будет останавливать всю программу
[16:36:33] <vlad2> Т.е. ты работаешь с вектором. Удалаяешь элемент. И тут тебе, !@#$, исключение, потому что пока оно перетасовывала вектор вызвался оператор =, который не смог присвоить этот variant.
[16:36:37] <valexey> (обработка исключений, да)
[16:37:05] <valexey> Кстати, Илья Ермаков это понимает (хотя периодически и скрывает это). Но вот на счет остальных оберонщиков я не уверен.
[16:37:46] <vlad2> Прагматизм.
[16:45:27] <valexey> кстати, я еще покурил официальные документы по Ариан-5. Оно там рухнуло в том числе и потому, что исключение выскочило в программе которая на данном этапе полета уже была не нужна вообще.
[16:45:36] <valexey> Что вдвойне обидней
[16:49:02] <valexey> а в небезоапасной сишечке это переполнение случилось бы в этом коде и никто про это не узнал бы - нет исключения, нет проблемы :-D
[17:01:22] <vlad2> Угу.
[17:17:49] <vlad2> Написал таки Madzi про контейнеры.
[17:17:57] <vlad2> Ставлю на то, что не поймет :)
[17:18:07] <valexey> :-)
[17:18:13] <valexey> Парадокс Блаба в чистом виде
[17:43:17] <valexey> какой-то в делфях маразм: http://forum.oberoncore.ru/viewtopic.php?p=71298#p71298
[20:11:44] <valexey> не. жаба таки многословна излишне
[20:11:58] <valexey> int minValue = Collections.min(container, pointValueCompare).value;
int maxValue = Collections.max(container, pointValueCompare).value;
int minTime  = Collections.min(container, pointTimeCompare).time;
int maxTime  = Collections.max(container, pointTimeCompare).time;

[20:12:08] <valexey> это при том что компараторы там я вытащил в отдельные переменные статические
[20:20:11] <valexey> /me понимает почему народ так ломанулся на питон
[20:20:39] <valexey> ибо статическая типизация в жабе какая-то плюшевая.  а синтаксического мусора много больше
[20:21:54] <valexey> static class Point {
int time;
int value;
Point(int a, int b){time=a; value = b;}
}

static Comparator<Point> pointValueCompare = new Comparator<Point>() {
public int compare(Point o1, Point o2) {
return o1.value-o2.value;
}
};

static Comparator<Point> pointTimeCompare = new Comparator<Point>() {
public int compare(Point o1, Point o2) {
return o1.time-o2.time;
}
};

[20:22:04] <valexey> это ж капец какой-то.
[20:22:29] <valexey> причем поменяю вот я инты на даблы, и оно станет еще кучерявее
[20:55:12] <vlad2> Угу.
[23:16:16] <valexey> потому джетбрейсны котлин и ваяют
[23:32:00] <valexey> http://rsdn.ru/forum/humour/4643293.1.aspx