[00:23:55] <ilov_boris> Добавил ссылку в Wiki http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D0%B5%D1%80%D0%BE%D0%BD_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)#.D0.A1.D1.81.D1.8B.D0.BB.D0.BA.D0.B8
[09:00:14] <valexеy> .
[09:56:09] <egp> щас ещё в проект для полного компоту Hibernate добавлю
[09:56:35] <egp> тем более что я с ним год работал
[10:03:25] <valexеy> "и пусть живые позавидуют мертвым"
[10:06:49] <egp> =)
[10:13:15] <egp> вообще неплохо бы для хранения БД юзать аналог Google DataStore но я не в курсе где есть имплементация
[10:14:47] <egp> у GDS максимальное время на GET объекта из базы - это 200 millis или вроде того. Если этот таймаут таймаутится, то скачет исключение - т.е. прогерам приходится дисциплинированно дёргать только малые количества данных за операцию - типа улучается availability БД через это
[10:14:51] <egp> улучшается
[10:15:24] <egp> у PUT побольше таймаут
[10:15:51] <egp> объекты в GDS хранятся на диске в сериальном виде
[10:16:06] <egp> хорошая штука.
[14:36:28] <Сергей Зорин> /
[14:36:57] <Сергей Зорин> test
[14:36:58] <Жаба> Сергей Зорин, passed
[15:04:03] <alexey.veselovsky> вау. назревает холивор
[15:04:16] <alexey.veselovsky> http://forum.oberoncore.ru/viewtopic.php?f=114&t=3836&start=80#p77409
[15:39:21] <Сергей Зорин> тежело без холоваров — душа требует праздника
[15:41:30] <alexey.veselovsky> да-да. если на свадьбе не было драки - плохая свадьба
[15:44:29] <Сергей Зорин> а то, ведь если сразу не подрались, чтобы помириться, то потом подерутся и непомирятся !Ё
[15:45:35] <alexey.veselovsky> Чорт. Прога опять не глючит!
[15:46:00] <Сергей Зорин> да ты шо, ты чтто то делаешь не так!
[15:46:26] <Сергей Зорин> это явно неучтенная ошипка
[15:46:36] <alexey.veselovsky> Дык да. Я точно знаю что там бага есть. Сделал все чтобы когда она выскочит, сразу можно было определить из за чего она.
[15:46:44] <alexey.veselovsky> До того ошибка выскакивала каждую минуту
[15:46:52] <alexey.veselovsky> Сейчас уже полчаса как все работает отлично
[15:46:59] <alexey.veselovsky> Сволочъ
[15:48:37] <Сергей Зорин> ну может вои измененеия както повлияли на состояние переменных?
[15:48:53] <Сергей Зорин> или на тайминг тамесли он есть
[15:49:28] <alexey.veselovsky> дык убрал изменения - опять не глючит!
[15:50:42] <Сергей Зорин> может чтото перекомпилилось просто
[15:51:07] <alexey.veselovsky> ну, Go вроде бы в подобных штуках не замечен. Это все же не Си
[15:53:31] <Сергей Зорин> я а че за прога
[15:53:55] <alexey.veselovsky> да по работе. сервачог для сбора данных с нашего дивайса.
[15:54:29] <Сергей Зорин> поди деайс гдючит.или линупс!
[15:55:26] <alexey.veselovsky> не. дивайс не глючит. он непосредственно с сервером вообще не взаимодействует :-)
[15:55:41] <alexey.veselovsky> а если б линупс глючил, то оно бы крашилось не столь элегантно
[15:56:02] <alexey.veselovsky> собственно оно и не падает. просто один из легковесных потоков завершается
[15:56:25] <Сергей Зорин> кстати, вспоитнаю древние годы, когда компы были большие. чвсто, после того как все способы и желания найти ошибку исчерпаны, в ход вступал самый помследний и важный способ
[15:56:53] <alexey.veselovsky> привести начальника? :-)
[15:57:00] <Сергей Зорин> не
[15:57:57] <Сергей Зорин> положить диск с прогой или перфокарту-ленту отлежаться на недельку. и о чудо, часто программа начинала работать )
[15:58:31] <Сергей Зорин> или наоборот, если все работает, положи, пусть полежит, вдруг баши прорастут )
[15:58:43] <Сергей Зорин> баги
[16:05:25] <alexey.veselovsky> гы. прикольно
[16:05:36] <alexey.veselovsky> а еще можно пустить поюзать твою прогу свежего человека
[16:05:40] <alexey.veselovsky> баги обеспечены
[16:09:09] <Сергей Зорин> тоже вариант
[16:09:28] <Сергей Зорин> практиканты пришли веррнее практикантки
[16:11:02] <alexey.veselovsky> гм. у вас похоже велик процент женщин среди разработчиков
[16:11:28] <Сергей Зорин> не так чтобы, но есть
[16:11:44] <alexey.veselovsky> к тому же небось не курящие :-)
[16:12:09] <Сергей Зорин> ну так
[16:12:23] <Сергей Зорин> мужики и те побросали
[16:12:57] <alexey.veselovsky> а у нас дамы из админ. блока все курят. или почти все
[16:13:08] <Сергей Зорин> фе
[16:13:21] <alexey.veselovsky> ога
[16:13:56] <Сергей Зорин> посажу их на портирование бакэндов с фрипаскаля на модулу3
[16:14:09] <alexey.veselovsky> :-)
[16:14:37] <Сергей Зорин> ну так их там куча, чего добру пропадать
[16:15:35] <alexey.veselovsky> экие вы любители паскаль-стайл синтаксиса :-)
[16:16:12] <Сергей Зорин> исторически так сложилось
[17:15:46] <alexey.veselovsky> xxx: А еще был случай в армии (на космодроме в Плесецке). Старт ракеты назначен через три дня, а в части локомотив сломался для перевозки ракет. Дак мы четырьмя ротами толкали головную часть ракеты по жд из ангара в ангар. Там были уклоны, подъемы... Мы разгонялись и тормозили с дикими матами, а французы, чей спутник был внутри ее стояли и долго размышляли...
[18:02:01] <Сергей Зорин> байки
[18:47:34] <alexey.veselovsky> "В геноме каждого человека около 30 000 эндогенных ретровирусов; вместе они составляют около 1% человеческого генома."
[18:47:54] <alexey.veselovsky> касперыча на нас нет!
[19:55:17] <vlad2> Вброс про яндекс зачтен, хорошая клевЕта :)
[19:55:32] <alexey.veselovsky> :-)
[19:55:53] <alexey.veselovsky> ЦЕРН же! Святая святых!
[20:14:58] <vlad2> Кстати, в итоге я поддержал в своем куомпиляторе такие рекурсивные определения. Т.е. TypeProc1 и TypeProc2 являются совместимыми по сигнатуре.
[20:15:27] <alexey.veselovsky> запахло расширизмом!
[20:15:30] <alexey.veselovsky> :-)
[20:16:00] <alexey.veselovsky> но Вирт тоже молодчина конечно - таки неопределенности оставлять в спеке на язык...
[20:17:05] <vlad2> Просто интресно - вдруг у такой фичи найдется интересное применение. Потому как в большинстве языков со строгой типизаций такого нельзя (да, я верен, что в хаскеле можно :)
[20:19:45] <alexey.veselovsky> в хаскеле нет понятия "процедурная переменная"
[20:19:49] <alexey.veselovsky> :-)
[20:19:55] <alexey.veselovsky> и понятия "указатель" тоже нет.
[20:21:10] <alexey.veselovsky> и, кстати, в жабе это делается. через дженерики.  в этом плане дженерики в жабе могут больше чем шаблоны в плюсцах
[20:26:03] <vlad2> Да я в спеке вообще ничего не видел по поводу совметимости по сигнатуре или имени. Хотя для структур это еще более актуально (обсуждали уже тут).
[20:26:30] <vlad2> Т.е. процедурный TYPE - это типа typedef.
[20:26:48] <vlad2> А рекордный type - это полноценный class.
[20:26:49] <alexey.veselovsky> угу
[20:27:03] <alexey.veselovsky> причем откуда это следует - хз
[20:27:10] <vlad2> Вот именно.
[20:31:27] <alexey.veselovsky> Причем в КП с этим делом все хорошо: http://plas.fit.qut.edu.au/gpcp/LanguageReport.aspx#AppendixA
[20:31:53] <alexey.veselovsky> "a and Tb are procedure types whose formal parameter lists match."
[20:32:09] <alexey.veselovsky> Да, черт возьми! В сигнатуру функции тип возвращаемого значения не включается!
[20:32:20] <alexey.veselovsky> Это вам не ада!
[20:36:25] <vlad2> Не, это у них бага.
[20:36:38] <vlad2> Не может тип возвращаемого значекния не включаться.
[20:37:05] <alexey.veselovsky> может
[20:37:09] <alexey.veselovsky> в сях же не включается
[20:37:15] <alexey.veselovsky> то есть не входит в сигнатуру функции
[20:37:21] <alexey.veselovsky> даже в плюсцах
[20:38:02] <vlad2> В смысле не входит? Конечно входит (в плюсах).
[20:38:32] <vlad2> Кроме того, тип возвращаемого значение пристуствует в формальных параметрах (с точки зрения синтаксиса оберона).
[20:38:35] <alexey.veselovsky> то есть ты можешь перегрузить функцию у которой будет отличаться только тип возвращаемого значения?
[20:38:47] <alexey.veselovsky> в плюсах
[20:39:01] <alexey.veselovsky> int foo(int); bool foo(int);
[20:39:05] <vlad2> Перегрузить не могу.
[20:39:12] <alexey.veselovsky> во-от.
[20:39:29] <vlad2> Но. 1) получу ошибку линковки, если типы декларации и имплементации не совпадают.
[20:39:37] <alexey.veselovsky> более того, сколь я помню, и в манглинге имен тип возвращаемого значения не манглится
[20:39:42] <vlad2> 2) не смогу написать poc1 = proc2
[20:39:55] <vlad2> манглится
[20:40:17] <vlad2> Во всяком случае в M$ имплементациях. Иначе собом был бы.
[20:40:21] <vlad2> содом
[20:41:16] <vlad2> А вот boost::bind/boost::function ведут себя более смарт
[20:42:09] <vlad2> там можно люой результат привести к void
[20:42:29] <vlad2> ну и обычные плюсовые приведения типов работают для аргументов и результата
[20:42:47] <vlad2> кроме того, можно опускать аргументы
[20:43:04] <vlad2> (несипользуемые)
[20:43:08] <vlad2> т.е.:
[20:43:34] <vlad2> T1 f(T2);
[20:44:57] <vlad2> boost::function0<void,T2,T3> ff = boost::bind(&f); // скомпилится
[20:45:19] <alexey.veselovsky> брр
[20:45:21] <vlad2> ff(t2, t3); // срабуотает без ошибок в рантайме
[20:45:44] <vlad2> t3, естественно, никуда не попадет
[20:45:45] <alexey.veselovsky> так мощно, аж мурашки по коже
[20:46:18] <vlad2> Н и результат f тоже никуда не попадет
[20:46:43] <vlad2> Сначала кажется неправильным, но на парактике именно так и хочется :)
[20:47:12] <alexey.veselovsky> грязные танцы
[20:47:39] <vlad2> Не, все честно :)
[20:48:03] <alexey.veselovsky> но грязно, да! ХЕНТАЙ!
[20:48:13] <vlad2> boost::function0<void> ff = boost::bind(&f); // вот тут будет ошибка - f хочет аргумент T2
[21:02:35] <alexey.veselovsky> гг. чем разбираться в коде на js, оказалось проще просто смотреть снифером как оно общается с клиентом.
[21:02:38] <alexey.veselovsky> тьху
[21:02:43] <alexey.veselovsky> с сервером
[21:02:52] <alexey.veselovsky> и по этому общению постигать протокол общения
[21:07:51] <vlad2> Еще бы ;)
[21:07:59] <alexey.veselovsky> vlad2: слушай, а можно ли в Обероне создавать записи тип которых заведен в другом модуле и у которых экспортирована только часть полей?
[21:08:22] <vlad2> Да, я думаю можно, почему нет?
[21:08:43] <alexey.veselovsky> ну, они же будут получаться кривыми и недоиниченными
[21:09:19] <vlad2> Модули тебе в этом не помогут :) Конструкторы нужны.
[21:09:36] <vlad2> Или фабрики (но это тяжеловесно)
[21:10:10] <alexey.veselovsky> а если считать что эквивалентность типов структурная, и с точки зрения модуля A тип B.R имеет только ту структуру которую он видит (то есть поля которые экспортируются), то становятся доступны интересные фокусы
[21:10:48] <alexey.veselovsky> ну, например можно создать тип A.R1, который будет эквивалентен типу B.R в модуле A, но не будет эквивалентен в модуле B
[21:10:55] <vlad2> Угу.
[21:10:58] <vlad2> И чего? :)
[21:11:19] <alexey.veselovsky> прикольно же :-)
[21:11:30] <alexey.veselovsky> ну и присваивать их туда-сюда можно
[21:11:56] <alexey.veselovsky> хм.. а что будет если такой A.R1 передать в процедуру B.Foo которая принимает B.R?
[21:12:19] <alexey.veselovsky> С точки зрения компиляции A - все ок
[21:12:34] <alexey.veselovsky> но логически получается какая-то лажа :-)
[21:20:55] <alexey.veselovsky> "Если отладка - процесс удаления ошибок, то программирование должно быть процессом их внесения. ( Э.Дейкстра )"
[21:21:23] <alexey.veselovsky> знаешь, у меня ощущение, что Дейкстра тут был более прав чем он сам того ожидал
[21:22:05] <alexey.veselovsky> Особенно это касается больших проектов которые упорно саппортят но не рефакторят
[21:22:35] <alexey.veselovsky> программист тут выступает в качестве фактора вызывающего мутацию кода. а тестирование - фактор отбора
[21:22:56] <alexey.veselovsky> в результате полезные мутации закрепляются, а вредные отсеиваются
[21:23:25] <alexey.veselovsky> + накапливаются нейтральные мутации.
[21:23:48] <alexey.veselovsky> в результате получается КУЧА бесполезного кода
[21:26:07] <alexey.veselovsky> будущим программерам надо на примерах живой природы показывать как НЕ НАДО делать.
[21:26:19] <vlad2> Да, прослеживается определенна связь с эволцией. Причем прослеживаются факты и за разумность и против ;)
[21:27:02] <alexey.veselovsky> "вот что получается если спроектировать и написать систему за 6 дней, а затем отдать поддержку и багфикс на аутсорсинг"
[22:21:40] <ilov_boris> valexey: http://www.google.ru/imgres?hl=ru&newwindow=1&sa=X&tbo=d&biw=1366&bih=600&tbm=isch&tbnid=NkGFoGU-rqZ5eM:&imgrefurl=http://vk.com/wall-30666517_295499&docid=B_uF9zbI6aJcZM&imgurl=http://cs418925.userapi.com/v418925664/1bbe/VnTvTFhvYO8.jpg&w=600&h=209&ei=JIf9UOX3ObLY4QSgj4G4BA&zoom=1&iact=rc&dur=392&sig=107521063528275746502&page=1&tbnh=86&tbnw=247&start=0&ndsp=23&ved=1t:429,r:22,s:0,i:159&tx=89&ty=30
[22:26:41] <alexey.veselovsky> :-D
[22:30:06] <vlad2> :)
[22:47:10] <vlad2> сволочной sql сервер
[22:47:36] <vlad2> ставит всю машину колом. при этом проц не жрет. и по памяти у него лимит.
[22:47:49] <vlad2> че делает - ХЗ
[22:48:20] <vlad2> (в смысле делает восстановление бд из бэкапа, но нафига так тормозить - непонятно)
[22:48:37] <alexey.veselovsky> disk io
[22:48:49] <alexey.veselovsky> + КУЧА сисколов
[22:48:53] <vlad2> А, ну и весь процесс обнадеживаеюще на 0% стоит.
[22:49:08] <alexey.veselovsky> см тему про буферизацию ввода-вывода :-)
[22:49:37] <alexey.veselovsky> как себя винт ведет? мигает?
[22:49:38] <vlad2> Я все понимаю. Но на машине дохрена памяти.
[22:49:54] <alexey.veselovsky> и что? от объемов памяти ничего не зависит :-)
[22:50:02] <alexey.veselovsky> см. лекцию Аксенова :-)
[22:50:14] <vlad2> В смысле другим процессам нет смысла свопиться и чего-то с диска хотеть - все в памяти.
[22:50:22] <alexey.veselovsky> для быстрого импорта данных БД нужно перенастраивать
[22:50:36] <alexey.veselovsky> а тут своп не при чем :-)
[22:50:44] <ilov_boris> Оооо БД это мистические штуки
[22:50:47] <ilov_boris> :)
[22:50:56] <alexey.veselovsky> write ahead log какого размера у СУБД?
[22:51:40] <ilov_boris> И какой тип транзакционного журнала стоит?
[22:51:52] <vlad2> Какая разница? Даже евсли он полностью овладели винтом - как смысл всему остальному тормозить?
[22:52:13] <alexey.veselovsky> дык сисколы же. система колом встает от такого непотребства
[22:52:22] <alexey.veselovsky> винда же жестко на винт завязана
[22:52:33] <alexey.veselovsky> это вечная её проблема
[22:52:46] <alexey.veselovsky> помнишь как в том анектоде "сейчас сынок, только дискетку отформатирую"
[22:52:52] <ilov_boris> vlad2: просто обычно венда редко к винту обращается и ты не замечаешь
[22:53:16] <ilov_boris> А БД начинает к нему запросы физические шпилить
[22:53:18] <vlad2> Не, этот анекдот еще в НТ4 фикснули ;)
[22:53:31] <ilov_boris> У меня ноут все время в таком состоянии :)
[22:53:40] <alexey.veselovsky> не до конца :-)
[22:53:58] <vlad2> Я помню, что эти самые дискеты под НТ4 форматировались быстрее :) Даже звук головок другой был :)
[22:53:58] <alexey.veselovsky> у меня тоже как только винда начинает винтом шуршать - аж курсор мышиный перестает двигаться
[22:54:35] <alexey.veselovsky> а поскольку у тебя MS Sql наверняка, то ей винда вообще приоритет во всем отдает :-)
[22:54:42] <alexey.veselovsky> оно чуть ли не в ядро вкорячивается
[22:57:11] <vlad2> Запустил пересболрку проекта. Теперь точно хреново стало :)
[22:58:05] <ilov_boris> Кстати на сервачных конфигурациях этого эффекта почти нет
[22:58:11] <ilov_boris> не знаю почему
[22:58:29] <alexey.veselovsky> потому чта там шедулер работает иначе
[22:58:44] <alexey.veselovsky> там все тормозит равномерно :-)
[22:58:48] <ilov_boris> :D
[22:59:23] <ilov_boris> Мы из-за этого эффекта даже отдельный комп выделили
[22:59:40] <ilov_boris> i7 32 гиг и кэш 100 гиг
[22:59:53] <ilov_boris> кэш SSD
[23:00:48] <ilov_boris> Если на ноуте базу > 10 гигов грузить он ваще намерт
[23:00:54] <ilov_boris> колом встает
[23:02:22] <ilov_boris> vlad2 еще надо профилировщик смотреть
[23:03:10] <ilov_boris> бывает что там процесс какой-нить ресурс не может заполучить и ждет сука непонятно чего
[23:03:14] <vlad2> Все, дошел до 100%
[23:03:23] <vlad2> Бэкап был 20 гигов
[23:03:32] <ilov_boris> А ну понятно :)
[23:03:41] <ilov_boris> Ожидаемые тормоза
[23:06:41] <ilov_boris> vlad2: Есчо в винде есть репортер ошибок
[23:07:03] <ilov_boris> он иногда очередь диска здорово засирает своими логами
[23:08:30] <vlad2> с таким не сталкивался
[23:09:28] <vlad2> Ошибка базы данных
[23:09:34] <vlad2> Пожалуйста, повторите ещё раз. Если ошибка продолжает повторяться, обратитесь к администратору.
[23:09:41] <vlad2> Обращаюсь ;)
[23:09:49] <vlad2> (http://oberspace.dyndns.org/index.php?action=unread)
[23:11:26] <ilov_boris> Office 2013 няшный
[23:14:33] <vlad2> Инсталляшка там прикольная. Дальше не смотрел :)
[23:15:27] <ilov_boris> Кэширует все активно
[23:15:57] <ilov_boris> Если документ с утра открывал, то потом в течении дня открывается молниеносно
[23:17:32] <ilov_boris> Как же cpp медленно компилится
[23:17:36] <ilov_boris> Просто жесть
[23:17:42] <vlad2> велкам ;)
[23:18:02] <ilov_boris> Hello World как космический корабль собирается :D
[23:18:58] <ilov_boris> Представляю сколько нужно ждать проект тыщ на 10 строк....
[23:28:27] <alexey.veselovsky> ну, разница не столь большая, потому что у тебя УЖЕ на тыщу строк hello world :-)
[23:37:07] <vlad2> Хотя можно писать на C без плюсов и без инклудов. Будет быстро :)
[23:41:04] <alexey.veselovsky> и прикольно
[23:41:37] <alexey.veselovsky> примерно как на жабаскрипте