[00:00:53] <TRUE> придумать и собрать - это инженер-конструктор, а для интеллекта там, по-моему, работы нет.
[00:01:06] <TRUE> для интеллекта = для придумывания интеллекта
[00:01:10] <vаlexey> эмм. в смысле? почему работы нет?
[00:01:28] <vаlexey> машинное обучение, все дела.
[00:01:34] <vаlexey> распознование образов
[00:01:38] <vаlexey> и прочие радости жизни
[00:02:39] <TRUE> Ну, в особо запущенных случаях, можно, конечно и искусственный интеллект своять, но это не обязательно.
[00:03:07] <TRUE> распознавание образов относят к ИИ?
[00:03:30] <TRUE> по-моему, оно только используется в ИИ, но его частью быть не обязано
[00:03:38] <vаlexey> относят
[00:03:45] <TRUE> Разве что какие-то продвинутые варианты
[00:03:52] <vаlexey> и этим точно ВМК занимается :-)
[00:04:09] <vаlexey> собственно им курс читают по маш. обучению.
[00:04:22] <TRUE> Например, Буран читал карту неба, чтобы понять своё положение относительно Земли
[00:04:30] <TRUE> но это же не ИИ было
[00:04:32] <TRUE> вроде
[00:05:04] <vаlexey> что такое ИИ вопрос тонкий.
[00:05:12] <vаlexey> собственно что такое Интеллект - очень тонкий вопрос
[00:05:20] <TRUE> машинное обучение - это не то! Машинное обучение без распознавания образов жить не может, но распознавание же используют не только для этого
[00:05:40] <vаlexey> а то вот смотришь на людей, и иногда кажется что подавляющее большинство интеллектом не обладает :-)
[00:05:48] <TRUE> машинное обучение - это ИИ, согласен
[00:06:10] <vаlexey> распознавание образов - это частный случай машинного обучения
[00:06:45] <TRUE> <vаlexey> а то вот смотришь на людей, и иногда кажется что
В такие моменты в тебе обезьяна говорит. Которая ищет своё стадо.
[00:07:17] <vаlexey> угу. и находит свое стадо среди компов и роботов :-)
[00:07:44] <TRUE> <vаlexey> распознавание образов - это частный случай машинного обучения
Распознавание образов - это инструмент, расположенный ниже уровнем. Это язык, которым пользуется машинное обучение.
[00:08:05] <vаlexey> в общем, этот Mindstorms - воплощение мечты криворукого программиста :-)
[00:08:27] <vаlexey> TRUE: ты распознавание образов делал вообще? ну, то есть скажем трекинг объектов в видеопотоке?
[00:08:34] <vаlexey> как устроено понимаешь?
[00:08:49] <TRUE> нет, только чёрно-белые картинки
[00:08:58] <TRUE> QR-коды
[00:09:24] <vаlexey> а, ну тогда да, до маш. обучения ты там не дошел немного.
[00:09:51] <vаlexey> там после построение фичепоинтов обязательно используются классификаторы, а классификаторы - это маш. обучение.
[00:10:08] <vаlexey> собственно для распознавания образов это дело обучается вначале на выборке.
[00:10:25] <TRUE> криворукого в каком смысле? Не может построить то, что хочет запрограммировать?
[00:10:27] <vаlexey> короче, там все довольно тесно переплетено всё :-)
[00:10:46] <vаlexey> криворукого - в смысле паяльник не знающего каким концом в плату тыкать :-)
[00:11:10] <vаlexey> точнее. знающего, но лучше ему паяльник в руки не давать.
[00:11:20] <TRUE> <vаlexey> криворукого - в смысле паяльник не знающего каким концом в плату тыкать :-)
ну я приблизительно про это же
[00:11:36] <vаlexey> ибо и сам поранится, и плату загубит
[00:12:08] <vаlexey> а тут всё готово - никакой пайки. удобные разъемы. нужно только робота придумать :-)
[00:13:46] <vаlexey> ну а самый гемор - это его запрограммировать
[00:13:55] <TRUE> сделай Кушниренковского робота
[00:14:16] <vаlexey> а это что такое?
[00:14:28] <TRUE> "пока слева свободно вперёд"
[00:14:34] <TRUE> Кушниренко
[00:14:43] <TRUE> Обучающая программа Робот
[00:14:51] <vаlexey> осталось формализовать что такое "слева свободно" :-)
[00:14:56] <TRUE> датчиком
[00:15:12] <vаlexey> каким? ну и ты же понимаешь, что датчик лжёт.
[00:15:23] <vаlexey> ну, то есть часто выдает не то что ты ожидаешь
[00:17:56] <TRUE> http://www.klyaksa.net/htm/kopilka/robot/
[00:18:06] <TRUE> ну так будет даже прикольнее
[00:18:20] <TRUE> если заставить его правильно работать
[00:18:56] <vаlexey> да, я хочу научить его вначале в полуавтоматическом режиме по квартире ездить
[00:19:09] <TRUE> пока справа свободно
начало
красить
[00:19:15] <TRUE> *конец
[00:19:56] <vаlexey> ну, то есть вначале он должен карту составить будет своими сенсорами
[00:20:23] <TRUE> не, размер клетки фиксирован
[00:20:35] <TRUE> он делает один ход - передвигается на одну клетку
[00:21:04] <TRUE> а карту можно исследовать, двигаясь поклеточно
[00:21:09] <vаlexey> если распечатать ему клетки/нарисовать ему на поверхности где ему ездить, то это сделать просто
[00:21:11] <TRUE> выполняя свою программу
[00:21:13] <vаlexey> но это скучно
[00:21:19] <vаlexey> реальное окружение интересней
[00:22:15] <TRUE> Но если он будет принимать команды от пользователя в виде программы для кушниренковского робота, то это уже будет не так уж скучно
[00:23:05] <vаlexey> гм. почему? ну то есть какой смысл эмулировать искусственное рафинированное виртуальное окружение пытающееся эмулировать реальный мир?
[00:24:04] <vаlexey> ну, кроме того у меня тут профессиональный интерес, в плане потенциальной работы.
[00:24:07] <TRUE> Например, ностальгия, ожившая абстракция.
[00:24:21] <TRUE> не гугл случаем?
[00:24:27] <vаlexey> не
[00:24:43] <vаlexey> для гугла я недостаточно крут :-)
[00:26:49] <vаlexey> скорее какие-нибудь такие ребята: http://www.skilligent.com/
[00:45:02] <vlad3> vаlexey: нормально все с английским. чувак неадекватен. может под градусом отвечал.
[00:49:39] <vаlexey> ага, ок.
[00:51:50] <vlad3> Их тоже гугл купит ;)
[00:52:53] <vlad3> (как Бостон Динамикс)
[01:01:05] <geniepro> кому щас может быть нужен Форт? ума не приложу ))
[01:01:39] <geniepro> Skilligent to partner with Microsoft
Skilligent joins Microsoft Robotics Studio (MSRS) partnership program.

[01:01:47] <geniepro> скорее уж мелкософт их купит )
[01:02:46] <vаlexey> не, мало ли кто там партнер :-)
[01:17:28] <vlad3> Мда... все-таки отсутствие множественного return доставляет...
[01:17:50] <vlad3> Создай себе проблему на ровном месте и реши ее!
[01:19:20] <vаlexey> ilovb тебя бы побил!
[01:19:29] <vаlexey> кстати-кстати, на тему: http://habrahabr.ru/post/207978/
[01:20:44] <vlad3> Пусть перепишет вот это с одним return:
[01:20:48] <vlad3> function genExport(symbol){
   if (symbol.isVariable())
       return "function(){return " + symbol.id() + ";}";
   if (symbol.isType()){
       var type = symbol.info().type();
       if (!(type instanceof Type.Record
             || (type instanceof Type.Pointer && !Type.typeName(Type.pointerBase(type)))))
           return undefined;
   }
   return symbol.id();
}
[01:31:42] <vlad3> (переписал разбив на 3 функции)
[01:32:03] <vlad3> PROCEDURE isPointerShouldBeExported(type: Types.Pointer): BOOLEAN;
VAR
   r: Types.PRecord;
BEGIN
   r := Types.pointerBase(type);
   RETURN Types.typeName(r^) # NIL
END isPointerShouldBeExported;

PROCEDURE typeShouldBeExported(typeId: Types.PTypeId): BOOLEAN;
VAR
   type: Types.PType;
BEGIN
   type := typeId.type();
   RETURN (type IS Types.PRecord)
       OR ((type IS Types.PPointer)
           & isPointerShouldBeExported(type^(Types.Pointer)))
END typeShouldBeExported;

PROCEDURE genExport(s: Types.Symbol): JsString.Type;
VAR
   result: JsString.Type;
BEGIN
   IF s.isVariable() THEN
       result := JsString.concat(JsString.concat(
           JsString.make("function(){return "),
           s.id()),
           JsString.make(";}"));
   ELSIF ~s.isType() OR typeShouldBeExported(s.info()) THEN
       result := s.id();
   END;
   RETURN result
END genExport;
[01:33:37] <vlad3> (еще одна функция возникает из-за невозможность нормально chain вызовы функций)
[01:55:47] <vаlexey> vlad3: а что не так с вызовами цепочки функции?
[01:55:54] <vаlexey> вызов функции это ж expression
[01:58:56] <vlad3> Обсуждали уже. Если фунция возвращает поинтер, то с ним ничего не сделать. Даже не дереференснуть, чтоб отдать в другую функцию. Только временные переменные.
[01:59:24] <vаlexey> можно передать как поинтер в другую функцию
[01:59:31] <vlad3> Да. Но я тут еще интереснее дефект накопал.
[01:59:50] <vlad3> PROCEDURE p(o: Object);
[02:00:13] <vlad3> Object - базовый рекорд (не поинтер).
[02:00:40] <vlad3> Тепери я хочу его кастнуть к моему типу и использовать.
[02:00:52] <vlad3> И облом.
[02:01:13] <vlad3> Кастнуть я его могу, но не более того.
[02:01:31] <vаlexey> э?
[02:01:35] <vlad3> Только кастнуть и отдать в другую функцию.
[02:01:56] <vаlexey> в смысле? почему?
[02:02:13] <vlad3> Попробуй.
[02:02:27] <vlad3> r = o(T);
[02:02:32] <vlad3> r.field1
[02:02:35] <vlad3> r.field2
[02:02:55] <vlad3> Вопрос - что такое r.
[02:03:06] <vаlexey> ну ты ж понимаешь, что "попробуй" - это означает "открой репорт и вкури этот случай"? :-)
[02:03:42] <vlad3> r может быть только VAR параметром другой прцедуры, потому что ссылок в обероне нет.
[02:03:50] <vlad3> И поинтер из ссылки не получить.
[02:05:30] <vаlexey> погоди
[02:06:52] <vаlexey> PROCEDURE P(VAR o: Object);
VAR
   r : MyRecord;
BEGIN
   r := o(MyRecord);
   INC(r.field)
END P;
[02:06:56] <vаlexey> так всё будет работать.
[02:09:51] <vlad3> Будет. Но плохо - record скопируется.
[02:10:10] <vlad3> Либо надо на каждое обращение к филду ставить каст.
[02:10:16] <vаlexey> или не скопируется - в некоторых случаях возможна оптимизация
[02:10:44] <vаlexey> ну, поэтому Вирт и вернул WITH в виде CASE
[05:41:26] <vаlexey> /me собрал робота
[08:43:27] <vlad3> Да, я еще давно говорил, что нужен оператор приведения совмещенный с проверкой. Причем желательно менее громоздкий, чем WITH/CASE.
[08:55:20] <genieprox> так было же приведение (type)obj или что-то типа того
[09:10:44] <genieprox> "Log Horizon" -- Summary: сериал, снимаемый фанатами хардкорных ММО для фанатов хардкорных ММО. И в этой нише ничего даже одалённо равного "LH" попросту не существует.
http://rotten-k.livejournal.com/1937778.html
[10:00:02] <genieprox> сажает санта ребятишек
не на колени а на кол
и держит там пока желанья
детей не совпадут с его
[16:54:21] <Kemet> ==
[16:56:39] <vаlexey> !!
[17:03:00] <Kemet> vаlexey: на гитхабе только утф8?
[17:03:20] <vаlexey> не обязательно. но для веб-просмотрщика, вроде бы да.
[17:07:55] <Kemet> хочу туда компайлер залить с русскими ключевыми словами и тп
[17:08:04] <vаlexey> УЖАС!
[17:08:19] <vаlexey> ну, конвертани в utf8
[17:08:27] <vаlexey> а у тебя там какая кодировка сейчас?
[17:08:37] <Kemet> та ну, я на ем пишу и никаких проблем, ну разве что операторы сравнения
[17:09:00] <Kemet> утф8
[17:09:12] <vаlexey> ну, тогда тем более гут
[17:10:05] <Kemet> компайлев в утф8, но там есть платформозависимые модули в разных кодиовках
[17:10:26] <Kemet> рантаймовые и либы
[17:11:16] <Kemet> ыыы [02:06:52] <vаlexey> PROCEDURE P(VAR o: Object);
VAR
  r : MyRecord;
BEGIN
  r := o(MyRecord);
  INC(r.field)
END P;
жесть, да
[19:35:51] <vаlexey> /me выбирает себе монитор
[20:11:49] <geniepro> CodeBlocks на днях обновился...
[20:12:24] <vаlexey> видел
[20:12:40] <vаlexey> но когда я им пользовался - я пользовал ночные сборки а не релиз
[20:13:05] <geniepro> каждую ночь скачивал? ))
[20:14:04] <vаlexey> не, раз в полгода где-то :-)
[20:15:46] <geniepro> а смысл тогда в ночных сборках? он релизится чаще ))
[20:18:57] <geniepro> забавный глюк у сибилдера 6 -- на более мощном компе, чем у меня на работе, на 64-битной Win7 компиляция в 2.5 раза дольше, чем на моём с 32-бит. Win7... Процессор при этом раза в три мощнее
[20:23:27] <vаlexey> geniepro: релизится он раз в два года где-то :-)
[20:36:38] <geniepro> 13.12 2013-12-27
13.12-RC2 2013-12-12
13.12-RC1 2013-11-29
12.11 2012-12-13
10.05 2011-01-05
8.02 2008-03-02
[20:37:41] <geniepro> чем  TDM-GCC отличается от просто GCC?
[20:39:16] <vаlexey> угу. я пользовался как раз до 2008 года :-)
[21:26:18] <vlad2> geniepro: там от HDD может сильно зависеть
[21:27:35] <geniepro> vlad2: ну HDD там явно не хуже, поскольку объём больше, то и скорость выше должна быть
[21:27:38] <vlad2> vаlexey: так чего этот робот у тебя делает?
[21:27:51] <vlad2> SSD vs HDD? ;)
[21:28:06] <geniepro> причём здесь SSD? о_О
[21:28:21] <vlad2> Ну может у тебя SSD стоит?
[21:28:33] <vlad2> (вы все еще кипятите?)
[21:28:41] <geniepro> увы нет, на работе у меня ни у кого нет SSD
[21:28:58] <vlad2> SSD вещь номер 2 для компиления С++ :)
[21:29:17] <vаlexey> vlad2: пока просто ездит повинуясь управлялке дистанционной
[21:29:20] <geniepro> ну с++ у нас не самый главный язык
[21:29:39] <geniepro> vаlexey: управляешь с гейфона хоть? )
[21:29:43] <vаlexey> нет
[21:29:58] <vаlexey> с пульта управления.
[21:30:00] <vаlexey> IR
[21:30:40] <geniepro> гуи в кодблоке можно делать?
[21:30:56] <vаlexey> гуи можно хоть в блокноте делать
[21:31:05] <vаlexey> ты что имеешь ввиду?
[21:31:24] <geniepro> ну как в дельфях что бы редактор форм все дела )))
[21:31:43] <vаlexey> дык для какой либы то?
[21:32:09] <vаlexey> code::blocks же пофиг на твой компилятор и на либы которые ты пользуешь
[21:32:12] <geniepro> ну для венды конечно же )
[21:32:20] <vаlexey> так какую либу то? :-)
[21:32:35] <vаlexey> WMF? wx? VCL? Qt? GTK?
[21:32:43] <geniepro> поставил QTCreator, а он чота не предлагает никаких проектов с QT
[21:33:00] <geniepro> vаlexey: ну лучше всего под винапи конечно
[21:33:28] <vаlexey> дык QT же принадлежит Apple, странно если бы свободный Qt Creator что-то предлагал бы на тему QT
[21:33:53] <vаlexey> Под WinAPI рисовать гуйню даже Делфи не умеет визуально :-)
[21:35:41] <geniepro> как это эпплу? о_О нокия же купила его
[21:36:03] <geniepro> vаlexey> Под WinAPI рисовать гуйню даже Делфи не умеет визуально :-)
эмм.. что-что? о_О
[21:36:21] <vаlexey> угу. Делфи умеет гуй рисовать только под VCL :-)
[21:36:47] <geniepro> qtcreator может работать с make вместо CMake?
[21:37:00] <geniepro> vаlexey> угу. Делфи умеет гуй рисовать только под VCL :-)
ну это мелочи уже
[21:37:34] <vаlexey> ну, значит и если гуй рисуется под GTK под виндой, то это тоже мелочи :-)
[21:38:02] <vаlexey> эхъ.. не просто монитор, однако, выбрать.
[21:38:46] <geniepro> ну GTK-то говно, не сравнивай с VCL )))
[21:39:01] <geniepro> vаlexey: ретину бери )) 4к что бы было )
[21:39:34] <vаlexey> для меня и 1024x768 на 20" мониторе тоже ретина :-)
[21:40:04] <geniepro> о_О так плохо со зрением? ))
[21:40:18] <vаlexey> ну, точек я точно не различаю
[21:40:37] <vаlexey> так что ретинность дисплеев мне глубоко пофигу
[21:40:50] <vаlexey> (только тормозить сильнее будет - ноут не справится с 4k)
[21:42:03] <geniepro> ты дисплей для ноута берёшь? о_О там же свой есть ))))
[21:42:43] <vаlexey> а для чего еще мне брать? конечно для ноута.
[21:44:01] <vlad2> А я вот телевизором обзавелся 32". И поставил его вместо монитора. Замечательно ;)
[21:44:21] <vlad2> (правда я на нем не программирую :)
[21:44:28] <vlad2> Но почта и все такое - нормально.
[21:44:55] <vlad2> (ну и филмы, понятно)
[21:45:21] <vlad2> Разрешение припаерно такое же как у бывшего монитора 19"
[21:45:40] <geniepro> fullhd? или ultrahd&
[21:45:45] <vlad2> (1360 на сколько-то там)
[21:45:50] <vlad2> Не, не full.
[21:46:06] <vаlexey> кому этот full hd нужен?
[21:46:22] <geniepro> как кому? а аватар на чём смотреть? ))
[21:46:23] <vlad2> Не, я б хотел :) Просто дорого, пока :)
[21:46:39] <vlad2> На 60" ТВ стоит больше килобакса.
[21:46:45] <geniepro> ultrahd от филлипса от 5к евро стоит )
[21:47:20] <vlad2> Ну вот я пока на 60" нацелился. Больше как бы слишком - кваритира не та :)
[21:47:21] <vаlexey> не вижу разницы при той же диагонали - что full hd что 720p
[21:47:37] <vlad2> А ты поближе сядь ;)
[21:48:21] <vаlexey> тогда головой крутить придется :-)
[21:48:40] <vаlexey> то есть диагональ уменьшится :-)
[21:48:51] <vаlexey> и разрешение соответственно
[21:49:44] <vlad2> Не, я люблю когда фильм на все зрительное поле (в кино близко сажусь).
[21:52:55] <vаlexey> ну, я фильмы смотрю редко
[21:53:24] <vlad2> А головой крутить да - для програмирования я телевизор бы не взял :)
[21:56:32] <vаlexey> vlad2: а вот если бы ты программировал на Драконе, то взял бы!
[22:06:01] <vlad2> Конечно! :)
[22:42:03] <vlad2> На форумах затишье. Видимо пишут туда исключительно в рабочее время ;)