Артак-спартак
В прошлом году у нас в городе построили второй
Дома написал небольшую программу на «Пайтоне», чтобы раскодировать, получилась надпись «ARTAKSPARTAK». Явно
Интернет тоже ясности не принёс, может
str = '01000001010100100101010001000001010010110101\
0011010100000100000101010010010101000100000101001011'
from textwrap import wrap
print(''.join(chr(int(x, 2)) for x in wrap(str, 8)))
Цирк кошек Куклачёва
В позднем СССР, наверное, нельзя было найти ребёнка, который не знал бы цирк кошек Куклачёва, — его постоянно показывали по телевизору. Поэтому в детстве у меня была мечта, без надежды на осуществление, — попасть хоть раз на представление этого цирка.
Без надежды, потому что Куклачёв был настоящей звездой, выступал в Москве и крупных городах, куда я в детстве не ездил, а в мой родной маленький Лениногорск он приезжать бы не стал.
Сейчас тот самый Куклачёв уже не выступает, дело продолжает его сын, тем не менее, фамилия Куклачёвых до вчерашнего дня мне казалась цирковым брендом, показателем качества.
Нельзя сказать, что та детская мечта во мне осталась, но когда куклачёвский цирк приехал в Казань, я решил показать дрессированных кошек дочке, да и самому посмотреть — не всколыхнёт ли во мне
Выступление всколыхнуло, но не ностальгию, а другое чувство — испанского стыда. До антракта кошки на сцене были для мебели — почти статично
Не знаю чему тут было смеяться, но мне симпатизировать криминалу совсем не хочется, я уже
Очень отрадно, что дочку это тоже не веселило, — она хотя и смотрела внимательно, но высматривала, в основном, кошек и собак на сцене, а не как один заслуженный артист бьёт лестницей по яйцам другому. Впрочем, в зале многие смеялись.
К счастью, после антракта формат сменился, — на передний план вышли дрессированные животные, так что я почти смирился, что заплатил за это дерьмо 2000 рублей за билет.
Дочке представление понравилось. Счастливое время детство — даже не замечаешь
«Гопник-2»: итог выходных
Человек предполагает, а череда неконтролируемых случайностей располагает. Я думал, что все выходные буду тихонечко пилить список запланированных изменений в игре, а на деле пришлось править совсем другое.
Без особой надежды на успех, я закидываю игру своим друзьям и знакомым, и хотя фанклуб игры не обогатился новыми членами, тем не менее небольшую пользу эту принесло — оказалось, что предыдущий автор недостаточно аккуратно ставит атрибуты консоли и в некоторых случаях не возвращает их обратно.
Например, у одной моей подруги, которой я прислал «Гопника», программа «Терминал»
Кстати, я не знал какой у неё «Макбук» — на процессоре «Интела» или «Эпла», поэтому пришлось научиться делать так называемые «универсальные бинарники».
Это несложно: компилируем программу дважды, сначала — под «интел» (-target x86_64), потом — под «эпл» (-target arm64-apple-macos11), после чего собираем оба бинарника в один:
lipo gop2-x86 gop2-arm -create -output gop2-universalНо это всё не беда, а так, развлечение на полчаса, проблема, над которой я просидел часть субботы, хуже — в моём коде не работало сохранение и восстановление инвентаря.
Автор первой попытки портирования игры из ДОСа в Линукс
В общем, нашёл нужную структуру, написал код, который работает с ней без затей, — сохраняет и восстанавливает как есть, вместе с указателями на строки, которые потом обрабатываются дополнительно.
fread(&inv_amount, sizeof(inv_amount), 1, load_file);
inv = (inventory *) malloc(sizeof(inventory) * inv_amount);
fread(inv, sizeof(inventory), inv_amount, load_file);
for (int i = 0; i < inv_amount; i++) {
size_t len;
fread(&len, sizeof(len), 1, load_file);
inv[i].name = (char *) malloc(sizeof(char) * len);
fread(inv[i].name, sizeof(char), len, load_file);
}Эти указатели — по сути мусор, но один файл игры занимает сотни байт, а у меня нет всего времени Вселенной, чтобы экономить на спичках.
В общем, из задуманного не сделал ничего, зато поправил некоторые вещи поважнее.
Переходим все на Brainfuck
Меня тут атакуют время от времени алармистки настроенные программисты, с вопросом что дальше делать, — ведь их всех скоро заменит ChatGPT. Так вас же ещё
Лично я услышал Грефа, и вот уже шесть лет как переписываю все свои проекты на язык «Брейнфак». Это минималистичный язык, состоящий из шести операторов, при этом он полный по Тьюрингу.
Прелесть его в том, что он плохо токенизируется — у него совершенно другая структура, поэтому генеративные нейросети не умеют писать на нём программы. Даже хвалённая четвёртая версия ChatGPT, которая вышла недавно, не умеет на нём и двух знаков связать.
Коллеги, если мы успеем тайно переписать все свои проекты на «Брейнфак» в ближайшее время, то для поддержания всех переписанных на него проектов, понадобятся живые программисты! У нас будет работа! Никого не уволят! Так победим!
«Гопник-2»: попробовал под Windows
В моём иррациональном увлечении дописыванием «
Стало интересно посмотреть — соберётся ли игра под Виндоуз. В конце концов она консольная, чего бы ей не заработать?
Раньше я таким не занимался, но из виндового прошлого я помню, что способы есть. Простых нагуглилось два — среда cygwin и набор инструментов mingw.
Через cygwin всё скомпилировалось и запустилось вообще без проблем, но у такого решения есть фатальный недостаток — собирать приходится в виртуальной машине с Виндоузом.
Набор mingw выглядит с этой точки зрения интереснее — есть и под мой «Мак», но там нет совместимости с «посикс», поэтому часть работы с терминалом не собралась, — проблемы с функциями tcsetattr и tcgetattr. Меня теперь так и подмывает отложить в сторону все планы и попробовать затащить игру ещё и Виндоуз, переписав эти два места.
Кстати, надо не забыть попробовать это сделать через ChatGPT. Я уже делал с ним несколько «подходов к снаряду», но каждый раз опыт был не очень. Например, пытался разобраться с тем как работать io_uring, рабочий пример так и не удалось получить. Но сейчас вышла новая версия, можно попробовать ещё раз.
Гепатит в таблетках
Век живи, век учись, дураком помрёшь.
Подумал, что это ошибка, но решил погуглить. Оказывается, гепатит — это воспалительный процесс в печени, не обязательно вирусной этиологии. От лекарственных средств может развиться токсический гепатит, но вообще там много видов.
В общем, новый, увлекательный мир гепатитов. Не дай бог
«Гопник-2»: адаптация под Windows
В итоге, вчерашняя мысль адаптировать
Несмотря на то, что «Чат» у меня последней, четвёртой версии, всё равно, даже на простых примерах он допускает совершенно детские ошибки, — не подключает нужные заголовочные файлы (мы программировали на Си), упускает важные части.
На скриншоте у меня как раз такой пример — он не скомпилируется
Вот как в итоге стал выглядеть этот кусок после нескольких уточняющих вопросов и гуглежа:
#ifdef __MINGW32__
HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
DWORD mode = 0;
GetConsoleMode(hStdin, &mode);
if (echo) {
mode &= ~ENABLE_ECHO_INPUT;
} else {
mode |= ENABLE_ECHO_INPUT;
}
SetConsoleMode(hStdin, mode);
int ch = _getch();
if (ch == 0x03) // Ctrl+C
{
printf("Ctrl+C hit, exiting...\n");
gracefulexit();
}
return ch;
#endifКак бы то ни было, с помощью нейросетей
#ifdef __MINGW32__
SetConsoleCP(CP_UTF8);
SetConsoleOutputCP(CP_UTF8);
setvbuf(stdout, nullptr, _IONBF, 0);
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
DWORD mode = 0;
GetConsoleMode(handle, &mode);
SetConsoleMode(handle, mode | ENABLE_VIRTUAL_TERMINAL_PROCESSING);
#endifПришлось полностью выключить буферизацию, чтобы нормально отрабатывал printf с
Насколько я понял то, что написано в интернете, у консоли Виндоуз до сих пор большие проблемы с кодировкой
Из заметных багов — игра падает при попытке загрузки сохранения и совсем не работает ввод русских букв. Второе мне нужно только одном месте (где запрашивается ввод имени игрока), так что есть надежда это починить. Остальное как будто работает.
«Гопник-2»: буферизация
Как я писал уже сегодня, мне пришлось вчера выключить буферизацию вывода, так как текст визуально «застревал» на экране. Добавление fflush проблему решало, но не будешь же выставлять этот вызов везде, где есть вывод, это несколько сотен мест.
В общем, вчера я сделал попроще, а сегодня пришла в голову более удачная идея обернуть printf в макрос:
// включаем буферизацию вывода
setvbuf(stdout, nullptr, _IOFBF, 1000);
// делаем макрос со сбросом буфера
#define PRINTF(...) { printf (__VA_ARGS__); fflush(stdout); }Работает просто отлично, вывод текста стал выглядеть комфортно.
ChatGPT-4 vs. Chat X-Colleagues
Раз у меня нарисовалась задача, где я довольно мелко плаваю, было бы логично протестировать на нём возможности
Я сегодня уже рассказывал о своём опыте в Си и Си++. Результаты там, можно прямо сказать, не ошеломляющие, но на этом экспериментировать я не бросил. У меня родилась ещё одна идея.
У программ на Си и Си++ часто есть так называемый «сборочный файл», это инструкции на специальном языке, описывающие последовательность компиляции сложных программ.
В проекте
Хорошо, но недостаточно, чтобы дописать секцию mingw, где у меня бы переопределялись флаги компилятора и его название. С задачей я справился, но решение мне не нравилось.
В итоге, я провёл следующий эксперимент: открыл два чата: бывших коллег (несмотря на то, что я уже одиннадцать лет не работаю в «Яндексе», мы достаточно интенсивно общаемся) и
Люди выиграли с огромным перевесом: нейросеть уносила иногда в неведомые дали, она видела ошибки там, где их нет и не замечала мест с явно неправильно написанными кодом. В итоге, мне удалось наводящими вопросами вывести её на правильное решение, но хорошим результатом это не назвать.
Вывод такой: программистов
«Всё вокруг колхозное, всё вокруг моё…»
Около двадцати лет назад, когда я совладел «Казанским порталом», мы задумали его прорекламировать, разместив адрес на билбордах нашего города. Тогда это было свежо — никто так ещё не делал.
Выбрали простую подачу — два сочных цвета, купили хороший, толстый натяжной материал, чтобы всё напечатать. Каждую неделю или две, не помню точно, мы меняли дислокацию нашей рекламы — так создавалось впечатление, что ей завешан весь город.
Через некоторое время наша реклама исчезла — её просто не оказалось на том месте, где она должна висеть. Наверное мы потом заказали другую, не помню, да и неважно, интересно другое.
Через некоторое время нашу рекламу горожане снова увидели, но уже без нашего участия,— на крыше домика
Двадцать лет прошло, ничего не меняется. В обед я люблю ходить по остаткам старой Казани, а это как раз частный сектор, в основном, то тут, то там видишь кирпичи, укрытые чужими баннерами,
Опять аллергия
Весна в этом году чудо, как хороша — очень тепло для апреля, птички поют, травка пробивается, снега почти не видно. К сожалению, с момента переезда в Казань я стал аллергиком и каждую весну мучаюсь — пытаюсь подобрать препарат, который будет действовать на меня в этом сезоне.
Не знаю что у меня за аллергия такая странная, несколько лет назад обращался к дорогущему аллергологу, ничего не прояснилось, но каждый сезон одно и то же — иду в аптеку и по одному перебираю препараты. В этом году начал с «Эриуса», пока мимо — не работает.
К счастью, есть супрастин, который действует всегда, к несчастью, от него я туплю и очень хочется спать. До обеда я
Не блог
Кажется слово «блог» сейчас плотно захвачено теми, кто делает контент. Когда говоришь, что у тебя есть блог, в среднем люди ожидают, что ты попадаешь
Я об этом давно задумался, но окончательно понял что с этим делать, когда один знакомый, заглянув ко мне на сайт, в изумлении воскликнул: «а зачем ты написал про стельки?».
Тогда я понял, что слово «блог» использовать нельзя. У меня не блог и я не блогер — слишком много на эти слова сейчас наверчено новых смыслов. Это у меня «сайт» или «дневник». Дневник, кстати, я веду с 1989 года, в следующем году будет 35 лет.
Дополнено: в комментариях прекрасный пример того, как человек не понимает почему он ко мне пришёл, а я его не развлекаю.
Программист отдыхает
Удивительный факт: если художник выходит на пленэр, чтобы порисовать для души, все
Думаю, проблема в том, что в восприятии большинства, программист — это
На самом деле это не так. Тут, как и во многих профессиях, есть рутина, а есть творчество, хотя первого так много, что большинство программистов всю жизнь занимаются только рутиной.
Мне кажется, что домашний проектик, — важная часть душевного равновесия.
Ну и вообще, что странного в том, чтобы вне работы от души поковыряться в том, в чём ты спец? Автомеханик, восстанавливающий
Ориентирование на местности
А вот, кстати, в старом диафильме знание, которое меня выручило
В какой стороне света находится дорога я знал, — смотрел перед поездкой карту, у меня она неплохо оседает в памяти.
История смотрелась бы выигрышнее, если бы у меня тогда сел смартфон, но нет, с зарядом было всё в порядке.
«Гопник-2»: UTF-8
Продолжаю писать про портирование
Я уже очень давно не работаю под этой операционной системой, поэтому некоторые обычные, возможно, для многих вещи для меня являются открытием. Когда я начинал процесс портирования игры под эту платформу, я был уверен, что столкнусь в трудностями совершенно в других частях кода. Одной из неожиданностей была плохая работа «Виндоуз» с кодировкой
Если вывод в консоль удалось победить сравнительно легко, то со вводом возникли проблемы — вызов SetConsoleCP(CP_UTF8), который должен был помочь, не помог. В интернете пишут, что он, по всей видимости, не реализован — просто не делает ничего.
Если с латинскими буквами проблем не возникает, они кодируются одним байтом, это ничем не отличается от того как программы до этого работали десятилетиями, а вот с русскими буквами беда — для них требуется два байта и в таком виде Виндоуз их не понимает.
Рекомендуемый специалистами способ — переключить консоль в режим ввода кодировки
#ifdef __MINGW32__
int wlen = 100;
int save = _setmode(_fileno(stdin), _O_U16TEXT);
wchar_t *wstr = (wchar_t *) malloc(wlen * sizeof(wchar_t));
fgetws(wstr, wlen, stdin);
int len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, 0, 0, 0, 0);
user_name = (char *) malloc(len);
WideCharToMultiByte(CP_UTF8, 0, wstr, -1, user_name, len, 0, 0);
_setmode(_fileno(stdin), save);
free(wstr);
#endifМне, к счастью, ввод русских букв нужен только в одном месте — там где игрок вводит своё имя. Я убрал используемую там функцию fgets под условную компиляцию и вставил кусок, который выше. С таким исправлением всё заработало, как ожидается.
«Гопник-2» на Haiku
К сожалению, компания, которая её писала, приказала долго жить, передала исходный код сообществу, которое до сих пор потихоньку пилит его уже под новым именем — Haiku.
А мне тут
Сразу у меня это сделать не получилось, но по ошибкам я догадался, что не хватает
Вот как выглядит рецепт компиляции и запуска:
pkgman install gcc make haiku_devel
git clone https://github.com/bolknote/gopnik2.git
cd gopnik2
make
./gop2Нужные мне библиотеки лежали, как оказалось, в пакете haiku_devel, сложно было догадаться, хорошо, что нашлись те, кто смог подсказать.
О5 25
Опять заболел — вчера ночью почувствовал, что начинает болеть горло, но несмотря на шаманство с фурацилином, всё равно свалился в болезнь. На работе очень многие болеют, друзья тоже пишут, что регулярно заболевают. Что за зараза такая ходит — непонятно.
Мы в эти выходные с дочкой остались вдвоём — жена уехала на конференцию. Тяжеловато в болезнь делать всё по дому, гулять с собакой, укладывать дочку спать, не знаю как люди в старости справляются. По моим представлениям старость примерно так и выглядит — как будто у тебя перманентная слабость на фоне болезни.
Дочь пообещала заботиться — принести стакан воды и нашлёпать бутербродов, если будет совсем плохо. Но пока до таких крайних мер не дошло.
Сегодня она в первый раз пойдёт в «Дашку», — это очень известная в Казани детская
Обидно заболевать к выходным,
«Гопник-2»: разные mingw
Надо
Сильнее всего меня удивило в процессе, что поведение mingw, — инструментария для компиляции приложений под «Виндоуз», различается под разными операционными системами.
Поскольку мне не хотелось заморачиваться с установкой софта на виртуальную машину, я развернул mingw у себя под «Маком» и внёс правки, чтобы всё благополучно компилировалось именно на этой ОС.
Запустив получившееся на первой попавшейся виндовой виртуалке, я успокоился. Но оказалось этого недостаточно — под самой «Виндоуз» приложение не собиралось!
После этих правок игра начала собираться под «Виндой» тоже.
Недавно прочитал в одной из статей на Хабре, что «язык Си++ достаточно сложен, чтобы позволить нам писать на нём просто», как же это верно! Неожиданно много времени занимает борьба
То, что тебя не убивает, то — дверь
Недавно зашиб немного нашу собаку, открывая дверь в дочкину комнату. Несмотря на то, что я и стучал, и дверь открывал довольно медленно, ей всё равно досталось, — она с той стороны лежала вплотную. Сразу вспомнился отрывок из «Маугли»:
…даже собака, которой далеко до дикого волка, её прапрадеда, может проснуться от крепкого сна, когда колесо телеги слегка коснётся её бока, и отпрыгнуть в сторону невредимой, прежде чем это колесо наедет на неё.
Наша собака, по всей видимости, слишком далеко ушла от дикого волка.
36,2°
У людей
У меня сейчас 36,2, что на фоне болезни для меня не редкость. Ощущения, как всегда, отвратительные — слабость, бросает в жар, голова болит. Но кому скажи «36,2», никакого понимания в глазах, один даже спросил — «выздоравливаешь, значит»?
Да откуда? Даже не близко!
Лингвистическая физиогномика
Как известно, наш речевой аппарат всё детство привыкает правильно произносить звуки тех языков, на которых мы говорим. В одной
После этого всё, якобы, «твердеет» и новые звуки, в среднем, будут вызывать у нас трудности — на их правильное произнесение придётся затрачивать усилия всю жизнь.
В этой связи меня давно мучает вопрос, — не видно ли на лицах последствий этих процессов? Ну, знаете, нельзя ли по фотографии сказать, что вот эта бабушка всю жизнь «окала», поэтому у неё губы куриной гузкой, а этот дедушка — «акал», поэтому у него рот выглядит шире?
Возможно это должно откладываться в постановке губ,
Знаю, что то ли две, то ли три заметки из моего дневника превратились в дипломные работы, может и эту
Плитка в хрущёвках
Я часто бывают в «хрущёвках» — в некоторых из них у меня живут друзья,
Всегда было интересно как так получилось. Вряд ли к проекту каждой новой партии домов
Наверное так, да. Моя теория — на строительстве сильно экономили, плитку брали какую найдётся, а так как проект на все случаи не нарисуешь, так что строителям говорили класть так, как им нравится.
Программируем с GPT
Мне
Нужно было переписать вот такой код с «Пайтона» на «Си++»:
{72: 65, 80: 66}.get(value, 0)Что тут происходит? Если value равно 72, вернуть 65, если 80, то 66, иначе ноль. Нужно мне это, если вкратце, для преобразования виндовых кодов в линуксовые.
Так как Си++ я не знаю, описал на Пайтоне — так быстрее и проще показать, что код мне нужен компактный — хочется не городить switch, а добавлять новое правило как можно проще.
Вот что мне сгенерировал
int value = 72;
std::map<int, int> mymap = {{72, 65}, {80, 66}};
int result = mymap.count(value) ? mymap[value] : 0;После консультации с живыми людьми, выяснилось, что плохо тут примерно всё.
В итоге, код стал выглядеть следующим образом:
const static std::unordered_map<int, int> win2lin = {{72, 65}, {80, 66}};
auto it = win2lin.find(_getch());
ch = it == win2lin.end() ? 0 : it->second;Инфляция восклицательных знаков
Не могу отделаться от мысли, что за время моей жизни произошла инфляция восклицательных знаков. Помню, в школе нас учили, что три восклицательных знака, это
Действительно, не помню чтобы в классической русской литературе
Сейчас эти три восклицательных знака — на каждом заборе, я и сам нередко ставлю их пяток, а то и больше подряд. В трёх
«Гопник-2»: фан-клуб
Тем временем, у игры
Когда будет готово, надо будет это должным образом оформить, снабдить скриншотами и перенести в вики проекта.
В принципе уже почти всё готово,
Надо бы поторопиться, а то бесплатная лицензия на среду разработки кончится в начале мая, не так много времени осталось, дальше разрабатывать будет сложнее.
Отломались уши
Читатели, которые тут давно, помнят, что я люблю на досуге помахать металлоискателем — есть у меня такое хобби. Для пользы я с ним участвую
У всех металлоискателей есть слабое место — «уши» катушки. На боковые нагрузки они не рассчитаны и при неловком движении их легко отломить.
В прошлом году я провалился одной ногой в болото и в момент падения опёрся на рукоятку металлоискателя. Крепления катушки моей туши не выдержали и отломились оба. Но так как сезон кончался, я с этим ничего не сделал.
В этом сезоне я глянул было на цены на новые катушки,.. но они
Оказалось, что на «Авито» существует целая индустрия — люди в промышленных масштабах печатают площадки для усиления «ушей» катушек. У меня усиливать уже нечего, но мне кажется, что сама по себе эта штуковина будет держать всё вместе вместо сломанных «ушей».
Приклеил вчера всё на эпоксидку, сегодня ещё хочу залить оставшиеся
«Гопник-2»: теперь «Андроид»
В полку не совсем обычных платформ, где я попробовал собрать
Решил попробовать скомпилируется ли. В принципе проблем почти не возникло. Всё необходимое поставил командой pkg install make clang git, после чего выписал проект и поправил путь до заголовочного файла — в «Андроиде» он находится в другом месте.
Правки в репозиторий внёс, теперь всё будет собираться ещё и под «Андроид». Проверять в будущем я не буду, вряд ли
Поддельное серебро
Недаром я на неделе торопился с ремонтом металлоискателя, — сегодня впервые в этом году выехал покопать. Один из друзей прикупил недавно участок за городом, вот в ту стороны мы и съездили.
Очень урожайный выезд, много находок, но всего интереснее из них две. Первая — советский полтинник, который должен был быть серебряным. Давно хотел такой поднять, сбылось желание, только этот замечателен ещё и тем, что он оказался поддельным.
Я его ещё сильно не ковырял, но похоже, что он из железа
Вторая находка интересно тем, что родственна первой, да и нашлась рядом — оттиск аверса советского серебряного рубля. Получился явно не очень, видимо поэтому и выбросили. Сфотографировать не выходит — буквы можно разглядеть только с сильным боковым светом, если придумаю как всё закрепить так, чтобы можно было
Смотрите что получается — в земле недалеко друг от друга валяются поддельные 50 копеек и оттиск рубля. Непонятно в точности как они туда попали, но интереснее всего, разумеется, думать, что там жил фальшивомонетчик, который в советские годы пытался подделывать монеты.
Конный спорт
Как я уже неоднократно писал, дочка и жена — фанаты лошадей. Обе уже несколько лет занимаются конным спортом. Занимаются для души, но несколько месяцев назад тренер решил дал дочке возможность выступить. Выступление прошло без особого старания и, как следствие, успеха.
Еву это неожиданно подстегнуло к занятиям, и сегодня, на втором своём выступлении, она заняла второе место. Говорит, что это лучший день в её жизни.
Выступила без малейшего волнения, но очень сильно нервничала на вручении, — настолько, что не дождавшись своей фамилии, убежала плакать, думая, что ей ничего не досталось.
Похоже конный спорт из лёгкого увлечения перерос
Жена, кстати, глядя на дочку, сегодня тоже решила выступить, тоже второе место. У неё всё наоборот — перед выступлением сильно переживала, а про награду даже и не думала, так что медаль стала приятной неожиданностью.
Поддельные деньги
Как я уже писал, в субботу ездили с друзьями походить с металлоискателем и самое интересное что нашлось — поддельный полтинник и оттиск советского рубля
В выходные всё почистил, смазал вазелиновым маслом, чтобы блестело и сфотографировал на подоконнике, пока было утреннее солнце. Кажется вышло достаточно контрастно. Внизу ещё пририсовал инвертированную и увеличенную часть оттиска, где угадывается фраза «РСФСР пролетар…».
Рядом положил 20 копеек 1921 года, чтобы было наглядно видно отличие по цвету серебряной и поддельной монеты. Интересно, когда её изготовили, она была похожа
Со всех сторон очень любопытная находка, конечно. Надо бы ещё
«Гопник-2»: версия 1.24
У меня тут небольшая веха в игре
Там универсальный бинарник под МакОС и статически собранные файлы
Минимально интеллигентный человек
Смотрел тут недавно шуточную сценку «Вступительные экзамены в театральное училище» (1980 год) с Яковлевым, Мироновым и Этушем. Не знаю с какой радости мне её порекомендовал «Ютуб», но рекомендация была верная — зацепило.
В самом начале Миронов рассказывает вступление, цитата оттуда:
…и, значит, для того, чтобы поступить в это театральное училище, нужно прочесть прозу, басню и стихотворение. И действительно, ну в голову не придёт человеку, проходя мимо архитектурного института или бауманского института, увидя тот чудовищный перечень предметов, наук, — ну зайду, попытаю счастья, а вдруг!..
А естественно, так сказать, минимально интеллигентный человек одно стихотворение, одну прозу и одну басню, естественно, знает.
Мне всегда хотелось считать себя хотя бы минимально интеллигентным человеком, но увы мне. Из стихов я знаю «Лиличку!» Маяковского, но ни басни, ни какого завялящего куска прозы на память рассказать не смогу. Тест провален!
Агриппина Сергеевна Миронова (Макридина)
Не так давно на меня вышла четвероюродная сестра, — нашла меня «Вконтакте». Мы с ней прежде знакомы не были, она меня разыскала по случаю, из интереса к поиску информации о своих предках, — начала искать по фамилиям и вышла на мои заметки.
Позже она дала контакт своей бабушки, с которой мы тоже списались, — в свои 75 бабушка бодро пользуется «Телеграмом».
С ней мы довольно долго говорили о прошлом, она многих из моих предков застала в живых, поэтому очень интересно было узнать
К сожалению, как это обычно и бывает, все воспоминания очень фрагментарны. Выкладывать их как есть мне не очень хотелось, а собрать из них связный рассказ не получалось.
А куда мы идём
После обработки получилось вот такое эссе о семье Макридиных. К этой семье принадлежала моя прабабушка Груня (1895—1968). Она на фотографии в центре снимка.
Когда-то давно, в далекой деревне жила замечательная семья Макридиных. У деда Сергия было много земли и пасека, где они выращивали лён, пшеницу, рожь и ячмень. Они были известны своим умением выращивать урожай и даже экспортировать его за границу.У Макридиных было своеобразное правило: у них не было постоянных работников, так как в роду было много мужчин, которые помогали на полях. Они нанимали работников только во время срочных работ, таких как посев и уборка. Для этого они приглашали всех желающих мужчин, хорошо их кормили, и тех, кто первым закончит есть, брали на работу. Работников кормили три раза в день и даже платили за их труд. Те, кто не попадал в число нанятых, умоляли Сергия дать им возможность поработать бесплатно, лишь бы трижды хорошо поесть.
Макридины были известны своей мудростью, скромностью и терпением. Они не были многословными, но всегда проявляли доброту и заботу о ближних. Даже воспитание детей было особенным — наказание заключалось в строгом взгляде или просто в том, что не разговаривали с непослушными детьми.
Особенно замечательно было видеть старших Макридиных на праздниках. Они собирались вместе, сидели на печке, и молодые родственники наблюдали, как они красиво пели и плясали под своё пение. Брат Груни, по имени Тимофей Миронов, был особенно талантливым певцом и танцором. Он и его брат Григорий были непревзойденными мастерами русских народных плясок. Их танцы были так великолепны, что даже профессиональные артисты не могли сравниться с ними.
Тимофей был не только талантливым артистом, но и предпринимателем. Он собирал ветошь за копейки и продавал ее на рынке. Он также разводил кур и продавал свежие яйца. Тимофей был известен как мастер торговли и всегда с улыбкой обслуживал своих клиентов.
Учитывая исходный материал, вышло очень хорошо. Надо будет ещё помучать ChatGPT подсказками, поперебирать стили, вполне возможно удастся сделать ещё лучше.
Дополнено: родственные связи в тексте не вычитывал, вполне может быть, что при трансформации текста истина в этом месте пострадала.
Бархат
Переписываюсь со вчерашнего с одной мастерской в Кирове, — хочу заказать у них бескаркасное кресло в детскую. Дочка сдружилась с соседской девочкой, они нередко ходят к друг другу в гости, надо организовать
Мастерская предложила несколько материалов на выбор — велюр, шенилл или рогожка, и пока я разбирался что это за названия, понял, что не люблю касаться бархата и всего, что на него похоже. Велюр и шенилл, насколько я понимаю, как раз на ощупь, как бархат.
Все эти материалы моментально впитывают воду, руки становятся сухие, от этого мне очень дискомфортно. Ненавижу это чувство пересушенных кончиков пальцев.
Неубиваемые вещи
На закрытом форуме «Вастрика» два года назад появился очень полезный тред «Неубиваемые вещи», где люди рассказывают про всякие штуки, которые служат годами без особого ущерба. При этом важно, чтобы эти штуки можно было купить, то есть сделанное собственными руками или старинное не подходят.
Я этот тред
Первым номером купил две доски Epicurean для кухни, — у нас как раз не осталось ни одной годной, хорошая развалилась в посудомойке, а на остальные без слёз не глянешь, пора менять.
Доски Epicurean делаются из того же материала, что покрытие скейтпарков, лёгкий, прочный, посудомойка ему нипочём.
Жена очень хвалит, я тоже очень доволен приобретением, пользуемся уже две недели, можем рекомендовать к покупке!
Самокатное
Два дня ездил на работу и с работы на арендованном самокате, — учитывая пробки и погоду, так быстрее и приятнее. Был неприятно поражён разнообразием зон ограничения скорости — на небольшом участке она может прыгать
Я так понял, это некая забота о пешеходах, не зря же на карте арендного приложения в этих местах расположены «пешеходные зоны». Беда в том, что тот, кто их вводил, сам, похоже, на самокате не ездит. Так как скорость арендованных самокатов сильно зарезана, я всегда езжу с ручкой «газа» открытой до упора. Не знаю никого, кто бы делал иначе — ровный «газ» держать просто бессмысленно.
В таком положении резкое увеличение скорости при выезде из пешеходной зоны может быть просто опасным — ты этого совсем не ожидаешь, а звуковой сигнал, который подаёт самокат, не всегда даёт достаточно времени, чтобы скинуть скорость.
Пока я ни в кого не врезался и надеюсь избегать этого и в будущем, но очень неприятно, что приходится ехать по этим зонам в постоянном напряжении.
auto в Си и Си++
Несмотря на неприязнь к Си++,
Одна из таких мелочей — ключевое слово auto. Оно есть и в Си, но значение у него совершенно другое, в современном коде, как будто бы, его использовать негде.
В Си++ оно означает автоматический вывод типа, вместо его явного указания. Клёвая штука, позволяет делать например такое (пример из кода
auto old_mode = set_tty_special_mode();
// тут какой-то код
restore_tty_mode(old_mode);Фишка тут в том, что у set_tty_special_mode и restore_tty_mode две реализации — под «Виндоуз» своя. Эти две реализации работают с разными типами, под «Виндоуз» там DWORD, в остальных случаях — структура termios.
В Си было бы
#ifdef __MINGW32__
#typedef DWORD terminal_mode
#else
#typedef struct termios terminal_mode
#endif
terminal_mode old_mode = set_tty_special_mode();
// тут какой-то код
restore_tty_mode(old_mode);А в Си++ можно просто поставить auto и обойтись без шаблонного кода. Очень хочется иметь такую клёвую примочку и в Си.
«Гопник-2»: новости
Может показаться, что после релиза
Как можно догадаться по этой заметке, это не так. За последнее время я исправил несколько незначительных багов и реализовал
Я долго не понимал как во внутреннем АПИ игры формируются
Шокер может вывалиться из одного из неигровых персонажей и немного оживляет бои, а то они очень уж скучные.
Думаю добавить в ларёк ещё пару предметов, а так же новую локацию. Так как пока не уверен стоит ли её добавлять, не буду писать какую. После всех добавлений выпущу следующий релиз.
В общем, игру потихоньку развиваю, хоть фантазия
Beta than nothing
В результате изделие, чей сектор больше всех, развивается быстрее и постепенно уходит в отрыв. Эта картина совершенно не зависит от качества товаров, а исключительно от начального распределения. Вот и получается что стандартом
де-факто становится наихудший товар из работоспособных — изделие наименее добросовестных разработчиков, стремящихся побыстрее застолбить место, первыми выбросив на рынок плохо продуманную «сырую» дрянь.
— из приложения «Знакомимся с кодировками символов» к книге «Фокал снаружи и изнутри».
Принцип известен в программировании как «Beta than nothing».
К сожалению, именно так это и работает, — пока ребята из Вилларибо вылизывают свой код и постепенно разоряются, жители Виллабаджо уже наговнякали прототип, продали его за денежки и доводят его до ума на живом заказчике, который их проклинает, но деться уже никуда не может — деньги на внедрение уже потрачены.
Ничего не поделаешь, это стороны одной монеты — мы любим, чтобы всё появлялось быстро, но при этом закономерно жалуемся на сопутствующие баги, хотя они суть последствия аврала и спешки, в которых сейчас принято разрабатывать программное обеспечение.
На этом принципе взлетел
Любопытно что тут поменяет искусственный интеллект.
В принципе, переводить мысли в понятный машине код будет проще, — не надо учить никакие машинные языки, оно там
Классное время настанет для креативных людей!
Чей почерк?
Уходящее, кажется, умение — понимать чьей рукой написан текст.
Чем дальше, тем меньше мы пишем руками, скоро, думаю, само умение ухватывать стиль письма из почерка пропадёт, так как навык замечать разницу совершенно не тренируется.
Я имею ввиду не умение различить два разных почерка, а умение запомнить и сказать в другой раз на какой из показанных он был похож.
Примерно, как запомнить оттенок цвета. Попробуйте, например, не глядя на стену, выбрать её цвет в графическом редакторе. Вот я не смогу,
В будущем, если понадобится, будем у нейросеточек спрашивать, — а кто это написал из моих предков? А это? Это тот же самый почерк или другой?
Милота
Милота — Ева написала своей
Агафия Захариевна Макридина
Все мои ближайшие предки, к сожалению, жили в деревнях. К сожалению, потому что в деревнях редко выпадал случай сфотографироваться,
Я всё ещё надеюсь, что
Как я уже писал, недавно познакомился с дальними родственниками, с которыми до этого не был знаком, а у них сохранились
На ней хоть и не мой предок, но тоже родственник, хоть и ментальный, — мачеха моей прабабушки Груни — Агафия Захариевна Макридина, примерно 1870 года рождения.
ЧатГПТ и понимание смысла
Илья Бирман в своём блоге опубликовал небольшую заметку на тему понимания ЧатГПТ смысла. Он попросил нейросеть ответить ему через пятнадцать минут. Естественно, с заданием она не справилась.
Пример некорректный, потому что тестируется совершенно другое. Я, например, смысл фразы понимаю, но через пятнадцать минут без часов ответить не смогу.
На мой взгляд, очень просто проиллюстрировать отсутствие у ЧатГПТ понимания смысла примером на скриншоте, — я всего лишь дважды попросил ничего не отвечать на моё сообщение.
Поиск «Яндекса» по архивам
Те, кто занимается генеалогией не могли не заметить, что «Яндекс» выкатил очень полезный сервис «Поиск по архивам», позволяющий искать по некоторым архивным фондам.
Этих самых фондов там пока мало, но это неважно, важно то, что у «Яндекса» получилось довольно неплохо распознавать рукописный текст. Пока до идеала далеко, но прежде нам и такое не было доступно.
Искать пока тяжело — много ложных срабатываний, но если взять
Сразу нашлось несколько интересных записей, которые ручным поиском не найдёшь — нет признаков по которым можно понять, что в этих делах могут упоминаться мои предки или родственники.
Покажу что удалось найти и как выглядят записи, чтобы можно было оценить на что способен движок распознавания рукописного текста.
Семён Венедиктович (1885—?) — потомок моего прапрапрадеда Павла Степанищева.
Яков Платонович Степанищев (1865—?) — прапрадед, Жилины — родственники по той же стороне.
«Пристроить» в дерево удаётся не всех, вот один из примеров — Евдоким Михайлович Степанищев, кто он мне — непонятно. Таких беспризорных записей нашлось несколько штук, не стал их все скриншотить.
Василий Васильевич Степанищев (1873—?) — опять же потомок моего прапрапрадеда Павла Степанищева.
А тут Феврония Фроловна (1892—?) и Герасим Павлович (1887—?), потомки моего прапрапрапрадеда Григория, выступают свидетелями на бракосочетании.
В каждом из текстов под скриншотами мне пришлось исправить много опечаток, но общий вывод — пользоваться этим можно, польза есть.
Незаменимо, если вообще непонятно откуда начинать. Такое бывает, например, если неизвестна география, а тут хоть
«Гопник-2»: переход на нормальный Си++11
Как я писал прежде, когда я адаптировал
Тут у нас в Татарстане выдались длинные выходные, — в праздник
Вызов _fileno у меня использовался для получения номера дескриптора входного потока, так что тут всё решилось просто, — для этого есть специальная константа STDIN_FILENO. А вот с strdup пришлось повозиться.
Сначала я, разумеется, сделал свою реализацию — там
Первым делом пошёл на поклон к «ЧатГПТ», спросил совета. Советы не заработали, но дали направление мысли.
Первая мысль была забахать макрос, который заменял бы собой strdup в проблемном компиляторе, а остальные не трогал. Тут надо сказать, что под «Виндой» далеко не во всех наборах утилит компиляторы не содержат функцию strdup, например в msys2 она есть.
Мне хотелось
Пришлось пошарить по исходникам. Оказалось, есть ряд макросов, которые присутствуют в msys2, но отсутствуют в msys. Из них я выбрал __MINGW64_VERSION_MAJOR:
#if defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR)
#define strdup(s) (__extension__({ const char* __s = (s); size_t __l = strlen(__s) + 1; char* __d = (char*)malloc(__l);\
__d ? (char*)memcpy(__d, __s, __l) : nullptr; }))
#endifТут используется расширение, которое позволяет писать многострочные макросы. Хотя этот вариант мне и нравится, но опять используется не нормальный Си++, а расширение компилятора.
Вторая мысль, на которую меня навела нейросеть — использовать слабые символы языка Си++. Это совершенно новая для меня штука, поэтому нужно небольшое пояснение. Прежде всего для меня же, чтобы я в будущем не забыл что это вообще такое.
Если упрощать, то символы — это экспортируемые именованные сущности. Те, что
Слабые символы используются для библиотек, чтобы пользователь мог заменить некоторые сущности, если они его не устраивают.
Если перевернуть ситуацию, и считать мой код библиотекой, а тот код, где должна быть определена strdup основным, то всё должно получиться.
«ЧатГПТ», к сожалению, помочь не смог, — сначала подсовывал нерабочий код, а потом зациклился в своих советах. Поэтому пришлось разбираться самостоятельно.
Всё оказалось не так уж и сложно. Сначала в заголовочном файле определяем прототип функции:
#ifdef __MINGW32__
char *strdup(const char *s1);
#endifЯ его спрятал под условие, чтобы мой редактор перестал ругаться на избыточное определение, но всё работает и без этого.
Потом в самом коде создаём слабый символ для strdup:
#ifdef __MINGW32__
#pragma weak my_strdup
char *strdup(const char *src) {
size_t len = strlen(src) + 1;
char *s = (char *) malloc(len);
return s == nullptr ? nullptr : (char *) memcpy(s, src, len);
}
#endifСлабый символ я определяю через директиву #pragma weak, у которой надо указать имя слабого символа, причём оно должно отличаться от имени функции. Я пока не до конца понял зачем это нужно делать, но без этого не работает.
Кстати, #pragma weak тоже расширение, но оно легко заменяется на атрибут weak, надо только будет изучить его синтаксис, я не успел этого сделать.
На имя my_strdup у меня ругается редактор — говорит, что слабый символ нигде не определён, поэтому я опять же засунул всё это в условную компиляцию.
В выходные, как всегда, есть куча дел, кроме хобби, поэтому до конца я разобраться не успел и буду рад, если
Дополнено: в итоге все ситуации я побороть не смог и откатился на самое простое решение со своей собственной реализацией strdup.
«Назаваль»
Сейчас многие аллергики, в том числе и я, страдают от весеннего цветения. Пьют таблетки, стараются меньше появляться на улице. Хочу посоветовать средство, которое выручает меня, когда ничего уже не помогает.
Это барьерный противоаллергенный препарат «Назаваль», — порошок, который при вдыхании образует плёнку на слизистой носа и помогает меньше контактировать с аллергенами в воздухе.
К сожалению, пользоваться им
Ненормальный цикл на «баше»
Сегодня в чате бывших коллег на фоне вопросов по одной из вакансий случилось обсуждение на тему что делать, если на собеседовании спросили как написать на «баше» цикл от одного до десяти, а ты не помнишь синтаксис for и команду seq тоже не знаешь.
Предположим ты честно говоришь, что не помнишь, а тебя просят
Мой вариант:
Everyone is my brother, but some are brothest
Как я уже писал, у меня есть несколько спорная, но пока статистически хорошо подкрепляемая теория о том, что все Степанищевы — родственники.
Я в ней так уверен, что в прошлом году заключил любопытное пари. К нам пришёл на удалённую работу парень из Бугульмы
Вот на эту тему мы и поспорили, — родственники мы с тем приятелем или нет. Решили выяснить. Сначала я связался с самим претендентом на родство, потом с его папой и мы довольно легко нашли общие корни.
Диапазоны в Си
Почитал тут на досуге какие ещё расширения есть у «ГНУ Си». Хотя я их и не использую, но знать не помешает. Оказалось, что там много такого, что лично мне хотелось бы видеть в языке. Например, хорошая штука — диапазоны. Выглядят они так:
const char *whatisit(char code) {
switch (code) {
case 'a' ... 'z':
return "lowercase";
case 'A' ... 'Z':
return "capital";
case '0' ... '9':
return "digit";
case 0 ... 31:
return "special";
default:
return "unknown";
}
}Но написал я про них не только потому что мне нравится конструкция, но и потому, что оказалось, что меня неконсистентно бесит пробел слева от многоточия, который надо обязательно поставить, если диапазон начинается в цифры.
Если его не будет, компилятор подумает, что перед ним число с плавающей точкой и заругается на ошибку синтаксиса.
Непонятно почему меня это так раздражает. Ну пробел, это же не первый синтаксический костыль, который я вижу,
Перекодировка вручную
Меня удивляет, что многие программисты сейчас не умеют перекодировать строку в ошибочной кодировке вручную, даже если знают как она получилась.
С различными кодировками сейчас мало где можно столкнуться, тем не менее мне неясно в чём сложность задачи. Вроде даже ничего знать не надо.
Например, я вижу вот такую строку: Требуется авторизация. Она так выглядит, потому что она была в кодировке
iconv -f utf8 -t cp1251 <<<"Требуется авторизация"
Требуется авторизацияГиперссылки в терминале
Решил сегодня скоротать вечерок со статическим анализатором в gcc — уже несколько раз натыкался на статьи о нём, пока читал про Си++. Всё откладывал знакомство и вот решил посмотреть.
Попробовал проанализировать им исходники
Пока читал, что мне вывелось, заметил, что в терминале работают гиперссылки. Не знал, что такая возможность есть. Про графику слышал, а про гиперссылки — не припомню,
Выше на скриншоте их хорошо видно — они подчёркнуты прерывистой линией. В данном случае по ссылкам можно перейти на документацию о соответствующей ошибке, очень удобно.
Штука достаточно свежая и поддерживают её не все терминалы. У себя попробовать можно вот так:
printf '\e]8;;https://bolknote.ru\e\\Сайт Степанищева Евгения\e]8;;\e\\\n'
ChatGPT 3.5 vs 4
Пару дней подряд мучал нейросеть GPT разных версий. Мне хотелось нащупать язык, по которому у этой модели пограничные знания. Примерно как у меня в татарском —
Целью было проверить насколько можно дополнить неполные знания инструкциями из интернета, догружая отсутствующие знания прямо в окно диалога.
Попробовал на примере
С версией 3,5
К сожалению, размера контекста у ChatGPT не хватило, чтобы дойти до конца, но в целом, считаю, эксперимент прошёл удачно, а вывод такой — если дать возможность модели
С четвертой версией вышел облом, дело застопорилось в самом начале. Сеть каждый раз отвечает
Unfortunately, we cannot provide
a step-by-step guide for rewriting the program in COBOL as it requires a deep understanding of the language and its syntax. However, we recommend consulting resources and tutorials specific to COBOL programming.
И сильно дальше этого мне пока продвинуться не удалось. Осложняется всё тем, что у меня сейчас нет доступа к
Поэтому я его переношу между запросами руками и, вероятно, делают это неправильно — просто наивно копирую целиком в следующий запрос, а надо, наверное,
Слеш в имени файлов «МакОСи»
Принято считать, что в мире «Эпла» легко избавляются от наследия, невзирая на несовместимость программ или оборудования. В большой степени так оно и есть, но иногда можно наткнуться на очень странные штуки, которые до сих пор используются:
Another obvious problem is the different path separators between HFS+ (colon, ’:’) and UFS (slash, ’/’). This also means that HFS+ file names may contain the slash character and not colons, while the opposite is true for UFS file names. This was easy to address, though it involves transforming strings back and forth.
The HFS+ implementation in the kernel’s VFS layer converts colon to slash and vice versa when reading from and writing
to the on-disk format. So on disk the separator is a colon, but at the VFS layer (and therefore anything above it and the kernel, such as libc) it’s a slash. However, the traditional Mac OS toolkits expect colons, so above the BSD layer, the core Carbon toolkit does yet another translation. The result is that Carbon applications see colons, and everyone else sees slashes. This can createa user-visible schizophrenia in the rare cases of file names containing colon characters, which appear to Carbon applications as slash characters, but to BSD programs and Cocoa applications as colons.
На скриншоте видно как это выглядит в жизни: в командной строке создаём папку с двоеточием в имени, в Файндере в этом месте — слеш. В цитате такое поведение метко названо «шизофренией».
Кирпич «Боровичи ALFA»
Постоянные читатели блога знают, что очень люблю находить малые исторические артефакты. В частности мне нравятся дореволюционные кирпичные клейма, которых я нашёл очень много.
Сейчас я уже почти не нахожу новых, хотя редкий раз удаётся увидеть
Не очень чётко видно, но на кирпиче стоит клеймо «Боровичи ALFA». ALFA — это класс огнестойкости (до 2100°С), а Боровичи — город в Новгородской области, откуда в Казань попадало немало кирпичей разных производителей, видимо были налажены хорошие торговые связи.
История завода хорошо описана у известного коллекционера кирпичей Владимира Смирнова:
В 1888 году в местечке Лысцово недалеко от Боровичей предприниматели (также с немецкими корнями)
инженер-технолог Фридрих Карлович Тауцен, статские советники Николай Васильевич Нерлинг и Владимир Карлович Бекман построили завод для производства огнеупорных изделий «Надежда». В 1893 году ими было образовано «Товарищество производства глиняных и гончарных изделий» (сокращенно ТОПГИ). Несмотря на несколько случившихся за период работы пожаров (в частности, в 1897 году), к 1903 году завод набрал мощности и имел 2 производственные площадки.В 1913г. Товарищество было ликвидировано и заводы вошли в состав «Общества Боровичского завода огнеупорных, кислотоупорных изделий и канализационных труб бывш. К. Вахтера и Ко».
Умная собачка «Соня»
Купил дочке нового друга — очень ей хотелось
По такому техзаданию, если честно, найти ничего в магазинах не удалось. Есть на выбор — либо всё требуемое умеет, но из пластика, либо с мехом,
Решил посмотреть нет ли чего похожего в забугорных магазинах
Я не знал, что он уже не производится, а то бы не стал дальше искать. Но повезло и на «Авито» нашлось
Дочка роботу чрезвычайно обрадовалась и назвала «Соней», в честь серии рассказов про умную собачку Соню. Пока с ней не расстаётся, таскает из комнаты в комнату за собой.
Наш пёс Бейсик, по всей видимости, ещё не решил как относиться к новому приобретению, — с одной стороны собакой от робота не пахнет, с другой робот лает и дышит, как настоящая собака. Пока робот не двигается, Бейсик не реагирует, а когда начинает двигаться и лаять, осторожно смотрит
«Из» → «с»
Грустно, но кажется замена предлога «из» на «с», на которую я обращал внимание несколько лет назад, становится новой нормой. Я сужу по тому как меняется частотность этой замены в текстах со временем. Самое главное — непонятно с чего вдруг так много людей стали приверженцами этого изменения.
Понятно, что язык меняется, но мне очень не нравятся потери в языке, я против. Я имею ввиду — когда пропадают
Кажется многие уже настолько небрежно пишут и допускают столько ошибок, что понимать друг друга становится всё тяжелее. Я недавно обратил внимание, что иногда добиться ответа от людей на свой вопрос невероятно сложно, такое ощущение, что у каждого в мозгу срабатывает
А так как коррекция у каждого своя, ответы сыпятся
Особенно очевидно это становится по сравнению с нейросетями, которые хоть и высасывают из пальца часть ответа, но всё же возвращают веру в то, что я ещё умею формулировать вопросы.
Промпт-инженер
Сейчас многие говорят о рождении профессии будущего —
Не уверен, что у этой профессии действительно есть будущее, ведь вся история развития компьютеров антропоцентрична, — больше пользы от компьютера, который начинает лучше понимать естественный язык, а новые языки программирования никому, кроме специалистов, не интересны.
Поэтому я думаю, что звезда
Приживутся
Я уже немного пожаловался на то, что иногда люди хуже понимают, что я хочу спросить, чем нейросети, а дальше, кажется, будет ещё веселее. Нейросети будут всё умнее, а люди, совсем расслабившись, — в среднем ещё глупее. Думаю, это будет заметно уже в ближайшее время.
То ли нас ждёт расслоение на элоев и морлоков, то ли
Тот и другой сценарий так себе, у меня одна надежда — на кардинальную реформу образования. Я чувствую, что мы
Надеюсь нейросети смогут вырабатывать для нас не только лёгкую мозговую нямку в реальном времени, но и помогут выработать качественные персонализированные методы обучения.