Школоло / Говнокод #23863 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
var
 DPen: TGPPen;
 Drawer: TGPGraphics;
 DBrush: TGPSolidBrush;
 DFntFam: TGPFontFamily;
 DPath: TGPGraphicsPath;
 IC,BC:Integer;
 ICL, BCL:TGPColor;
 W:WideString;
 si:TGPRectF;
 rt:TGPRectF;
 GP:TGPPoint;
begin
  W:=FWaterMark.Text;
  IC:=ColortoRGB(FWaterMark.Font.Color);
  BC:=ColorToRGB(FWaterMark.CircuitColor);
  ICl:=MakeColor(GetRValue(IC), GetGValue(IC), GetBValue(IC));
  BCL:=MakeColor(GetRValue(BC), GetGValue(BC), GetBValue(BC));
  Drawer:=TGPGraphics.Create(FBitMap.Canvas.Handle);
  Drawer.SetCompositingQuality(CompositingQualityHighQuality);
  Drawer.SetSmoothingMode(SmoothingModeAntiAlias);
  Drawer.SetTextRenderingHint(TextRenderingHintAntiAlias);
  DPath:=TGPGraphicsPath.Create;
  DPen:=TGPPen.Create(BCL, FWaterMark.FCircuitWidth);
  DBrush:=TGPSolidBrush.Create(ICL);
  DFntFam:=TGPFontFamily.Create(FWaterMark.Font.Name);

  RT.X:=0;
  RT.Y:=0;
  RT.Width:=FBitMap.Width;
  RT.Height:=FBitMap.Height;
  
  DPath.AddString(W, Length(W), DFntFam, FontStyleBold, FWaterMark.Font.Size, GP, TGPStringFormat.Create()); 
  DPath.GetBounds(RT, nil, DPen);
  DPath.Reset; 

//В общем, хз, как узнать ширину и высоту нарисованного.
//MeasureString/MeasureCharacterRanges не подходят,а в доке такая муть, что я чуть не спился.

Нежнейший аромат...

Запостил: Exception Exception, (Updated )

Комментарии (272) RSS

    • Это не лаба вовсе. Это код из моего компонента для снятия скриншотов. Данный отрывок рисует водяной знак.
      Ответить
  • > в доке такая муть, что я чуть не спился
    Слабак.
    Ответить
    • @@Слабак.
      Знаеш ли ты, что если между вызовами методов GDI+ вставить MessageBox, будет самый настоящий UB? А где в доке это написанно?
      Ответить
      • ну-ка
        расскажи ка по подробнее, да с примером

        мне почему-то кажется что ты подпёздываешь
        Ответить
        • Скопируй код выше и вставь между вызовом любого метода MessageBox.
          Текст либо не нарисуется либо будет AccessViolation.
          Ответить
          • Мне кажется что UB тут не причем.

            UB это когда написанный тобою код копелятор может превратить в любой машинный, а AccessViolation это значит ты попытался обратиться к памяти, к которой у тебя нету доступа (страница закрыта от чтения, недоступна в userspace или вовсе отсутствует в таблице страниц).

            Откуда он у тебя летит, из какой функции API? Хотя бы при вызове messagebox или при вызове gdi?
            Ответить
          • #include <windows.h>
            #include <stdio.h>
            
            LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
            void GDITest(HWND hwnd);
            
            int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                                PWSTR lpCmdLine, int nCmdShow)
            {
            	MSG msg;
            	WNDCLASSW wc = {0};
            
            	wc.lpszClassName = L"GdiTest";
            	wc.hInstance = hInstance;
            	wc.hbrBackground = GetSysColorBrush(COLOR_3DFACE);
            	wc.lpfnWndProc = WndProc;
            
            	RegisterClassW(&wc);
            	CreateWindowW(wc.lpszClassName, L"GdiTest",
            		WS_OVERLAPPEDWINDOW | WS_VISIBLE,
            		100, 100, 300, 250, NULL, NULL, hInstance, NULL);
            
            	while (GetMessage(&msg, NULL, 0, 0))
            	{
            		TranslateMessage(&msg);
            		DispatchMessage(&msg);
            	}
            
            	return (int)msg.wParam;
            }
            
            LRESULT CALLBACK WndProc(HWND hwnd, UINT msg,
                                     WPARAM wParam, LPARAM lParam)
            {
            	switch (msg)
            	{
            	case WM_PAINT:
            		GDITest(hwnd);
            		break;
            	}
            
            	return DefWindowProcW(hwnd, msg, wParam, lParam);
            }
            
            // Эта функция вызовется при каждой перерисовке
            void GDITest(HWND hwnd)
            {
            	PAINTSTRUCT ps;
            	RECT r;
            
            	GetClientRect(hwnd, &r);
            
            
            	const HDC hdc = BeginPaint(hwnd, &ps);
            
            
            	const CHAR* lpch_text = L"Наврал же";
            	// ВОт тебе message box
            	MessageBoxW(hwnd, L"точно наврал", L"petuh", 0);
            
            	// Это не GDI разве?!
            	DrawTextW(hdc, lpch_text, wcslen(lpch_text), &r, DT_BOTTOM);
            	EndPaint(hwnd, &ps);
            }
            Ответить
              • лол, ты хочешь сказать что это проблема именно gdi+?

                Окей, может быть и так, но всё таки это во-первых не UB, во-вторых ты так и не сказал откуда у тебя летит access violation
                http://govnokod.ru/23863#comment407653
                Ответить
                • Окей, причиной вылета может быть кривой хидер, где декларируются методы из либы, его писал не я. Но почему тогда не рисует?
                  Ответить
                  • У меня нету дельфей, я их лет 15 уже не видел. А без MessageBox рисует и всё работает нормально?
                    Ответить
                    • Какая-то чертовщина творится. Только что накидал код - всё работает.
                      Очень странно. Но когда код вызывается внтутри компонента - не рисует. Я всё тщательно проверю, тогда и отпишу.
                      Ответить
                    • Вот полный код компонента, за исключением формы. Код пока сырой, это эскиз. Можешь сказать, в чём именно лажа?
                      Ответить
                      • Я не вижу кода:)

                        Вообще когда летит AccessViolation запускается дебаггер, и ты можешь посмотреть на стек вызовов, найти первую документированную функцию API (к которй есть pdb символы) и посмотреть что ей передается, и _иногда_ можно понять что не так.
                        Ответить
                          • Ох, это же надо дельфи ставить чтоб срепродьюсить)

                            Я правильно понимаю что она у тебя вызыается из Make, а Make по WM_HOTKEY, а никакого WM_HOTKEY не зарегистрированно потому что коммент?
                            //RegisterHotKey(FFrm.Handle, 0, MOD_CONTROL, VK_SNAPSHOT);

                            И еще: я верно понял что ты пытаешься рисовать на FBitMap.Canvas, то-есть собираешь path, рисуешь на своем BitMap, и потом ImgView.Picture.Assign(FBitMap)? До туда код-то нормально доходит, ты дебажил?

                            Exception-то откуда летит? из messagebox(0,'','',0);? Или не рисует?

                            В общем если завтра будет не лениво, я может даже попробую поставить эту вашу дельфю и собрать:)
                            и да: логироваться с помощью messagebox -- оцтой
                            Ответить
                            • Make можно и кнопкой вызвать. Всё работает отлично, если не вставлять MessageBox.

                              @В общем если завтра будет не лениво, я может даже попробую поставить эту вашу дельфю и собрать:)

                              Если надумаешь, то вот полный код компонента с хидерами: http://rgho.st/7njDGkQrc
                              Делфи брать вот отсюда: http://yadelphi.ru/load/2-1-0-101
                              Ответить
                            • Неспасибо за непомощь. Вот за это я тебя и недолюбливаю, пообещаешь, а потом - молчок.
                              Ответить
                  • > кривой хидер
                    Хех, помню в той же 7 делфи была кривая декларация функции для рисования полигона... Я тогда ещё долго тупил, почему же рисуется какая-то херня.
                    Ответить
                    • Вот потому то под винду лучше писать на родных MS технологиях: там, хотя бы, хедеры в SDK чаще всего нормальные:)
                      Ответить
                      • Как ты думаешь, где взять родные хидеры к API на Delphi? Дедушка Гейтс напишет? Может, парни с Майкрософта? Хуй там.
                        Обычно их пишут сами делфисты, это чревато ошибками. Ещё есть проект JEDI API, в рамках которого было решено задекларировать все известные Win API для делфи.
                        Ответить
                        • @на родных MS технологиях
                          Сорри, поздно заметил. На родных- это на сишарпе что ли, с его кривой документацией? Да и в компиляторе-самом немало багов.
                          Ответить
                          • У сишарпа отличная документация, официальная поддержка от MS, и огромное коммунити. Специально для тебя есть PascalABC.NET: там, хотя бы (хочется думать), нет хедеров (потому что в .net они не нужны).

                            Кроме того есть сишечка.
                            Ответить
                    • Там нет многих "вкусняшек" и заголовков, но я сторонник аскетичности, к тому же Delphi 7 - abandonedware.
                      Но в последнее время что-то уж много разочарований.
                      Наверно, я я уже вырос из нее, и это печально.
                      Ответить
  • > Нежнейший аромат
    > Exception
    > Pascal
    Доктор С. вернулся?
    Ответить
    • Давай, давай, а ну, давай,
      Меня шмонай ты, вертухай,
      Да загляни под юбочку,
      Да посмотри на булочки.
      Понюхай попку носиком,
      Прикинься, киса, пёсиком,
      Вот в этом вся и разница,
      Кто хочет, а кто дразнится.

      ©Любимая группа мамки админа
      Ответить
      • 7 плюсов у твоего коммента.
        7 минусов у остальных.
        Неужели ты НАСТОЛЬКО ущербный клоун?
        Ответить
        • Ему просто очень важно чтобы его высоко оценивали, иначе он чувствует себя ненужным и плачет ночи на пролёт
          Ответить
  • Кругом дым - а вони нет? Кто тёр лампу, а ну признавайтесь!
    Ответить
              • Борманд - дурак. Ворвавд - вував. Ворвавд - вував. Фдо? Твав выство? Вазвивифе вве вот!
                NGK. Заткнётся всё.
                Ответить
              • А чо коменты желтеньким начали отображаться?
                Ответить
                      • Слушай, а может поставить комментам просто width и не зависеть от ширины окна, и хуй с ним с горизонтальным скроллом, будешь ползать по треду в 2d, с телефона ещё удобнее. Так бы вообще всех зайцев убило, и наглядно и бесконечная глубина вложенности, ничего не едет. Всё равно в половине постов из-за какой-нибудь ссылки или <pre> версту пидорасит и горизонтальный скролл есть.

                        Линейный список как на бордах — не мой любимый формат ((
                        Ответить
                        • А я вот наоборот ненавижу эти деревья. Ни на одном сайте с древесной хуйнёй не нашли красивого решения для большой вложенности. Да и последние комменты рассеиваются по всему треду, разве что хоткеем по ним прыгать.

                          Древовидная структура создана для сценария "почитал и забыл" а не "общаемся неделю в одном треде".
                          Ответить
                          • А решается очень просто: кликаешь на соощение и говоришь "построить дерево отсюда".
                            Сообщение становится корнем, ну и конечно каждую веточку можно прятать.

                            У RSDN хорошо дерево получилось, проверь
                            Ответить
                          • >> ползать по треду в 2d
                            > разве что хоткеем по ним прыгать.
                            Прыгаю хоткеями как вимовец-пердолик, это удобно, как оказывается.
                            Ответить
                        • З.Ы. Ну и как я писал в старом треде - я это зеркало падсибя пилил. Поэтому сделаю как лично мне удобней. Кому не нравится - пусть юзерскрипт пилит.

                          З.З.Ы. Если надо CORS хедеры - добавлю без проблем.
                          Ответить
                          • Юзерскрипт куда? Я там с телефона лажу.
                            Кстати, можно просто альтернативный фронт запилить
                            Ответить
                            • Ок, завтра вечером добавлю. Сегодня уже подушка не отпустит к компу.

                              Если каких-то полей в ответах не хватает - пиши, добавим.
                              Ответить
                          • Можно для хороших людей запилить пользовательские страницы, где будет всё то же самое, что и на главной, только в инклюдах стили и скрипты берутся из =()=определённого места.

                            Суть такова:
                            1. Борманд один раз хорошо размечает HTML (классы, вложенность и т.п.)
                            2. Борманд создаёт такую же страничку, только без стилей и скриптов (/dev?)
                            3. Пользователь смотрит DOM и пишет себе скрипты и стили (отладка на юзерскриптах и т.п.)
                            4. Пользователь вымаливает Борманда создать /user/%name% и прописать туда указанный путь к скрипту/стилю, либо даже загрузить эти два файла на NGK
                            Можно тупо при открытии /user/%name% грузить во вкладку rawgit.ololo/%name%/ngkstyle/custom.{css,js}, тогда всё можно сделать один раз, а пользователей отправить нагитхаб.
                            Ответить
                            • > борманд создаёт
                              > борманд размечает
                              Да ебал я ещё и тюнинг поддерживать. Закиньте скрипты и цсс куда-нибудь на свой хостинг и вперёд.
                              Ответить
                              • Ну, разметить как положено - это дело чести. Это только рекламщики впихивают divы с рандомными id, class.
                                Ответить
                                • Зачем мне что-то размечать, если есть API? Не нравится разметка - запилишь новую. Не нравится - ангуляр - возьмёшь что-то ещё. Не нравится дефолтная аватарка - да хоть готсе всем ставь. Полная свобода, как бы. API я постараюсь не ломать. CORS хедеры будут.
                                  Ответить
                                • Тут Игорь Аналотольевич интересуется, не болит ли Ваша папка после вчерашнего? Спасибо.
                                  Ответить
                            • Жалко на вас смотреть, ребята. А всё потому что админ В ХУЙ НЕ ДУЕТ. Нет чтобы поддержать всё на уровне сайта (который типа опенсорс), так нет - заставляет людей ебаться с юзерскриптами и зеркалами. Бесит сука!
                              Ответить
                                • Кардинальный вариант: выкупить у страйкера проект. Интересно, сколько он запросит?
                                  Ответить
                                      • Базу несложно будет поднять из спарсенных коментов, да и без нее норм.
                                        Ответить
                                        • Без базы какой смысл?
                                          Просто чтобы пиздеть?

                                          Та давайте тогда в IRC или slack
                                          Ответить
                                    • А то что на гитхабе я пока не осилил поднять.
                                      Ответить
                                  • Мне кажется, что ещё и доплатит. Только кто будет новым страйкером и возьмёт на себя эту ношу?
                                    Ответить
                                    • Ты говоришь? Позволь мне сказать, что такое - кардинальный вариант: вы все съёбываете отсюда нахуй и страйко закрывает сайт.
                                      Ответить
                                      • Юзер, смени пароль на govnokod.ru, тебя сломали! Ну и вернись, олдфагом будешь.
                                        Ответить
                                        • Будет весело, когда я подберу пароль от ТВОЕГО акка, или от акка твоего анального друга. Вот это будет разврат так разврат... Да наступит веселье!..
                                          Ответить
                                      • >вы все съёбываете отсюда нахуй и страйко закрывает сайт

                                        Неужели после 10 лет работы (по скоротечным меркам интернетов чуть ли не вечность) всё закончится настолько бесславно?
                                        Ответить
                                        • >вы все съёбываете отсюда нахуй и страйко ставит педик

                                          Неужели после 10 лет регистрации (по нехорошим пронесениям хуетеней чуть ли не ) всё закончится настолько бесславно?
                                          Ответить
                              • Не желаешь подуть в мое вонючий, немытый хуй, Инхо? Я наполню твой ротик клеем ПВА.
                                Ответить
                              • Так не надо смотреть. Стертор, проследуйте к выходу.
                                Ответить
                                • Может быть вычислим его по айпи и всё расскажем его маме?
                                  Это будет проще чем пилить свой сток
                                  Ответить
                                  • Да не, так хоть жизнь кипит, люди пишут на разных языках всякое, потом можно ещё конкурсы с тамадой будет провести, у кого бормандсток-апи в самый прикольный фронт завёрнут.
                                    Ответить
                              • Пока на хабре пытаются внедрить жалкую пародию на самоуправление через кармочку и т.п., на ГК оно уже работает на всю катушку. Анархия - мать порядка.
                                Ответить
                                • Не анархия, а самоорганизация, как в фидо)

                                  Каждый поднимет свою версию ГК с мастер-ту-мастер репликацией
                                  Ответить
                                  • Вы - тупое и никчёмное быдло, которое никак не может понять бессмысленность этих Ваших стоков, ибо для комментирования Вам так или иначе, приходится заходить в ад, то есть, сюда. Милости прошу, блядь!..
                                    Ответить
                                    • Есть PoC в котором сюда заходить не надо. В джва клика сообщения отправлялись. Можно редактор нормальный навернуть и т.п. Добро пожаловать в новый мир, Стертор 😉
                                      Ответить
                          • > падсибя пилил

                            Ну и правильно, я ничего не прошу, просто сам падсибя никак не могу придумать нормальное отображение, поэтому дискасс.

                            API с головой хватает пока что.
                            Ответить
                              • > gc_new_comments.user.js#L136

                                Про умную прокрутку тоже думал. Сколько ж ты там понаписал всего? Причем у меня ни один твой скрипт в последнем фф в грисманки не запускается.
                                Ответить
                                • Там псевдо2D перемещение с умной прокруткой (автоматически по X), восстановление вида дерева, переход к родителям и братьям. Перемещение по времени T либо по координате Y.
                                  Ну и ещё скругление углов убрал.

                                  Странно, раньше в Firefox работало. Проверю.
                                  Ответить
                                • Насколько я понял, Firefox - козёл. В конце 2017 Firefox анально огородил скрипты на странице, и те из моих скриптов, которые используют jQuery, теперь не могут её использовать.
                                  https://github.com/greasemonkey/greasemonkey/issues/2653

                                  В хроме года 3-4 назад тоже гайки закручивали. Там unsafeWindow отвалилось, но если поставить @grant none и не пользоваться API обезьяны, всё отлично работало.
                                  В Firefox же какая-то хитрожопая питушня, обезьяна не факт, что оклемается.

                                  В общем, там стоит добавить среди метапитушни
                                  // @require https://code.jquery.com/jquery-1.4.min.js

                                  И в самом конце
                                  })($); вместо })(jQuery);

                                  Тогда в свежем фф работает. Как проверю, что такое работает и в хроме, скрипты обновлю.

                                  Хм, как бы ещё грузить jQuery только в фф, а не в хроме, где и с ГКшным jQuery всё хорошо? Хотя, отправка комментария сейчас больше тормозит, чем загрузка jQuery.
                                  Ответить
                                  • Разобрался со скриптами. Теперь всё, что у меня в репозитории, должно работать не только в Chrome, но и в Firefox.
                                    Заодно пересадил скрипт для увеличение стока на новый API Борманда.
                                    Ну и написал скрипт, который подсвечивает новые комментарии, и хранит знание об этом в localStorage.
                                    Ответить
                                    • > в localStorage
                                      Последний на тред или прям по каждому комменту? Большой минус по сравнению с тем, что было раньше на ГК — нету синхронизации между девайсами.
                                      Ответить
                                      • Время последнего просмотра треда.

                                        До номера комментария не догадался, хотя это было бы более точным решением с учётом рассинхронизации пользователя и ГК, да и в памяти хранилось бы меньше. Хотя, скрипт бы стал менее тривиальным.
                                        Надо будет переписать, пока не поздно.
                                        Ответить
                                        • Переписал, выпустил версию 2. Совместимость со старым скриптом сломана, надеюсь за день он не набрал много активных пользователей.

                                          P.S. "嶓媭쟨嶑媭쟭嶏媮嘴嶇媮嘻嶊媮嘽嵱媮噂䀝媮蕍嵺媮靕嶂媮靗嶄媮颩嶗媮꼐嶎媮꼓嶘媮꼔 峳媮꼚嶖媮꼟䶘媮꽏嵝媮녬嶕媮놛屛媮땎垩媮묲㵩媮빔ⴉ媮샃嵤媮섦唌媮셎崷媮쇁㽊媮쇍㞞 媮쇑" - информация о моих недавно просмотренных постах в формате первой версии скрипта 🙂
                                          Ответить
                                          • Йиппонские вареции!

                                            > Pitouzuiqu
                                            > Yuxizuitou
                                            > Tanyongtouzun

                                            Питоухзик(ью)
                                            Танёнгтоужун
                                            Ответить
                                  • Что мешает выкинуть нахуй жуквери и пользоваться js api?
                                    Ответить
                                    • Скрипты более серьёзно переписывать надо. Ну и в некоторых используются фичи, которые на jQuery проще реализуются, например, те же прыжки между комментариями.
                                      Ответить
                        • > ползать по треду в 2d, с телефона ещё удобнее
                          Серьёзно?
                          Или смысл в том, что это самый удобный способ для телефона, где остальные способы -- ещё более неудобные?
                          Ответить
                      • Блин, чё-то так лень пилить ngk когда спамеры молчат... Мотивация вообще нулевая.
                        Ответить
                        • форкай тогда govnofar;) или у тебя винды нету?

                          я как раз разобрался с пизданутым Settings API и допиливаю скрывание по F8.
                          Ответить
                          • Тогда уж говнофайлуху через fuse. Чтобы сток смотреть просто cat'ом или tail'ом.
                            Ответить
                            • Про fuse я сразу подумал, когда задумался как портануть это под mc:)
                              Ответить
                        • > лень пилить ngk

                          Борманд, добавь, пожалуйста, лицензию к NGK (Apache 2, BSD). Чтобы у людей проблем не было при пулл-реквестах.
                          Ответить
                          • У каждого будет ещё один акк на гитхабе, чтобы слать пулл-реквесты на ngk без деанона и травли
                            Ответить
                          • Ахахах. Расскажите для нубасов, эти лицензии имеют какую-то юридическую силу? Или чисто соблюдение приличия?
                            Ответить
                            • > эти лицензии имеют какую-то юридическую силу?

                              Имеют. Мне, к примеру, нельзя коммитить в опен-сорс без специального аппрува, если лицензия не подходящая.

                              Если кто-то захочет поюзать твой код, в нормальной конторе без лицензии он это сделать не сможет. Иначе это воровство, никто с этим связываться не захочет (ну кроме каких-нибудь безрассудных китайцев).

                              Ко мне тоже обращались с просьбой добавить лицензию, когда хотели использовать мой код на github.
                              Ответить
                              • Интересно, почему Роман не заведёт отдельный гитхабчик... А понял, он просто знает, что гугл может задеанонить любой аккаут. *уходит в лес и вешается на сучке*
                                Ответить
                                • > вешается на сучке
                                  Какая-то двусмысленная фраза получилась…
                                  Ответить
                              • > Если кто-то захочет поюзать твой код, в нормальной конторе
                                Развернём ГКшечку на мощностях Г? :3
                                Ответить
                                  • Сначала пусть купят за 10 миллинов долларов вместе со Страйко, а потом закроют как неудавшийся стартап
                                    Ответить
                                    • Если Г выкупит ГК за 10 мегабаксов, то стартап можно считать более чем удавшимся.
                                      Ответить
                                      • Я уверен что его купят ради алгоритма вореций

                                        гугл так не умеет
                                        Ответить
                                        • Или ради быстро растущей пользовательской базы.
                                          Ответить
                                          • Я уже как-то говорил что говнокод это элита CS/IT, так что они должны купить нас чисто чтобы хайрить
                                            Ответить
                                        • > гугл так не умеет

                                          Так он их ведь не индексирует, потому что видит, что это цепи маркова, или слишком много неологизмов, чёрт его знает. Но от хорошего распознавания вореций недалеко и до их генерации.
                                          Ответить
                                          • > Но от хорошего распознавания вореций недалеко и до их генерации.
                                            Смотрите-ка, возврат к корням после десятилетий неправильного использования порождающих формальных грамматик для разбора вореций.
                                            Ответить
                                        • >Я уверен что его купят ради алгоритма вореций

                                          Ох лол! Я знал, я знал!

                                          И ализар настрочит на швабрашвабре: «Вчера google закончил сделку по приобретению передовой разработки в области искусственного интелекта, основанного на вореционном исчислении.»

                                          И хайп пойдёт баззвордами: вореции, кобенации, блокчейн, бигдата, машинлёрнинг.
                                          Ответить
                              • > Мне, к примеру, нельзя коммитить в опен-сорс без специального аппрува, если лицензия не подходящая.

                                Бедные гугляхи, как же вас там дрочат.

                                > в нормальной конторе без лицензии он это сделать не сможет

                                Олол, кмон. Может только в анальных энтерпрайзах типа гугла. В 99.99999% контор всем плевать, пока это на бекенде и никто не видит.
                                Ответить
                              • >Имеют. Мне, к примеру, нельзя коммитить в опен-сорс без специального аппрува, если лицензия не подходящая.

                                >Если кто-то захочет поюзать твой код, в нормальной конторе без лицензии он это сделать не сможет. Иначе это воровство, никто с этим связываться не захочет (ну кроме каких-нибудь безрассудных китайцев).

                                Тем временем где-то в параллельной реальности какие-то неизвестные люди декомпилируют пирацкой IDA с пирацким Hex-Rays некую проприетарную хуйню и пытаются заставить эту декомпилированную хуйню вновь скомпилироваться. Кто-то по соседству декомпилирует все той же пирацкой IDA ядро Linux и U-Boot с какого-то китайского говнодевайса (потому что китайцы хер ложили на всякие там GPL).

                                Помни, roman-kashitsyn, пока ты моешь руки перед едой, кто-то другой по соседству вполне возможно жрет говно
                                Ответить
                              • Допустим ты безработный. Занялся стартапом, и спиздил код, нарушив лицензию. Что будет?
                                Ответить
                              • > нельзя коммитить в опен-сорс без специального аппрува
                                Даже из дома по вечерам?
                                Ответить
                                • Тебя же просили предупреждать.

                                  ----------------------------------------------
                                  БОРМАНД СМЕНИЛ АВАТАРКУ
                                  Ответить
                                • > Даже из дома по вечерам?

                                  Зависит от размера. Не уверен, что кто-то за этим особо следит, но проблем в некоторых случаях можно огрести.

                                  Патчи <100 строк кода в опенсорс с правильными лицензиями можно без всяких апрувов слать.

                                  А вот большие патчи или принципиально новую работу вроде бы нужно согласовывать, причём публикуется оно часто с гугловыми копирайтами, поэтому тут[1] столько хлама.

                                  Откуда и когда ты пишешь код значения не имеет.

                                  [1] https://github.com/google/
                                  Ответить
                                  • > огрести
                                    Пиздец. Ну с другой стороны зато пара часов на свои проекты в рабочее время...
                                    Ответить
                                  • > Не уверен, что кто-то за этим особо следит

                                    Я более чем уверен, что всем похуй
                                    Ответить
                            • Увы, GPL добавляет suffering'ов только тем, кто _распространяет_ производные работы в бинарном виде. Если же код вертится на сервере, как в твоём случае, то GPL не поможет.
                              Ответить
                          • Прикольно, гитхаб детектит лицензию прямо по её тексту.
                            Ответить
                            • Хорошо, что ты DRM убрал, а то был бы когнитивный диссонанс free software ↔ drm
                              Ответить
                              • Почему? Что хочу, то и делаю на своём сервере. В общем-то даже GPL это позволяет. А BSD — и подавно.
                                Ответить
                                • > Почему? Что хочу, то и делаю на своём сервере

                                  “The distro must contain no DRM, no back doors, and no spyware”.

                                  Ну это, допустим, из определения свободного дистрибутива. Вообще на gnu.org дофига где упоминаются DRM и всегда повторяется мантра: you should not use DRM which you can not brake. По-моему для free software по-умолчанию предполагается, что оно не должно содержать DRM. У Столлмана на сайте про некоторые корпорации одна из веских причин not to use — это наличие невзломанного DRM.

                                  Юридически что там в GPL на этот счет — не знаю.
                                  Ответить
                                  • > определения свободного дистрибутива
                                    А теперь посмотри список свободных дистрибутивов, удивишься. Ни одного популярного дистра среди них нет.
                                    Ответить
                                    • > удивишься

                                      Не удивлюсь, список знаю. Но разве это отменяет то, что софт с drm - не free? Просто никто не следует канону. Драйверы же проприетарные приходится пихать в репы.
                                      Ответить
                                      • > никто не следует канону
                                        Чтобы следовать канону нельзя даже упоминать о способах установки проприетарного софта на официальной вики дистриба... Вот тебе и цена швабодки.
                                        Ответить
                                          • > нехуй
                                            Помнится, в прошлых тредах кто-то был против цензуры.

                                            В итоге даже дебиан, который реально старался и делал свободный дистр, забил на всю эту религиозную хуиту.
                                            Ответить
                                            • > кто-то был против цензуры

                                              Ну это же не роскомнадзор, который других заставляет удалять. Да тут даже и не заставляют удалять, просто дают критерий свободы, хочешь — подпадай под него, не хочешь — не подпадай. Но действительно, какого хуя на официальной вики free дистра писать про проприетарщину? Есть куча других место для этого. Официальная вики, как и хендбук, должны прививать культуру free software как можно чище.
                                              Ответить
                                              • > Официальная вики, как и хендбук, должны прививать культуру free software как можно чище.
                                                Утопия и религиозный пердолинг. Человеку нужны инструменты для решения задач.
                                                Тот факт, что сотрудники автосервиса, домработницы и чистильщики сортиров возомнили себя богами или как минимум философами и духовными мастерами, никому, кроме их - сотрудников автосервиса, домработниц и чистильщиков сортиров - никому не интересен. Конечно, до тех пор, пока у них не появляется какая-то власть, после которой начинается синдром вахтёра.
                                                Человек к ним не за поэзией и философией приходит, а за инструментом для работы.

                                                На официальной вики и в документации должно быть рассказано о том,
                                                1. как описываемая питушня решает задачи пользователя
                                                2. какие требования она выставляет к оборудованию
                                                3. как она настраивается
                                                4. где лежит скрипт, активирующий тот функционал, который авторы-пердолики сокрыли от пользователя из-за своего извращённого понимания реальности.
                                                Причём на одной короткой странице.

                                                Пользователь должен прочитать там и ввести куда-нибудь:
                                                check-hardware
                                                system-install config=default
                                                install-cool-stuff-we-banned-for-nothing
                                                После чего у него появляется ОС, способная решать его задачи.

                                                С учётом всяких там систем быстрого развёртывания, которым линуходмины любят хвастаться, можно просто написать скрипт для такой системы, который устанавливает работающую ОС в один клик.
                                                Ответить
                                                • > Человеку нужны инструменты для решения задач

                                                  Нихуя ты не понимаешь в полностью свободных дистрибутивах. В них люди идут за утопией и религиозным пердолингом. А в какой-нибудь хендбук слаки (не полностью свободный дистрибутив) идут именно за поэзией и философией. Не за инструментами же для решения задач, ёбнулся что ли.

                                                  > из-за своего извращённого понимания реальности
                                                  > install-cool-stuff-we-banned-for-nothing
                                                  Ищи неизвращенную в других местах, хуйли переться на вики free distro, и вообще в linux.

                                                  Регай аккаунт на microsoft.com, чтобы зайти в собственном компьютере в собственную операционную систему (в один клик, лол).

                                                  > ОС, способная решать его задачи
                                                  Если он пришёл на вики полностью свободного дистрибутива, значит в его задачи (например, эстетические или философские) входит отсутствие на этой вики инструкций по установке драйверов nvidia-fuck-you (которых и в других местах дофига) и всякой хуйни в-один-клик. Люди, которые туда приходят, давно знают то, что ты выставляешь в требованиях к документации.
                                                  Ответить
                                                  • Пердолики, что с них взять.

                                                    > Ищи неизвращенную в других местах, хуйли переться на вики free distro, и вообще в linux.
                                                    От так вот оно! Илитка вахтёров должна остаться илиткой?

                                                    На самом деле, ОС нужна не для философии, а для решения задач. Именно это - исходная точка. Для этого создавали и создают ОС. Если пердолик хочет молиться сверкающему CD/DVD с дистрибутивом, это его личные проблемы, от этого психиатр лечит. А здоровым людям нужно, чтобы компьютер работал. Для промышленного использования ОС выбирается согласно целесообразности и, если это выгодно, покупаются закрытые платные модули.

                                                    > Если он пришёл на вики полностью свободного дистрибутива, значит в его задачи (например, эстетические или философские) входит отсутствие на этой вики инструкций по установке драйверов nvidia-fuck-you (которых и в других местах дофига) и всякой хуйни в-один-клик.
                                                    Значит он нагуглил этот дистрибутив как тот, который будет удобен для решения указанной задачи в его конторе. И он хочет, чтобы доведение его до работоспособного состояния было простым.
                                                    Иначе он нагуглит другой дистрибутив, которому его компания при случае может пожертвовать приличные деньги. В масштабах статистики, нормальные дистрибутивы будут развиваться (использоваться, иметь фидбек, баг репорты и пожертсования), а пердольские философские - загибаться и жить ровно до той поры, когда их единственный идейный разработчик не отправится на приём к Ритчи. Так им и надо. Эволюция, Феликс!
                                                    Ответить
                                                    • > На самом деле, ОС нужна

                                                      На каком ещё самом деле? Синдром вахтёра-то тут выходит у тебя, ты начинаешь объяснять осям и людям, что они что-то кому-то должны и какими-то должны быть, при том что существует море альтернатив, и можно выбрать систему, которая подходит тебе. Нет, он будет приходить и рассказывать, что везде должно быть как в винде, кроме тех случаев, в которых винда говно, тогда уже извольте линуксоиды показать свой пердоликс во всей красе, а то и тут обосрём. На самом деле ОС нужна для чего угодно, например для философии. Почему это нет?

                                                      > Значит он нагуглил этот дистрибутив как тот, который будет удобен для решения указанной задачи в его конторе

                                                      Нихуя это не значит. Ни одна контора в здравом уме не будет использовать полностью свободный дистр. Говорю же, это источники идеологии, а не инструментов.

                                                      > чтобы доведение его до работоспособного состояния было простым

                                                      Ага, именно об этом мечтает такой человек.

                                                      > А здоровым людям нужно

                                                      Здоровым людям? В списке free distros на gnu.org? Кончай троллировать.
                                                      Ответить
                                                      • > ты начинаешь объяснять осям и людям, что они что-то кому-то должны и какими-то должны быть, при том что существует море альтернатив
                                                        Ну я объясняю людям и осям, что если они так сделают, то станут востребованными и банально выживут. Это такой же синдром вахтёра, как и говорить ребёнку не лезть гвоздями в розетку.

                                                        > что везде должно быть как в винде, кроме тех случаев, в которых винда говно
                                                        Так и есть, это элементарная логика. Успешные решения надо перенимать, а не отвергать. Суть в том, что не важно, кто был источником успешного решения, одна ОС или другая. Если хорошую технологию не запрещает внедрять её владельцы, её надо внедрять.
                                                        А баги и плохие решения перенимать не надо, это да.

                                                        > Говорю же, это источники идеологии, а не инструментов.
                                                        > Здоровым людям? В списке free distros на gnu.org? Кончай троллировать.
                                                        Ну хорошо, пусть чахнут без внимания. Позволим бритве Оккама убрать всё ненужное.
                                                        Ответить
                                                        • > успешного решения

                                                          Миллионы мартышек?

                                                          Или \r\n вместо \n, и слеш в именах файлов в другую сторону в отличие от ВСЕХ других осей ­— это успех, который надо перенимать? Что-то я не замечал, что любимая тобой ОС что-то хорошее у кого-то перенимает. Все её действия маркетинговые. От этого я далёк, мне больше нравится програмировать, а не когда мне что-то впаривают рекламно. Почему, например, во всех школах в России людей учат использовть windows, а не linux? Из-за успешности решения, конечно…


                                                          Я вижу как софт, начатый в каких-нибудь 80-х в unix живёт и процветает, и как сильно от него зависит всё, что потом в красивой маркетинговой обёрточке предстаёт перед тобой в виде «успешных решений», и как тем временем винда договаривается с производителями железа, чтобы на нём работала только 10, даже 8 и 7 не поддерживались. Да это просто гении CS и IT, двигатели прогресса и просветители всея хомячков.
                                                          Ответить
                                                          • > Миллионы мартышек?
                                                            Какие миллионы мартышек?

                                                            > Или \r\n вместо \n, и слеш в именах файлов в другую сторону
                                                            Переводы строки - понятие условное, у кого-то вообще \r. Хотя, один символ - лучше двух для пирфоманса. А слеши - тем более, они полностью эквивалентны, вопрос вкуса.
                                                            Где я говорил, что переводы строки \r\n - решение лучше одного символа?

                                                            > Что-то я не замечал, что любимая тобой ОС что-то хорошее у кого-то перенимает.
                                                            Может, сразу делают хорошо, что перенимать ни у кого не надо ничего?
                                                            Ну вот тут появились симлинки/хардлинки, окошки поиска по файлам в проводнике, поиск по меню "пуск" (фичи чисто консольных питухов), множество рабочих столов, в MSVS встроили всякую прыщепитушню вроде прыщесистем контроля версий, пистонов и нодежс, консолечку разработали (ждём традиционных комментариев Сёмы с её рекламой). В вин10 вообще убунту встроили.
                                                            Конечно, никакие фичи не переняли, подумаешь, какой-то линукс в углу диска валяется.

                                                            > Все её действия маркетинговые.
                                                            > Почему, например, во всех школах в России людей учат использовть windows, а не linux? Из-за успешности решения, конечно…
                                                            Маркетинговые действия есть понимание сути пользователя и наращивание связей между пользователем и продуктам. То есть нужно либо подогнать продукт под пользователя, либо объяснить последнему, что продукт для него действительно хорош. Это значит, что интересы конечного пользователя исследуются и учитываются. Иногда - формируются.
                                                            В итоге имеем работающее решение, которое удовлетворяет пользовательские нужды. Поэтому и успешность.
                                                            А если в голове только идеи о призрачном благе и идеальных решениях, ничего не выйдет. Нужны идеи касательно внедрения и применения.

                                                            Как линуксы представят продукт для пользователя - так винда отомрёт навсегда. Сейчас у открыльников, когда винда договаривается и продавливает систему, имеющую достаточное количество противников, как раз есть все возможности.
                                                            Ответить
                                                            • >симлинки/хардлинки
                                                              Существовали на NT всегда, только в порезанном виде. Симлинки полноценно (ссылка на произвольное место) появились в висте, хардлинки есть уже на xp.

                                                              >ждём традиционных комментариев Сёмы с её рекламой
                                                              Какие нужны комментарии?
                                                              Ответить
                                                              • Нужны комментарии про существование PowerShell, передачу структур и информацией о сосновении отдельных товарищей.
                                                                Ответить
                                                                • Не знаю, что ты от меня хочешь. Думаю, правильным ответом будет "передал тебе структуру за щеку, проверь!"
                                                                  Ответить
                                                                  • Да ничего необычного, то же самое, что уже много раз было написано.
                                                                    Ответить
                                                          • >Или \r\n вместо \n, и слеш в именах файлов в другую сторону в отличие от ВСЕХ других осей ­
                                                            Назови мне ВСЕ ДРУГИЕ ОСИ во времена когда у ms появился обратный слеш и \r\n?
                                                            Ответить
                                                  • > Ищи неизвращенную в других местах, хуйли переться на вики free distro, и вообще в linux.

                                                    Что за хрень пердолики всё время втирают?

                                                    Сначала они как могут обругают твою ОС и скажут, как быстро у них устанавливаются пакеты, как всё (как оказывается, после десяти лет привыкания) удобно и просто, как много фич, как всё можно сделать (как оказывается, если быть программистом, лол). Говорят что-то про свободу, что каждый может установить их волшебную ОС и каждый может принять участие в разработке.

                                                    Затем, когда ты говоришь "ну ладно, давайте я вашу ОС посмотрю, может она мне подойдёт", пердолики набигают и кричат "нинада, это только для пердоликов!"
                                                    Закрываешь окно, чтоб не слышать их стоны, устанавливаешь для пробы. Тут оказывается, что установить может не каждый, пердолики ломятся в квартиру, кричат "Нельзя, это только для пердоликов!"
                                                    Зажимаешься в угол за шкаф, держишь его одной рукой, коммитишь. Пердолики ломают шкаф, бьют тебя палками "Нельзя править этот баг! Это ещё Штульман назвал 'creat', оставим в честь него! И этот тоже нельзя, этот баг - памятник свободы, решение его есть только в закрытой библиотеке!"

                                                    Так мне пользоваться вашим лунихом как хорошей удобной ОС, которая всё умеет, или не пользоваться - как ОС для избранных из альтернативно одарённой элиты? Определитесь, ребята.
                                                    Ответить
                                                    • > как оказывается, после десяти лет привыкания

                                                      Ты забыл посчитать те 15 лет, которые понадобились тебе для освоения винды, просто ты их не заметил, был молод, восприимчив, и не имел альтернативы. И ещё как тебя просили твою волшебную ОС, с которой справится даже ребенок, переустановить друзья и родственники, потому что там с танчиками чо-то.

                                                      Я не зову никого в linux, и не прогоняю с него. Я просто знаю правила приличия и культуру этой системы. И являюсь носителем этой культуры. А, например, носителем культуры windows не являюсь. Так что говорить про linux только с позиции, насколько он похож или не похож на «успешные решения» мне чуждо.

                                                      Но пока у меня есть задор быть радикальным, я буду, что плохого-то.

                                                      Вот ты, к примеру, вроде бы пытаешься изображать адеквата, но в итоге всё равно сильно на стороне windows, только уже не идейно, а как-то вот так вот как-то. Пускай, что ж поделаешь.

                                                      > Определитесь, ребята

                                                      Определяюсь специально для тебя:

                                                      GNU/Linux — ОС в основном для программистов, сильно ориентированная на мануальную настройку и глубокое знание системы, и, как один из главных факторов, на свободу в смысле free software.
                                                      Ответить
                                                      • Эта свобода кому-то нужна на десктопе кроме долбоёбов вроде тебя?
                                                        Ответить
                                  • >“The distro must contain no DRM, no back doors, and no spyware”.
                                    Это жопаэль? А адварь?
                                    Ответить
                        • > когда спамеры молчат

                          Ну, это поправимо, не волнуйся.
                          Ответить
      • Засунул тебе в жопу свой резиновый фаллос, потом провёл им тебе по губам, проверь...
        Ответить
  • Решение найдено., тему можно закрывать. Оказалось, что родной и близкий тип TBitMap - на самом деле -опасный преступник граната с высунутой чекой, как и весь VCL.
    Свойство PixelFormat вовсе не стоит недооценивать, как это раньше делал я и ещё сотни и тысячи других долбоёбов. Если его не задать сразу же после создания экземпляра класса, в дальнейшем при работе с ним будут дичайшие внутренние глюки, от проблем с контекстом (как в проблеме выше) до утечек и SysOutOfMemory. Я потратил ооочень много сил на разгребание, мне нужно отдохнуть, я Вас покидаю на неопределенный срок.
    Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8