[00:58:38] <akastargazer> мейнстрим это то, что за тебя делают большие компании
[00:59:19] <akastargazer> Делать вычисления всегда тягомотно, и чем больше бабла у конторы, тем более всякого она может наклепать
[01:13:42] <valexey> "делать вычисления"
[01:13:44] <valexey> :-)
[01:14:25] <valexey> Не, мелкософт это конечно что-то с чем-то.
[01:14:44] <valexey> с жабой проблем существенно меньше таки.
[01:23:40] <valexey> оберонкоровцы вообще горазды выдумывать новые значения сложившихся терминов.
[01:23:57] <valexey> как-то скрестили мейнстрим с размерами компаний
[01:24:11] <valexey> то гостевую систему с хост-системой местами поменяют.
[01:24:28] <valexey> то процесс программирования вычислителя у них внезапно вычислением становится :-)
[01:24:47] <valexey> хотя по большей части сейчас компы это не вычислители, а таки контроллеры.
[01:24:52] <valexey> в общем, весело :-)
[01:46:47] <s6> до опупения
[01:46:56] <s6> послал подальше я эту фин.вакансию
[01:47:58] <s6> грю подайте мне параметр поменьше, параметр: скорость разработки помножить на колмогорову сложность систем в разработке и сложность процессов разработки
[01:48:20] <s6> типа я не ищу вершинный путь этого параметра, а ищу срединный компромисс в нём.
[01:49:04] <valexey> оптимум, ога
[01:49:21] <s6> ну оптимум он в обоих типах оптимум
[01:49:34] <s6> просто там вершинный оптимум, а сям срединный оптимум
[01:50:20] <s6> и вот top мне не надо, а надо посерёдке
[01:51:05] <s6> щас сижу вырезаю имплицитные (опциональные) параметры из с++ кода
[01:51:15] <valexey> Ж-)
[01:51:21] <s6> и заменяю на эксплицитные спецификации =)
[01:51:35] <s6> хедер 1200 строк
[01:51:44] <s6> а цпп его - ваабще многа
[01:52:12] <s6> и вызовов
[01:52:45] <s6> называется продуктивный труд. горькая ирония
[01:56:10] <s6> о нихера себе
[01:56:16] <s6> пару часов и всё сделано
[01:56:25] <s6> или даже час я с этим провозился
[01:56:30] <s6> всего лишь
[01:56:55] <valexey> хы
[01:56:57] <valexey> а зачем?
[02:18:18] <vlad2> valexey: ты еще не ставил SQL2008...
[02:18:32] <valexey> еще нет
[02:18:41] <valexey> хотя... если студия при установке его ставит, то... :-)
[02:18:59] <valexey> я уже часа ТРИ пытаюсь хоть что-то со студией сделать
[02:19:26] <vlad2> По сравнению с SQL2008 студия ставится одним кликом :)
[02:19:53] <valexey> а удаляется? ;-)
[02:19:59] <valexey> алсо - какая версия студии у тебя?
[02:20:01] <valexey> у меня - 2013
[02:20:06] <valexey> вот с ней как раз и проблемы
[02:20:09] <valexey> на восьмерке
[02:21:16] <vlad2> Все студии ставятся нормально. Кроме 7 - у нее был заского, могла полтора часа ставится, а потом сказать "не смогла". Лечилось только переустановкой винды.
[02:21:49] <vlad2> 2013 встала без проблем.
[02:22:23] <vlad2> Ждем 2014 :)
[02:23:02] <valexey> твоюж налево! опять установщик студии комп вырубил!
[02:23:09] <vlad2> Насчет удалить - нефиг удалять ;)
[02:23:16] <valexey> :-)
[02:23:23] <valexey> хотя.. может это и не установщик
[02:23:56] <vlad2> Апгрейт давно делал? ;)
[02:24:12] <valexey> не, хуже. тут у винды триал кончился
[02:24:24] <valexey> вот думаю, не напоминалка ли это
[02:34:12] <vlad2> А. Вроде была такая темаю
[02:39:39] <valexey> да, винду видимо придется переустановить
[03:05:30] <vаlexey> блин, когда уже мелкософт научится торрентам?
[03:05:41] <vаlexey> ибо скорость скачивания у них - ниже плинтуса
[03:31:43] <vаlexey> vlad2: из Rust исключения тоже выпиливают :-)
[03:32:00] <vаlexey> намечается некая тенденция - Go, Swift, теперь и Rust
[03:32:20] <vаlexey> хотя в Go конечно какой-то костыль (паники) есть.
[03:33:10] <vlad2> vаlexey: я качал с M$ DVD исошки за минуты - в чем проблема?
[03:33:25] <vlad2> И чего вместо?
[03:33:31] <vаlexey> проблема в 2 мегабайтах в секунду. в прыжке у мелкософта.
[03:33:41] <vаlexey> то есть реально оно у меня о-очень медленно качается
[03:33:50] <vаlexey> возможно для США у них быстрее
[03:33:59] <vаlexey> эмм.. а фиг знает что вместо - надо смотреть
[03:34:10] <vаlexey> в принципе, язык довольно богатый, там могут быть решения аля хаскель
[03:34:24] <vlad2> Погоди, скоро они вас совсем отсанкционируют ;)
[03:36:12] <vаlexey> да, придется исключительно ББ качать с сайта info21...
[03:39:50] <vаlexey> о, скорость упала до 3 Кб в сек
[08:33:33] <geniepro> Kemet> не, coLinux поставли, а там готовые образы ArchLinux, Debian 4.0, Fedora 10, Gentoo Delux и Ubuntu 7.10
это что за древности семилетней давности? о_О
[08:37:50] <geniepro> s6> я под убунтой уже лет 15 сижу
да ты гонишь! Первый выпуск: 20 октября 2004!!! какие 15 лет??? только 10 ей...
[08:49:10] <geniepro> vаlexey> И санкции из за него тоже роль играют.
чем больше к России санкций, тем лучше -- "То, что нас не убивает, делает нас сильнее!"
[08:50:07] <geniepro> я удивляюсь тому, что Путин практически не вводит антисанкций -- при Союзе уже давно разорили бы всю гейропу, да и штатикам несладко пришлось бы уже
[08:52:08] <geniepro> vаlexey> ... цена нефти еще снизится, либо укрепится на текущем уровне на долго.
vаlexey> что добавит радости нашему бюджету.

несколько лет назад нефть падала до 45 баксов -- и ничо, норм всё, никто не умер...
[09:02:18] <geniepro> http://www.image.kg/images/2014/11/06/GRKBc.jpg
[09:23:34] <geniepro> Путин таки антисоветчик: http://putnik1.livejournal.com/3533800.html
[10:13:09] <Kemet> geniepro: путена же за ручку привели "ельцинисты", да и в окружении собчака же крутился, а там "хороших парней" не было
[10:19:59] <geniepro> Elsiane всё-таки супер
[10:55:50] <jordan36957> Чёта я туплю, почему на таком коде выдаёт варнинг.несовместимый указатель
[10:56:25] <jordan36957> Всё из кода выбросил для наглядности
[10:56:30] <jordan36957>
typedef struct
{
 struct gui_widget_list * list;
} gui_menu;

typedef struct gui_widget
{
 size_t type;
 gui_rect size;
 char * label;
 struct gui_widget * next;
 struct gui_widget * priv;

 gui_menu menu;

} gui_widget;

typedef struct
{
 struct gui_widget * head;
 struct gui_widget * tail;
} gui_widget_list;

gui_widget_list * gui_widget_list_new()
{
 gui_widget_list * p = calloc(1, sizeof(gui_widget_list));

 assert(p != NULL);

 p->head = NULL;
 p->tail = NULL;

 return p;
}


int main(int argc, char* args[])
{
gui_widget * p = calloc(1, sizeof(gui_widget));
p->menu.list = gui_widget_list_new();
}
[10:56:54] <jordan36957> p->menu.list = gui_widget_list_new(); здесь варнинг
[10:57:22] <jordan36957> Но почему? в gui_menu,   struct gui_widget_list * list;
[10:57:41] <jordan36957> gui_widget_list_new() возвращает gui_widget_list
[10:57:58] <jordan36957> Код компилится и работает, но хочется без варнингов
[11:00:35] <jordan36957> Только не нужно говорить, что проблема в генах? Ок ;-)
[11:02:36] <geniepro> скомпилил в TinyC -- на ассерте упала прога )
[11:03:05] <jordan36957> хм
[11:03:18] <geniepro> почему ты выбрал calloc а не malloc?
[11:03:30] <jordan36957> он зануяет память
[11:03:40] <jordan36957> Чтоб всё было чистенько
[11:03:51] <jordan36957> Варнинги выдаёт?
[11:04:47] <jordan36957> У меня работает и с malloc и calloc
[11:05:27] <jordan36957> Я просто уже понять не могу, почему указатели несовместимы? Один и то же тип
[11:06:00] <geniepro> calloc заполняет выделенную память нулями, так что
 p->head = NULL;
 p->tail = NULL;
не имеют смысла после calloc
[11:06:28] <jordan36957> угу
[11:07:05] <jordan36957> Это я так перестраховался, мало ли реализаций calloc'a
[11:07:49] <geniepro> все её реализации должны обнулять память )
[11:08:04] <geniepro> хз почему несовместимость по типам о_О
[11:08:20] <jordan36957> Сишная магия
[11:08:34] <jordan36957> Я уже спать начал плохо :-)
[11:11:13] <jordan36957> [10:07:52] <geniepro> все её реализации должны обнулять память ) в языке си должно и стандарт, больше рекомендация, чем правидл
[11:12:09] <jordan36957> Может, Влад, разъяснит
[11:12:47] <geniepro> у тебя там рекурсивные типы, может TinyC гонет тут, компилер с++ ваще не кушает такой код )
[11:13:10] <jordan36957> mingw тоже варнинги выдаёт
[11:13:25] <jordan36957> msvc тоже
[11:14:02] <jordan36957> А без рекурсии переписаь можно, с сохранением идеи?
[11:15:01] <jordan36957> Или заглушить варнинги, и пойдёт
[11:15:13] <jordan36957> Только ошибки выводил в лог
[11:16:05] <geniepro> то что у тебя пашет, а у меня нет -- уже нехорошо )
[11:16:28] <jordan36957> а если на vflloc заменить?
[11:16:33] <jordan36957> malloc
[11:17:04] <geniepro> без разницы )
[11:18:13] <jordan36957> у тебя win?
[11:18:25] <jordan36957> Могу выслать свой бинарь, компилю mingw
[11:18:34] <jordan36957> Для проверки
[11:20:18] <geniepro> а в этом бинаре команда формат ц? )))
[11:23:17] <jordan36957> не
[11:23:21] <jordan36957> сейчас
[11:23:47] <geniepro>    struct gui_widget * head;
   struct gui_widget * tail;
почему и голова и хвост списка -- одного типа? может так надо:
   struct gui_widget * head;
   struct gui_widget_list * tail;
[11:25:49] <jordan36957> Нет. tail это указатель на последний widget, а не на список widget_list
[11:26:24] <jordan36957> От безысходности поменял на твой код, опять тот же варнинг, но работает
[11:28:01] <jordan36957> gui_widget_list это двухсвязный список gui_widget
[11:29:45] <geniepro> забавно, не помню, что бы мне в сях приходилось работать с рекурсивными структурами данных ))
[11:30:11] <geniepro> в с++ с этим попроще, конечно -- STL помогает
[11:30:33] <jordan36957> Может можно реализовать идею без рекурсии?
[11:31:02] <geniepro> попробуй )
[11:31:19] <jordan36957> Идея такова, gui_widget должен содержать список gui_widget без рекрсии ни как
[11:31:39] <jordan36957> смысл в том, что бы я мог пробегать по указателям
[11:33:18] <jordan36957> Как гуи без наследования пишут...
[11:36:47] <geniepro> поизучай библиотечку C Object System
http://objectmix.com/c/178063-c-object-system.html
http://sourceforge.net/projects/cos/
[11:47:19] <s6> geniepro, ну 20
[11:48:17] <jordan36957> Макрос на макросе
[11:53:31] <jordan36957> Надо писать на нормальном ООП языке
[11:55:52] <jordan36957> Я уже на си, свои строки запилил, с проверкой границ, ну воть.
[11:56:31] <s6> пиши на яве.
[11:56:59] <s6> там строку запилить из 2...4 байтных чаров это просто String
[11:57:09] <s6> велосипеды изобретаете
[11:57:35] <jordan36957> Так я для си писал, во всех других языках строки из коробки
[11:57:51] <s6> да далеко не везде из коробки
[11:58:00] <jordan36957> оберон ещё
[11:58:17] <s6> в обероне с юникодом грустно
[11:58:23] <s6> и с кодировками
[11:58:55] <s6> а в яве грустно только с чарами > 2 байт
[12:07:26] <sda> а как в си работают строки когда они в вырожении встречаются? типа "123" + "4" + "567", на этапе компиляции склеиваются?
[12:08:20] <s6> оператор конкатенации это вроде "abc" ## "cd"
[12:08:29] <s6> а с плюсиками - синтакс еррор
[12:08:33] <s6> вроде так
[12:08:46] <sda> строка1 = строка1 + "1234567"; это ведь надо под строку в глобальной памяти зарезервировать память? будет безымянный массив типа...
[12:09:06] <s6> сложение пойнтеров это ошибка
[12:09:09] <jordan36957> поборол варнинги, нужно было сразу с++ компилятором компилить
[12:09:27] <jordan36957> у него варнинги информативнее
[12:09:39] <jordan36957> Работа пошла дальше
[12:09:44] <sda> s6: всмысле? компилер же должен понимать, что строки складываю
[12:09:51] <sda> а не указатель
[12:09:56] <s6> в яве такое понимает компилятор
[12:09:59] <s6> а в си - нет
[12:10:12] <jordan36957> смотри
[12:10:15] <jordan36957> sda
[12:10:19] <sda> да
[12:10:58] <s6> sda, в яве образуется StringBuilder которому добавляются все стринги и значения др.типов, и потом вызывается метод .toString()
[12:11:00] <sda> с паскалевской строкой конечно, проще получается
[12:11:28] <jordan36957> есть строка для упрощения статическая char s[100]; для копирования строк "hello" + "world" нужно в массив s скопировать двара раз строки
[12:12:01] <jordan36957> вроде strcpy(s, "Hello"); strcpy(s, "world");
[12:12:24] <s6> какая-то фунцкия есть для конкатенации
[12:12:29] <s6> типа strcat что ли
[12:12:31] <s6> в си
[12:12:37] <s6> man strcat
[12:13:04] <sda> а стркпю как-то проверяет, если там еще место для копирования?
[12:13:22] <s6> неа
[12:13:24] <sda> strcpy это встроенная или внешняя функция?
[12:13:42] <sda> если встроенная, то можно еще узнать по объявлению размер строки
[12:13:43] <jordan36957> нет не проверяет, от того и переполнения и случаются
[12:13:55] <jordan36957> strcpy внешняя
[12:13:56] <jordan36957> в либе
[12:14:03] <jordan36957> Я сделал строки так
[12:14:10] <jordan36957> Строки только динамические
[12:14:26] <jordan36957> написал функции выделения памяти которые хранят свой размер
[12:14:43] <s6> jordan36957, учитывайте что в char* и в char[] может сидеть и UTF-8
[12:15:13] <s6> И стандартные либы его отлично переваривают
[12:15:18] <s6> например strlen
[12:16:11] <sda> в компиляторе pow! была функция LENGTH, опираясь на которой можно было проверить сколько под массив выделено элементов... также чтоли делать
[12:16:44] <jordan36957> sda Я когда после паскаля, взялся за си, был в полном разочаровании от сишных строк, как вообще они там программируются
[12:17:23] <jordan36957> sda Нет, нельзя стандартным способом узнать сколько памяти выделил
[12:17:36] <jordan36957> Если только дополнительно передовать
[12:17:48] <jordan36957> Или при выделении задать тег
[12:19:02] <sda> так, а допустим, читается какой-то файл, там структура с названием в 8 символов, которая может не иметь нуль-терминатор, в си не будет ошибки, если это строку из структуры попытаюсь скопировать в другую строку?
[12:19:20] <jordan36957> Я выделяю память так пример char * s = malloc(100 + 1); после чего записываю размер всей памяти в первые 4 байта, уже выделенной и сдвигаю указатель на начало s +1
[12:19:58] <jordan36957> sda Да будет ошибка
[12:20:15] <s6> jordan36957, маллок это void*
[12:20:19] <s6> его кастить надо
[12:20:26] <jordan36957> В си не обязательно
[12:20:35] <s6> свинота =)
[12:20:39] <jordan36957> Но по хорошему да, нужно
[12:20:57] <jordan36957> Я компилю код, двумя компиляторами gcc и g++
[12:21:22] <jordan36957> Так лучше вылавливаются ошибки, и с++ компилятор без явного каста, не компилит
[12:23:04] <jordan36957> void *mymalloc(size_t sz);
{
   size_t *p = malloc(sz + sizeof(*p));
   *p = sz;
   return p + 1;
}
[12:23:30] <jordan36957> в первых 4 байтах всегдаа хранится размер
[12:23:37] <sda> а у констант?
[12:26:25] <jordan36957> у статического массива так int mas[50];  int size = sizeof(mas) / sizeof(mas[0]]);
[12:27:38] <jordan36957> размер делится на размер его элемента
[12:28:23] <sda> тут sizeof встроенная функция?
[12:28:28] <jordan36957> да
[12:28:33] <sda> а на динамеческие она не сработает?
[12:29:12] <jordan36957> Вот только если в sizeof передать указатель на массив, будет трудноулавимая ошибка, так как комилятор съест
[12:29:19] <sda> просто если мы выводим работу со строками во внешние функции то надо как-то привести к общей форме фиксированные и динамеческие строки
[12:30:35] <sda> я пока на чарах остановился, буду пробывать на днях строки добавить в компилер
[12:31:38] <jordan36957> К общей не нужно
[12:31:49] <jordan36957> Всё понял
[12:32:46] <jordan36957> https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%BE%D0%B2%D1%8B%D0%B9_%D1%82%D0%B8%D0%BF
[12:33:08] <jordan36957> Там описаны основы
[12:33:39] <s6> http://www.mk.ru/economics/2014/11/05/v-gosdumu-vnesen-zakon-zapreshhayushhiy-v-rossii-oborot-i-khranenie-dollarov-ssha.html
[12:35:08] <jordan36957> Ошибка 404 - Страница не найдена
[12:43:16] <jordan36957> geniepro Такой код будет компилится и работать
[12:43:53] <jordan36957>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <stdbool.h>

#define GUI_WIDGET_BUTTON 0
#define GUI_WIDGET_MENU   1

typedef struct
{
 size_t x;
 size_t y;
} gui_point;

typedef struct
{
 size_t x;
 size_t y;
 size_t w;
 size_t h;
} gui_rect;


bool gui_point_in_rect(gui_point pt, gui_rect rt)
{
 return ((pt.x > rt.x) && (pt.x < rt.x + rt.w) && (pt.y > rt.y) && (pt.y < rt.y + rt.h));
}

typedef struct
{
 struct gui_widget_list * list;
} gui_menu;

typedef struct gui_widget
{
 size_t type;
 gui_rect size;
 char * label;
 struct gui_widget * next;
 struct gui_widget * priv;

 gui_menu menu;

} gui_widget;

gui_rect gui_widget_get_size(gui_widget * data)
{
 assert(data != NULL);
 
 return data->size;
}

typedef struct gui_widget_list
{
 struct gui_widget * head;
 struct gui_widget * tail;
} gui_widget_list;

gui_widget_list * root = NULL;

gui_widget_list * gui_widget_list_new()
{
 gui_widget_list * p =(gui_widget_list*)calloc(1, sizeof(gui_widget_list));

 assert(p != NULL);

 p->head = NULL;
 p->tail = NULL;
 
 return p;
}

void gui_init()
{
 root = gui_widget_list_new();
}

gui_widget * gui_widget_new(size_t type)
{
 gui_widget * p = (gui_widget*)calloc(1, sizeof(gui_widget));

 assert(p != NULL);

 p->type = type;
 p->next = NULL;
 p->priv = NULL;

 return p;
}

void gui_widget_list_append(gui_widget_list * list, gui_widget * data)
{
 assert(list != NULL);
 assert(data != NULL);
 
 if (list->head == NULL)
 {
   list->head = data;
   data->priv = NULL;
 }
 else
 {
   list->tail->next = data;
   data->priv = list->tail;
 }
 
 list->tail = data;
}

gui_widget * gui_button_new(size_t x, size_t y, size_t w, size_t h, const char * label)
{
 gui_widget * p = gui_widget_new(GUI_WIDGET_BUTTON);
 
 gui_widget_list_append(root, p);
 
 p->size.x = x;
 p->size.y = y;
 p->size.w = w;
 p->size.h = h;
 p->label  = strdup(label);
 
 return p;
}

gui_widget * gui_menu_new(const char * label)
{
 gui_widget * p = gui_widget_new(GUI_WIDGET_MENU);

 gui_widget_list_append(root, p);

 p->label  = strdup(label);
 
 p->menu.list = gui_widget_list_new();

 return p;
}

gui_widget * gui_menu_add(gui_widget * data, const char * label)
{
 assert(data->type == GUI_WIDGET_MENU);
 
 gui_widget * p = gui_widget_new(GUI_WIDGET_MENU);
 p->label  = strdup(label);
 p->menu.list = gui_widget_list_new();
 
 assert(data->menu.list != NULL);
 
 gui_widget_list_append(data->menu.list, p);

 return p;
}

void gui_widget_list_print( gui_widget_list * list)
{
 gui_widget * p = list->head;
 
 while (p != NULL)
 {
   printf("%s\n", p->label);
   p = p->next;
 }
}

void gui_widget_list_print1( gui_widget_list * list)
{
 gui_widget * p = list->head;

 while (p != NULL)
 {
   printf("%s\n", p->label);
   p = p->next;
 }
}

gui_widget * gui_widget_find_pos(gui_widget_list * list, gui_point pt)
{
 gui_widget * p = list->head;
 
 while ((p != NULL) && (gui_point_in_rect(pt, p->size) != true))
 {
   p = p->next;
 }

 return p;
}

int main(int argc, char* args[])
{
 gui_init();
 
 gui_button_new(0, 1, 2, 3, "Hello!");
 gui_button_new(4, 5, 6, 7, "World!");
 
 gui_widget * file = gui_menu_new("File");
 gui_widget * open = gui_menu_add(file, "Open");
 gui_widget * save = gui_menu_add(file, "Save");
 gui_widget_list_print(file->menu.list);
 
 gui_widget_list_print(root);
 
 printf("%d\n", sizeof(gui_widget));
}
[12:50:52] <sda> а картинки уже делает ?
[12:50:55] <sda> формочки
[12:51:31] <geniepro> jordan36957: омг а де ворнинги? ))
[12:52:09] <geniepro> ---------- run ----------
Open
Save
Hello!
World!
File
36

Output completed (0 sec consumed) - Normal Termination
[12:52:16] <jordan36957> поборол :-)
[12:53:51] <jordan36957> правда утечка памяти, но это исправимо
[12:55:13] <sda> изврат-ориентированное-программирование )
[13:02:48] <jordan36957> на pascal'е был бы почти одинаковый код :-)
[13:08:08] <sda> Графический «велосипед» по мотивам Turbo Vision (дела давно минувших дней)
http://habrahabr.ru/post/143981/
[13:10:58] <sda> "Минимальные требования для запуска: 386-совместимый процессор, 640Кб ОЗУ, 512Кб видеопамяти, поддержка VESA со стороны видео-BIOS (windy0.exe пойдёт и на 8086 с CGA-графикой)."
[13:14:30] <jordan36957> исходники недоступны
[13:16:41] <jordan36957> pascal могёт
[13:18:20] <sda> жаль ) 12 год не давно был
[13:19:37] <sda> "Последний раз был на сайте 06 ноября 2014 в 10:40"
[13:20:00] <sda> если есть аккаунт на хабре, то можно запросить исходники
[13:24:47] <jordan36957> Меня на хабре нет
[13:47:48] <geniepro> Украинки открыли охоту на женихов-программистов http://vesti-ukr.com/strana/76087-ukrainki-otkryli-ohotu-na-zhenihov-programmistov
"Стать женой программиста не прочь сотни, а то и тысячи украинок. 22-летняя жительница Днепропетровска Ольга рассказала нам, как нашла будущего мужа на курсах для тестировщиков (проверяют на ошибки готовые программы). «Работать тестировщиком я не хотела, но знала, что программисты неплохо зарабатывают, вот и пошла на курсы. Там познакомилась с преподавателем, год назад мы расписались. Теперь у меня идеальный муж: кроме меня, ему интересны только компьютеры, он прилично зарабатывает, работает удаленно и успевает, пока я до ночи в офисе, справляться с мелкой работой по дому», — рассказала Ольга."
[13:51:12] <jordan36957> Прогммисты разные бывают
[13:51:24] <jordan36957> Вот женская логика, всё идеалов ищут
[13:51:50] <akastargazer> Халявы ищут
[13:53:48] <jordan36957> угу
[13:54:08] <jordan36957> Ясно, что ищут где теплее и лучше
[13:54:27] <jordan36957> Это вообще о всех. Не враг же человек себе
[14:05:17] <akastargazer> Мне кажется, неверно говорить про человека вообще. Есть мужчины и есть женщины. У каждого своя логика поведения, скажем так.
[14:07:20] <geniepro> мужыкам нравятся красотки, бабам -- богачи
[14:12:11] <jordan36957> Ищут явно где лучше
[14:13:07] <geniepro> рыба ищет где глубже, а человек -- где лучше
[14:15:16] <akastargazer> ж и м лучшесть по-разному понимают, и это надо учитывать, мы ж не на Западе, где вообще не видят разницы между м и ж
[14:15:52] <akastargazer> > мужыкам нравятся красотки, бабам -- богачи
Это был наиболее краткий пересказ содержания книги Докинза "Эгоистичный ген" :)
[14:24:42] <sda> ну если она выбирала по "неплохо зарабатывают", то пусть не жалуется, если выяснится что взяли ее не ради ее самой
[14:25:26] <akastargazer> Так бабу берут не ради её самой, а ради детей
[14:25:27] <sda> а например, умеет готовить, целеустремленная в поиске мужа, брак по расчету )
[14:25:30] <geniepro> а ради её ножек и сисек? )
[14:26:06] <sda> ну типа ради уникальности самой личности
[14:26:24] <jordan36957> :-D
[14:26:29] <sda> лучше наверное термин персона употреблять
[14:26:38] <jordan36957> да конечно, ради уникальности....
[14:26:59] <akastargazer> Да ну, какая там уникальность личности, когда решения принимаются на генетическом уровне
[14:27:04] <geniepro> а IOWA неплохо поёт, с типа западным акцентом ))
[14:27:50] <geniepro> https://www.youtube.com/watch?v=_TazBWWgOeQ
[14:28:53] <geniepro> sda>  лучше наверное термин персона употреблять
это вообщето не очень хороший термин: "анима" -- это сущность человека, а "персона" -- его внешняя маска
[14:28:59] <sda> я бы не стал брать жену только потому, что у нее удовлетворяющие меня характеристики и она сама просится в брак... даже если их будет 10 или 100
[14:29:41] <sda> персона это лицо, а личность недавно придуманный французкий термин
[14:30:15] <sda> юридические документы подписывает лицо, а не личность
[14:30:34] <sda> просто есть неоднозначность в значении термина личность
[14:30:58] <akastargazer> лик, лицо, личность
[14:34:25] <sda> представим что вы идете по улице, долго долго, у каждой молодой девушки прям спрашиваете насчет давай поженимся, есть вероятность что какая-то часть скажет да, потом поворачиваете и также идете и справшиваете опять набирается очередь партнеров с каждым из которых вы можете построить брак, и пусть возможность удачных браков будет больше одного... как тут сделать правильный выбор? когда остановиться?
[14:35:17] <sda> есть люди, которые считают что такой выбор может быть единственным
[14:35:56] <akastargazer> Жизнь коротка и пролетит незаметно. Поэтому не надо париться, берёшь бабу и делаешь детей.
[14:36:03] <sda> )
[14:38:20] <akastargazer> Между прочим, бабы это прекрасно понимают, потому что у них детородный период считаный. Поэтому и надо им сразу мужа чтоб побогаче
[14:41:24] <sda> большая часть так, наверное, и поступает, а надежде на счастливый случай, что этот тот самый единственный, может даже у большей части так и оказывается
[14:41:32] <sda>
[14:42:23] <geniepro> sda: как тут сделать правильный выбор? когда остановиться?
известно же, что самый счастливый брак -- второй. в первом браке обжигаются, и уже не так привередливы во втором...
[14:45:50] <geniepro> http://habrahabr.ru/post/242351/
[14:46:02] <sda> https://ru.wikipedia.org/wiki/Юнона_и_Авось
Сюжет поэмы «Юнона и Авось» (1970) и рок-оперы основан на реальных событиях и посвящён путешествию русского государственного деятеля Николая Петровича Резанова в Калифорнию в 1806 и его встрече с юной Кончитой Аргуэльо, дочерью коменданта Сан-Франциско.

По воспоминаниям Андрея Вознесенского, поэму «Авось» он начал писать в Ванкувере, когда «глотал… лестные страницы о Резанове толстенного тома Дж. Ленсена, следя судьбу нашего отважного соотечественника».[5] Кроме того, сохранился и был частично издан путевой дневник Резанова, который был также использован Вознесенским.

Николай Резанов, один из руководителей первой русской кругосветной экспедиции, в 1806 прибыл в Калифорнию для того, чтобы пополнить запасы продовольствия для русской колонии на Аляске. Его полюбила 16-летняя Кончита Аргуэльо, с которой они обручились. Резанов был вынужден вернуться на Аляску, а затем ехать к императорскому двору в Санкт-Петербург, чтобы выхлопотать разрешение на брак с католичкой. Однако по дороге он тяжело заболел и умер в Красноярске в возрасте 43 лет (годы жизни Резанова 1764—1807). Кончита не верила доходившим до неё сведениям о смерти жениха. Только в 1842 английский путешественник Джордж Симпсон, прибыв в Сан-Франциско, сообщил ей точные подробности его гибели. Поверив в его смерть лишь тридцать пять лет спустя, она дала обет молчания, а через несколько лет приняла постриг в доминиканском монастыре в Монтеррее, где провела почти два десятилетия и скончалась в 1857 году.
[14:46:31] <sda> некоторые ждут очень долго
[14:48:22] <akastargazer> >большая часть так, наверное, и поступает
У многих решают гормоны, а когда наступает спад, то надо как-то дальше жить, а не умеют.
[15:06:07] <jordan36957> плюсую ответ
[15:42:17] <sda> про React OS 0.3.17 на OpenNET
# как со стабильностью (относительно 0316?)
Также стабильна как и раньше.
Но за 15 лет прогресс есть.
Сейчас не всегда в бсод падает - иногда просто адово тормозит и вынуждает перегрузить :)
#Ура, получен полноценный клон винды!
[16:27:57] <Kemet> пешите кот на обероне и не майтесь херней, вроде ж нге весна
[16:28:38] <Kemet> sda: да ладно, сама Винда вполне стабильна, валилась она изза дрпайверов
[18:42:58] <sda> на неттопе у меня винда хр, по старинке всегда ставлю ее на фат раздел, есть еще настольный с виндой 7, но в целях экономии электричества и меньшего шума на неттопе сейчас сижу
[18:54:57] <Kemet> sda: у меня вин-хп почти 10 лет отработала, выкинул по причине поломки ноутбука
[18:55:21] <Kemet> и ни разу не переустанавливал, и ничего не валилось
[18:56:19] <Kemet> а вообщен нет в жисти щастя, уникад это такая жопа (
[18:56:32] <Kemet> *уникод
[19:05:35] <vlad2> Не ты первый :)
[19:12:17] <sda> хр со временем пухнет, сотни установленных прог меняют, добавляют файлики и настройки, почистить ее не получается и приходится переустанавливать... вообще, надо разделять систему и программы/драйверы/либы который ставит юзер, так чтобы при надобности удалил папку последних и она бы как новенькая загрузилась
[19:13:14] <vlad2> У меня XP на нетбуке ни разу не переустанавливалась..
[19:13:15] <Kemet> vlad2: ну я как-то не вникал, и всегда думал, что утф32 решает все проблемы, ну памяти только жрет, ан нет, по индексу также мало чего полезного можно узнать, все равно строку сканировать, вот теперь думаю, может все ж тааки утф16 использовать
[19:13:40] <vlad2> Угу.
[19:14:08] <vlad2> А че у тебя за буковки такие?
[19:14:26] <vlad2> Японский неупрошенный? :)
[19:16:37] <Kemet> , да не, русский, английмский, французский, испанский и немецкий, там много диакритов, и надо нормализовать, или конвертить
[19:18:12] <Kemet> энто дело еще и упорядочивать надо, и надо под АктивОберон, вот пилю теперь либу, и наткнулся
[19:20:44] <Kemet> А в А2 подсистемы Текст и Фонт используют ucs4
[19:34:20] <Kemet> блин, и в Модуле-3 WIDECHAR - utf16, но вроде без суррогатов
[19:46:57] <vlad2> и опять не те первый :)
[19:47:41] <vlad2> Это тебе не ЦД выписывать - тут думать надо :)
[19:48:25] <vlad2> как ужа с ежом того, подружить :)
[19:52:11] <Kemet> vlad2: дык я ЦД не юзаю, ибо не понимаю его необходимости в канонической форме
[19:54:17] <vlad2> Да это я так, камешек в огород теоретиков от партизан.
[20:03:24] <Kemet> ну точно, в М-3 WIDECHAR без суррогатов, оно в принципе на уровне языка вполне достоточно