[14:05:04] <alexey.veselovsky> vlad2: как тебе новая вижуалштудия? стоит она того?
[14:11:03] <alexey.veselovsky> ЫЫ! Microsoft Visual Studio Express 2013 for Windows - требует Windows 8.1
[14:11:14] <alexey.veselovsky> на что-то иное оно ставиться не хочет
[16:26:55] <alexey.veselovsky> vlad2: у тебя отправлялка сообщения отвалилась?
[17:28:55] <alexey.veselovsky> vlad2: а ты никогда не хотел разобраться как git унутре работает? :-)
[17:29:05] <alexey.veselovsky> скажем формат данных его раскурить?
[17:32:37] <Jordan> В программе используется 2 вектора, exe весит 100 кб. Почти хеллворлд. Компилю с помощью msvc. Как посмотреть, что именно так много занимает?
[17:33:07] <alexey.veselovsky> рантайм скорее всего :-) линкуется небось статически
[17:33:33] <alexey.veselovsky> переключи линковку на динамическую и глянь сколько будет
[17:33:34] <Jordan> тогда отлично.
[17:33:45] <Jordan> как?
[17:33:55] <Jordan> Я через консоль компилю, батником.
[17:34:08] <alexey.veselovsky> у меня студии под рукой нет (равно как и винды вообще) так что точно не скажу. там в свойствах проекта где-то
[17:34:14] <alexey.veselovsky> гм. через консоль
[17:34:17] <alexey.veselovsky> гм
[17:34:19] <Jordan> угу
[17:34:39] <Jordan> Пишу в альтернативном нотепаде
[17:34:56] <alexey.veselovsky> как компилишь?
[17:35:00] <alexey.veselovsky> давай строчку сюда
[17:35:20] <Jordan> call "e:\Program Files\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"
cl /EHsc main.cpp
[17:36:49] <alexey.veselovsky> ну воткни еще /O1
[17:36:52] <alexey.veselovsky> до кучи
[17:37:00] <alexey.veselovsky> посмотрим что будет
[17:37:30] <Jordan> на 10 кб меньше
[17:37:46] <alexey.veselovsky> а теперь еще /MD <http://msdn.microsoft.com/en-us/library/vstudio/2kzt1wy3.aspx>
[17:37:56] <alexey.veselovsky> ой
[17:38:16] <alexey.veselovsky> но один фиг попробуй :-)
[17:38:39] <Jordan> 10 кб
[17:38:50] <alexey.veselovsky> на 10 меньше, или 10 всего?
[17:38:54] <Jordan> да
[17:39:00] <alexey.veselovsky> что да? :-)
[17:39:04] <Jordan> 10 кб.
[17:39:11] <Jordan> :-)
[17:39:13] <alexey.veselovsky> то есть проблема решилась? :-)
[17:39:23] <Jordan> размер exe 10 кб
[17:39:34] <Jordan> Да.
[17:39:47] <alexey.veselovsky> ну я же говорю - это не кода оно на 100 кб сгенерило, оно просто подключило рантайм
[17:40:25] <Jordan> как без рантайма? то есть будет зависимость от dll?
[17:40:25] <alexey.veselovsky> точнее и рантайм и всю стандартную либу
[17:41:00] <Jordan> запускаешь на другом компе, и начинается хочу xxx.dll
[17:41:44] <Jordan> Спасибо.
[17:41:54] <alexey.veselovsky> пжалста :-)
[17:42:02] <alexey.veselovsky> ну, это да
[17:42:14] <alexey.veselovsky> считай эту dll аналогом ВСЕГО рантайма ББ :-)
[17:42:32] <alexey.veselovsky> ну, то есть там Hosts который и прочий рантайм ББшный, без которого модуль не заработает
[17:44:28] <Jordan> Вопрос по С++
[17:44:49] <Jordan> Такой код компилится
[17:44:51] <Jordan> if ((px >= x) && (py >= y) && (px <= x + w) && (py <= y + h))
[17:45:16] <Jordan> такой нет, ругается на ;
[17:45:18] <Jordan> if ((px >= x) and (py >= y) and (px <= x + w) and (py <= y + h))
[17:45:29] <Jordan> and и or, встроены в язык.
[17:46:07] <alexey.veselovsky> а вот студия про это не знает
[17:46:11] <alexey.veselovsky> ибо говнокомпилер
[17:46:23] <alexey.veselovsky> там или надо опции накрутить, или забить на это
[17:46:44] <alexey.veselovsky> вообще зачем тебе студийный компилятор? используй gcc :-) если один фиг из консоли зовешь
[17:46:55] <Jordan> Стоп в С++ в стандарте. Это ключевые слова.
[17:47:05] <alexey.veselovsky> угу
[17:47:36] <Jordan> я к gcc, sdl не могу прикрутить
[17:47:44] <Jordan> то есть mingw
[17:47:57] <alexey.veselovsky> они используются если у тебя на клавиатуре нет симолов | & и так далее
[17:48:06] <alexey.veselovsky> странно это
[17:48:41] <alexey.veselovsky> ладно, видать это какие-то подвиндовые проблемы. надо до винды добраться чтобы их понять
[17:50:54] <Jordan> включил опцию /Wall листа 3 предупреждений вывел. :-)
[17:51:05] <Jordan> но скомпилил
[17:55:09] <Jordan> ещё вопрос. как понять в дебаг или релизе компилируется код.
[17:55:30] <alexey.veselovsky> посмотреть на флаги с которыми ты компиляешь :-)
[17:55:54] <alexey.veselovsky> http://msdn.microsoft.com/en-us/library/19z1t1wy(v=vs.90).aspx
[17:57:18] <alexey.veselovsky> прежде всего задайся вопросом - чем для тебя отличаться должен дебаг от релиза
[18:06:16] <Kemet> ==
[18:06:22] <alexey.veselovsky> ||
[18:06:55] <Jordan> \\
[18:07:02] <alexey.veselovsky> //
[18:07:52] <Kemet> Jordan: я думаю, что отсутствие беззнаковых в обероне обусловлено несколькими связанными причинами
[18:08:29] <alexey.veselovsky> (а мне кажется что оно обусловлено в основном той же причиной, по которой в Обероне остался всего ОДИН целочисленный тип)
[18:08:46] <Kemet> первую Алексей уже озвучил - простота и надежность, выраженная в непротиворечивости результатов
[18:10:54] <alexey.veselovsky> /me инвестигирует поссибилити сохранения генереных файлов прямо из жабаскрипта
[18:11:16] <Jordan> Kemet а вторая причина?
[18:11:22] <alexey.veselovsky> /me приобретает необходимую экспертизу
[18:16:17] <Kemet> вторая - Вирт занимается реальн, ыми проектами на реальном, вполне определенном железе, и там, учитывая время, когда оберон разрабатывался, например адресное пространтсво врояд ли бы превысило 2 гб, более того, даже сейчас ы микроконтроллерах 32 бит такое вряд ли рразумно, а если нужны адреса выше 2 гб, то system.put|get, это костыль, но оно вполне работает, Вирт работает с 32 - разрядными процессорами, ему этого, именно ему лично, т.к. оберон разрабатывался под личные проекты, вполне достаточно, а стиль разработки - математические абстракции явно требуют арифметически кошерного знакового целого, а абстракция множества, также обернутая математическими абстракциями, органично вписывается в привычный для него стиль. хдесь беззнаковым просто нет места. и это вполне оправдано. но как только мы переходим, например, к 16-разрядным процам, тут ситуация меняется
[18:18:32] <Jordan> обероне 2 и кп, для десктопов, но там тоже нет беззнаковых типов.
[18:18:35] <Kemet> здесь , если для адресации использовать 16 битное знаковое, то адресное пространство обрежется до 32 кб, а остальные 32 будут недоступны
[18:19:11] <alexey.veselovsky> вообще Вирт на 32х битах начиная с ранних 80-х годов
[18:19:52] <alexey.veselovsky> но вообще адреса выше 2 Гб таки нужны вне зависимости от объема ОЗУ
[18:19:56] <alexey.veselovsky> ибо mmap
[18:19:58] <Kemet> Jordan: ну оберон 2 не на ровном место возник, к тому же математические абс тракции никуда не делись, достаточно глянуть исходники, и увидеть, что там во многих местах торчат математиские подходы к решению
[18:20:01] <Jordan> То есть если нужно на обероне заюзать память больше 2 гигов, нужно использовать 64 битный компилятор?
[18:20:22] <alexey.veselovsky> дело не в памяти
[18:20:28] <alexey.veselovsky> а в адресном пространстве - это раные штуки
[18:20:42] <alexey.veselovsky> ОЗУ у тебя может быть всего мегабайт, но адресное пространство тебе может потребоваться в 3 Гб
[18:21:58] <alexey.veselovsky> /me попробовал скачать тыщу строк кода без сервера - скачалось
[18:23:02] <Jordan> Кемет я понял.
[18:23:20] <Kemet> Jordan: нет, оберон напрямую адресами не оперирует
[18:24:11] <alexey.veselovsky> jordan: тут уже надо смотреть в конкретный оберон какой-то. Ибо в некоторых на уровне сообщения о языке битность типов зафиксирована, а в некоторых нет (плавающая как в Си)
[18:24:26] <alexey.veselovsky> А в некоторых зафиксировано неявным образом (скажем в последней ревизии Оберона)
[18:25:04] <Jordan> В общем я понял. особых проблем с этим нет, на распространённых системах 32 и 64 бит.
[18:25:31] <alexey.veselovsky> /me скептически смотрит на последнюю ревизию Оберона
[18:26:05] <alexey.veselovsky> ну, как сказать нет... если SYSTEM переделать слегка (тем более что он там опциональный), то действительно не будет :-)
[18:26:26] <alexey.veselovsky> вообще кто сказал что в PUT в качестве адреса должен быть всего один аргумент? :-)
[18:26:40] <Jordan> Без system программировать то можно? Систем штука зависимая.
[18:27:01] <alexey.veselovsky> SYSTEM там штука потенциально отсутствующая вообще
[18:27:24] <alexey.veselovsky> А если SYSTEM нинужен (хотя он таки бывает нужен для всякого разного), то на битность в плане адресов тебе пофигу
[18:27:45] <Kemet> Jordan: без типа адрес или без беззнаковых, использующихся как адрес, на 32 бит можно выделить память за пределами 2 гб - оберон все равно напрямую адресами не оперирует, а рантайм это вполне может обработать з- процу нет разницы, знаковый, беззнаковый
[18:28:02] <Jordan> ок.
[18:28:13] <alexey.veselovsky> да там адреса хоть SET' ами задавай :-)
[18:28:50] <alexey.veselovsky> но вот иногда нужно таки ЦЕЛОЕ число больше 32 бит.
[18:28:54] <alexey.veselovsky> и вот тогда пичалька
[18:29:13] <alexey.veselovsky> в качестве костыля - REAL использовать. точнее LONGREAL
[18:29:42] <Kemet> проблемы начинаются когда ты захочешь работать с данными за пределами границы - в массиве, например не может быть больше элементов или размер файла - нельзя обратиться к байту за пределами и тп
[18:29:45] <alexey.veselovsky> ну или как-то из массивов целых или SET'ов мастерить свою арифметику
[18:30:10] <alexey.veselovsky> ну, положим к БАЙТУ в обероне и так не обратиться - нема такого типа :-)
[18:30:22] <alexey.veselovsky> но число элементов таки да, будет ограничено
[18:30:28] <alexey.veselovsky> но это и в жабе также
[18:30:34] <alexey.veselovsky> по моему даже в 64битной
[18:30:40] <Jordan> Как читать по байтно тогда?
[18:30:52] <Kemet> гдето нет гдето есть, хоть char хоть smallint
[18:30:55] <alexey.veselovsky> адресного пространства МНОГО, а вот элементов массива больше чем 2^31 не бывает
[18:31:10] <alexey.veselovsky> ну что такое CHAR никто не знает на самом деле
[18:31:17] <alexey.veselovsky> это может быть 32битная штукенция легко
[18:31:29] <alexey.veselovsky> (UTF-32)
[18:32:19] <Kemet> alexey.veselovsky: ты постоянно скатываешься на абстракции )) в конкретных компиляторах оно есть
[18:32:40] <alexey.veselovsky> я скатываюсь к тому, что гарантировано описанием языка
[18:32:52] <alexey.veselovsky> и я полагаю что это должно быть не в компиляторе а в либе
[18:35:34] <alexey.veselovsky> в стандартной либе
[18:35:48] <alexey.veselovsky> которая может быть оформлена псевдомодулем, а может и реальным модулем
[18:35:59] <alexey.veselovsky> это уже нюансы реализации
[18:36:54] <Kemet> Jordan: побайтно так и читается - в реализациях есть либо byte либо system.byte, или char
[18:37:23] <alexey.veselovsky> да, придется выжигать каленым железом!
[18:37:26] <alexey.veselovsky> :-)
[18:37:28] <Kemet> или можно читать всё 32-х битами и сдвиги-сдвиги
[18:37:51] <alexey.veselovsky> сетами, ага
[18:38:43] <alexey.veselovsky> благо хоть они то точно и железно гарантированно 32битные
[18:38:44] <Jordan> byte и system.byte это стандартное решение? И если char 2 или 4 байта? От этого можно стандартно и кроссплатформенно абстрагироваться?
[18:39:00] <alexey.veselovsky> нет, не стандартное
[18:39:08] <alexey.veselovsky> описалово языка ничего в этом плане не гарантирует
[18:39:20] <Kemet> Jordan: в реализациях хоть как будет 8-битный тип
[18:39:22] <alexey.veselovsky> Так что воспользовавшись этим ты напишешь совершенно непереносимый код
[18:39:48] <alexey.veselovsky> Особенно если учесть что в текущем обероне нет алиасов для простых типов :-)
[18:40:09] <Kemet> alexey.veselovsky: в активном обероне систем.байт описано и чар там описан как 8-ми битный
[18:40:26] <alexey.veselovsky> ну, мы же про Оберон говорим, а не про его родственников :-)
[18:41:53] <Kemet> это тоже оберон, причем наоболее правильный - там объект синтакически описывается как модуль в обероне, т.е. просто ооп инкрементация, а оберон-2 это уже грязновато
[18:43:14] <Kemet> Jordan: переносимого кода не будет, потому что Вирт пилит под себя, а другим приходится адаптировать под свои реалии
[18:43:55] <Jordan> Грустно.
[18:44:22] <Jordan> В активном обероне таких проблем нет? На уровне стандарта языка он переносим?
[18:44:34] <Kemet> но если вхять, к примеру реализацию оберон в4 под разные платформы, от 32-64 бита, там все типы совместимы
[18:44:51] <Kemet> а другие обероны - это другие обероны
[18:45:40] <Kemet> Jordan: да, паереносим, там и беззнаковые есть и тип адрес и тип size
[18:46:39] <Jordan> Понял.
[18:46:43] <alexey.veselovsky> только вот для Активного Оберона нет актуального репорта :-)
[18:47:31] <Jordan> Рапорт != Стандарт. Нужны не писульки на 16 страничек, а полный стандарт, с полным описание, что можно, что нельзя.
[18:47:40] <alexey.veselovsky> короче, для пускания оберон в ширпотреб один фиг надо брать какой-то один и допиливать его
[18:47:52] <alexey.veselovsky> причем не в одиночку, а чтобы несколько авторов разных компиляторов участвовали
[18:49:33] <Kemet> alexey.veselovsky: формально, почти все расширизмы относятся к математическому расширению оберона, т.е. активобеона отдельно, расширени отдельно, ну, кроме типод адрес и сайз
[18:49:59] <Kemet> таким образом, репорт почти не устарел )
[19:20:45] <vlad2> alexey.veselovsky: у меня поставилась на W7. Не express.
[19:21:15] <vlad2> фдучунюмуыудщмылнЖ каких сообщений?
[19:21:29] <vlad2> alexey.veselovsky: каких сообщений?
[19:23:03] <vlad2> alexey.veselovsky: git у меня вообще оставляет впечатление вывернутых на пользователя потрохов реализации. Которые пользователь должен знать, чтобы пользоваться. Такой классический стиль программирования на С.
[19:32:36] <vlad2> Я, например, так и не смог кульутурно избавиться от ветки rel_v1.0 - залез а .git/config и убрал ее оттуда.
[19:35:47] <vlad2> Я ставит 2013 без поддержки веба и прочей херни, только C++ ;)
[20:00:09] <vаlexey> vlad2: а ты борол это дело с консоли или через какой-то гуй?
[20:01:51] <vlad2> с консоли конечно :)
[20:02:02] <vlad2> Через гуй там вообще нечего делать.
[20:02:25] <vlad2> Гуй сразу сдается и говорит "у вас тут пипец какой-то, запускайте консоль и фиксайте".
[20:03:08] <vаlexey> ну, это смотря какой гуй :-)
[20:03:14] <vаlexey> гуев там МНОГО
[20:03:32] <vlad2> Который гитхабовый.
[20:03:38] <vlad2> Злобная вещь, кстати.
[20:03:45] <vlad2> На дотнете писано.
[20:03:55] <vаlexey> это которое в метро-стиле чтоле?
[20:03:57] <vlad2> Еле старутет на нетбуке.
[20:04:04] <vlad2> ХЗ в каком оно там стиле.
[20:04:14] <vаlexey> скриншотик моно?
[20:04:40] <vаlexey> ну или там урл
[20:04:56] <vаlexey> http://windows.github.com/
[20:04:59] <vаlexey> оно?
[20:05:35] <vlad2> Да.
[20:05:46] <vаlexey> метро
[20:05:57] <vаlexey> я этим пытался пользоваться, меня быстро стошнило
[20:06:13] <vаlexey> вообще для гита никто этим гуем не пользуется, пользуются чем-то более вменяемым.
[20:06:33] <vаlexey> ибо это совершенно нестандартный велосипед от гитхаба
[20:07:33] <vlad2> Что есть под винду?
[20:08:11] <vаlexey> полно
[20:08:13] <vаlexey> http://git-scm.com/downloads/guis
[20:08:52] <vаlexey> по моему народ рекомендует это: http://www.syntevo.com/smartgithg/
[20:08:57] <vаlexey> правда оно деньгу стоит
[20:10:38] <vlad2> Не, за деньргу не модно :)
[20:11:05] <vаlexey> ну, можно на другие глянуть
[20:11:24] <vаlexey> битбакетовую можно пощупать. но оно тоже какое-то монструозное. нетбуку будет плохо
[20:11:34] <vаlexey> но оно конечно умеет больше чем гитхабовое
[20:11:42] <vаlexey> это которое https://www.atlassian.com/software/sourcetree/overview?_mid=a18ff9aa0cf39642cc1aec1deb2fb182&gclid=COe6rr_pqroCFfN4cAodimsATQ
[20:12:29] <vаlexey> А! Так SmartGit он free for non commerce
[20:12:39] <vаlexey> то есть нам как раз подходит :-D
[20:12:57] <vаlexey> тебе ведь для опенсорс-проекта, правда ведь? :-)
[20:13:23] <vlad2> Ага. Только оно жабье.
[20:13:39] <vlad2> Должно тормзить не хуже гитхабовского дотнета.
[20:14:56] <vаlexey> ну, не факт :-)
[20:15:38] <vlad2> Короче, диффалку я все равно не променяю свою, а для остального пока хватает конслоли.
[20:34:00] <vаlexey> и это правильно!
[20:34:34] <vаlexey> vlad2: а ты знаешь что с гитхабом потенциально можно работать из жабаскрипта в браузере?
[20:34:52] <vаlexey> то есть в принципе возможно написать на Обероне прогу которая будет что-нибудь с репозиторием делать
[20:35:11] <vаlexey> Ну, например грузить оттуда свежий слепок компилятора и запускать его :-)
[20:35:40] <vаlexey> без просовывания этого всего на диск сервера. ну и вообще на сервер.
[20:35:44] <vаlexey> сервер нинужен!
[20:52:28] <vlad2> А. Прикольно.
[22:33:41] <vаlexey> vlad2: ИИИ!!! Яббл выпустил OS X 10.9!
[22:33:45] <vаlexey> Оно БЕСПЛАТНО!
[22:33:47] <vаlexey> НАДО БРАТЬ!
[22:33:50] <vаlexey> :-D
[22:39:26] <vlad2> Фуцк.
[22:41:40] <vаlexey> угу
[22:41:48] <vаlexey> и новая прошка
[22:42:50] <vаlexey> Видимо в течение ближайших часов станет доступно
[22:43:36] <vаlexey> а вот что будет после 10.9 меня пугает
[22:43:55] <vаlexey> хотя может к тому времени я уже к макам не буду какого-либо отношения иметь :-D
[22:48:02] <vаlexey> vlad2: http://www.apple.com/osx/
[22:48:09] <vаlexey> там есть кнопочка - Upgrade now
[23:29:38] <vаlexey> http://en.wikipedia.org/wiki/Mavericks_(location)
[23:29:40] <vаlexey> во
[23:44:26] <vlad2> Gjzdbkfcm/
[23:44:30] <vlad2> Появилась.
[23:44:37] <vаlexey> ХВАТАЙ И БЕГИ!
[23:44:41] <vlad2> Пипец. Хотят billing info. Пофиг, что free.
[23:44:47] <vаlexey> :-)
[23:44:56] <vlad2> Тормозит оно у них...
[23:45:14] <vаlexey> Кстати, бесплатность операционки означает что точно будут прикрывать установку софта не через стор.
[23:46:11] <vаlexey> схема монетизации меняется
[23:46:57] <vlad2> Угу.
[23:46:59] <vlad2> Какчается.
[23:47:08] <vlad2> 5.29Гб
[23:47:16] <vlad2> Не х. от маленькой собачки...
[23:47:44] <vаlexey> да, там какую-то зжатию ОЗУ придумали
[23:47:50] <vаlexey> то есть неактивных областей памяти
[23:48:12] <vlad2> Было такое во времена 3.11 :)
[23:49:30] <vlad2> 200 new features... are they serious???
[23:50:02] <vаlexey> во времена 3.11 не помню - какая-то сторонняя тулза была?
[23:50:31] <vаlexey> ну а чо? если каждое изменение/добавление API и каждое изменение в приложениях искаропки считать за фичу - то вполне 200 наберется :-)
[23:51:44] <vlad2> Да, какая-то тулза. Может для 95-й. Но очень давно.
[23:52:29] <vаlexey> ну, тогда сжимальщики всего вообще были популярны
[23:52:44] <vаlexey> например диск сжимали целиком
[23:52:53] <vаlexey> doublespace что-ли звалось
[23:53:03] <vаlexey> по моему, даже оно искаропки в виндах было
[23:53:29] <vаlexey> помнится оно жутко врало (по понятным причинам) по поводу того, сколько места на винте остается