[11:58:28] <valexey> О! Великий жаб вернулся!
[13:02:55] <genieprox> http://www.bestnationality.com/
[13:30:24] <valexey> глупость какая
[13:31:59] <valexey> yes! напоролся на то самое свойство языка, которое препятствует его популярности (не важно какого - оберона, хаскеля или D).
[13:32:31] <valexey> оное свойство радостно добавляет геморроя при разработке
[13:32:45] <valexey> отгадайте, какое свойство? :-)
[13:32:46] <genieprox> какое? о_О
[13:32:57] <genieprox> неоднозначность
[13:33:32] <valexey> нет. именно из за этого свойства эти языки плохо распространены.
[13:34:30] <genieprox> о_О у них нету коммьюнити???
[13:34:40] <valexey> свойство простое - модульность :-)
[13:34:48] <genieprox> о_О
[13:34:54] <genieprox> нипанятно
[13:35:12] <valexey> точнее: они не понимают сишные хедеры.
[13:35:19] <valexey> отсюда сразу тонна геморроя.
[13:35:20] <genieprox> - Ребе, объясните 42!
- Это число истины, но этого никто не понимает...
- Ребе, я нипонимаю...
[13:36:46] <valexey> причем не важно есть уже биндинг к какой-либо либе (например к стандартным posix-функциям) или нет.
[13:37:01] <valexey> и входит ли этот биндинг в стандартную библиотеку языка
[13:44:19] <valexey> в общем, описываю проблему. открываю и настраиваю com-порт. для этого использую termios.h. все стандартно. в D в стандартной либе уже есть модуль termios который и есть воплощение этой позиксной штуки, без лишних абстракций и приукрас. все тупо и это гут.
[13:44:32] <valexey> вот описание оного termios.h в стандарте: http://pubs.opengroup.org/onlinepubs/7908799/xsh/termios.h.html
[13:44:56] <valexey> смотрим на секцию  Baud Rate Selection
[13:45:58] <valexey> видим, что стандарт требует поддержки скорости лишь до 38400 baud, но не запрещает в реализации поддерживать скорости и выше. Мне нужно 115200.
[13:46:18] <valexey> И в линуксе и в макоси определены B115200 и выше
[13:46:29] <valexey> Но в биндинге их нет.
[13:47:05] <valexey> Если бы D понимал сишные хедеры - проблем бы не было, ибо в termios.h все есть. в обоих системах
[13:47:10] <valexey> внимание вопрос - что мне делать?
[13:49:38] <valexey> понятное дело, что сейчас вот я посмотрю глазами в termios.h макосьный и воткну в свою прогу костыль. но это абсолютно не пригодный метод для продакшена. еще вариант - сделать фикс и пушнуть его в реализацию фобоса (стандартной либы). но это тоже не выход, ибо совершенно не факт что оно на какой-то версии линукса и/или макоси не станет невалидным.
[14:05:53] <kemiisto> valexey: нинужный Ди ковыряешь?
[14:06:49] <valexey> угу. такое ощущение, что нужные универсальные языки это только  C и C++.
[14:06:53] <genieprox> ещё и нинужную задачку решает )))
[14:09:04] <valexey> задача очень нужная
[14:09:32] <genieprox> мне -- ниочень ))
[14:10:05] <genieprox> у мя на домашнем компе и на ноуте ни одного COM-порта нету ))
[14:13:26] <genieprox> валексей, нинадо никому морочить головы -- сишечку в руки и вперёд )))
[14:17:01] <valexey> у меня тоже ни одного ком-порта на макбуке
[14:17:09] <valexey> но тем не менее через ком работаю :-)
[14:18:02] <valexey> genieprox: а я сочетаю приятное с полезным
[14:19:25] <genieprox> что может быть приятнее, чем прграммить на сишечке?
ну разве что программить на ассемблере и голых машкодах ))))
[14:56:42] <valexey> приятнее набрать материала для троллинга дишников
[15:11:09] <genieprox> дишечка нинужна. что она даёт по сравнению со связкой сишечка+хаскельчик?
[15:11:58] <kemiisto> ну и связка
[15:11:59] <kemiisto> :D
[15:12:06] <kemiisto> я уже представляю как оно
[15:16:19] <valexey> genieprox: она дает надежность и удобство.
[15:28:45] <genieprox> http://habrahabr.ru/blogs/programming/131704/
[15:34:00] <valexey> бойан недельной давности :-) я ж кидал это
[15:35:49] <genieprox> так за неделю все уже давно забыли ))
[15:44:39] <genieprox> Leda: Вчера сын притворился мервым перед пятилетним племянником, тот поплакал несколько секунд, забрал его айфон и убежал
[15:51:06] <genieprox> поэт любил стреляться ночью
любил тот миг когда звезда
блеснёт сквозь дырку в дуэлянте
и вместе с телом упадёт
[16:07:50] <valexey> "Interesting (maybe useless) facts: Chapel has 59 keywords.  D has, I think, 107 keywords.  C++11, I think, 81.  Python has 33."
[16:08:55] <valexey> Python with 33, I think most would agree that is has a very consice grammer. 
[16:10:39] <valexey> http://bartoszmilewski.wordpress.com/2011/11/07/supercomputing-in-seattle/
[16:11:59] <valexey> http://en.wikipedia.org/wiki/Chapel_(programming_language)
[16:15:02] <genieprox> в хаскелле 22 кийворда
в GHC + ещё несколько
[16:15:23] <genieprox> reservedid -> case | class | data | default | deriving | do | else
| if | import | in | infix | infixl | infixr | instance
| let | module | newtype | of | then | type | where | _
[16:15:52] <valexey> и пачка прагм, да.
[16:21:56] <genieprox> кто там сказал, что факториалы на хаскелле ужасны??? вот вам сишечка-плюс-плюсочка:

//    рекурсивная модель вычисления факториала    
class FFactRec : public FRcrsn
{
public:    
   int nF; // факториал
   FFactRec(int n);
   virtual ~FFactRec();
private:
   int nK;     // данные
   int x1();
   void y1();
   void y2();
protected:
   void CallFactorial() {
       if (pRcrsn) delete pRcrsn;
       pRcrsn = new FFactRec(nK-1);
       pRcrsn->FCall(this);
   };
   int  PrevFactorial() { return ((FFactRec*)pRcrsn)->nF;  };
};
FFactRec::FFactRec(int n) :FRcrsn(TT_FactRec) { nK=n; nF=1;}
FFactRec::~FFactRec() { }
LArc TT_FactRec[] = {
   LArc(”f1”, ”00”, ”x1”,    ”—”),
   LArc(”f1”, ”f2”, ”^x1”,    ”y1”),
   LArc(”f2”, ”00”, ”—”,    ”y2”),
   LArc()
   };
int FFactRec::x1() { return nK==0; }
void FFactRec::y1() { CallFactorial(); }
void FFactRec::y2() { nF = PrevFactorial()*nK; }
[16:23:05] <genieprox> "С точки зрения скорости данная программа работает примерно в 500 раз медленнее, чем программа, созданная «в лоб». Но несмотря на это, в определенных ситуациях, а именно, при программировании параллельных процессов, может быть оправдано и такое медленное («автоматное») вычисление факториала. "
[16:33:30] <valexey> на хаскелях будет примерно то же самое :-)
[16:52:04] <genieprox> http://eax.me/open-source/
[16:54:21] <genieprox> "Это я все вот к чему. Независимо от того, находитесь ли вы в сети или реале, ничто не изолирует вас от политики, рекламных лозунгов и бизнес-планов. Если команда программистов работает над чем-то действительно инновационным, открывать исходные коды – последнее, что придет им в голову. За примерами далеко ходить не надо – взять те же Opera, Skype, Twitter, Facebook. Тот факт, что исходники не лежат в свободном доступе, никак не свидетельствуют о качестве кода, компетентности разработчиков и тд. Он свидетельствует только о том, что разработчикам не выгодно показывать код."
[16:58:16] <valexey> в каком месте вышеперечисленное является чем-то "действительно инновационным"?
[17:01:17] <genieprox> хз, это надо у аффтара спрашивать: http://eax.me/open-source/
[17:01:52] <genieprox> ну он там утверждал, что все киллер-фичи файрфокса слизаны с оперы
[17:02:03] <genieprox> причём реализованы хуже )))
[17:05:16] <valexey> основная киллер-фича файрфокса - его аддоны.
[17:05:28] <valexey> и этого у оперы никогда не было в нормальном виде
[17:05:51] <genieprox> ни один аддон файрфокса мне почему-то нинужен. почему? о_О
[17:06:53] <valexey> наверно потому, что ты не знаешь зачем они нужны :-)
[17:07:05] <valexey> например без нормального AdBlock'a я не представляю как жить
[17:07:12] <valexey> поэтому, кстати, и не использую например сафари
[17:07:16] <genieprox> хорошо. зачем они нужны? )))
[17:07:28] <genieprox> адблок есть и в опере
[17:07:47] <genieprox> вот, единственный аддон, который я поставил в оперу -- адблок
[17:08:51] <valexey> вот возможность этого аддона появилась в опере ну очень недавно :-)
[17:18:07] <valexey> ы-ы! терминал (консолька стандартная макосьная) работает на скорости 38400 бод :-D
[17:19:00] <genieprox> надо найти аддон FlashBlock для оперы ((
[17:20:11] <valexey> гм.  зачем? адблок же убирает всю флешовую рекламу
[17:20:21] <valexey> либо у тебя адблок не правильный :-
[17:20:22] <valexey> )
[17:20:54] <genieprox> так адблок -- это одно, а флешблок -- другое! и в файрфоксе тоже так!
[17:21:46] <genieprox> "John Alexanderson
22.05.2009, 07:16

раньше всегда сидел на опере и других просто не признавал… Но стоит признать, что фаерфокс вырвался очень сильно вперед благодаря всево двум аддонам. Пришлось пересесть на фаерфокс. Теперь я забыл что такое реклама на сайтах… Вернусь на оперу, когда и они изобретут всего два виджета – AD Block и Flash Block."
[17:22:10] <shaggie> и NoScript
[17:22:13] <valexey> круто конечно, но я все еще не понимаю нафига нужен флешблок
[17:22:16] <shaggie> для полного торжества паранойи
[17:22:28] <valexey> ибо у меня вся реклама в том числе и флешовая выризается адблоком
[17:22:54] <shaggie> ну ведь не весь флеш рекламный, значит не весь режется адблоком
[17:22:54] <genieprox> ну может в опере адблок не очень, хз...
[17:23:18] <valexey> ну да. а тот который не рекламный зачем блокировать?
[17:23:32] <valexey> если уж блокировать все… то просто не ставить флешовый плагин :-)
[17:23:37] <shaggie> ютубовые ролики адблоком не режутся, например. а их автозапуск страшно раздражает. вот тут на помощь приходит флешблок
[17:24:53] <valexey> не знаю. нет такой проблемы
[17:24:59] <valexey> если уж пришел на ютуб, то смотрю
[17:25:14] <valexey> если ютубовый ролик не на ютубе вставлен (скажем в ЖЖ), то у него нет автозапуска
[17:25:21] <shaggie> не пробовал открыть сразу скопом 10 вкладок с ютубом?
[17:25:34] <shaggie> они начинают жрать процессор как не в себя и одновременно проигрываться
[17:26:55] <valexey> не, не пробовал. зачем? я все равно сразу 10 роликов не могу просмотреть. глаз не хватит :-)
[17:27:32] <valexey> это все равно что открыт в проводнике маздайном каталог с фильмами и задаблкликать их все сразу и одновременно.
[17:27:37] <valexey> а потом бороться с последствиями
[17:28:18] <shaggie> чтобы вкладки не потерять. открыл все сразу и смотришь последовательно
[17:28:54] <valexey> обычно просто не закрываю вкладку-источник этого набора роликов.
[17:29:23] <valexey> алсо в ютубе можно делать плейлисты
[17:30:10] <shaggie> оке, разные подходы
[17:52:20] <genieprox> пасмарел я вчера аниму. не помню названия ((
[17:52:27] <genieprox> но ничо, ничо так...
[17:53:09] <genieprox> The Vision of Escaflowne
[17:54:25] <valexey> /me посмотрел вчера исходники fdopen'a. ничаво так, хоть и многоэтажно
[17:55:18] <genieprox> а я решил отказаться от поиска в гугле -- теперь яндекс по умолчанию и дакдакго по выбору
[17:55:46] <valexey> а смысл? гугл ищет лучше
[17:56:50] <genieprox> гугл ищет лучше???
[17:57:32] <genieprox> во-первых, на один и тот же запрос он выдаёт разные результаты у разных юзеров
во-вторых, в нём стало теперь трудно что-то полезное найти!!!111
[17:58:02] <valexey> например что?
[18:11:33] <valexey> /me зато теперь знает как и зачем работает getchar()
[18:15:18] <valexey> чем больше изучаю позикс/юникс, тем больше убеждаюсь сколь убог виндовоз. виндовоз - просто набор разрозненных концепций и фич. WinAPI и все прочее.
[18:15:34] <valexey> в этом плане маздай напоминает мне vim
[18:23:15] <valexey> "In The Hitchhiker's Guide to the Galaxy, Douglas Adams mentions an extremely dull planet, inhabited by a bunch of depressed humans and a certain breed of animals with sharp teeth which communicate with the humans by biting them very hard in the thighs. This is strikingly similar to UNIX, in which the kernel communicates with processes by sending paralyzing or deadly signals to them."
[18:34:35] <vlad2> Хе-хе. Видимо поэтому я выбрал вим ;)
[18:38:16] <valexey> /me ВНЕЗАПНО открыл для себя ^Z, bg и fg
[18:43:31] <vlad2> Это что такое?
[18:44:38] <valexey> Ctrl+Z - детачит текущий процесс от терминала и отправляет его спать
[18:45:08] <valexey> bg - возвобновляет выполнение даденого спящего бекграундного процесса
[18:45:26] <valexey> fg - аналогично bg, но аттачит его обратно к терминалу. он становится активным и в фореграунде
[18:45:30] <valexey> дюже удобно
[18:46:19] <valexey> например если у нас запущен vim, можно ткнуть Ctrl+Z, и он уйдет в бэкграунд
[18:46:31] <valexey> можно что-то покомпилять, потом написать fg и вим обратно вернется
[18:47:36] <valexey> Естественно со всеми этими MacVim'ами фокус не прокатит.
[18:47:45] <vlad2> Нах? Я всегда еще одно окно терминальное открываю. Но эти команды вспомнил, да, смотрел когда-то. Кстати, я думал у тебя более богатый юниксовый опыт ;)
[18:48:06] <vlad2> Я думал ты всю жизнь на юдниксах сидел.
[18:48:19] <valexey> Не. Откуда мне? :-)
[18:48:31] <vlad2> Ну ты так злобно винду ругаешь ;)
[18:48:35] <valexey> Сейчас вот просто tty изучаю, и попутно это вот все нарыл. Забавно
[18:48:44] <vlad2> Опять же - студию не видел ;)
[18:48:49] <valexey> Ну да. Винда маздай. Я не за виндой же сидел :-)
[18:48:58] <vlad2> А за чем?
[18:49:02] <valexey> BeOS
[18:49:10] <vlad2> Дык, один юникс.
[18:49:20] <valexey> нет. оно даже не posix совместимо
[18:49:20] <vlad2> Ну окошек чуть больше.
[18:49:35] <valexey> местами винда бОльший юникс чем была BeOS
[18:49:58] <valexey> скажем там нет fork'a.
[18:50:07] <vlad2> О да...
[18:50:13] <valexey> нет select'a для fd
[18:50:15] <valexey> и так далее
[18:50:26] <vlad2> fork - это самое нездороволе юниксовое изобретение.
[18:50:34] <valexey> там свой API
[18:50:44] <valexey> да и ядро и разу на юниксовые не похоже
[18:51:54] <valexey> да, тамошний API он на C++ целиком :-D
[18:55:01] <valexey> А, да.  Студию я видел. Мой опыт со студией таков: VS 4, VS 5, VS 6 (немного), … , VS 2005, VS 2008
[18:58:51] <vlad2> Как же ты мог мимо оссиста пройти? :)
[18:58:55] <vlad2> ассиста
[18:59:27] <valexey> а у нас в конторе он не используется вроде
[18:59:33] <valexey> ну и денег он стоит каких-то
[18:59:52] <valexey> /me подсадил сестру на Eclipse для плюсов
[18:59:55] <valexey> довольна як слон
[19:00:01] <valexey> на студию больше смотреть вообще не хочет :-)
[19:00:04] <valexey> а приходится!
[19:00:59] <vlad2> Тормозилово этот ваш еклипс.
[19:01:14] <valexey> да не, норм.
[19:01:43] <valexey> проект на где-то миллион строк кода минут за пять-десять проиндексировал на дохленьком ноуте.
[19:02:28] <valexey> кстати, линуксовые маны мне больше нравятся чем макосьные. в линуксовых как-то больше по делу. меньше слов, больше смысла.
[19:12:05] <vlad2> мсдн рулит :)
[19:12:22] <valexey> нивсигда
[19:12:42] <valexey> надо бы Ди на маны порезать и в систему вставить
[19:13:13] <vlad2> Не всегда, да :)
[19:19:21] <valexey> в общем, эта ваша винда какая-то сложная, я её ниасилил
[19:31:13] <valexey> не канонический режим tty доставляет!
[19:33:48] <vlad2> Что там? 7-битные символы only?
[19:33:59] <valexey> не. это ж НЕ канонический режим
[19:34:02] <valexey> raw mode
[19:34:04] <valexey> по сути
[19:34:09] <valexey> хотя и не совсем
[19:34:14] <valexey> там есть таймауты
[19:34:20] <valexey> там есть блоки которыми читаешь
[19:34:24] <valexey> забавно в общем
[19:34:36] <valexey> особенно если это все применить к терминалу в котором работаешь руками :-)
[19:34:46] <valexey> с помощью stty
[19:34:50] <vlad2> Избыточная сложность ;)
[19:34:59] <valexey> Рулиз :-)
[19:35:08] <valexey> "Компилятор ocaml передает привет из прошлого века
Сегодня я хочу прервать долгую тишину в эфире и написать объективное и непредвзятое сравнение отсталого и отстойного компилятора ocaml с современными и прогрессивными компиляторами для всех остальных языков."
[19:35:36] <vlad2> Давайте назвать вещи своимим именами и не прятать их за эмфимизмами типа "забавно".
[19:36:20] <vlad2> Не ocaml - это тожде сложно. Нажо брать компилятор сам знаешь какого языка. Из прошлого века.
[19:37:34] <vlad2> /me заставил срабатывать assert, который не срабатывал. теперб можно чинить баг.
[19:37:48] <valexey> то есть ты сломал таки? :-)
[19:38:13] <valexey> вот про камло: http://users.livejournal.com/_adept_/117010.html?authuser=0
[19:38:23] <vlad2> Не сломаешь - не починишь :)
[19:40:56] <valexey> хаскелистам приходится зарабатывать на хлеб и воду программируя на отсталом камле :-)
[19:42:31] <vlad2> Да, да, напоминает ББ. Там тоже порядок модулей и все такое.
[19:44:01] <vlad2> Но до С/С++ с их инклудами, конечно, далеко.
[19:56:38] <genieprox> vlad2> Ну ты так злобно винду ругаешь ;)
да он венду так злобно ругает только потому, что он -- злобный тролль!!!111 )))
[19:56:55] <genieprox> http://www.computerra.ru/print/640403/
Проект "Колли": как в СССР оживляли животных
[20:14:00] <genieprox> как туго файрфокс страницу открывает (( жуть (((
[20:21:46] <genieprox> https://www.linux.org.ru/photos/27364:-2092276967.jpg
[20:31:48] <genieprox> бедная сестра -- то её на линупс, то на эклипс...
так жалко девушку )))
[20:33:07] <genieprox> я скачал убунту 11.10 сервер х86 и х64
теперь бы понять, нафига он мне )))
[20:33:32] <genieprox> федору 16 качаю -- тоже нинаю зачем ))
[21:17:59] <valexey> genieprox: нафига тебе убунта СЕРВЕР?
[21:18:47] <valexey> vlad2: по моему, в С/С++ таки проблем со сборкой меньше чем у камла.
[21:21:49] <vlad2> Не, просто привык уже :)
[21:22:04] <vlad2> Чего стоят только инклудные гарды ;)
[21:22:25] <vlad2> Это ж редкостное извращение. Просто приелось уже.
[21:23:45] <valexey> vlad2: инклудных гадов хоть компилировать не надо. а в камле НАДО
[21:25:57] <valexey> алсо с независимой компиляцией все намного проще в сях
[21:26:23] <valexey> а у камла такое ощущение, что болезни роста. затянувшиеся
[21:30:29] <valexey> на десятилетия затянувшиеся. и не исправляемые. точнее только внешними костылями правят
[22:19:55] <valexey> кстати, я решил что локальные импорты это все же скорее добро чем зло
[22:20:07] <valexey> ибо все возможные импорты в файле элементарно грепятся
[22:20:39] <valexey> то есть можно для суммарных испортов использовать тупо имеющиеся утилиты. им не нужно даже ничего знать про дишный синтаксис
[23:05:10] <vlad2> Ну наверное да.
[23:16:29] <valexey> зато использование оного импорта становится локализованным. то есть ясно кто и где пользует. может помочь при рефакторинге.
[23:20:25] <valexey> да и вообще при постижении кода
[23:20:53] <valexey> гм. труъ оберонщики наверно за локальный импорт сожгут на костре вообще. это же еще хуже чем локальное объявление переменных!
[23:21:25] <valexey> зато теперь есть аргумент которым можно отбиваться от их тезиса, что "D это инкарнация оберона с сишным синтаксисом"
[23:26:12] <vlad2> Да уж. Секция VAR в обероне для меня еще страшнее капса. Самый большой изъян языка, если вычесть изъяны обусловленные пресловутой "сложностью".
[23:27:00] <vlad2> При том, что локальные функции там до последнего времени были.
[23:27:09] <valexey> ну, в аде с этим человечней. во-первых там переменные можно сразу инициализировать, во-вторых там есть вложенные блоки у которых тоже свои переменные могут быть. прямо в коде. без локальных функций.
[23:27:16] <vlad2> Непонятна мне такая избирательная любовь Вирта к локальности.
[23:27:23] <valexey> Ой. А что, в Обероне их таки выпилии?
[23:28:12] <valexey> Думаю локальные функции - это осталось от алгола. Привычно же. Ну и позволяет хоть как-то разделать локальные переменные по кучкам.
[23:34:10] <valexey> С другой стороны, вар-секция обероновская более явно показывает семенатику выделения памяти на стеке. Я долгое время прибывал относительно плюсов в иллюзии, что место на стеке выделяется по мере прохождения исполнения по объявлениям локальных переменных. То есть если мы в if какой-нибудь не зашли где у нас буфер выделяется на стеке в 100 байт, то функция и не отхавает оные 100 байт стека.
[23:44:46] <kemiisto> valexey: Download dmc.zip (C and C++ compiler) for Win32 (not required, but it complements dmd for Windows)
[23:44:56] <kemiisto> как пониамть "complements"?
[23:45:05] <kemiisto> нинужен, так нинужен
[23:45:10] <kemiisto> а тут как-то
[23:45:14] <kemiisto> нинужен
[23:45:15] <kemiisto> но
[23:45:18] <kemiisto> :O
[23:45:33] <valexey> а зачем тебе сишный компилятор марсовый?
[23:45:43] <kemiisto> http://www.digitalmars.com/d/2.0/dmd-windows.html
[23:45:53] <kemiisto> valexey: это я тебя спрашиваю!
[23:45:54] <kemiisto> :D
[23:46:21] <kemiisto> видишь там три пункта?
[23:46:31] <valexey> дополнение
[23:46:36] <valexey> для пущего комфорту
[23:46:45] <kemiisto> :-D
[23:46:46] <valexey> для маздая у них же свой компоновщик/линкер
[23:46:58] <valexey> со всеми плюсами и минусами
[23:47:05] <valexey> из плюсов - он линкует ну очень быстро
[23:47:24] <valexey> в отличае от ld
[23:48:11] <valexey> но вообще, я dmd под маздаем ни разу не пробовал. ибо некрофилией не увлекаюсь