[03:18:35] <alexey.veselovsky> xxx: Вот ты программист - на фига тебе синусы, косинусы и интегралы? Тебе нужен С++, SQL, Ява, Питон, Хаскель, Си шарпы и точки нет всякие, PHP там...
YYY: Эм... моя контора спутники делает. В тот день когда мне не понадобятся синусы, косинусы и интегралы я влезу в гугл и наконец напишу "Hello, world!" на десяти языках - и офигею от осознания собственной крутизны.
[10:29:53] <sda> Москва. 10 июля. INTERFAX.RU - Компания Microsoft объявила о прекращении полноценной поддержки операционной системы Windows 7, сообщает Digital Spy.
В сообщении уточняется, что поддержка будет прекращена с 13 января 2015 года. Следующие пять лет Microsoft намерена осуществлять частичную поддержку операционной системы. Она будет включать в себя обновления систем безопасности и устранение выявленных неполадок. В то же время серьезных изменений в Windows 7 уже не будет. Ранее в Microsoft сообщили о полном прекращении поддержки Windows XP. http://www.interfax.ru/384995
[10:33:08] <sda> семерка после хр единственная годная ось, правда поиск файлов в проводнике ужасен..
[10:33:40] <geniepro> да падумаешь -- 5 лет поддержки... у линупсов вообще обычно нет поддержки, а если и есть то пара лет, изредка те же 5 лет
[10:34:36] <sda> не а что они хотят вместо семерки? восьмерка не пошла в народ, 9-ку готовят?
[10:35:36] <geniepro> ага
[10:35:57] <geniepro> они обещали что купившие семёрку бесплатно апгрейднутся на девятку
[11:41:40] <alexey.veselovsky> 8.1
[12:12:41] <sda> Windows 9: Threshold призвана переманить пользователей Windows 7
http://microsoftportal.net/windows-9/3675-windows-9-threshold-prizvana-peremanit-polzovateley-windows-7.html
[12:13:31] <sda> еще одно уродство в семерке это переключение раскладки, нельзя сразу вводить буквы, нужно дождаться переключения иначе не переключает )
[12:13:35] <kpmý> вангую кучу шуток про trashold
[12:33:24] <geniepro> kpmý: старый мусор же )))
[12:38:26] <sda> насчет char наверное лучше сделать char8, char16, char32, а программисту оставить возможность делать type char = char8;
[14:40:55] <kpmý> https://github.com/pdewacht/oberon-risc-emu/blob/master/src/risc.c
где бы почитать про эмуляцию процессоров для чайников
[15:01:22] <s6> ща буду на цпп JNI либу кропать LGPL
[15:01:54] <s6> дёргать LGPL код из SL Viewer
[15:02:24] <kpmý> джинни
[15:39:11] <s6> ваще маппить чар на массив фиксированной битовой длины не комильфо
[15:39:29] <s6> это charRange можно маппить. Но не чар
[15:39:48] <s6> charRangeOffset точнее гря
[15:40:15] <s6> чар он бесконечен!
[15:40:22] <s6> как сама вселенная =)))
[15:44:44] <s6> а то от непродуманности начинаются грязнющие хаки вроде явовского - там unicode char32 маппится на два битовых массива каждый char16 , то есть java char. Бред.
[15:56:39] <geniepro> хочу быть пожилым китайцем
постигшим тонкости кунфу
что бросил дом семью и должность
и белкой скачет по горам
[16:32:47] <geniepro> «Два украинца - партизанский отряд. Три - партизанский отряд и один предатель».
http://www.kp.ru/daily/26253/3133384/
[16:35:20] <kpmý> бгг
[17:28:36] <kpmý> в бой
[17:28:37] <тихий бот> version Жаба
[17:28:38] <Жаба> тихий бот, Жаба have Jaba 1.2 on rhel
[17:28:39] <тихий бот> version Жаба
[17:28:40] <Жаба> тихий бот, Жаба have Jaba 1.2 on rhel
[17:28:41] <тихий бот> version Жаба
[17:28:42] <Жаба> тихий бот, Жаба have Jaba 1.2 on rhel
[17:28:43] <тихий бот> version Жаба
[17:28:44] <Жаба> тихий бот, Жаба have Jaba 1.2 on rhel
[17:28:45] <тихий бот> version Жаба
[17:28:46] <Жаба> тихий бот, Жаба have Jaba 1.2 on rhel
[17:28:47] <тихий бот> version Жаба
[17:28:48] <Жаба> тихий бот, Жаба have Jaba 1.2 on rhel
[17:28:49] <тихий бот> version Жаба
[17:28:50] <Жаба> тихий бот, Жаба have Jaba 1.2 on rhel
[17:28:51] <тихий бот> стой Жаба
[19:13:15] <kpmý> http://ternarycomp.cs.msu.ru/Papers/Sborn12_Sidorov.pdf написали а сырцов не выложили
[19:13:22] <kpmý> ну да, зачем делиться
[19:22:22] <kpmý> *
[19:22:22] <тихий бот> kpmý, ② - ①
[19:38:51] <geniepro> чай не коммунизм же )
[20:12:01] <jordan36957> windows становится linux'ом. У меня на win8 не качает обновления. Индикатор висит, толку ноль. Забил в интернет. Выдал портянку консольных комманд. Такие дела. Я просто думал, мол есть кнопки очистить историю обновлений и обновить по новой. Так нет, предлагает только через консоль.
[20:12:40] <geniepro> jordan36957: напиши скрипт на павершелле )))
[20:14:34] <jordan36957> ноутбук новый. Я уже скачал образ. Полностью переустановлю. Так как по умолчанию в винду понапихали +100500 программ. И все сидят в автозагрузке.
[20:15:10] <jordan36957> походу сам восстановочный диск винды глючный
[20:27:25] <vаlexey> "Боеприпасы в Румынии похитили с поезда, когда машинисты остановились, чтобы продать солярку"
[20:47:25] <geniepro> писец, в хаскелле, оказывается, необязательно разделять лексемы пробелами, если транслятор может их разобрать как правильные лексемы:
Hugs> let foo n c = (n, c) in foo 10'a'
(10,'a')
Hugs> let foo n c = (n, c) in foo 10.0'a'
(10.0,'a')
Hugs> let foo n c = (n, c) in foo 10.0"123"
(10.0,"123")
Hugs> let foo n c = (n, c) in foo 10.0pi
(10.0,3.14159265358979)
Hugs> let foo n c = (n, c) in foo 10pi
(10,3.14159265358979)
Hugs> let foo n c = (n, c) in foo 'q'pi
('q',3.14159265358979)
Hugs> let foo n c = (n, c) in foo 'q''a'
('q','a')
Hugs> let foo n c = (n, c) in foo pi'a'
ERROR - Undefined variable "pi'a'"
Hugs> let foo n c = (n, c) in foo "pi"'a'
("pi",'a')
Hugs> let foo n c = (n, c) in foo pi"abc"
(3.14159265358979,"abc")
[20:54:59] <sda> kpmý: в сети можно найти эмуляторы троичного компа с исходниками
эмулятор советской сетуни70
http://sourceforge.net/projects/s70emul/
тунгуска на основе 6502
http://tunguska.sourceforge.net/about.html
[20:57:50] <kpmý> все же они менее понятны, чем университетская работа
[20:59:08] <kpmý> которой не найти, да
[21:00:27] <sda> в последней даже компилятор си вроде есть
[21:00:52] <sda> может просто никому не интересны такие работы? вот и не выкладывают
[21:01:54] <kpmý> да, наверное
[21:03:16] <kpmý> но мне в принципе интересен не конкретный код, а некое пояснение, что зачем, зачем переменная PC нужна, как в принципе строился эмулятор. и тд
[21:04:00] <sda> это указатель на инструкцию
[21:04:31] <sda> выполняешь инструкцию, увеличиваешь pc на размер инструкции
[21:05:00] <kpmý> а откуда берется инструкция
[21:05:44] <sda> просто выделяешь память, туда загружаешь инструкции, а потом интерпретируешь
[21:06:33] <kpmý> да, но их же надо придумать, или взять где-то набор инструкций и их описание
[21:06:48] <kpmý> даже у вирта не очень понятно
[21:07:23] <geniepro> так систему команд изучай
[21:07:49] <kpmý> а для этого нужна полная документация, а не вырезка из университетской методички)
[21:08:01] <geniepro> тебе проще это всё изучать на каком-нить MCS51, Z80, или этот любимый валексеевский MSP430 или типа того
[21:08:44] <sda> если есть опыт ассебмлера х86 то придумать свои не проблема
[21:10:05] <geniepro> баловался я лет 10 назад, делал свою систему команд по мотивам кнутовского MIX, эмулятор на борланд с++ выполнял тесты в 20-30 раз медленнее чем x86 )))
[21:10:07] <sda> вот простой вариант на несколько инструкций
http://en.wikibooks.org/wiki/Creating_a_Virtual_Machine/Register_VM_in_C
[21:10:44] <sda> а я сейчас как раз свою разрабатываю
[21:15:28] <kpmý> зачем свою?
[21:17:29] <sda> да вот как-то изучал осдев, потом компилеры, делать кодогенератор для х86 сложно, я подумал что смогу сделать более простой вариант системы команд...
[21:18:02] <sda> сейчас уже умеет ветвление, работать со стеком, делать call и ret
[21:19:13] <kpmý> и это все тоже на эмуляторе?
[21:19:13] <sda> вообще интересно попробовать переписать все с нуля, в виртуальной машине нет проблем с периферией, для клавиатуры и мыши можно просто сделать область памати куда писать ввод с них
[21:19:28] <sda> да
[21:19:29] <тихий бот> sda, нет
[21:19:41] <sda> даже ассемблер есть
[21:19:44] <sda> примитивный
[21:19:56] <sda> тихий бот: что нет?)
[21:20:46] <sda> пример программы с тестом ветвления, зациклится )
mov r1, 5
mov r2, 1
l01: sub r1, r2
cmp r1, 0
jne l01
halt
[21:21:15] <sda> работа со стеком:
mov r0, 61440 // stack start
mov r1, 65536 // stack end
ldr r1, r0 // set internal reg r17
ldr r2, r1 // set internal reg r18
mov r14, r0 // set stack pointer
push 123 // push imm (123=0x7B)
pop r3 // pop reg
halt
//0000F000 00010000 00000000 0000007B 00000000 00000000 00000000 00000000
//00000000 00000000 00000000 00000000 00000000 00000000 0000F000 0000001C
[21:21:27] <kpmý> жесть
[21:21:54] <sda> вызов под программы:
mov r0, 61439
mov r1, 65535
ldr r1, r0
ldr r2, r1
mov r14, r0
call l1
mov r3, 15
halt
l1: mov r4, 123
ret
halt
[21:22:08] <sda> Z:\dima\dev\avm32_v06>avm32.exe prog5.bin
init vm - ok
load prog - prog size: 42
start prog
ip: 0 op: 3 op name: mov r1: 0 r2: 0 imm: 61439
ip: 6 op: 3 op name: mov r1: 1 r2: 0 imm: 65535
ip: 12 op: 63 op name: ldr r1: 1 r2: 0 imm: 0
ip: 14 op: 63 op name: ldr r1: 2 r2: 1 imm: 0
ip: 16 op: 2 op name: mov r1: 14 r2: 0 imm: 0
ip: 18 op: 69 op name: call r1: 0 r2: 0 imm: 32
ip: 32 op: 3 op name: mov r1: 4 r2: 0 imm: 123
ip: 38 op: 70 op name: ret r1: 0 r2: 0 imm: 0
ip: 24 op: 3 op name: mov r1: 3 r2: 0 imm: 15
ip: 30 op: 1 op name: halt r1: 0 r2: 0 imm: 0
end prog at ip = 32
registers:
0000EFFF 0000FFFF 00000000 0000000F 0000007B 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 0000EFFF 00000020
[21:22:25] <sda> это так она выполняется
[21:23:41] <sda> может в будущем попробую сделать и трочиный вариант, но там надо добиться чтобы на один трит приходилось два бита, чтобы было эффективное использование памяти...
[21:24:30] <kpmý> на обероне пишешь?
[21:24:41] <sda> нет, на дельфи
[21:24:46] <s6> fatal error: boost/dcoroutine/coroutine.hpp: Нет такого файла или каталога
[21:25:15] <kpmý> s6: содомит
[21:26:46] <s6> жареные колорады по-одесски. в ресторане на майдане подают =)
[21:27:11] <sda> фашики че
[21:27:47] <s6> да оказывается фашизм переводят с итальянского как просто "союз, единение"
[21:27:48] <s6> =)
[21:27:55] <kpmý> пучкизм, ага
[21:28:06] <s6> для гитлеровских "чудес" слова не придумано ещё
[21:28:13] <s6> кроме "злодеяние"
[21:32:02] <s6> клёвый на битбакете 404 : https://bitbucket.org/lindenlab/viewer-beta/commits/70daaee4bc53/
[21:34:21] <geniepro> s6> да оказывается фашизм переводят с итальянского как просто "союз, единение"
ага, а ещё, оказывается де-то там то ли в сербии, то ли в словакии местные фашисты были самывми жестокими врагами местных же нацистов ))) враждовали они между собой сильнее чем с коммунистами )))
[21:34:39] <s6> круть
[21:41:17] <s6> блин
[21:41:31] <s6> как бы линденлабские сырцы пошустрее собрать, и без cmake
[21:42:05] <s6> патамушта мне не аппликуху надо от них, а дллку
[21:42:17] <s6> сошку точнее
[21:42:24] <vlad2> /me жарил колорадских жуков. Буквально.
[21:42:30] <s6> ел?
[21:42:50] <vlad2> Нет.
[21:43:18] <s6> я саранчу тоже не ел. Хотя на байкале она летает
[21:43:55] <s6> в тажеранских степях
[21:44:16] <s6> там такой запах тимьяна фантастически клёвый, просто наркотически приятен
[21:51:26] <sda> интересно. несколько дней не пользовался электронной книжкой, страница как бы пожелтела.. там где переключаешься между пунктами меню следы после переристовки белые, открыл книгу экран пересовался и опять все стало белым )
[22:03:21] <s6> подлые кодеры, жечь вас надо как колорадов
[22:04:34] <s6> блин. буст такой жырный, а меркуриал такой тормозно и прогресса не рисует при клоне
[22:06:47] <kpmý> зато бесплатно
[22:09:21] <s6> да суки. снижают стоимость ПО
[22:48:18] <kpmý> короч эмуляторы процессора это сложно
[22:48:24] <kpmý> такое только за деньги
[23:04:49] <s6> ну едрён жеж корень . Finished building target: libxxxxx.so
[23:05:11] <s6> не прошло и дня как я выкорчевал из сл вьюера всё что мне нада =)
[23:06:21] <s6> правда надо ещё контентовдувалку запрогать
[23:06:34] <s6> скоро релиз, скоро релиз. крута крута
[23:07:18] <s6> jni либу лабаю из сл вьюера
[23:13:52] <boris_ilov> кто подскажет как определить в С99 экспортную переменную только для чтения?
[23:15:24] <kpmý> #define private public // :)
[23:16:34] <boris_ilov> не ну реально
[23:16:41] <boris_ilov> такое возможно вообще
[23:16:43] <boris_ilov> ?
[23:16:44] <тихий бот> тварь я дрожащая, или тот, кому надо?
[23:16:59] <boris_ilov> static скрывает переменную
[23:17:11] <kpmý> может там есть protected
[23:17:20] <s6> boris_ilov, я не спец, но можно inline getter сбацать
[23:17:31] <geniepro> boris_ilov> кто подскажет как определить в С99 экспортную переменную только для чтения?
нет
[23:17:42] <boris_ilov> пичаль
[23:17:44] <s6> нет
[23:17:45] <тихий бот> Нет, не нет...
[23:17:47] <s6> boris_ilov, я не спец, но можно inline getter сбацать
[23:17:57] <boris_ilov> что сие значит?
[23:18:21] <geniepro> boris_ilov: делай статическую переменную и функцию доступа к ней
[23:18:31] <geniepro> умный компилер заинлайнит
[23:18:38] <s6> ну static inline typename getvarname() { return varname; }
[23:18:51] <boris_ilov> хм
[23:18:55] <boris_ilov> сенкс
[23:19:00] <boris_ilov> возьму на вооружение
[23:19:07] <boris_ilov> :)
[23:19:31] <geniepro> s6> ну static inline typename getvarname() { return varname; }
yt edthty xnj 'nj gjktpyj d cz[
[23:19:43] <geniepro> b dfot hf,jnftn kb& [p
[23:19:52] <geniepro> не уверен что это полезно в сях
х00Ж19Ж43ъ БпутшузкщЮ и ваще работает ли? хз
[23:19:55] <kpmý> gbpltw
[23:19:59] <boris_ilov> kdfghdfkgkjdf
[23:20:18] <geniepro> у меня хоть осмысленный текст был, а у вас? )
[23:20:28] <s6> geniepro, зашем в си только для чтения =) в си коммунизм же =)
[23:20:31] <boris_ilov> :D
[23:21:56] <s6> geniepro, ну в си когда-то не было кейворда инлайн
[23:21:57] <geniepro> static int x;
int get_x(void)
{
return x;
}
а тут кто-то её изменяет как хочет
[23:22:06] <s6> вово
[23:25:38] <boris_ilov> си плахой
[23:25:55] <boris_ilov> руки все время тянутся че нить сократить
[23:26:00] <boris_ilov> яжмогу!
[23:26:14] <kpmý> клеветы
[23:26:14] <тихий бот> абирон - плахой потому, что в нём нет шаблонов а в с++ всё делается в одну строчку
[23:26:30] <boris_ilov> Си
[23:26:30] <тихий бот> Выебнись! Ты же можешь!
[23:27:04] <boris_ilov> пока еще держусь
[23:27:22] <boris_ilov> и не одним выебоном не воспользовался :)
[23:28:08] <vlad2> boris_ilov: тебе принципиально в С юезщ плюсов?
[23:28:16] <vlad2> без
[23:28:32] <boris_ilov> мне не интересны плюсы
[23:28:34] <boris_ilov> пока
[23:28:41] <vlad2> А. Ну тогда страдай :)
[23:28:51] <vlad2> Хотя я не понял чем плоха функция.
[23:28:53] <boris_ilov> просто давно хочу овладеть си
[23:29:40] <boris_ilov> если инлайнит то ни чем не плоха :)
[23:30:27] <boris_ilov> в общем я решил двух зайцев убить
[23:30:49] <boris_ilov> написать че нить на си более 500 строк
[23:31:03] <boris_ilov> и заиметь компилер оберона на С99
[23:31:34] <boris_ilov> компиляторов С ведь только на марсе нет
[23:31:43] <boris_ilov> хотя....
[23:31:52] <vlad2> Еще можно сделать имя переменной типа {GUID}_do_not_toch_it и класивый макрос GET_X, который будет вызывать inline йункцию, которая будет возвращать эту переменную.
[23:32:20] <boris_ilov> а с дефайнами никак не извратиться?
[23:32:31] <s6> неть
[23:32:40] <s6> вроде
[23:33:00] <boris_ilov> еще вопросец
[23:33:06] <boris_ilov> как правильно писать
[23:33:12] <boris_ilov> static inline
[23:33:14] <boris_ilov> или
[23:33:19] <boris_ilov> inline static
[23:33:21] <boris_ilov> ?
[23:33:21] <тихий бот> тварь я дрожащая, или тот, кому надо?
[23:34:19] <vlad2> .c:
int {GUID}_do_not_toch_it;
.h:
static int get_{GUID}_do_not_toch_it(){return {GUID}_do_not_toch_it;}
#define GET_X get_{GUID}_do_not_toch_it() // будет заинлайнено любым популярным компилереом
[23:34:20] <тихий бот> vlad2, no such command
[23:35:05] <boris_ilov> а что тогда мешает не GET_X а просто x?
[23:35:14] <vlad2> Можно просто x.
[23:39:18] <vlad2> Только будут проблемы :) Макрос 'x' перекроет тебе вообще все 'x' - это ж макрос.
[23:40:02] <boris_ilov> да вот я думаю забить на эту идею
[23:40:07] <vlad2> Например, в эпле какие-то идиоты определили макроc check в SDK - уж сколько я ругался...
[23:40:11] <boris_ilov> гулять так гулять
[23:40:48] <vlad2> причем сообщения об ошибке будут доставлять своей таинственностью не хуже плюсовых шаблонов
[23:41:00] <boris_ilov> пусть это будет моей первой слабиной в си :)
[23:41:38] <boris_ilov> кстати хидеры после оберона бесят
[23:42:11] <boris_ilov> я понял что мне не нравится разделение на интерфейс и реализацию
[23:42:29] <boris_ilov> пусть ентот интерфейс уж лучше сам генерится
[23:42:30] <kpmý> а как же *нормальная* модульность?
[23:42:40] <boris_ilov> я не про это
[23:42:52] <boris_ilov> а про физическое разделение файлов
[23:43:08] <kpmý> именно это пейселовский называет нормальной модульностью)
[23:43:24] <boris_ilov> ну ему нравится да
[23:43:35] <boris_ilov> а я вот чет не в восторге
[23:43:50] <boris_ilov> хочется видеть все в одном месте
[23:43:59] <boris_ilov> а тут приходится по файлам скакать
[23:44:05] <boris_ilov> и править в двух местах
[23:44:11] <boris_ilov> геморно...
[23:44:26] <kpmý> должны же быть средства рефакторинга
[23:44:42] <boris_ilov> да я блокноте пишу :)
[23:45:50] <boris_ilov> в ST3