БлогNot. Блог ПерСа

виртуальность философия личное эзотерика шахматы маразм форум россия большевизм война преступление кыштовка c++/cli программирование люди ретро перепост избранное литература интернет php графика форматы блог дата статистика картинка символ javascript софт google android коммуникатор памятка textprocessing алгоритм random c++ цвет сон пародия музыка учебное studio qt юмор сервис числа стихи афоризмы все теги все комментарии свежие изменения


[1-15] [16-30] ... [2566-2580] [2581-2593]


Прикреплённое сообщение, правила и всё такое

Остеклить балкон, лоджию в Новосибирске? Проверено, Вам сюда

Encoding: UTF-8 (Unicode). Primary language: Russian. Для полноценной работы блога нужны включённые в браузере картинки + Javascript + Cookies. Ссылки, открывающие новое окно (вкладку), везде подсвечены.

Даже по законам Эрефии этот блог - не СМИ, все сообщения выражают личную точку зрения автора блога и являются оценочными суждениями, при этом любые совпадения мест, имён, названий и действующих лиц далеко не случайны. В блоге нет файлов, способных нанести вред Вашему компьютеру или мобильному устройству. Если Вам не исполнилось 18+, срочно отвалите отсюда, прикиньтесь ветошью и не отсвечивайте покиньте этот блог. Учтите, что читая его, Вы вторгаетесь на мою личную территорию :) Страница статьидалее...
19.01.2038, 15:15 [13174]


2021

Я всегда чувствовал эту ошибку в порядке цифр - конечно, 2021-й, а не 2012-й должен всё решить.

Надо же, присланный ув. Алексеем Лавкрафт едва ли не повторяет мою заочную полемику с Камю, типа — «"стоит ли жизнь того, чтобы её прожить" — так вопрос даже не стоит, вопрос — существуют ли хотя бы теоретически такие условия, чтоб она того стоила» :)

Весь мой опыт жизни в РФ отвечает, что такая - нет, не стоит, этих условий не существует, а нужно иметь мужество и держаться, тем более, я имел несчастье видеть оба конца местной социальной лестницы, дабы не строить иллюзий по поводу ни одного из них, верхний тут ещё тошнотворней нижнего... Страница статьидалее...
22.11.2020, 00:05 [30]


К теории правды

Термин отсылает к Диме Бирюкову, если что. Поддерживаем, ему нужны лучи добра :)

Подлинную "теорию правды" lichess нашёл 19 ноября 2020-го.

PoloudinVA пишет:

> я просил Вас... выбрать наилучшее продолжение партии после хода белых 1. e4.

Вы предлагаете Диме, по сути, решить шахматы :)

Я за 1. ... e5, если уж так, "но это не точно", как теперь любят писать.

Стейниц и Фишер обычно начинали 1. e4. Тарраш говорил, что "1. d4 - ход, ведущий в никуда".

Большинство даже редко и слабоиграющих, как я, со временем переходят с 1. e4 на 1. d4.

1. e4 успешнее для людей, 1. d4 , кажется, для компов, не могу найти ссылку, хотя на форуме уже выяснили, что 1. c4 вообще-то :)

Кстати, Вяленый 11+ на "Личессе" сегодня показал 1. g3 как +0.3 и лучшее за белых :)

Жду своё любимое 1. a4, как новую творческую теорию! :)

P.S. Я уловил начало дискуссии, что там шла речь не о классической начальной позиции, но в сообщении имел в виду классическую.

И Фишер всё равно играл лучше, скоро будет ещё! Страница статьидалее...
20.11.2020, 21:31 [34]


Не меняется

Занят кучей тупого онлайна. Крутится в голове банальность с тремя "с":

Те, кто пытались с населением с разной степенью искренности миндальничать, с его стороны всегда подвергались самой искренней и неподкупной ненависти, будь то Александр II Освободитель, Николай II "Кровавый", Хрущёв, Горбачёв или даже карликовый псевдолиберал Медведев.

Пресловутой "народной любви", густо замешанной на подлости и страхе, заслуживали либо откровенные тираны-людоеды, либо полностью отмороженные на голову Угрюм-Бурчеевы, будь то Иван Грозный, Петр I, Сталин, Андропов или Путин. И это в России не меняется.

Дальше просто пара цитат дня: Страница статьидалее...
19.11.2020, 19:38 [31]


Немного про потоки в C++/CLI

Возможность выполнять программу сразу в нескольких потоках - ценное свойство современных языков программирования. Увы, там есть масса нюансов и если не нужно какое-то особое "ручное" управление потоками, то уместнее всё делать на C#, а не на C++/CLI. На C++/CLI также нужно явное подключение к потоку функций-делегатов, так как анонимных делегатов в нём, в отличие от C#, нет.

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

Вот основная часть кода, на форме расположена и настроена только метка Label^ label1: Страница статьидалее...
18.11.2020, 00:52 [35]


Бобби Фишер: легенда и победа

Это - пополняемая статья, следите за обновлениями.

Фигура 11-го чемпиона мира по шахматам Роберта Джеймса, или, как его обычно называли, Бобби Фишера до сих пор потрясает воображение даже далёких от шахмат людей.

Гениальный игрок, эрудит и полиглот, знавший об игре, кажется, всё, любимец публики и прессы, суперпрофессионал, открывший в шахматах эпоху престижа и высоких гонораров, разработчик контроля времени с добавлением за ход и собственной разновидности шахмат "960", небесспорной, но ставшей довольно популярной, чудак, прослывший сумасшедшим из-за своих выходок и несговорчивости, личный враг правительства США и ещё ряда стран, убеждённый сторонник теорий заговора и глубоко несчастный одинокий человек - всё это о нём.

Скорее всего, именно тяжёлая многолетняя борьба с советской шахматной машиной дала того Фишера, которого мы знаем - как великого шахматиста, так и полного экстравагантных идей отшельника. Став чемпионом, как известно, Фишер не сыграл больше ни одной официальной партии, если не считать коммерческий "матч-реванш" со Спасским в 1992-м...

Гениальное и капризное дитя Америки. Герой и антигерой своего времени! Его жизнь - прекрасный сценарий для Голливуда - смесь детектива, комедии и трагедии сквозь призму 64-клеточной доски. Его жизнь - вызов обществу, традициям, условностям.

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

В 14 лет Бобби стал чемпионом США, в 15 - международным гроссмейстером и претендентом на мировое первенство. Такого шахматная история ещё не знала. Но парадокс Фишера состоял не в том, что он рано ворвался в мировую элиту, а в том, что долго не проявлял решимости стать шахматным королём, дважды отказываясь от борьбы на подступах к трону...

(И. Линдер, В. Линдер)

Страница статьидалее...
16.11.2020, 12:04 [100]


Библиотека

Когда-то библиотека казалась мне лучшим местом на Земле. Не было ничего, о чём бы она не знала, и там было интересней и безопасней, чем где бы то ни было.

Тревога подступала постепенно, библиотека становилась злоязычна, и пионеры вешались на галстуках, и рыцари всё чаще предпочитали сомнительного качества девственниц Деве Марии.

В итоге, она не превратилась в воспетую Борхесом дурную бесконечность Вавилона, но свернулась в Уробороса, пронизывающего своими кольцами почти каждую трепещущую тушку на планете, как будто поганый Юфит снова на вписке объясняет молодым Цою и придурку Густаву про свой "некрореализм"...

Рыцарь изучает драконов и демонов не из любознательности, а лишь для совершенствования боевых навыков.

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

Разъятие девайсов на косточки не помогало нисколько - ровно столько же может сказать о характере и душе покойного труп в анатомичке. Конечно, кое о чём можно судить по татуировкам и степени изношенности органов, но не более.

Экстремальный образ жизни помогал ещё меньше, и лишь лошадиное здоровье было причиной тому, что я оставался жив, когда всё увеличивающееся поголовье количество соратников успешно "присоединялось к большинству". Страница статьидалее...
15.11.2020, 22:17 [38]


Обработка изображений на PHP

Эта статья о масштабировании рисунков при загрузке была неплохой для своего времени, но устарела.

Здесь я приведу небольшую библиотеку функций для выполнения основных операций с изображениями в форматах GIF, JPG или PNG средствами современных версий PHP7.

С изображениями я работаю как с контейнерами (массивами) вида

[
 'img' => ресурс изображения, 
 'width' => ширина изображения в пикселях, 
 'height' => высота изображения в пикселях, 
 'type' => тип, равный 1 (GIF), 2 (JPG) или 3 (PNG), 
 'filename' => имя файла для сохранения
]

то есть, к самому ресурсу картинки нужно обращаться как $img['img'].

Вот список основных функций скрипта, в основном, все они возвращают новый ресурс изображения в указанном формате. Страница статьидалее...
14.11.2020, 19:20 [41]


И опять идут 12

Традиционная заметка о ДР бложека, сегодня ему 12, с прошлого года здесь появилось 295 записей, счастливое было время, ранняя зима, покупки, веселье и никакой чумы :)

Вот какой редкий момент я случайно застиг здесь ещё 14 октября, ровно месяц назад: Страница статьидалее...
14.11.2020, 12:44 [62]


Делаем ASCII-картинку из PNG

Все мы, как известно, живём в матрице, придуманной парой чокнутых трансгендеров. Из чисел в ней рождаются картинки, обманывающие мозг, а фальшивый виртуальный мирок, натянутый на глаза, только затем и нужен, чтобы скрыть правду.

ASCII-графика хорошо показывает идею матрицы :)
ASCII-графика хорошо показывает идею матрицы :)

Тема ASCII-графики не нова и в сети можно найти разные подходы к её автоматической генерации. Ниже прилагается небольшой класс на PHP, предназначенный для изготовления чёрно-белого ASCII-образа из рисунка или фото в формате PNG.

Идея такого преобразования очень проста - рисунок попиксельно разбивается на образцы вида 0000, 0001, ...., 1110, 1111, затем образцам сопоставляются символы. Картинку для теста брал классическую, легко прикрутить к скрипту загрузку своего файла. В браузере матрица символов будет получаться довольно большой, так что уменьшаем размер комбинацией клавиш Ctrl+(серый_минус), вернуть потом масштаб по умолчанию можно будет комбинацией клавиш Ctrl+ноль (обычный).

Ниже показан исходник, проверенный на локальном хосте с PHP 7.X, предполагается, что скрипт будет сохранён в кодировке Юникода UTF-8. Страница статьидалее...
13.11.2020, 18:36 [49]


Javascript: сравниваем 2 объекта и рисуем на канве HTML динамически

Изначально задачей было корректно сравнить объекты на Javascript, что, вообще говоря, нетривиально. Так, obj1 и obj2 при "обычном" сравнении будут различными:

 let obj1 = { a: 1, b: 2 };
 let obj2 = { a: 1, b: 2 };
 alert (obj1 == obj2); //false

и только "самому себе" объект равен:

 alert (obj1 == obj1); //true

Не поможет и сериализация объектов, и другие способы клонирования:

 let arr1 = JSON.parse(JSON.stringify(obj1));
 let arr2 = JSON.parse(JSON.stringify(obj2));
 alert (arr1 == arr2); //false

 let obj1Clone = { ...obj1 };
 alert (obj1 == obj1Clone); //false

 let obj2Clone = Object.assign({}, obj2);
 alert (obj2 == obj2Clone); //false

Более-менее корректно сравнивает объекты функция equals из кода, учитывая, что порядок полей может быть различным, возможно вложение объектов и т.п.:

 let obj3 = {  b: 2, a: 1 };
 alert (equals (obj1,obj3)); //true

Ну а чтобы пример не был слишком примитивным, сделал целую рисовалку на canvas, по тем же принципам, что вот эта, с таким же "правильным позиционированием" указателя мыши на канве и динамическим рисованием при зажатой кнопке мыши "как в Paint".

Показана только работа с линией и окружностью, другие объекты добавить несложно, а так как нарисованные примитивы сохраняются в массиве objs, можно прикрутить отмену действия, изменение порядка отрисовки и т.п. Страница статьидалее...
13.11.2020, 10:46 [48]


Lenovo Tab M8 TB-8505X

Так как любимый Dell Streak устарел безнадёжно, пришлось прикупить вот такой шмудачок для выполнения тех же функций.

Серия "X" - с GSM-модулем 4G (LTE), то есть, умеет звонить (без гарнитуры - только по громкой связи), серия с "F" вместо "X" в конце названия GSM-модуля не имеет и потому дешевле.

Для своей цены (в районе 10000 деревянных) и задач (пара привязанных к СИМке функций, чтение книг, немного интернета) устройство вполне адекватное, неадекватна только навязчивость Гугля, прогрессирующая с каждой новой версией "Андроида", в частности, сразу же озадачился, как убрать ленту новостей от Google, которая появляется на левом от главного экране, если туда перейти. Страница статьидалее...
11.11.2020, 15:09 [43]


Генерируем снежинку Коха в SVG-файле

Сам по себе алгоритм построения кривой Коха достаточно проработан, а прилагаемый скрипт отличается тем, что генерирует содержимое SVG, которое можно скопировать из поля ввода и сохранить как файл этого типа. Также снежинка выводится в контейнер resultSVG "как есть", если ваш браузер показывает этот формат, вы её увидите, у меня в актуальных Firefox и MS Edge всё сработало.

Листинг с комментариями легко увидеть из исходника прикреплённого файла .html в кодировке Юникода UTF-8. Страница статьидалее...
10.11.2020, 14:39 [46]


Наилучшее перемешивание символов в строке

Очевидно, целью такого перемешивания может быть расстановка наибольшего количества символов строки не на своих исходных позициях. Это не всегда возможно для всех символов, если в строке есть повторы, также задача не всегда решается единственным образом (для "pop" получится "opp" или "ppo").

В коде, который запускался из консоли Visual Studio 2019, используются стандартный алгоритм shuffle и генератор псевдослучайных чисел Mersenne Twister 19937 generator.

Ниже приводится листинг программы и результаты тестирования. Перемешивание реализовано как шаблон класса. Страница статьидалее...
10.11.2020, 13:15 [46]


Рисуем плазму на канве HTML с помощью Javascript

Небольшой Engine для разливки плазмы.

В коде также показано как при необходимости сбросить имеющийся цикл анимации, чтобы начать новый (переменная requestId, внешняя по отношению к функциям анимации; в идеале, стоило бы сделать ещё одну обёртку над requestId, plasmaEngine и startPlasma). Для начала работы достаточно нажать кнопку "Плазма", также это можно сделать после изменения коэффициента масштабирования.

Коэффициент:

Ниже приводится исходный текст скрипта без обрамления HTML, предполагается, что он будет сохранён в кодировке Юникода UTF-8. Страница статьидалее...
10.11.2020, 12:12 [56]


[1-15] [16-30] ... [2566-2580] [2581-2593]