[00:01:16] <alexey.veselovsky> https://www.youtube.com/watch?v=v83wr9NVTl4
[00:01:19] <alexey.veselovsky> !
[00:03:14] <alexey.veselovsky> правда о США!
[01:12:25] <Kemet> alexey.veselovsky: поди опять про гейпарады
[01:12:34] <alexey.veselovsky> не :-)
[01:12:51] <alexey.veselovsky> у кого-нибудь открывается http://metronn.ru ?
[01:23:34] <Kemet> открывается
[01:24:05] <alexey.veselovsky> "403: Доступ запрещён
Местоположение (US) было добавлено в чёрный список."
[01:24:07] <alexey.veselovsky> :-(
[01:26:03] <Kemet> пиндостан отрубили от интернета
[01:26:14] <alexey.veselovsky> не только
[01:26:19] <alexey.veselovsky> из германии тоже не доступен
[01:27:45] <Kemet> это шоб омерикосы всей правды гнузнали
[01:30:45] <alexey.veselovsky> мне что, теперь еще не только из россии но и в россию “vpn” поднимать?
[01:31:39] <Kemet> а тож, можешь личный провод протянуть
[01:32:37] <Kemet> kpmý: а что значить единичка в квадратике ScrollInfo* = RECORD [1]
[01:36:43] <kpmý> это старое значение тега untagged
[01:37:03] <kpmý> видимо, вначале было 1, а теперь untagged можно писать
[01:37:19] <kpmý> короче просто безтиповый рекорд
[01:38:03] <alexey.veselovsky> без рантайм-поддержки
[01:38:06] <alexey.veselovsky> тип то есть :-)
[01:38:10] <alexey.veselovsky> он никуда не делся
[01:42:11] <Kemet> ага просто шматок памяти
[01:54:46] <alexey.veselovsky> http://lenta.ru/news/2014/11/25/apple/
[01:54:48] <alexey.veselovsky> :-(
[01:56:56] <kpmý> http://anticache.img0.joyreactor.cc/pics/post/%D0%BB%D0%B8%D1%87%D0%BD%D0%BE%D0%B5-%D0%BC%D0%B8%D0%BA%D0%BA%D0%B8-%D0%BC%D0%B0%D1%83%D1%81-112829.jpeg
[01:57:12] <alexey.veselovsky> это первая лосточка
[01:57:13] <Kemet> рубят бабло не отходя от кассы
[01:57:17] <alexey.veselovsky> ласточка
[01:57:24] <alexey.veselovsky> сейчас все подорожает на 20-30 процентов
[01:57:28] <alexey.veselovsky> вся электроника
[01:57:33] <kpmý> ужасно
[01:57:39] <alexey.veselovsky> ибо курс рубля увы
[01:58:36] <kpmý> жрите картоху
[01:58:47] <alexey.veselovsky> ОМНОМНОМ!
[01:59:27] <alexey.veselovsky> ЭТО ШАНС ОБЕРОНОКОМПУ ЗОХВАТИТЬ РЫНОК РОССИЙСКИЙ!!11
[02:00:16] <kpmý> джава 8 скачать бесплатно без смс
[02:00:32] <alexey.veselovsky> джава года ждал!
[02:01:52] <Kemet> дык и картоха подорожает
[02:33:20] <alexey.veselovsky> а знаете ли вы, что в США принято делать обрезание младенцам? то есть больше половины мужчин в США обрезаны.
[02:36:23] <Jordan> где то чиал
[02:36:28] <Jordan> *читал
[02:38:10] <alexey.veselovsky> “сегодня в США совершается одно обрезание каждые 30 секунд"
[02:49:56] <alexey.veselovsky> ххх: можно с тобой поговорить не как подчиненный с начальником?
ууу: ща, погоди, корону сниму ...
ууу: всё, теперь можно
ххх: отлично, тогда я тоже вилы с факелом в чулан спрячу ))
ууу: вовремя я ... снял-то
[03:14:50] <alexey.veselovsky> на ютюбе из США нет кнопочки “пропустить рекламу” :-(
[03:14:59] <alexey.veselovsky> то есть там нужно смотреть её целиком всегда
[03:15:06] <alexey.veselovsky> ну или adblock поставить :-)
[08:11:00] <s6> geniepro, вот погамайся в саморост 1 и саморост 2 http://www.amanita-design.net/samorost-1/
[08:11:08] <s6> Jordan,

<s6> я книжку читал "жизнь после смерти" инайят хана
<s6> там написано что после смерти - сон души, а потом растворение её в океане бытия
<s6> постепенное
<s6> а во сне снится как водится обычная белиберда
[08:12:01] <Jordan> помогите исправить код
[08:12:10] <Jordan>
class app
{
public:
LRESULT CALLBACK app::WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
 switch (message)
 {
   case WM_CREATE:
   break;

   case WM_DESTROY:
   PostQuitMessage(0);
   break;

   case WM_PAINT:

   break;

   default:
     return DefWindowProc(hwnd, message, wParam, lParam);
   }
   return 0;
}
 app::app(size_t x, size_t y, size_t w, size_t h, std::string title)
 {
   ZeroMemory(&wc, sizeof(wc));

   wc.hInstance     = GetModuleHandle(0);
   wc.lpszClassName = strdup(title.c_str());
   wc.lpfnWndProc   = &app::WndProc;
   wc.style         = CS_DBLCLKS|CS_VREDRAW|CS_HREDRAW;
   wc.hbrBackground = (HBRUSH)COLOR_APPWORKSPACE;
   wc.hIcon         = LoadIcon(NULL, IDI_APPLICATION);
   wc.hCursor       = LoadCursor(NULL, IDC_ARROW);

   RegisterClass(&wc);

   hwnd = CreateWindow(title.c_str(), title.c_str(), WS_OVERLAPPEDWINDOW|WS_VISIBLE, x, y, w, h, NULL, NULL, wc.hInstance, NULL);
 }

 void app::loop()
 {
   MSG msg;

   while (GetMessage(&msg, NULL, 0, 0) > 0)
   {
     TranslateMessage(&msg);
     DispatchMessage(&msg);
   }
 }
private:
 WNDCLASS wc;
 HWND hwnd;
 HDC hdc;
 HINSTANCE hInstance;
};
[08:12:16] <s6> etitt
[08:12:37] <alexey.veselovsky> jordan: https://gist.github.com
[08:12:41] <alexey.veselovsky> используй :-)
[08:12:42] <Jordan> wc.lpfnWndProc   = &app::WndProc; ругается тип не тот преобразовать не могу
[08:13:01] <Jordan> В си такой код работает
[08:13:01] <alexey.veselovsky> ошибку компилятора сюда скопипасть
[08:13:51] <Jordan> main.cpp
c:\cppgui\app.hpp(31) : error C2440: =: невозможно преобразовать "LRESULT (__std
call app::* )(HWND,UINT,WPARAM,LPARAM)" в "WNDPROC"
       Не существует контекста, в котором такое преобразование возможно
[08:14:05] <Jordan> Но если приводить к WNDPROC пишет
[08:14:09] <alexey.veselovsky> в Си у тебя ТАКОГО кода не могло быть
[08:14:56] <Jordan> Обижаешь у меня всё есть!
[08:15:07] <alexey.veselovsky> та неа :-) в Си нет методов
[08:15:13] <Jordan> #include <windows.h>
#include <stdlib.h>
#include <stdio.h>
#include "memory.h"
#include "events.h"

typedef struct
{
 WNDCLASS wc;
 HWND hwnd;
 HDC hdc;
 HINSTANCE hInstance;
} gui_window_t;

void print_text(HWND hwnd, const char * text)
{
 PAINTSTRUCT ps;
 HDC         hdc;
 RECT        rc;
 hdc = BeginPaint(hwnd, &ps);

 GetClientRect(hwnd, &rc);
 SetTextColor(hdc, RGB(0,0,0));
 SetBkMode(hdc, TRANSPARENT);
 DrawText(hdc, text, -1, &rc, DT_CENTER|DT_SINGLELINE|DT_VCENTER);
 EndPaint(hwnd, &ps);
}

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
 switch (message)
 {
   case WM_CREATE:
   break;

   case WM_DESTROY:
   PostQuitMessage(0);
   break;

   case WM_PAINT:
   print_text(hwnd, "Hello!");
   break;

   default:
     return DefWindowProc(hwnd, message, wParam, lParam);
   }
   return 0;
}

gui_window_t * gui_window_new(size_t x, size_t y, size_t w, size_t h, const char * title)
{
 gui_window_t * p = (gui_window_t*)malloc(sizeof(gui_window_t));

 ZeroMemory(&p->wc, sizeof(p->wc));

 p->wc.hInstance     = GetModuleHandle(0);
 p->wc.lpszClassName = strdup(title);
 p->wc.lpfnWndProc   = (WNDPROC)WndProc;
 p->wc.style         = CS_DBLCLKS|CS_VREDRAW|CS_HREDRAW;
 p->wc.hbrBackground = (HBRUSH)COLOR_APPWORKSPACE;
 p->wc.hIcon         = LoadIcon(NULL, IDI_APPLICATION);
 p->wc.hCursor       = LoadCursor(NULL, IDC_ARROW);

 if (FALSE == RegisterClass(&p->wc))
   return 0;

   // create the browser
 p->hwnd = CreateWindow(title, title, WS_OVERLAPPEDWINDOW|WS_VISIBLE, x, y, w, h, NULL, NULL, p->wc.hInstance, NULL);

 if (NULL == p->hwnd)
   return 0;

 return p;
}

void gui_loop()
{
 MSG msg;

 while (GetMessage(&msg, NULL, 0, 0) > 0)
 {
   TranslateMessage(&msg);
   DispatchMessage(&msg);
 }
}

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
 gui_window_t * win = gui_window_new(0, 0, 640, 480, "My first windows!");

 gui_loop();

 return 0;
}
[08:15:14] <s6> Jordan, убери wndproc за пределы класса
[08:15:28] <s6> а то this случайно упомянешь и накроется чёнить
[08:15:31] <alexey.veselovsky> вот скажи, друк, что именно должен вызвать виндовозный код ?
[08:15:37] <alexey.veselovsky> метод какого объекта?
[08:16:16] <alexey.veselovsky> не, можно проще - LRESULT CALLBACK app::WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) заменить на static LRESULT CALLBACK app::WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
[08:16:18] <alexey.veselovsky> :-)
[08:16:26] <alexey.veselovsky> ксатти, этот мегаметод не нужно делать публичным
[08:17:15] <Jordan> работает
[08:17:20] <alexey.veselovsky> Ж-)
[08:17:23] <Jordan> в чём была ошмбка?
[08:17:33] <s6> alexey.veselovsky, и чё тогда this окажется, если статик написать?
[08:17:37] <alexey.veselovsky> ответь на мой тот вопрос, узнаешь :-)
[08:17:49] <alexey.veselovsky> s6: будет ошибка компиляции
[08:17:52] <alexey.veselovsky> это ж static
[08:18:10] <s6> ну я хз эти статики не понимаю
[08:18:12] <Jordan> Оказывается я ничего о с++ не знал
[08:18:15] <s6> не читал спеки
[08:18:39] <alexey.veselovsky> а сишный код у тебя совершенно другой :-)
[08:19:03] <Jordan> он эволюционировал до ООП
[08:20:09] <Jordan> Просто в си, пишешь норм. В С++ начал в классы переносить, столько ошибок нашлось, варнинги сыплюься, то приведи, это...
[08:20:12] <alexey.veselovsky> x`
[08:20:22] <alexey.veselovsky> :-)
[08:20:39] <alexey.veselovsky> да, поэтому сишники не любят с++
[08:23:15] <Jordan> хоть скомпилилось, уже Слава Богу!
[08:23:37] <alexey.veselovsky> не какому-то там богу, а Мне!
[08:23:40] <alexey.veselovsky> :-D
[08:23:41] <тихий бот> вахахахаха
[08:24:08] <Jordan> И тебе спасибо добрый человек.
[08:24:18] <alexey.veselovsky> :-)
[08:24:20] <Jordan> В чём магия statica?
[08:24:41] <alexey.veselovsky> в том что это теперь не метод :-)
[08:25:27] <Jordan> угу надо wndproc в приват
[08:25:28] <s6> alexey.veselovsky, и в нём теперь тхис нельзя упоминать?
[08:25:41] <alexey.veselovsky> я же писал об этом выше
[08:25:46] <alexey.veselovsky> да, будет ошибка компиляции
[08:25:52] <alexey.veselovsky> ибо там просто нет this
[08:25:55] <alexey.veselovsky> вообще
[08:25:56] <s6> ты референтно непрозрачно написал
[08:25:59] <alexey.veselovsky> совсем
[08:25:59] <тихий бот> от слова совсем
[08:26:45] <alexey.veselovsky> это просто функция в неймспейсе класса
[08:27:02] <alexey.veselovsky> в жабах же то же самое есть
[08:27:11] <s6> в жабах нет такого
[08:27:28] <s6> эээээ ща
[08:27:33] <s6> там сложновасто
[08:27:49] <s6> а
[08:27:52] <s6> ну да, есть
[08:27:57] <alexey.veselovsky> :-)
[08:28:02] <s6> просто там целый класс можно сделать статик
[08:28:07] <alexey.veselovsky> /me знает жабу лучше жабиста
[08:28:10] <s6> вложенный
[08:28:16] <s6> да не, я просто тормозил
[08:28:25] <alexey.veselovsky> это имеет другой смысл, статический класс в жабе
[08:28:50] <s6> вложенный класс может быть статик, тогда у него нет синтетического поля доступа до тхис парент класса
[08:29:27] <alexey.veselovsky> угу. я ж говорю - другой несколько смысл. то есть в С++ все классы статические, с точки зрения жабы
[08:30:08] <s6> не
[08:30:13] <alexey.veselovsky> да
[08:30:14] <тихий бот> alexey.veselovsky, нет
[08:30:17] <s6> у парент классов статик вроде бы нельзя написать
[08:30:27] <s6> запрещено скорее всего
[08:30:34] <alexey.veselovsky> в С++ у классов вообще нельзя static писать :-)
[08:30:35] <s6> у топлевел классов скажем так
[08:30:44] <alexey.veselovsky> они с точки зрения жабиста, там все статические
[08:30:50] <s6> ну в цпп все классы топлевел
[08:30:54] <alexey.veselovsky> нет
[08:30:55] <тихий бот> Нет, не нет...
[08:31:03] <alexey.veselovsky> class A { class B {};};
[08:31:06] <alexey.veselovsky> легко
[08:31:46] <Jordan> error LNK2019: ссылка на неразрешенный внешний символ __imp__GetMessa
geA@16 такое чем исправить, вроде define нужно указать?
[08:32:03] <alexey.veselovsky> это не ошибка компиляции
[08:32:03] <s6> class A { class B { void func(){ A.this.blah() } - нельзя такое написать alexey.veselovsky ? не дорос ещё си++? =)
[08:32:06] <alexey.veselovsky> это ошибка компоновки
[08:32:22] <alexey.veselovsky> s6 нельзя
[08:32:56] <s6> this->blah();
[08:33:15] <alexey.veselovsky> еще раз - нельзя
[08:33:29] <s6> Jordan, линковать надо с либами
[08:33:39] <s6> виндовозными
[08:33:39] <alexey.veselovsky> объект типа B ничего не знает о том где он расположен, с A он никак не связан во время работы приложения
[08:33:52] <s6> ну ява синтетические поля создаёт
[08:34:00] <s6> типа A$this
[08:34:04] <alexey.veselovsky> я про С++ естественно
[08:34:17] <alexey.veselovsky> в жабе это нужно потому, что там нет множественного наследования :-D
[08:34:23] <s6> неа
[08:34:28] <s6> не поэтому
[08:34:31] <s6> а просто фича
[08:34:34] <alexey.veselovsky> и нет лямбд (тонее не было)
[08:34:42] <alexey.veselovsky> фича не бывает “просто” :-)
[08:34:46] <s6> бывает
[08:34:53] <alexey.veselovsky> нинужна
[08:35:10] <s6> это просто синтаксический сахар
[08:35:24] <alexey.veselovsky> нет, ведь тут и поддержка в рантайме имеется
[08:35:29] <s6> неа
[08:35:38] <s6> 0 поддержки
[08:35:44] <alexey.veselovsky> ну и вспомни, у тебя же есть еще анонимные классы вложенные
[08:35:58] <s6> ну они имеют синтетические имена 1 2 3 и тд
[08:36:00] <alexey.veselovsky> через которые там эмулируют замыкания
[08:36:47] <geniepro> alexey.veselovsky> у кого-нибудь открывается http://metronn.ru ?
403: Доступ запрещён
Местоположение (UZ) было добавлено в чёрный список.
[08:36:50] <s6> если анонимный класс вложен в class A, то рантайм имя анон.класса будет A$N, где N чиселко
[08:37:21] <Jordan> Каких прилинковать?
[08:37:32] <alexey.veselovsky> ну я и говорю - это не синтаксический сахар :-) ибо из этой штуки еще и кодогенерация лезет дополнительная :-)
[08:37:50] <s6> alexey.veselovsky, кодогенерация да, а вот jvm не имеет спецподдержки
[08:38:01] <alexey.veselovsky> а jvm и не нужно
[08:38:01] <s6> Jordan, Поищи либу где гетмессаге объявляется
[08:38:15] <Jordan> user.dll
[08:38:16] <alexey.veselovsky> кстати, это ж не изначально в жабе вроде бы было?
[08:38:25] <alexey.veselovsky> иначе не было бы этих уродских названий вложенных классов
[08:38:28] <s6> не помню
[08:39:15] <s6> Jordan, нужно либу .lib
[08:39:20] <s6> Jordan, -lлиба
[08:39:26] <Jordan> ок
[08:39:26] <alexey.veselovsky> “Внутренние классы появились в JDK (Java Development Kit, среда разработки для Java) версии 1.1, то есть около года назад.”
[08:39:29] <alexey.veselovsky> :-)
[08:39:34] <alexey.veselovsky> http://gir.openrise.org/data/toibas_data/html/jet/1998/11-12/1/ARTICL~2.HTM
[08:39:38] <s6> ну, не года
[08:39:41] <s6> а уже давно
[08:39:44] <alexey.veselovsky> говорю же - не сразу до этого извращения додумались
[08:40:02] <alexey.veselovsky> ты на дату статьи глянь :-)
[08:40:05] <alexey.veselovsky> Copyright © 1993-2000, Jet Infosystems
[08:40:07] <s6> вово
[08:40:26] <alexey.veselovsky> “Более трех лет назад, в мае 1995 года, было официально объявлено о появлении в компании Sun Microsystems новой технологии создания сетевых систем “
[08:40:37] <alexey.veselovsky> То есть это вообще 1999 или 1998 год :-)
[08:40:53] <s6> дак вон в урле дата
[08:40:57] <alexey.veselovsky> но таки да, не сразу это было, и к тому времени уже жаба была распространена и не хотели обратную совместимость ломать
[08:42:55] <Jordan> через прагму подключил
[08:43:08] <Jordan> Я думал, он сам подхватыват
[08:43:15] <alexey.veselovsky> с чего бы?
[08:43:40] <s6> Jordan, зачем прагма. опция компилера -l
[08:43:59] <Kemet> а в шарпе статик у меттода что делает
[08:44:24] <Jordan> s6 ругается что нет такой опции
[08:44:34] <s6> мс проклятый
[08:44:44] <s6> не хочу знать проделки мс
[08:44:45] <alexey.veselovsky> у МС все не как у людей :-)
[08:44:57] <alexey.veselovsky> в том числе и опции компилятора :-)
[08:47:01] <Jordan> теперь прога грузит в простое 50% процессора
[08:47:16] <alexey.veselovsky> точнее - одно ядро
[08:47:21] <Jordan> угу
[08:47:27] <Jordan> что то явно не так
[08:47:29] <alexey.veselovsky> а у тебя их дффа
[08:47:48] <alexey.veselovsky> ну почему же, ты просто кое-что забыл, точнее WinAPI не дочитал слегка :-)
[08:49:03] <Jordan> ага
[08:49:07] <alexey.veselovsky> http://msdn.microsoft.com/ru-ru/library/windows/desktop/ms644943(v=vs.85).aspx
[08:49:17] <alexey.veselovsky> http://msdn.microsoft.com/ru-ru/library/windows/desktop/ms644936(v=vs.85).aspx
[08:50:58] <alexey.veselovsky> http://msdn.microsoft.com/ru-ru/library/windows/desktop/ms644928(v=vs.85).aspx
[08:51:00] <alexey.veselovsky> примеры
[08:51:05] <Jordan> В си работал и без PeekMessage
[08:51:21] <alexey.veselovsky> а ты точно на загрузку процессора смотрел? :-)
[08:51:26] <Jordan> да
[08:51:27] <тихий бот> Jordan, нет
[08:51:50] <alexey.veselovsky> оно БУДЕТ работать с такой загрузкой. более того, для некоторых типов приложений ИНОГДА, рекомендуется именно вот так вот и работать
[08:52:01] <alexey.veselovsky> грузя проц по полной даже в простое
[08:52:10] <Jordan> Я WInMain не написал
[08:55:56] <alexey.veselovsky> http://www.adme.ru/svoboda-psihologiya/brosit-vse-ustavshie-ot-zhizni-lyudi-809510/?fb_action_ids=788407681205314&fb_action_types=og.shares
[08:56:20] <geniepro> так чо, SDL имеет будущее?
[08:56:42] <alexey.veselovsky> а он когда-то его не имел? :-)
[08:56:51] <alexey.veselovsky> хорошая штука, и чем дальше, тем лучше
[08:58:58] <geniepro> http://files5.adme.ru/files/news/part_45/450855/8844160-R3L8T8D-1000-0303-VF-WE041-03.jpg
[08:59:16] <s6> хехе alexey.veselovsky на тему статьи http://egphilippov.info/indexru.html
[08:59:52] <alexey.veselovsky> :-)
[09:03:20] <geniepro> alexey.veselovsky: у SDL там как, DLL-ка рядом с экзешником и всё? или надо что-то куда-то инсталлировать у клиента?
[09:03:40] <alexey.veselovsky> достаточно dll
[09:03:47] <alexey.veselovsky> а можно и статически вкомпилять
[09:05:56] <Jordan> Sleep(1); решил проблему
[09:06:12] <alexey.veselovsky> это не решение проблемы, это дерьмо
[09:07:02] <alexey.veselovsky> Sleep в программе обычно говорит о том, что 1) она написана криво 2) программист не понимает как работать с системой
[09:07:13] <geniepro> Jordan: юзай Application.DoEvents(), Люк!
[09:07:29] <alexey.veselovsky> не существует
[09:07:40] <geniepro> alexey.veselovsky: я часто юзаю Sleep, и пофиг на всё -- работает же!!!
[09:07:47] <alexey.veselovsky> гг
[09:08:16] <Jordan> потом по умному сделаю
[09:08:23] <geniepro> alexey.veselovsky: будь проще, и люди к тебе потянутся! а начнёшь возводить ООП-абстракции -- и сам рухнешь под их тяжестью!
[09:08:39] <alexey.veselovsky> зачем они мне?
[09:08:48] <geniepro> ну кто тебя знает?
[09:09:04] <geniepro> чо как там в ламерике? снега полно? у нас минус, но снега нет...
[09:09:25] <alexey.veselovsky> тут +20, снега нет к сожалению :-)
[09:09:58] <geniepro> а вроде на днях был метровый слой снега о_О
[09:10:11] <alexey.veselovsky> километровый, ага :-)
[09:10:18] <alexey.veselovsky> в СФ то :-D
[09:10:51] <geniepro> аппло нинужен!
[09:11:08] <alexey.veselovsky> эк тебя… :-)
[09:11:11] <alexey.veselovsky> version
[09:11:12] <тихий бот> version
[09:11:13] <Жаба> alexey.veselovsky,  you have imagent 10.0 (v1000) on Mac OS X
[09:11:21] <geniepro> о! ты в том городке, куда сбежал из Союза Крамаров? взял и помер там...
[09:13:54] <alexey.veselovsky> почти
[09:14:43] <alexey.veselovsky> туда минут 30-40 добираться отсюда
[09:33:50] <s6> alexey.veselovsky, а чё ты вместо слипа предлагаешь yield юзать?
[09:34:34] <s6> или чё ты предлагаешь?
[09:36:56] <s6> я понимаю когда есть возможность юзать в яве wait()
[09:36:58] <s6> это круто
[09:37:37] <s6> или в винде Wait*
[09:38:09] <s6> но не всегда есть эта возможность
[09:38:26] <s6> ну ващет когда её нет, надо городить асинхронности
[09:38:44] <s6> и сводить задачу к wait
[09:39:07] <s6> и там например делать poll
[09:40:05] <geniepro> s6: он имеет в виду что надо подвязываться к ивентам
[09:40:37] <s6> я бы имел в виду не только это, на его месте.
[09:40:42] <s6> о чём я и талдычу
[09:41:48] <s6> но таки в яве слип безвреден. тред слипающий всегда можно сделать Thread.interrupt()
[09:42:36] <s6> но если интеррапт не юзается то да, слип вреден
[09:45:09] <geniepro> http://nstarikov.ru/blog/47014
[09:48:51] <s6> ‎[13:33:50] ‎s6‎: alexey.veselovsky, а чё ты вместо слипа предлагаешь yield юзать?
‎[13:34:34] ‎s6‎: или чё ты предлагаешь?
‎[13:36:56] ‎s6‎: я понимаю когда есть возможность юзать в яве wait()
‎[13:36:58] ‎s6‎: это круто
‎[13:37:37] ‎s6‎: или в винде Wait*
‎[13:38:09] ‎s6‎: но не всегда есть эта возможность
‎[13:38:26] ‎s6‎: ну ващет когда её нет, надо городить асинхронности
‎[13:38:44] ‎s6‎: и сводить задачу к wait
‎[13:39:07] ‎s6‎: и там например делать poll
‎[13:40:05] ‎geniepro‎: s6: он имеет в виду что надо подвязываться к ивентам
‎[13:40:37] ‎s6‎: я бы имел в виду не только это, на его месте.
‎[13:40:42] ‎s6‎: о чём я и талдычу
‎[13:41:48] ‎s6‎: но таки в яве слип безвреден. тред слипающий всегда можно сделать Thread.interrupt()
‎[13:42:36] ‎s6‎: но если интеррапт не юзается то да, слип вреден
[09:50:36] <alexey.veselovsky> я предлагаю прочитать доку по Win32 API, и правильно забирать сообщения из очереди. без Sleep, ибо он там нафиг не нужен
[09:51:10] <s6> дак в гуи ивентлупе определённо, нинужен
[09:54:06] <s6> нормальная очередь умеет делать Wait
[09:54:34] <alexey.veselovsky> угу. и обычно в системе есть все для организации нормальных очередей для общения разных потоков например.
[09:55:44] <Jordan> этот статик, уже достал
[09:55:50] <alexey.veselovsky> :-)
[09:55:59] <Jordan> Завел std::queue
[09:56:10] <alexey.veselovsky> а что со статиком?
[09:56:11] <s6> эээто ещё нахрена
[09:56:13] <Jordan> Из wndproc сохраняю сообщения
[09:56:19] <s6> оппц
[09:56:24] <s6> Jordan, нинада
[09:56:31] <alexey.veselovsky> Ыыыыыыыыыыыыыыыы!!!11
[09:56:36] <s6> вово
[09:56:42] <Jordan> Конвертирую в свой формат event_t
[09:56:43] <s6> Jordan, эта очередь лишняя
[09:56:49] <s6> это лишнее
[09:57:13] <Jordan> почему?
[09:57:25] <Jordan> Как мне во вне передавать сообщения?
[09:57:39] <s6> в другие треды? можно очередью
[09:57:40] <Jordan> Пример
[09:57:47] <Jordan>
   case WM_MOUSEMOVE :
   {
     event_t event;
     event.type = EVENT_IS_MOUSE;
     event.mouse.pos_x = LOWORD(lParam);
     event.mouse.pos_y = HIWORD(lParam);
     app::event_send(event);
   break;
[09:57:54] <Jordan>   static void app::event_send(event_t event)
 {
   events.push(event);
 }
[09:58:01] <s6> не
[09:58:06] <s6> не events.push
[09:58:16] <s6> а сразу callListeners
[09:58:29] <Jordan> это чего такое?
[09:58:38] <s6> ну список колбэков
[09:59:06] <alexey.veselovsky> коллвзад!
[09:59:15] <Jordan> Можно конечно и так
[09:59:20] <s6> нужно
[09:59:25] <s6> зачем лишнее
[09:59:54] <Jordan> А чего они будут вызывать?
[10:00:03] <Jordan> Мне нужно просто сообщение передать
[10:00:22] <s6> и таки можно app::event_send(MouseEvent(...))
[10:00:43] <s6> все ООП руководства осуждают поля type =)
[10:00:55] <s6> говорят делайте иерархии
[10:01:57] <s6> ну инстанс app засунь в статик и просто appInstance->handleMouseEvent(MouseEvent(...));
[10:01:59] <Jordan> Я могу скрыть type за функцией
[10:02:09] <s6> а он даже не особо нужен
[10:02:43] <s6> ну для ивентов пригодится ващет
[10:03:10] <Jordan> Сейчас я реализую как умею, потом когда заработает, можно и с каллбеками похимичитть
[10:03:21] <s6> да не
[10:03:46] <s6> ты сделай проще

static app appInstance;

appInstance в мейне инить
[10:04:20] <s6> и у app сделай хендлеры какие хочешь
[10:04:34] <s6> и из wndProc эти хендлеры дёргай
[10:04:50] <s6> можно как в MFC сразу appInstance->wndProc дёргать
[10:05:12] <s6> то есть нестатический wndProc
[10:05:22] <Jordan> мне переносимо нужно. Что бы в клиентском коде ни каких wndproc
[10:05:43] <s6> ну handleEvent(event_t)
[10:05:45] <s6> тогда
[10:06:28] <s6> appInstance->handleEvent(...)
[10:06:47] <Jordan> Я немного не понимаю, о чём идёт речь :-)
[10:08:42] <s6> class app{
 void handleEvent(event_t e);
}

static app* appInstance;

... wndProc(...){
 //loop{
 ...
 app->handleEvent(...)
 ...
 }
}

main(){
  ...
  appInstance=new app(...)
  ...
}
[10:08:53] <s6> ой
[10:09:05] <s6> ... wndProc(...){
 //loop{
 ...
 appInstance->handleEvent(...)
 ...
 }
}
[10:09:07] <тихий бот> s6, no such command
[10:09:07] <s6> вот так
[10:10:41] <s6> ой чёта луп не там. ну можно понять
[10:10:44] <Jordan> сейчас
[10:13:43] <Jordan> твою задумку позже попробую
[10:14:14] <Jordan> Почему этот код не компилируется?
[10:14:16] <Jordan> static void app::event_send(event_t event)
 {
   events.push(event);
 }
[10:14:32] <s6> потому что events это this.events
[10:14:40] <s6> а this в статик мемберах нету
[10:14:45] <s6> this->events
[10:15:20] <Jordan> а понял
[10:15:23] <s6> эта твоя очередь лишняя
[10:15:32] <s6> лишняя трата проца и памяти
[10:16:38] <Jordan> так если я не сделаю wndproc статиком, оно не компилится
[10:16:52] <s6> ну ты ещё events можешь статиком сделать
[10:17:10] <Jordan> пробывал, выдаёт ошибкм
[10:17:16] <s6> он тогда будет не в инстансе, а глобально
[10:17:26] <s6> а как ты пробовал?
[10:18:17] <Jordan> глобально работает, но не то
[10:18:30] <s6> ты хочешь в инстансе очередь?
[10:18:58] <Jordan> В классе app есть очередь сообщений
[10:19:07] <Jordan> как я вижу клиентский код
[10:19:11] <s6> класс это понятие абстрактное
[10:19:23] <s6> а очередь это область памяти
[10:19:55] <s6> она либо в экземпляре класса, либо в глобальной памяти, вне любых экземпляров твоего класса
[10:20:01] <s6> последнее это static
[10:20:14] <s6> в экземпляре это без статик
[10:20:54] <s6> клиентский код лучше всего или виртуальным методом handleEvent, либо как в яве лисенерами
[10:21:18] <s6> а очередь совсем ни к чему
[10:21:33] <Jordan> понял
[10:23:28] <s6> лисенеры более удобная вещь чем перекрытие ивент-методов
[10:23:33] <s6> более гибкая
[10:23:51] <Jordan> где о них почитать
[10:24:01] <Jordan> Я просто делаю по примеру sdl
[10:24:13] <s6> сложно сказать. не видел статьи о лисенерах
[10:25:23] <Jordan> почему очередь это оверхед по памяти и тактам?
[10:26:40] <Jordan> Насколько я понимю, тормозить очередь сообщний не может. Нет предпосылок. Если тольео она на списке и не переиспользует узлы
[10:26:48] <s6> ну например
class MouseMoveListener {
  virtual void mouseMoved(MouseEvent& e)=0;
}
class ... {
 void addMouseListener(MouseMoveListener* l){
   listeners.add(l);
 }
 void removeMouseListener(MouseMoveListener* l){
   listeners.remove(l);
 }
}
[10:27:19] <s6> ну просто можно вообще без очереди. нет смысла никакого её вводить, дополнительную перевалбазу
[10:27:38] <akastargazer> listener, это какой-то объект, принимающий координаты мыши в примере?
[10:27:49] <s6> akastargazer, это коллбэк
[10:28:01] <Jordan> а как это соединить с wndproc?
[10:28:03] <akastargazer> Типа, объяснил
[10:28:28] <akastargazer> В чём смысл слушателя? Пассивно принимать данные?
[10:29:38] <s6> ну в яве хорошо с этим. а в си си++ придётся изгаляться...
class MouseMoveListener1 : public MouseMoveListener{
 ...
}
...
  xxx.addMouseMoveListener(new MouseMoveListener1());
[10:29:52] <Jordan> s6 Так идея вроде до меня дошла. Перевариваю. Остался один вопрос, что делать с wndproc? Как его засунуть в класс, но без static?
[10:29:57] <s6> akastargazer, слушатель хендлит ивенты
[10:30:09] <s6> Jordan, никак.
[10:30:22] <s6> только статик или вне класса вообще
[10:30:31] <akastargazer> Ты по-русски могешь изъясняться?
[10:30:55] <s6> хендлит это обрабатывает. ивенты это события
[10:31:30] <Jordan> swing пользовательские интерфейсы, там о них хорошо написано
[10:31:35] <akastargazer> Он все события обрабатывает или только некоторые?
[10:31:58] <s6> akastargazer, те события, которые ему дают, он и обрабатывает
[10:32:26] <akastargazer> Чем тогда Listener отличается от шаблона Observer?
[10:32:54] <Jordan> Иван. В ББ как ивенты от винды обрабатывают? Черезь очередь сообщений?
[10:33:15] <s6> обсервер... я уж не помню что под этим подразумевается
[10:33:40] <akastargazer> В функции окна или в событийной петле в очередь смотрят, да
[10:33:55] <akastargazer> " Наблюдателем назовём объект, которому интересно знать состояние другого объекта. Наблюдатель регистрируется у него для получении информации об изменениях состояния. "
[10:34:15] <s6> наблюдателя можно реализовать через слушателя
[10:34:32] <s6> слушатель слушает всё что ему сказали
[10:34:48] <akastargazer> Так это одно и то же
[10:34:53] <s6> не вполне
[10:34:59] <akastargazer> Ну и где отличия?
[10:35:06] <s6> про состояние тут речь не идёт, в слушателе
[10:35:12] <akastargazer> Да ладно
[10:35:16] <s6> это какие-то события он слушает
[10:35:22] <s6> а что это за события, не сказано
[10:35:24] <akastargazer> Слушатель ведь не звук слушает, он получает сигналы
[10:35:30] <s6> ну вот
[10:35:33] <akastargazer> Наблюдатель делает то же самое, где разница?
[10:35:40] <s6> а это сигналы не о состоянии, а любые
[10:35:42] <geniepro> akastargazer> " Наблюдателем назовём объект, которому интересно знать состояние другого объекта. Наблюдатель регистрируется у него для получении информации об изменениях состояния. "

коллбек что ли? о_О
[10:36:04] <Jordan> ох и хитро как то всё устроено
[10:36:10] <akastargazer> Любые он не сможет обработать, он может обработать только известные ему сигналы
[10:36:13] <s6> Наблюдатель здесь это слушатель StateChangedEvent-ов
[10:36:30] <s6> сможет обработать любые, которые описаны
[10:36:41] <akastargazer> Так же, как и Наблюдатель, разницы нет
[10:36:43] <s6> не только известные
[10:36:48] <s6> нет, есть разница.
[10:36:52] <akastargazer> Нету
[10:37:03] <s6> StateChangedEvent - это НЕ все события.
[10:37:05] <s6> есть
[10:37:48] <s6> там примешаны лишние слова
[10:37:55] <s6> а лишние слова это лишняя специфика
[10:38:09] <akastargazer> Лишнее слово - это Listener
[10:38:09] <Jordan> зрите глубже, до наблюдателя система должна предоставить ему евент, и если это тот евент, наблюдатель будет реагировать
[10:38:11] <geniepro> https://www.facebook.com/about/terms-updates/?notif_t=data_policy_notice
"Используя наши сервисы после 1 января 2015 года, вы соглашаетесь с нашими обновленными условиями использования, политикой использования данных и политикой в отношении файлов «cookie», а также с просмотром рекламы на основании приложений и сайтов, которые вы используете. Ниже приведена более подробная информация об этих обновлениях и о том, как контролировать рекламу, которую вы видите."
о_О
[10:38:18] <Jordan> Сам по себе он не ждёт
[10:38:25] <akastargazer> Сам по себе он ждёт
[10:38:37] <geniepro> сам по себе он не существует
[10:38:40] <akastargazer> Слушатель ведь должен откуда-то получать события. Откуда он их получает?
[10:39:05] <geniepro> возникло где-то событие -- вызвались коллбеки
[10:39:08] <s6> в цикле рассылки сообщений
[10:39:10] <Jordan> во
[10:39:19] <akastargazer> Кто устанавливает коллбеки?
[10:39:27] <s6> если лисенеров много, то итерируется по ним и каждому шлётся событие это

[10:39:32] <geniepro> кому надо установить -- тот и устанавливает
[10:39:46] <akastargazer> Секунду. Коллбек связан со слушателем?
[10:40:09] <s6> коллбек + ссылка на экземпляр это слушатель
[10:40:40] <akastargazer> То есть, мы посредством коллбека подключаем слушателя к источнику событий?
[10:40:44] <s6> угу
[10:40:55] <akastargazer> Ну так это описание паттерна Наблюдатель
[10:41:01] <s6> нет
[10:41:02] <тихий бот> Нет, не нет...
[10:41:03] <akastargazer> Да
[10:41:03] <s6> я ригорист
[10:41:05] <s6> нет
[10:41:06] <тихий бот> Нет, не нет...
[10:41:11] <akastargazer> Почитай GoF, что ли
[10:41:35] <s6> чё мне читать чтото я и так вижу разницу
[10:42:12] <s6> скажем слушатели могут быть у stateless обьекта
[10:42:20] <s6> и тут разница и выпирает
[10:42:26] <akastargazer> Так ты же не показал, в чём разница :) Наблюдателя назвали Слушателем, вот и вся разница :)
[10:42:38] <s6> а наблюдателя над stateless обьектом быть не может
[10:42:40] <geniepro> akastargazer> Секунду. Коллбек связан со слушателем?
ссылка на коллбек сохраняется у того, кто позволяет делать подписку на его события
[10:42:45] <akastargazer> Да ладно, фигня какая
[10:42:53] <s6> нет, не наблюдателя назвали слушателем
[10:43:03] <akastargazer> Именно так и сделали, а мы тут паримся
[10:43:20] <geniepro> ООПшники сраные понавыдумывали паттернов, которые просто нинужны в том же ФП
[10:43:31] <s6> нужны
[10:43:36] <s6> ты просто мало кушал ФП
[10:43:50] <geniepro> а ты много?
[10:43:59] <s6> почитай юзера tonsky про его прогу achaacha
[10:44:08] <s6> там есть слушатель
[10:44:14] <akastargazer> В дотнете это Наблюдатель, в джаве это Слушатель, вот вся разница
[10:44:28] <s6> в джаве есть и наблюдатель
[10:44:29] <akastargazer> майнстрим как он есть, вечное изобретение велосипедов
[10:44:32] <s6> и sink
[10:44:36] <akastargazer> Дык разницы же нет
[10:45:02] <s6> дак для недотошных людей разницы на свете вообще нет
[10:45:13] <s6> поэтому они и плодят говнокод и говнодоки
[10:45:29] <s6> и их зовут говнокодерами
[10:45:32] <geniepro> acha-acha.ru -- "Статья 128.1. Клевета" о_О
[10:45:45] <s6> geniepro, tonsky ищи
[10:46:13] <s6> http://tonsky.me/
[10:46:14] <akastargazer> Речь идёт о концептуальных отличиях. А их нет.
[10:46:16] <geniepro> http://tonsky.me/blog/acha-acha/ "Another powered-by-DataScript example" ?
[10:46:25] <s6> http://tonsky.livejournal.com/
[10:46:38] <geniepro> там на басурманском
[10:46:57] <s6> http://tonsky.livejournal.com/295726.html
[10:47:39] <akastargazer> Плодить лишние сущности - задача майнстрима, а твоя задача это поддерживать всеми силами :)
[10:48:24] <s6> у меня нет никаких задач =)
[10:48:28] <s6> вы ошиблись
[10:48:54] <s6> концептуальные есть
[10:49:48] <akastargazer> Ну приведи, прошу. Можно начать описывать концепт с самого начала. Вот у нас в каком-то классе что-то происходит. Как нам об этом узнать?
[10:50:08] <s6> geniepro, вот тут есть слушалка коннекшна - d/listen! https://github.com/someteam/acha/blob/master/src-cljs/acha.cljs
[10:51:10] <s6> концепт, который есть в Наблюдателе и которого нет в Слушателе - это стейт обьекта и его изменения. Целых два концепта
[10:51:49] <geniepro> akastargazer> Ну приведи, прошу. Можно начать описывать концепт с самого начала. Вот у нас в каком-то классе что-то происходит. Как нам об этом узнать?
регистрируешь в нём коллбек
[10:51:52] <s6> слушатель ловит ивенты. обеспечивает проводимость ивентов. всё
[10:52:10] <s6> а наблюдатель это исключительно ивенты state change
[10:52:24] <akastargazer> Куда он проводит события?
[10:52:38] <s6> в чисто виртуальную функцию =)
[10:52:42] <akastargazer> Слушатель должен кому-то передать сообщение?
[10:53:13] <s6> эээээ слушатель это чисто виртуальный класс. всё что он должен это выполнить нормы ЯП
[10:53:46] <geniepro> s6: а если в языке нет классов, что тогда?
[10:53:55] <akastargazer> нормы ЯП и паттерны ООП суть разные вещи. Итак, у нас есть объект, который выдаёт какие-то сообщения.
[10:54:05] <akastargazer> Кому он их выдаёт?
[10:54:21] <geniepro> тому, кто на них у него подпишется же!!!
[10:54:26] <akastargazer> Вот!
[10:54:29] <s6> geniepro, тогда реализуем то же самое на коллбэке с юзердатой
[10:54:51] <akastargazer> А подписант что-то делает с этим сообщением, разве не так?
[10:55:05] <s6> что угодно делает
[10:55:09] <s6> абсолютно
[10:55:17] <akastargazer> Ну вот, это есть схема Наблюдатель
[10:55:17] <s6> только это сообщение менять не надо
[10:55:20] <s6> нет
[10:55:20] <тихий бот> Нет, не нет...
[10:55:32] <s6> уберите слова state и change
[10:55:36] <s6> тогда да
[10:55:41] <s6> а не уберёте - тогда нет
[10:55:42] <akastargazer> Их у меня и нет :)
[10:55:45] <s6> есть
[10:55:54] <s6> " Наблюдателем назовём объект, которому интересно знать состояние другого объекта. Наблюдатель регистрируется у него для получении информации об изменениях состояния.
[10:55:57] <akastargazer> Читай ещё раз
[10:56:03] <s6> состояние уберите
[10:56:09] <s6> изменения состояния уберите
[10:56:22] <akastargazer> Итак, у нас есть объект, который выдаёт какие-то сообщения.
Кому он их выдаёт?
тому, кто на них у него подпишется же!!!
А подписант что-то делает с этим сообщением, разве не так?
что угодно делает
Ну вот, это есть схема Наблюдатель
[10:56:32] <akastargazer> Ещё раз прочти, внимательно
[10:56:47] <akastargazer> Там нет ни слова про состояния
[10:57:08] <akastargazer> Изменения состояния - это частный случай, Наблюдателю вообще без разницы, что породило сообщение
[10:57:20] <akastargazer> Состояние там изменилось или что
[10:57:23] <s6> Подписантом назовём объект, которому интересно знать. Подписант регистрируется у другого обьекта для получения информации.
[10:57:50] <s6> таки да, паттерн слушатель включает в себя паттерн подписант
[10:58:37] <s6> у наблюдателя есть наблюдаемое. у подписанта наблюдаемого нет - он только ивенты наблюдает
[10:58:39] <geniepro> s6> только это сообщение менять не надо
а это зависит от реализации -- если сообщение было передано по значению, то пофиг, делай что хочешь
[10:58:55] <s6> не, тогда это уже не слушатель а мудня
[10:58:56] <s6> =)
[10:59:17] <akastargazer> Так наблюдатель относится к наблюдаемому только через ивенты, как и подписант. И снова мы вернулись к началу
[10:59:30] <akastargazer> Слишком много лишних слов, замусоривающих суть
[10:59:33] <s6> ну вот тогда это ДРУГАЯ формулировка
[10:59:37] <akastargazer> Да ладно
[10:59:40] <s6> да нет
[10:59:41] <akastargazer> Концепт один и тот же
[10:59:44] <s6> нет
[10:59:44] <тихий бот> Нет, не нет...
[11:00:04] <geniepro> паттерны -- следствие убогости языка
[11:00:07] <s6> усложённый концепт это не то же самое, что и его прародитель более простой
[11:00:27] <s6> усложнённый
[11:00:28] <akastargazer> Одним языком все предметные области не накроешь
[11:00:50] <akastargazer> Концепт простой, на самом деле: надо получить уведомления от объекта
[11:00:53] <akastargazer> И всё
[11:00:56] <geniepro> паттерны к предметным областям отношения не имеют -- это же просто приёмы программирования
[11:01:08] <s6> тогда это уже не наблюдатель, а подписант, паттерн Publish-Subscribe
[11:01:16] <akastargazer> А дальше идут сексуальные фантазии про слушателей, подписантов и прочее
[11:01:24] <s6> гггг
[11:01:37] <s6> ничего сексуального в затемённом сознании нет
[11:01:46] <s6> затемнённом
[11:01:57] <s6> просто обычная тупость
[11:02:01] <akastargazer> Ого
[11:02:05] <akastargazer> Ну круто, да
[11:02:11] <s6> ну дак частое явление же
[11:02:13] <akastargazer> Главное, вовремя перейти на личност
[11:02:13] <s6> привычно
[11:02:21] <s6> да я не упоминал личности
[11:02:28] <s6> а упоминал свойства личностей
[11:02:32] <akastargazer> Любой аргумент перебивается личностной оценкой оппонента
[11:02:42] <s6> дак нет аргумента ни одного
[11:02:50] <akastargazer> Ну и можно ещё до усрачки повторять мантру "нет"
[11:02:57] <akastargazer> Это ещё проще
[11:03:00] <s6> а тупость это невнимание к деталям в том числе
[11:03:25] <s6> порок называется овергенерализация или чрезмерное обобщение
[11:03:37] <akastargazer> Горячие фантазии программиста могут наплодить кучу ненужных деталей, фэто факт
[11:03:45] <s6> нужных
[11:04:04] <s6> если в EJB есть стателесс бины, это означает там нет Наблюдателя
[11:04:08] <akastargazer> нет нужды в них, всё очевидно вытекает из самого концепта
[11:04:52] <akastargazer> Наблюдатель подключается к чему-то. Это его суть. Ему не нужно что-то знать о состояниях для этого
[11:04:57] <s6> у них нет состояния, у этих бобов
[11:05:00] <s6> нет
[11:05:00] <тихий бот> Нет, не нет...
[11:05:02] <akastargazer> Он наблюдает за чем-то
[11:05:05] <s6> это суть подписчика
[11:05:09] <akastargazer> Наблюдатель - наблюдает
[11:05:18] <s6> за наблюдаемым обьектом
[11:05:23] <akastargazer> Есть тот, кто смотрит, и есть то, на что смотрят
[11:05:28] <akastargazer> Это называется наблюдение
[11:05:29] <s6> который stateful
[11:05:41] <s6> за наблюдаемым
[11:05:54] <akastargazer> Зачем ты постоянно лепишь в аргумент эти состояния?
[11:06:10] <s6> затем что это дефиниция паттерна Наблюдатель
[11:06:15] <akastargazer> Неверно
[11:06:19] <s6> хаха
[11:06:23] <akastargazer> Давай, докажи
[11:06:25] <s6> вы сами её скопипастили
[11:06:30] <s6> чё я буду доказывать
[11:06:37] <geniepro> s6: что за бины-шмины, зачем они?
[11:06:42] <s6> я уже копипастил вашу копипасту
[11:06:45] <s6> вы не вняли
[11:06:52] <s6> вам всё об стенку горох
[11:07:04] <s6> geniepro, хренотация такая
[11:07:09] <akastargazer> Шаблон разработки "наблюдатель", позволяет подписчику зарегистрироваться у поставщика и получать от него уведомления. Это относится к любому сценарию, где требуется использование принудительно отправляемого уведомления. Этот шаблон определяет поставщик (также известный как субъект или наблюдаемый) и ноль, один или несколько наблюдателей. Наблюдатели регистрируются у поставщика и при каждом выполнении предварительно заданного условия, события или изменении состояния поставщик автоматически уведомляет все наблюдатели путем вызова одного из их методов.
[11:07:17] <akastargazer> Вот тебе другая копипаста
[11:07:19] <geniepro> s6: твои знания остановились во временах царя Гороха )))
[11:07:23] <akastargazer> http://msdn.microsoft.com/ru-ru/library/ee850490(v=vs.110).aspx
[11:08:10] <s6> ну это уже другой разговор.
[11:08:13] <akastargazer> Есть источник данных и есть получатель данных. Это суть Наблюдателя
[11:08:14] <s6> на другую тему.
[11:08:22] <akastargazer> Да конечно, ага, на другу.
[11:08:27] <akastargazer> Ясно, короче
[11:09:53] <s6> суть нинужна
[11:10:01] <s6> от сути одни проблемы
[11:11:23] <akastargazer> Ну тык когда нет понимания, получается непонятный софт
[11:11:39] <akastargazer> Ещё многие люди не понимают, что такое классы
[11:11:48] <akastargazer> Это отдельная тема, конечно
[11:12:10] <geniepro> ну вот джордан учит классы )
[11:12:20] <s6> таки есть много дефиниций классов в мировом вавилоне
[11:14:26] <akastargazer> Вот! Дефиниций много, а суть одна
[11:14:31] <s6> неа
[11:14:33] <s6> не одна
[11:15:02] <akastargazer> Как ни крути, всё же одна.
[11:15:24] <s6> это вы кубит в состояние undecided ввергли, блаженный видимо
[11:16:20] <s6> блаженный то ли кубит, то ли
[11:18:04] <akastargazer> Чем больше ты сумеешь накрутить смыслов на изначально простую основу, тем больше у тебя будет зарплата, это закон
[11:18:49] <s6> изначально простая основа... изначальность это вообще нонсенс
[11:20:28] <s6> святая простота хуже воровства.
[11:20:29] <akastargazer> Аксиоматический метод, что поделать
[11:20:33] <s6> неа
[11:20:44] <s6> святая простота хуже воровства.
[11:21:00] <akastargazer> свято место пусто не бывает
[11:21:37] <akastargazer> У вора ремесло на лбу не написано
[11:22:52] <akastargazer> Кстати, многие путают простоту и примитивность
[11:23:37] <akastargazer> .lem
[11:23:41] <тихий бот> akastargazer, Земля учёные создают маленьких селенитов которые ведут себя дружелюбно, но их никто не понимает и являются радиоактивными и могут быть уничтожены атомной бомбой.
[11:23:49] <akastargazer> Как всегда
[11:29:55] <geniepro> кличко
[11:29:56] <тихий бот> Если мы проглотим так называемый Крым. И будем дальше гордо делать внимание, что ничего не происходит. Дальше могут быть дальнейшие действия и в отношении не только лишь Украины. Есть четкое понимание данного ситуация и у нас есть что было бы, мы об этом говорили, сегодняшняя ситуация, которая есть и нужно смотреть какой мы можем, что делать, какой выход из данной ситуации
[11:35:33] <geniepro> http://ic.pics.livejournal.com/evening_cowboy/54125275/881637/881637_original.jpg
[12:20:07] <Jordan> сделал по простому как умею, в процедурном стиле и с очередью сообщений
[12:21:34] <Jordan> Такой вопрос остался. Как обрабатывать getmessage? Там цикл сообщений которые передаются в wndproc я из wndprocа их кидаю в свою очередь.
[12:21:49] <Jordan> Но как правильно синхронизировать?
[12:22:28] <Jordan> клиентский код
[12:22:31] <Jordan> int main(void)
{
 app_init(0, 0, 640, 480, "Hello!");
 event_t event;

 while (true)
 {
 event_receive(event);
 if (event.type == EVENT_IS_MOUSE)
 {
   printf("%d %d\n", event.mouse.pos_x, event.mouse.pos_y);
 }

 }
 app_loop();
}
[12:22:55] <Jordan> void app_loop()
{
 MSG msg;

 while (GetMessage(&msg, NULL, 0, 0) > 0)
 {
   TranslateMessage(&msg);
   DispatchMessage(&msg);
   Sleep(1);
 }
}
[12:23:46] <Jordan> То есть нужно, что бы app_loop не мешал, получать сообщения из event_receive(event);
[12:52:33] <Jordan> сделал
[13:01:28] <Jordan> сделано конечно, через зад, и влево. Но работает!
[13:01:32] <Jordan> :-)
[13:43:01] <kpmy> иди в конференцию сиблядков
[14:05:26] <Jordan> Я не понимаю, о чём ты. Но я тебя не держу, можешь смело идти.
[14:05:58] <geniepro> так он же не сишник, что ему там делать? ему скоро придётся на конфу явщиков идти )
[14:06:51] <Jordan> Помни Пётр, если ты чувствуешь ко мне ненависть, ты всегда можешь поплакаться в подушку. А когда полегчает, приходи, пообщаемся на оберон темы.
[14:08:30] <Jordan> В С\С++ языках, самое уродское это подключение библиотек. Километры опций компилятора и т.д
[14:10:38] <Jordan> Сейчас встраиваю поддержку opengl, отрисовка будет аппаратная.
[14:11:04] <Jordan> На многооконность пока забил.
[14:18:33] <kpmy> geniepro: да, явисты нужны стране
[14:19:32] <geniepro> сишники тоже же
[14:19:34] <kpmy> Jordan: мне кажется ты какой-то слишком тупой, наверное специально сидишь там, идиота изображаешь.
[14:19:58] <kpmy> сишники все ушли писать на objС для гейфонов
[14:21:16] <kpmy> iMac  с ретиной - 145 тыщ рублей
[14:21:47] <Jordan> kpmy когда кажется, сам знаешь, что нужно делать.
[14:23:20] <Jordan> Я хз, что ты докапался.
[14:23:24] <geniepro> аппло нинужен!
[14:23:45] <Jordan> Или у тебя, такой характер, старой сварливой бабы.
[14:24:51] <Jordan> С такими ценами, за аппл, скоро будут машины закладывать
[14:25:14] <geniepro> ну, почки уже продают ))
[14:25:23] <Jordan> во во, процесс пошёл
[14:27:38] <kpmy> Jordan: не люблю тупых пиздоболов, всячески их унижаю в интернетах
[14:28:09] <kpmy> кличко
[14:28:12] <тихий бот> В Одесской области есть город, 50 километров — недалеко. Знаете, не в километрах расстояние измеряется. Два часа… 50 километров нужно ехать два часа
[14:29:54] <Jordan> kpmy Это ты, уже сам проанализируй по фрейду... Чего там тебе не хватает, или избыток чего то, что побуждает тебя на описанные выше тобой действия.
[14:41:31] <Jordan> http://www.opennet.ru/opennews/art.shtml?num=41109
[14:42:29] <Jordan> Эксперимент с использованием Linux на макетной плате с процессором Motorola 68000
[14:44:25] <geniepro> боян )
[14:55:14] <geniepro> кличко
[14:55:17] <тихий бот> Мы сможем дать горячую воду. Чтобы холодная вода превратилась в горячую, ее нужно подогреть. Понятно. Для этого нужен газ. Состояние с газом... Мы ждем когда нам дадут газ, газа нет
[14:56:16] <geniepro> кличко
[14:56:16] <тихий бот> Я должен признаться… Уже долгое время, много-много лет, я являюсь убежденным лесбияном
[14:56:30] <geniepro> кличко
[14:56:31] <тихий бот> Нужно, чтобы Украина вся встала. Всеобщий страйк. Мы должны организовать всеобщий страйк
[14:56:44] <geniepro> кличко
[14:56:44] <тихий бот> Если человек одел форму СС, то есть он окрасил себя в те цвета, в которые он окрасил себя
[14:56:49] <geniepro> кличко
[14:56:49] <тихий бот> В Одесской области есть город, 50 километров — недалеко. Знаете, не в километрах расстояние измеряется. Два часа… 50 километров нужно ехать два часа
[14:56:51] <geniepro> кличко
[14:56:53] <тихий бот> А сегодня в завтрашний день не все могут смотреть. Вернее смотреть могут не только лишь все, мало кто может это делать
[14:56:55] <geniepro> кличко
[14:56:57] <тихий бот> Я должен признаться… Уже долгое время, много-много лет, я являюсь убежденным лесбияном
[14:56:59] <geniepro> кличко
[14:57:03] <тихий бот> Мы сможем дать горячую воду. Чтобы холодная вода превратилась в горячую, ее нужно подогреть. Понятно. Для этого нужен газ. Состояние с газом... Мы ждем когда нам дадут газ, газа нет
[14:57:07] <geniepro> кличко
[14:57:07] <тихий бот> Нужно, чтобы Украина вся встала. Всеобщий страйк. Мы должны организовать всеобщий страйк
[14:57:09] <geniepro> кличко
[14:57:12] <тихий бот> В Одесской области есть город, 50 километров — недалеко. Знаете, не в километрах расстояние измеряется. Два часа… 50 километров нужно ехать два часа
[14:57:14] <geniepro> кличко
[14:57:18] <тихий бот> Я хочу обратить внимание, что я встречался с многими милиционерами, которые погибли, с людьми и демонстрантами, которые погибли, и все задают вопрос...
[14:57:37] <geniepro> кличко
[14:57:37] <тихий бот> Я должен признаться… Уже долгое время, много-много лет, я являюсь убежденным лесбияном
[14:57:39] <geniepro> кличко
[14:57:41] <тихий бот> Я хочу обратить внимание, что я встречался с многими милиционерами, которые погибли, с людьми и демонстрантами, которые погибли, и все задают вопрос...
[15:03:51] <geniepro> кличко
[15:03:51] <тихий бот> А сегодня в завтрашний день не все могут смотреть. Вернее смотреть могут не только лишь все, мало кто может это делать
[15:04:59] <geniepro> кличко
[15:04:59] <тихий бот> Я должен признаться… Уже долгое время, много-много лет, я являюсь убежденным лесбияном
[15:05:00] <geniepro> кличко
[15:05:02] <тихий бот> А сегодня в завтрашний день не все могут смотреть. Вернее смотреть могут не только лишь все, мало кто может это делать
[15:05:03] <geniepro> кличко
[15:05:12] <тихий бот> Если мы проглотим так называемый Крым. И будем дальше гордо делать внимание, что ничего не происходит. Дальше могут быть дальнейшие действия и в отношении не только лишь Украины. Есть четкое понимание данного ситуация и у нас есть что было бы, мы об этом говорили, сегодняшняя ситуация, которая есть и нужно смотреть какой мы можем, что делать, какой выход из данной ситуации
[15:05:30] <geniepro> плохо бот кидает кости
[15:06:45] <geniepro> .ad;клички;Каждого из киевлян я прошу с пониманием относиться к этой проблеме, и просил бы также всех киевлян точно также с особым составляющей обратиться к проблеме теплосбережения и подготовки к земле.:Если человек одел форму СС, то есть, четкое, он окрасил себя в те цвета, в которые он окрасил себя. И те люди, которые… Есть очень много по этому поводу точек зрения. Я четко придерживаюсь и четко понимаю, что те проявления, если вы уже так ребром ставите вопрос, что якобы мы:Хочу обратить внимание всех. Я встречался со многими милиционерами, которые погибли, с людьми и демонстрантами, которые погибли, и все задают вопрос…:Говорят, что нет бронежилетов, но это физическая защита. Самый главный бронежилет для каждого из вас, у кого есть — мать, жена, дети… Социальные стандарты — вот это бронежилет. Когда каждый знает\: не дай Бог что произойдёт с ним — его семья получит хорошую компенсацию и не будет нищенствовать, и государство будет заботиться о них, и у них есть нормальные стандарты жизни. Вот это бронежилет.:В детстве я мечтал стать футболистом. Но, как шутят мои друзья, у меня попытались отобрать мяч неспортивным способом … и так я стал боксёром.:Бокс — это моя жизнь, но моя жизнь это не только бокс.:Обидеть боксера может каждый, но каждый может успеть извиниться.:От Билла Клинтона?… Э-э… Будь проще и говори на понятном… на понятном языке люд.., людз.., на понятном языке… для людей языке. Потому что очень многие политики стараются говорить на такой фер… терминологии и так умно, что… там можно час слушать, а потом… э, спросить его, что ты понял из всего этого сказанного, и человек не может абсолютно ничего пересказать.:Чем старше человек, тем больше ему лет.:В Одесской области город, пятьдесят километров, недалеко... Пятьдесят километров... Знаете, не в километрах расстояние измеряется. Два часа! Пятьдесят километров нужно ехать два часа.:А сегодня в завтрашний день не все могут смотреть. Вернее, смотреть могут не только лишь все. Мало, кто может это делать.:Мы сможем дать горячую воду. Чтобы холодная вода превратилась в горячую, ее нужно подогреть. Понятно. Для этого нужен газ. Состояние с газом… Мы ждем когда нам дадут газ, газа нет.:Я должен признаться… Уже долгое время, много-много лет, я являюсь убежденным лесбияном.:Нужно, чтобы Украина вся встала. Всеобщий страйк. Мы должны организовать всеобщий страйк.:Если   сегодня   мы   сделаем   вид ,  что   ничего   не   происходит ,  если   мы   проглотим   так   называемый   Крым .  И   будем   дальше   гордо   делать   внимание ,  что   ничего   не   происходит .  Дальше   могут   быть   дальнейшие   действия   и   в   отношении  не  только   лишь   Украины .  Есть   четкое  понимание данного ситуация.  И . У  нас  есть,  что  было,  мы  об этом говорили. Сегодняшняя ситуация. Которая есть.  И  нужно смотреть, какой  мы   можем ...  что   делать ? Какой выход из данной ситуации. Проговаривал с представителями международных организаций. Я уверен,  что  необходима международная. Уверен,  что   Крым   мы  можем... аааа.... вернуть обратно через определенное промежуток времени. Когда авторитаризм российский больше не будет действовать.

[15:06:45] <тихий бот> geniepro, "клички" assigned
[15:07:06] <geniepro> .del;клички
[15:07:06] <тихий бот> geniepro, клички deleted
[15:07:52] <geniepro> .ad;кличко;Каждого из киевлян я прошу с пониманием относиться к этой проблеме, и просил бы также всех киевлян точно также с особым составляющей обратиться к проблеме теплосбережения и подготовки к земле.:Если человек одел форму СС, то есть, четкое, он окрасил себя в те цвета, в которые он окрасил себя. И те люди, которые… Есть очень много по этому поводу точек зрения. Я четко придерживаюсь и четко понимаю, что те проявления, если вы уже так ребром ставите вопрос, что якобы мы:Хочу обратить внимание всех. Я встречался со многими милиционерами, которые погибли, с людьми и демонстрантами, которые погибли, и все задают вопрос…:Говорят, что нет бронежилетов, но это физическая защита. Самый главный бронежилет для каждого из вас, у кого есть — мать, жена, дети… Социальные стандарты — вот это бронежилет. Когда каждый знает\: не дай Бог что произойдёт с ним — его семья получит хорошую компенсацию и не будет нищенствовать, и государство будет заботиться о них, и у них есть нормальные стандарты жизни. Вот это бронежилет.:В детстве я мечтал стать футболистом. Но, как шутят мои друзья, у меня попытались отобрать мяч неспортивным способом … и так я стал боксёром.:Бокс — это моя жизнь, но моя жизнь это не только бокс.:Обидеть боксера может каждый, но каждый может успеть извиниться.:От Билла Клинтона?… Э-э… Будь проще и говори на понятном… на понятном языке люд.., людз.., на понятном языке… для людей языке. Потому что очень многие политики стараются говорить на такой фер… терминологии и так умно, что… там можно час слушать, а потом… э, спросить его, что ты понял из всего этого сказанного, и человек не может абсолютно ничего пересказать.:Чем старше человек, тем больше ему лет.:В Одесской области город, пятьдесят километров, недалеко... Пятьдесят километров... Знаете, не в километрах расстояние измеряется. Два часа! Пятьдесят километров нужно ехать два часа.:А сегодня в завтрашний день не все могут смотреть. Вернее, смотреть могут не только лишь все. Мало, кто может это делать.:Мы сможем дать горячую воду. Чтобы холодная вода превратилась в горячую, ее нужно подогреть. Понятно. Для этого нужен газ. Состояние с газом… Мы ждем когда нам дадут газ, газа нет.:Я должен признаться… Уже долгое время, много-много лет, я являюсь убежденным лесбияном.:Нужно, чтобы Украина вся встала. Всеобщий страйк. Мы должны организовать всеобщий страйк.:Если   сегодня   мы   сделаем   вид ,  что   ничего   не   происходит ,  если   мы   проглотим   так   называемый   Крым .  И   будем   дальше   гордо   делать   внимание ,  что   ничего   не   происходит .  Дальше   могут   быть   дальнейшие   действия   и   в   отношении  не  только   лишь   Украины .  Есть   четкое  понимание данного ситуация.  И . У  нас  есть,  что  было,  мы  об этом говорили. Сегодняшняя ситуация. Которая есть.  И  нужно смотреть, какой  мы   можем ...  что   делать ? Какой выход из данной ситуации. Проговаривал с представителями международных организаций. Я уверен,  что  необходима международная. Уверен,  что   Крым   мы  можем... аааа.... вернуть обратно через определенное промежуток времени. Когда авторитаризм российский больше не будет действовать.
[15:07:53] <тихий бот> geniepro, "кличко" assigned
[15:08:08] <geniepro> test
[15:08:08] <тихий бот> geniepro, тоже пассед
[15:08:08] <Жаба> geniepro, passed
[15:08:13] <geniepro> кличко
[15:08:14] <тихий бот> Я должен признаться… Уже долгое время, много-много лет, я являюсь убежденным лесбияном.
[15:08:18] <geniepro> кличко
[15:08:20] <тихий бот> Мы сможем дать горячую воду. Чтобы холодная вода превратилась в горячую, ее нужно подогреть. Понятно. Для этого нужен газ. Состояние с газом… Мы ждем когда нам дадут газ, газа нет.
[15:08:23] <geniepro> кличко
[15:08:27] <тихий бот> Если человек одел форму СС, то есть, четкое, он окрасил себя в те цвета, в которые он окрасил себя. И те люди, которые… Есть очень много по этому поводу точек зрения. Я четко придерживаюсь и четко понимаю, что те проявления, если вы уже так ребром ставите вопрос, что якобы мы
[15:08:57] <geniepro> .ad;нужен?;не, нинужен!
[15:08:57] <тихий бот> geniepro, "нужен?" assigned
[15:09:05] <geniepro> нужен?
[15:09:05] <тихий бот> не, нинужен!
[15:32:19] <kpmy> http://en.wikipedia.org/wiki/List_of_programming_languages_by_type#Curly-bracket_languages курли брэкетс, вот
[15:32:21] <kpmy> дерьмо ссанина
[15:33:38] <geniepro> kpmy: и на этом дерьме тебе придётся теперь работать? жалько тебя чуток ))))
[15:35:50] <geniepro> хаскель с питоном отсутствуют в этом списке о_О
[15:36:48] <geniepro> Educational languages
Languages developed primarily for the purpose of teaching and learning of programming.
Modula-2
Pascal

[15:44:55] <Kemet> задолбали с этим кличко
[15:51:05] <kpmy> речь
[15:51:07] <тихий бот> Товарищи, дальнейшее развитие различных форм деятельности требуют от нас анализа направлений прогрессивного развития
[15:51:23] <geniepro> http://l4os.ru/ -- вот, гут!
[15:51:34] <geniepro> стехи
[15:51:35] <тихий бот> Стехи!
Какое нужное мгновенье
На кладбище дают пизды
Как у ворушников виденье
Как ахтунг грязной мерзлоты
[15:51:49] <kpmy> вот именно
[15:52:02] <geniepro> кличко
[15:52:03] <тихий бот> Мы сможем дать горячую воду. Чтобы холодная вода превратилась в горячую, ее нужно подогреть. Понятно. Для этого нужен газ. Состояние с газом… Мы ждем когда нам дадут газ, газа нет.
[15:52:36] <geniepro> интересно, как они там, в Киеве? у нас и то уже -6 ночью было
[15:53:25] <kpmy> С, юникс - говноеды ебаные опять
[15:54:45] <kpmy> на удивление теплые зимы в этом и в том году
[15:55:04] <kpmy> в москве-ярославле еще даже снега нет на земле
[15:55:16] <kpmy> и довольно тепло
[16:05:22] <Kemet> у нас под -30
[16:05:38] <Kemet> сибирь таки
[16:09:59] <Kemet> L4Ka::Pistachio - чего в нем русского
[16:10:31] <Kemet> и почему пистачио а не фиаско )
[16:11:38] <geniepro> ну какие-то русаки делают, а ещё они делают самодельный процессор Эверест, с хардверной реализацией микроядра L4
[16:13:26] <Kemet> к тому же проприетарщина
[16:15:00] <Kemet> невзлетитже
[16:33:31] <kpmy> да ваще странно, есть куча ядер на opencores, а они свое придумали
[16:33:40] <geniepro> https://github.com/seL4/seL4/tree/master/haskell/src/SEL4 верифицированная операционка на хацкеле
[16:51:37] <Kemet> kpmy: это нее их ядро
[16:52:57] <geniepro> Kemet: ядро процессора-то они сами пилят
[16:52:57] <Kemet> kpmy: https://ru.wikipedia.org/wiki/L4_%28%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D1%8F%D0%B4%D1%80%D0%BE%29
[16:59:01] <Kemet> http://l4hq.org/
[16:59:42] <geniepro> усё! все по домам!!!
[17:04:34] <s6> Kemet, Over One Billion L4-based Phones
(Posted by Gernot, 4 Nov 2010)
Open Kernel Labs announced that OKL4 has now shipped in more than a billion devices. This makes L4 one of the most widely-deployed OS kernel ever.
[17:09:35] <Kemet> s6: хде они
[17:09:58] <s6> hehe
[17:13:55] <s6> Kemet,

"Mobile phone manufacturers including HTC, Motorola, Palm, and Toshiba include Open Kernel Labs OKL4 in their Android, Linux and Symbian devices" http://www.ok-labs.com/releases/release/open-kernel-labs-okl4-now-deployed-in-more-than-one-billion-devices
[17:19:21] <s6> чёж это за зверушка такая
[17:20:06] <Kemet> северный лис, однако
[17:26:44] <kpmy> кличко
[17:26:47] <тихий бот> Я должен признаться… Уже долгое время, много-много лет, я являюсь убежденным лесбияном.
[17:36:45] <s6> Kemet, видимо этот OKL4 делает из одного ядра проца два -

http://www.ok-labs.com/_assets/image_library/diagram-mobile-virtualization.png
подробнее тут http://www.ok-labs.com/products/okl4-microvisor
[17:37:54] <s6> "With OKL4, a single CPU easily supports a Linux environment with a rich graphical user interface (GUI), and concurrently runs modem software with real-time processing needs. All on a single ARM9 processor."
[17:38:08] <s6> там же
[17:48:56] <s6> OKL4 is written in C
[17:49:02] <s6> там же
[17:51:28] <s6> там же рассказано

"IT management can meet corporate security policy requirements by using the OKL4 Microvisor to provide separate environments on employee mobile phones - one for personal data and applications, and a second environment for data and applications used for work. Through sharing and leveraging employee handsets, IT costs decline, and user satisfaction increases by letting users choose a bring your own device (BYOD) option. Mobile phone users have come to expect this level of customization, all without exposing corporate applications and data to unacceptable risks or costs."
[18:03:24] <s6> Kemet, надо А2 на него спортировать =))))))))))))
[18:03:29] <s6> на L4
[18:03:47] <s6> чисто от нехера делать
[18:07:45] <Kemet> s6: кому нехера делать?
[18:07:52] <s6> мне
[18:08:18] <Kemet> лучше опенджиэл на активоберон спортируй
[18:08:35] <Kemet> я гдето глут почти весь переписал
[18:10:12] <Kemet> а лучше докинг запилить
[18:29:08] <s6> Kemet, а денежки платют или нет?
[18:32:20] <Kemet> s6: джустфорфан
[18:32:36] <Kemet> s6: делать же все равно нечего
[18:32:38] <Kemet> )
[18:32:41] <s6> угу
[18:33:15] <Kemet> а так польза для моска и от менстрима подальше - красота
[18:33:19] <s6> не доверяю я ентой виртовой команде...
[18:33:27] <s6> меня мейнстрим не пужает
[18:33:53] <Kemet> он никого не пужает но иногда достает до печеек
[18:35:40] <Kemet> или портировать Four Dimensional Dreams с ОберонСистем на А2, а то его в А2 из под Оберона не шибко интересно запускать, а штука интепресная
[18:45:43] <s6> Kemet, это графика какая-то? 4D dreams
[18:53:46] <Kemet> s6: угу
[18:54:38] <Kemet> Th i s  re p o rt  i s  th e  re s u lt  of  fo u r  m o nth s  of  wo rk  i n  th e  fi e l d  of  a n i m ate d  co m p ute r  gra p h i cs .  It  cove rs  to p i cs  fro m  co o rd i n ate
tra nsfo rm atio n
,  
s p a ce−ti m e  p o s iti o n i ng  ( keyfra m i ng  i n  p a rti c u l a r)  u p  to  v i s u a l izati o n .  I n  p a rti c u l a r,  a n  e l ega nt  a n d  p owe rfu l
s pace−ti m e  pos itio n i ng  a lgo rith m  is  deve lo ped  o n  the  base  of  m od u les  p rovid i ng  co m p lete  i nde pe nde nce  fro m  a ny  ki nd  of
coo rd i nate  tra nsfo rm atio n  is  deve lo ped .
As  a  co n c rete  i m p l e m e ntati o n ,  th e  N ative  O b e ro n  syste m  i s  exte n d e d  with  a n  e d ito r  th at  a l l ows  th e  v i s u a l  co m p o s iti o n  of
dyn a m i c  s ce n e s .  O O  te c h n i q u e s  ( U M L)  a re  u s e d  fo r  s p e c ifi cati o n  a n d  i m p l e m e ntati o n .  Th e  re s u lt  i s  a n  exte n s i b l e  syste m
b a s e d  o n  th e  co n ce pt  of  ti m e−va ri ate  va ri a b l e s ,  a d d iti o n a l ly  p rov i d i ng  a  s ce n e  d e s c ri pti o n  l a ngu age
[19:07:30] <Kemet> s6: http://www.nativesystems.inf.ethz.ch/WebHomePartners
[19:11:46] <s6> спать хочу. чтото устал
[19:35:08] <Kemet> хехе http://en.wikipedia.org/wiki/Data_General_AOS
[19:42:18] <akastargazer> Старина
[20:34:48] <Jordan> Ребята отжигают http://www.youtube.com/watch?v=rJgg00ic1G8
[20:54:08] <Kemet> хехе Scheme  на Обероне ) функциональщина )
[20:59:11] <akastargazer> Это где?
[21:07:05] <Kemet> akastargazer: в сырцах А2 но она для оберонсистем
[21:07:52] <Kemet> надо на актив переписать, лиспа тоже нужная штука
[21:07:57] <akastargazer> Чего только в А2 не зарыто
[21:08:39] <Kemet> а тож, а чего заныкано - это вообще н в сказке сказа ь ... ьтока хер нам это получить
[21:09:21] <akastargazer> Ну они дальше активных объектов всё равно не продвинулись?
[21:09:40] <Kemet> эээ, куда дальше
[21:10:15] <akastargazer> И куда же?
[21:10:32] <Kemet> не, это я спросил )
[21:10:40] <akastargazer> А )
[21:11:57] <Kemet> так куда они не продвинулисьт дальше активных объектов?
[21:13:15] <_valexey_> Нинужен!
[21:14:04] <akastargazer> Так мне же тоже интересно.
[21:14:05] <Kemet> _valexey_: хто
[21:14:45] <Kemet> akastargazer: ну я хз, я не гуткнехт )
[21:15:52] <_valexey_> Kemet: этот мир!
[21:16:32] <Kemet> _valexey_: взорви его, перепиши LibreOffice на АктивОбероне!
[21:16:54] <_valexey_> Под ms-dos!!1
[21:17:37] <Kemet> akastargazer: в А2 есть подсистема реального времени, дето есть medical aos kernel
[21:17:48] <akastargazer> А лицензируется оно как?
[21:17:58] <Kemet> иыв
[21:18:00] <_valexey_> Вон Мартин др сих пор досом со стар офисом 4 пользуется. И ничего :-)
[21:18:02] <Kemet> bsd
[21:18:45] <_valexey_> Не то что мейнстримщик Вирт!
[21:18:51] <akastargazer> Надо робота сделать на А2, вот чо. Это привлечёт народ. Вона, в фильме Интерстеллар классные роботы, например. Хороший challenge, гы
[21:19:21] <Kemet> akastargazer: jyj e;t cltkfyj ) z ghjcnj yt cvju ghbt[fnm d vjcdre
[21:19:35] <akastargazer> Я хотел сначала сервак майнкрафта на А2 написать, да как мелкософт купили их, так и передумал насовсем
[21:19:42] <Kemet> akastargazer: оно уже сделано, я просто не смог приехать в моску
[21:20:03] <_valexey_> Напиши бота для танков :-)
[21:20:06] <akastargazer> Так у тебя промышленный робот какой-нить, рука из стола?
[21:20:31] <akastargazer> Нинапишу
[21:21:03] <_valexey_> Играющего за арту :-)
[21:22:34] <akastargazer> Кемет, а фотки есь? Видео?
[21:26:31] <Kemet> akastargazer: ну тот что я хотел привезти - просто ползал, тыкал пальчики в шурупики, распознавал цветные шарики и раскладывал их в нужные коробочки
[21:27:25] <Kemet> но туда можно было модули грузить
[21:30:55] <Kemet> akastargazer: сервак майнкрафта нужное дело - у меня племяш живет в москау, у него дома стоит 4 сервака игровых и он в месяц за нехрен делать поднимает 30 тыров на этом
[21:31:48] <Kemet> неплохая добавка к пенсии (с) МММ
[21:32:54] <Kemet> _valexey_: хто такой Мартин
[21:34:13] <alexey.veselovsky> https://ru.wikipedia.org/wiki/Мартин,_Джордж_Рэймонд_Ричард
[21:34:36] <alexey.veselovsky> писатель. неплохой :-)
[21:38:12] <alexey.veselovsky> 5. Martin still uses a DOS computer.
Martin actually has two computers. One is connected to the internet for surfing the web, checking emails, and filing taxes. The other machine is his writing computer, which still uses DOS, a PC operating system which has been obsolete since the new millennium. He also mentioned in passing that he uses Word Star 4.0 to type his manuscripts. "Did you make this computer out of wood?" Conan asked. "I don't want any help," Martin said. "I hate some of these modern systems where you type a lower-case letter and you get a capital... I hate spell check." The other thing about his DOS machine -- it's not connected to the internet, which means it's virus- and hacker-free.
[21:38:17] <Kemet> alexey.veselovsky: у тебя открывается http://www.wedgelet.de/
[21:38:41] <alexey.veselovsky> 404 - Die Seite konnte nicht gefunden werden.
[21:38:57] <alexey.veselovsky> но http://www.helmholtz-muenchen.de открывается
[21:39:49] <alexey.veselovsky> с  http://www.wedgelet.de/ стоит редирект на http://www.helmholtz-muenchen.de/en/ibb/homepage/laurent.demaret/wedgelet/ где уже 404 (ибо не существует такой страницы)
[21:41:03] <alexey.veselovsky> https://web.archive.org/web/20060717040515/http://www.antsinfields.de/wedgelet/
[21:50:09] <akastargazer> Kemet, а видео засними, робота позырить? Страшно интересно
[21:51:03] <akastargazer> А сервак майнкрафта, да, родной серв тяжеловат, память жрёт как не в себя, тормозит. Отсюда малое количество людей на серваках, для комфортной игры
[21:51:37] <alexey.veselovsky> да, надо на С++ переписать. чтобы летало :-)
[21:51:47] <alexey.veselovsky> хотя.. переписали же :-) по крайней мере клонов - море
[21:51:53] <akastargazer> Уже переписывали, на хабре несколько заметок есть
[21:52:22] <alexey.veselovsky> был майнкрафт стал майнкампф!
[21:52:35] <akastargazer> Там же проблема, моджанги постоянно развивали свой серв, добавляли новые фичи - а напишешь свой, заколебёшься в кильватере болтаться
[21:52:49] <akastargazer> Щас-то да, майнкампф
[21:52:53] <alexey.veselovsky> так у клонов всегда
[21:53:14] <akastargazer> Это если автоматически зеркалировать фичи, то да
[21:53:16] <alexey.veselovsky> клон обычно имеет смысл если мейнстрим загнулся
[21:53:43] <akastargazer> Ща мелкософт напишет новый сервак, на миллион юзеров
[21:53:45] <alexey.veselovsky> либо если сразу с прицелом ползти в свою сторону, но это уже не клон, это уже разработка по мотивам. плагиат в некотором роде
[21:54:03] <akastargazer> И будет рубить руки за клонописательство
[21:54:18] <alexey.veselovsky> и не только руки :-)
[21:54:24] <akastargazer> Да-да, и всё остальное
[21:54:49] <akastargazer> Не, сама идея майнкрафта крутая. Нотч молодец, тонко взял
[21:55:06] <akastargazer> Тонко взял грубыми пикселами
[21:57:13] <alexey.veselovsky> вокселями тогда уж :-)
[21:59:33] <akastargazer> думаешь, можно это назвать вокселями?
[22:00:02] <alexey.veselovsky> в какой-то степени наверно
[22:23:42] <akastargazer> Нет, всё-таки робот из Интерстеллара ходить не сможет.
[22:24:09] <akastargazer> По-крайней мере так, как в кино показали
[22:27:54] <s6> Да вы всё тупите тут
[22:28:09] <alexey.veselovsky> Ыыыыы
[22:28:34] <alexey.veselovsky> тупая жаба
[22:28:38] <alexey.veselovsky> тупой матлаб
[22:28:44] <alexey.veselovsky> вылетает с исключением
[22:29:10] <s6> матлаб чё на жабе писан?
[22:29:12] <akastargazer> Исключительно
[22:29:31] <alexey.veselovsky> не, не исключительно
[22:29:37] <alexey.veselovsky> гуйня и пускалка - на жабе
[22:29:44] <alexey.veselovsky> алгоритмы на С++ :-)
[22:32:45] <Kemet> и че тебе от матлаба надо, он же не виноват, что его таким сделали, это всё программеры, сишнеги вернее плюсники приплюснутые
[22:35:28] <Kemet> а вот если бы ты пейсал на обекроне, то было бы тебе щасте
[22:55:31] <alexey.veselovsky> Obecron :-)
[22:55:45] <alexey.veselovsky> мне от матлаба нужны его алгоритмы :-)
[22:55:53] <alexey.veselovsky> для аналлизирования данных
[23:22:43] <alexey.veselovsky> YES! Установил таки и даже сумел запустить (оно еще и запускаться после установки не хотело)
[23:30:47] <Kemet> а Вирт то не спит! http://www.inf.ethz.ch/personal/wirth/Lola/index.html
[23:37:27] <Kemet> и выложл свой picl http://www.inf.ethz.ch/personal/wirth/PICL/index.html
[23:40:36] <alexey.veselovsky> о! это круто!
[23:40:40] <alexey.veselovsky> реально круто!
[23:40:44] <alexey.veselovsky> а во что оно компиляет?
[23:40:49] <alexey.veselovsky> /me про лолу
[23:41:01] <alexey.veselovsky> а, в верилог
[23:41:13] <alexey.veselovsky> это уже не особо круто конечно :-)
[23:41:27] <alexey.veselovsky> ибо один фиг необходимость в мейнстрим-компе остается
[23:43:39] <Jordan> читал форум по колибри ос, это какой же должен быть фан, что бы писать на асме
[23:43:49] <alexey.veselovsky> мощный
[23:43:54] <alexey.veselovsky> правда не портабельный :-)
[23:50:19] <Kemet> alexey.veselovsky: ну бем ждать лолу-3 )
[23:50:30] <alexey.veselovsky> Лолиту :-)
[23:50:31] <Kemet> будем
[23:50:43] <alexey.veselovsky> поджидать
[23:50:53] <Jordan> есть даже парсер xml на асме, не просто поделка, рабочая либа
[23:51:06] <alexey.veselovsky> а что в этом такого?
[23:51:44] <Jordan> ничего делюсь, информацией
[23:53:35] <Kemet> Jordan: там не все с нуля на асме писано, часть проектов это просто оптимизация асмового вывода с цэ, а сейчас вообще весь репозиторий сишныим крдом забит, асма там все меньше и меньше
[23:54:23] <Jordan> оно и правильно
[23:54:39] <Kemet> потому что на асме за поездом не успеешь, останешься на перроне
[23:54:57] <Jordan> всё же есть, шанс, что одумаются, и бросят асм
[23:55:27] <Kemet> ну ядро полюбому на асме будет
[23:55:39] <alexey.veselovsky> а смысл его бросать?
[23:55:52] <alexey.veselovsky> проект - хоббийный, так что, почему бы и нет?
[23:55:56] <alexey.veselovsky> куда спешить то?
[23:56:17] <Kemet> хе, ну они коммерцией занимаются
[23:56:24] <alexey.veselovsky> какой?
[23:56:40] <Kemet> ътипа терминалы ставят, естиь проект эмбеддед
[23:56:50] <Kemet> понятно
[23:56:59] <alexey.veselovsky> ну, тогда местами да, придется сишечку юзать
[23:57:05] <alexey.veselovsky> ну хоть не Оберон, и то радует :-)
[23:57:25] <Jordan> А разве в терминалы не урезанный линукс + 100500 прог?
[23:57:35] <alexey.veselovsky> от терминала зависит
[23:57:42] <Kemet> понятно,  что это ойтишники-школьнеги продавливают на мелких ларьках )
[23:57:45] <alexey.veselovsky> иногда там вообще виндец :-)
[23:57:49] <Jordan> Почему не оберон?
[23:58:02] <Kemet> не, там терминалы просто RDP
[23:58:11] <kpmý> лола королева рокнролла
[23:58:15] <alexey.veselovsky> ну, оберон же переусложнен в плане рантайма - ему какой-то там мусорщик нужен который хз как работает
[23:59:18] <Jordan> будут ли там такие нагрузки на память, из за которых гц ляжет.
[23:59:21] <Kemet> да норм он работает на терминалах никто этого непочует
[23:59:55] <alexey.veselovsky> зависит от объемов памяти на терминале :-) если где-то нужен реалтайм, или где-то ресурсы в дефиците, оберон идет впечь