«Мы — Легион. Мы — Боб»
Похоже книга «Мы — Легион. Мы — Боб» Денниса Тейлора как раз из таких. Не скажу, что у Боба, главного героя проблемы незначительные, но решаются они без особых сложностей, да и сильных, долговременных эмоций он по этому поводу не испытывает.
К сожалению уже в следующей книге постепенно назревает серьёзный кризис до разрешения которого я ещё не дошёл, поэтому мне всё сложнее двигаться дальше. Но, надеюсь, Боб меня не разочарует и справится с проблемой
Выкинули ёлку
Дома на Новый год мы всегда ставим живую ёлку, а по традиции, которую завели несколько лет назад, даже две — ещё одну, небольшую ставим в дочкиной комнате. Под «ёлкой» я имею ввиду любое новогоднее хвойное дерево — ёль, пихту, сосну и так далее, за прожитые годы мы много что ставили.
Мне не раз говорили, что срубать ёлки — плохо, потому что страдают леса. Ребята, какие ещё леса? Покупайте ёлки на официальных ёлочных базарах, где продаются ёлки из питомников, специально выращенные к празднику. Мимо одного из таких больших питомников я часто езжу, вижу как их там растят от и до.
После окончания праздника, чтобы не сорить потом хвоёй во всём подъезде и не мучаться с уже почти сухим деревом в лифте, мы отрезаем ёлке ветки секатором до голого ствола, упаковываем отрезанное в большие биоразлагаемые мешки и относим на мусорку, либо, если удаётся, в специальные контейнеры для сбора ёлок — их иногда устанавливают, но не каждый год.
Кажется, что в этом много возни, но мне, если честно, даже нравится сам процесс. Не то, чтобы я сделал бы это своим хобби, но раз в год разрезать секатором две ёлки — приятная физическая нагрузка, рекомендую.
«Виола» и безопасность
Когда я только начинал заниматься восстановлением браузера «Виола», меня поразило как много он себе позволяет делать в системе. Если бы браузер с такими возможностями и с полным отсутствием защиты от несанкционированного их применения дожил до конца девяностых, хакеры бы от его репутации камня на камне не оставили.
Конечно,
At this point you’re probably thinking how great this this, but how do I know that the applets I run won’t delete my files, smuggle info out of my system, and do other mischiffs?
The answer is that these imported objects can’t (or shouldn’t be able to).
The current security policy is pretty straightforward and somewhat limiting for the objects. It basically goes this way: all imported objects are marked as untrusted, and as such these imported objects have no system priviledges, have no access to sub interpreters, and can not coarse other objects to execute scripts arbitrarily.
Видимо эта работа так и не была завершена, но, что радует, была начата. Я изучил всё то, что автор писал по этому поводу у себя на сайте, в группах рассылок и коде браузера и тщательно описал что именно было сделано. Потом я определил, что нужно доделать в коде, чтобы обеспечить минимальную защиту компьютера пользователя от вредоносных сайтов, и приступил к работе.
Конечная реализация вышла довольно прямолинейной. Браузер может работать в одном из двух режимов: защищённом и нет. Когда браузер переходит
В популярном приложении одно э́то было бы проблемой, но я не вижу смысла спрашивать разрешение и для локальных страниц, так как это осложнит мне тестирование браузера. Так что я себе проделал небольшую брешь в защите.
Из защищённого режима браузер переключается в режим без защиты только с разрешения пользователя, переключение инициируется, если во время интерпретации скрипта встречается вызов, требующий переключения в доверенный режим (например, работа с файловой системой или открытие сокета), а так же, если на странице установлен тег SECURITY с атрибутом LEVEL=0.
Оказывается, автор браузера предосмотрел такой тег, но не успел реализовать. Название атрибута в коде уже было, а вот его значение — это моё обоснованное предположение. В коде есть центральный флаг securityMode, принимающий два значения — 0 (система безопасности отключена) и 1. Я предположил, что атрибут LEVEL должен влиять на значение этой переменной.
Если пользователь не согласился на переход в доверенный режим, вызов, запросивший повышение привилегий, завершается с нефатальной ошибкой — там, где можно вернуть флаг того, что произошла ошибка, я это делаю. Как только браузер встретит следующий такой вызов, он опять попросит разрешения сменить режим. Тут, опять же, слабое место, — можно заспамить пользователя такими запросами. Собственно, эта проблема была в любом браузере девяностых годов.
Решается она просто. Например, можно добавить в диалог галочку «больше не спрашивать» и не позволять его вызывать до перехода на другую страницу, но это настолько не в духе браузеров тех годов, что я тоже не стал этого делать.
Если мы перешли в доверенный режим, то он сбросится на следующей же странице, загруженной из интернета.
Я потратил так много усилий и токенов нейросетей, чтобы сначала понять замысел автора, потом придумать в её рамках реализацию, закрывающую все белые пятна, а потом реализовать, что немного выдохся и пока больше таких больших доработок не делал, да и токены надо бы поэкономить. Поэтому пока что я доделываю всякие мелочи и дописываю документацию.
Но не будь нейросетей… Я уже не раз повторял это в частных разговорах, но, кажется, ни разу не писал у себя в блоге: без нейросетей я бы этим заниматься не стал. Усилие от реализации этих доработок без нейросетей во много раз перекрывает удовольствие от этой работы.
Дочка и домашка
Наблюдал сегодня как дочка делает домашку по математике. Мне редко удаётся за этим понаблюдать, так как обычно всё успевает в школе, но сегодня мы её забрали пораньше — она себя
Сделала всё обязательное, а так как до сна ещё оставалась
Задание следующее: в 2021 году сумма цифр была 5, надо сказать через какое наименьшее число лет повторится такая же сумма тех же цифр, какой это будет год.
Решила, на мой взгляд, вполне эффективно — сначала выписала все варианты на первые две позиции — «10», «12», «20», «21», «22». Потом вычеркнула оттуда «10» и «12», потому что год получался в прошлом, следом убрала 20, где оба варианта не подошли, потом взяла «21», где взяла минимальный год из «2102» и «2120» и таким образом нашла правильный ответ.
Я, кстати, тоже никакого способа, кроме перебора, больше не знаю. На всякий случай перепроверил ответ на Пайтоне:
from itertools import permutations
print(min(x for x in (int(''.join(x)) for x in permutations('2021')) if x > 2021)) # 2102
Марк Робер передаёт привет
Детские Наборы Марка Робера, которые я раньше покупал на «Ебее», теперь вполне официально продаются на российских
Очень хотелось порадовать
Подарил сегодня все три набора, один она уже собрала. Собирала арбалет, ходит теперь по квартире довольная, стреляет во всё подряд мягкими пульками.
Прикольно, что в одном из наборов попалась записка! Мы с дочкой, как истинные фанаты, надеемся, что это писал сам Марк Робер! Сегодня написал ему в одну из соцсетей, спросил, посмотрим что ответит.
Особый режим «Веб-архива»
Вчера я, занимаясь «Виолой», случайно узнал Полишинеля. Подозреваю, что многие знают, а для меня это новость.
Видимо
Я пытался с этим бороться, вырезая ненужную мне вставку, но это не всегда нормально работает. Вчера я догадался погуглить есть ли
В ссылку после даты надо всего лишь добавить слово id_!
Например, эта страница откроется с баннером:
https://web.archive.org/web/19971210184100/http://info.cern.ch/
А эта — без:
https://web.archive.org/web/19971210184100id_/http://info.cern.ch/
Крылатые фразы
Никак не мог для себя решить так ли важно для меня кому принадлежит цитата. Видимо это зависит от самой цитаты.
Настолько ли важно, что именно Ленина вспоминают в связи с фразой «учиться, учиться и учиться», а не Чехова, например? Хотя он за три года до Ленина писал:
Учиться нам нужно, учиться и учиться, а с глубокими общественными течениями погодим: мы ещё не доросли до них и, по совести, ничего в них не понимаем.
Важен ли контекст сказавшего фразу, чтобы утвердить её значение? Видимо Ленин
Возможно дело в былых масштабах личности Ленина и остальных претендентов на эту фразу, что делало её как будто весомее.
Да ведь и ленинская фраза, по сути, выдрана из контекста. Я её всю жизнь воспринимал как «учиться — важно», хотя Ленин говорил про тяжёлые условия в которых рабочие «растут над собой»:
В то время, как образованное общество теряет интерес к честной, нелегальной литературе, среди рабочих растёт страстное стремление к знанию и к социализму, среди рабочих выделяются настоящие герои, которые — несмотря на безобразную обстановку своей жизни, несмотря на отупляющую каторжную работу на фабрике, — находят в себе столько характера и силы воли, чтобы учиться, учиться и учиться и вырабатывать из себя сознательных
социал-демократов, «рабочую интеллигенцию».
Тут как будто бы наоборот, хотелось бы оторвать фразу от автора, чтобы придать ей самостоятельный смысл. Но сама по себе она слишком слаба и поэтому нуждается в авторитетном авторе.
А недавно я услышал фразу «играешь в глупые игры — получаешь глупые призы». Она, мой взгляд, без указания авторства ничего не теряет, фраза остроумная, смысловая и очень сильная.
Вывод, наверное, такой.
Похоже, вопрос не в том, «кто сказал», а в том, зачем мне это знать. Иногда имя нужно как подпорка: мысль сама по себе ещё не держится, и мы берём её «в кредит»
Наверное, это и есть простой тест: если без автора фраза рассыпается — значит, важнее история вокруг неё. Если стоит — значит, она уже стала не цитатой, а наблюдением.
99 бутылок: Basic в UNIXv4
А раз я узнал как запустить UNIXv4, грех не воспользоваться возможностью посмотреть что там за языки программирования есть на борту. Ассемблер и Си меня не заинтересовали, но оказалось, что в комплект входит довольно интересный «Бейсик», маленький, но мощный.
На нём я и решил написать «Песню о пиве».
86. Basic в UNIXv4 работает в двух режимах — интерактивном, в нём операторы вводятся без номера и выполняются сразу же, и программном, где номер строки указывается, а оператор запоминается для последующего выполнения. Этими двумя режимами можно пользоваться вперемешку.
Редактора нет, набивать программу нужно сразу в буфер интерпретатора, либо создавать при помощи стороннего редактора. Важно не ошибиться, так как редактировать программу можно только полной заменой строки, указав новому варианту тот же номер.
Почти во всём это довольно стандартный «Бейсик», но тут есть две особенности.
У меня в коде есть пугающая конструкция goto 2110 + 10 * ((arg(1) > 0) + (arg(1) > 1)). Выглядит страшно, признаюсь, я её специально запутал, так, мне кажется, лучше передаётся дух эпохи, судя по старым программам, так вполне могли тогда написать.
На самом деле тут всё просто: выражение в скобках для нуля даёт ноль, для единицы — единицу, а для значения больше единицы — двойку. Это нужно для условного перехода на разные части подпрограммы, так как строкового типа нет и единственный способ вывести нужную строку — передать её в print как есть.
Кроме числового типа (числа с плавающей точкой тоже поддерживаются), есть массивы, причём даже двумерные с индексами от нуля до 32768.
10 for i=0 98
20 2000(99-i)
30 2100(98-i)
40 print
50 next
60 print "No more bottles of beer on the wall, no more bottles of beer."
70 print "Go to the store and buy some more, 99 bottles of beer on the wall."
80 done
2000 if arg(1) == 1 goto 2030
2010 print arg(1) " bottles of beer on the wall, " arg(1) " bottles of beer."
2020 return
2030 print "1 bottle of beer on the wall, 1 bottle of beer."
2040 return
2100 goto 2110 + 10 * ((arg(1) > 0) + (arg(1) > 1))
2110 print "Take one down and pass it around, no bottles of beer on the wall."
2115 return
2120 print "Take one down and pass it around, 1 bottle of beer on the wall."
2125 return
2130 print "Take one down and pass it around, " arg(1) " bottles of beer on the wall."
2135 return
runПрограмму, которая у меня получилась и её вывод я заскриншотил для истории. Интересно, конечно, когда в последний раз на этом «Бейсике»
«Вампус» и ChatGPT 5.2
Прочитал тут новость, что недавно была обнаружена лента с кодом операционной системы UNIXv4. Этот код считался утерянным, но в декабре его смогли восстановить с ленты и я, конечно же, сразу пошёл смотреть что из себя представлял Юникс в 1973 году.
Ничего особо интересного, кстати, команд — кот наплакал. Некоторые вполне узнаваемы (cat, например, или pwd), некоторые выглядят непривычно (chdir вместо cd), а некоторых нет вовсе (sed, awk).
Зато есть несколько игр, одна из которых — моя старая знакомая, игра «Hunt the Wumpus». Моё знакомство с ней началось с поисков игры «Убей вампира»
Игра текстовая и очень простая для программирования, я её несколько раз реализовывал, например, для наручных часов «The Sensor Watch», но это не значит, что я умею в неё играть! Я
В этот раз я тоже не стал заморачиваться, а вместо этого решил посмотреть — выстроит ли стратегию
Первые три игры нейросеть проигрывала, выясняя правила (они отличаются от реализации к реализации), а после, получив все подробности, начала выигрывать. Я сыграл с её подсказками пять партий, все пять она выиграла.
Сетка утверждает, что единственная возможность проиграть — на первом ходу, там слишком мало информации, а дальше, если играть аккуратно, проиграть уже невозможно.
«Mörderische Entscheidung» (1991)
Сегодня я узнал, что в 1991 году был снят эксперементальный двухканальный фильм «Mörderische Entscheidung» («Убийственные решения»).
Премьера состоялась с Германии 15 декабря 1991 года одновременно на общенациональных каналах Das Erste и ZDF. Два канала синхронно показали две параллельные версии фильма: одну — глазами героини, другую — глазами героя. По сюжету молодая женщина сталкивается с опасным
Зрителям предлагалось активно переключаться между каналами в процессе просмотра. В анонсах подчёркивалось, что «зритель сам ведёт камеру — благодаря пульту», и при умелом переключении можно составить «свой собственный детектив».
Вполне очевидно, что технически эксперимент был реализован через синхронную передачу двух версий фильма по двум каналам. В Германии эту кооперацию осуществили две крупнейшие общественные телекомпании, согласовав единое эфирное время.
Помимо Германии, проект был реализован и в других странах. Показы состоялись в Австрии, Нидерландах, Италии и Испании.
В целом, концепт получил признание как интересный телевизионный эксперимент, однако в художественном плане фильм называли скорее рядовым. Современные обзоры ретроспективно оценивают его довольно сдержанно — например, один из авторов назвал фильм «скучноватым
Фильм так же выходил на полуцифровом полуанаголовом носителе
Много позже, 1 января 2000 года в Дании состоялся грандиозный проект «
Каждый из режиссёров вёл своего персонажа, а зритель при помощи пульта мог смонтировать в реальном времени свою версию событий. К сожалению, зрители перфоманс не оценили — сюжет оказался плохо читаемым и в итоге эксперимент провалился. Празднующие датчане довольно быстро перестали понимать, что вообще происходит.
Жаль, что редкие эксперименты в этом направлении не вылились в новый телевизионный формат. Я бы в детстве, мне кажется, рад был бы смотреть
Cardputer: Game Boy
Посмотрел несколько эмуляторов, доступных в рамках «Гейм Стейшн» на «Кардпьютере». Больше всего мне понравилось играть в эмуляторе «Гейм Боя».
У остальных приставок экран больше и при масштабировании под «Кардпьютер» чаще всего разрешения не хватает, чтобы нормально всё разглядеть. Если фигурки видно
Правда, даже если видно всё нормально, в динамические игры всё равно не поиграешь нормально — кнопочки уж очень маленькие. Хотя, может это дело привычки? Я заказал себе небольшой джойстик, посмотрим как с ним будет — «Гейм Стейшн» его поддерживает «из коробки».
Проблема в том, что джойстиков для «Кардпьютера» несколько, а «Гейм Стейшн» поддерживает, насколько видно из документации, только один из них. Надеюсь китайцы не подведут и пришлют нужный. Буду ждать, обещают в конце месяца.
Добавлено 19.01.2026: оба китайца (заказывал в двух разных магазинах) без лишних слов отменили заказ. Как я понял, эти джойстики больше не производятся.
Cardputer ADV
Жена подарила на Новый год «Кардпьютер» — это такой небольшой специализированный компьютер. Утверждается, что он размером с кредитную карту, отсюда и название. Я прикладывал, так оно и есть, только толщина другая — примерно с мой палец. Но всё равно он довольно компактный.
Вообще, он предназначен для прототипирования, для этого у него целая куча разных разъёмов, но мне он в таком качестве малоинтересен, зато на него можно накатить «Гейм Стейшн» и играть в игры через эмуляторы.
На скриншоте у меня запущен «Принц Персии» в эмуляторе «Нинтендо». Экранчик, конечно, совсем маленький, но в таком
Надо бы посмотреть что он ещё умеет, не успел ещё как следует с ним познакомиться. Знаю, что к нему можно докупить модуль «ЛоРа» и подключить к «мештастику», но пока
Первая учительница и кирпич
В школе меня распределили в класс «Д». Сейчас я знаю, что чем ближе буква к началу алфавита, тем более способные дети собраны в классе. Я помню, что единственным учебным навыком, с которым я пришёл в школу, был счёт до ста. Писать и читать я не умел, так что, наверное, буква «Д» для меня тогда была закономерна.
Первая моя учительница руководила классом железной рукою. На трудах мы вытачивали деревянные указки для школы, которыми наша учительница потом била нас по голове, если мы шумели. Тупым концом, со всей силы. Указки со временем трескались и мы делали новые. А ещё мы считали на чьей голове сломается очередная указка. Количество сломанных об голову указок было поводом для гордости.
Когда я уже во взрослом возрасте занимался каратэ, сенсей
В этой связи я думаю, не подготавливала ли невольно моя первая учительница мой череп, разбивая об него свои указки, к тому что со мной произошло несколькими годами позже и пережил бы я тот случай, если бы не она?
На моём сайте есть оцифрованный из моих «дневников жизни» довольно скупой рассказ о том что случилось, датированный маем 1991 года. Но я его помню гораздо подробнее.
В тот день мы лазили с друзьями по недостроенному зданию недалеко от дома. Охраны и рабочих не было, поэтому мы беспрепятственно его обследовали. Но вскоре это занятие нам наскучило. И тут мне пришла в голову интересная, как мне тогда показалось, идея — залезть на бетономешалку, которая стояла рядом, разбежаться и запрыгнуть с неё в окно второго этажа.
В голове план казался надёжным, как швейцарские часы: я разбегаюсь, прыгаю в окно, цепляюсь предплечьем за бортик из кирпичей, видневшийся в окне, и подтягиваюсь внутрь.
Жаль, что я не знал, что кирпичи не были посажены на раствор, с бетономешалки мне этого видно не было. В общем, я разбегаюсь, прыгаю, цепляюсь за кирпичи и, сгребая их, лечу вниз.
Чисто перекатываться после прыжка с такой высоты я не умел,
Шарахнуло сначала по голове, потом по правой руке. Удивительно, но голова сильно не болела и не кружилась. Мой друг детства Дима Полуян, с которым мы лазили по той стройке, сильно перепугался, настоял, чтобы я сел на ступеньки первого этажа и начал меня расспрашивать о самочувствии, поэтому я хорошо помню тогдашнее своё состояние.
Я мало разбираюсь в прочности человеческих костей, но иногда думаю: не будь у меня такого своеобразного «тренинга» от первой учительницы, четырёхкилограммовый силикатный кирпич, летящий со второго этажа навстречу тринадцатилетнему мне, вполне мог бы оказаться фатальным.
Получается, что мне таким странным образом повезло, что у нас в школе практиковались телесные наказания. Сюжет, достойный Чака Паланика.
Голова, кстати, и потом тоже не болела. Но очень сильно болела рука, которой досталось после головы. Иногда она вдруг начинала очень противно ныть, но со временем и это тоже прошло.
Позже, уже на медкомиссии в военкомате, на стандартный вопрос о том, не было ли у меня сотрясений, я упомянул этот эпизод, и меня направили на рентген головы. В черепе обнаружились «пальцевидные вдавления», как я позже прочитал в своей карточке, но откуда они у меня — от указок, сломанных о мою голову в первых классах, или от кирпича — я не знаю.
«Виола»: тег CHANGED
Если верить «Википедии», веб появился в 1989 году. Его ранний период очень плохо сохранился, даже проект
В «Виоле» я часто нахожу начатые и неоконченные части реализации
Так случилось и с тегом CHANGED. Я давно заметил его в коде, но не понимал как он должен работать. По коду про него было известно, что он должен был выделять часть текста оттенком жёлтого (точнее — цветом LemonChiffon1), имел два атрибута ID и IDREF и при этом был не блочным.
Конечно, мне было непонятно что у него за атрибуты, но последнее всё ещё сильнее усложняло. Когда я начал читать код, то подумал, что это
Тогда я решил, что это просто ошибка в коде и реализовал тег так как я его понимаю. Но было непонятно что делать с атрибутами, особенно с IDREF. По имени понятно, что это
Я записал себе в список дел
В архивах начала
Ни одна ссылка не работала, зато по имени htmlplus.dtd нашлось несколько уцелевших спецификаций, где, как я и надеялся, упоминался искомый тег с небольшим описанием:
<!-- change bars defined by a matched pair of CHANGED elements:
<changed id=z34> changed text <changed idref=z34>
This tag can't act as a container, since changes don't respect
the nesting implied by paragraphs, headers, lists etc.
-->
<!ELEMENT CHANGED - O EMPTY>
<!ATTLIST CHANGED -- one of id and idref is always required --
id ID #IMPLIED -- signals start of changes --
idref IDREF #IMPLIED -- signals end of changes -->Собственно, из этого кусочка всё стало ясно. Тег задуман таким образом, чтобы как бы «выпадать» из обычной логики вложенности тегов — так как выделение текста может пересекать границы других тегов.
Вместо открывающего и закрывающих тегов тут применяется тег с атрибутом ID для обозначения начала участка и тег с тем же значением в атрибуте IDREF для определения места, где участок заканчивается.
Этот тег не дожил до нашего времени, потому что его было предложено заменить на два других — ADDED и REMOVED, которые позже превратились в более привычные нам INS и DEL.
Несмотря на то, что найденная спецификация оказалась сложнее первоначальной моей реализации, в этот раз получилось всё запрограммировать даже быстрее, видимо при частом программировании с нейросетями нарабатываются
Один из таких способов, кстати, — банальное документирование. В процессе реставрации «Виолы», у меня набралось довольно много документации, благо при помощи нейросети это делать очень просто — даёшь команду что ещё учесть и она сама вписывает новые знания в подходящее место.
«Виола»: растягивание окна
В последнее время мало что дорабатываю в «Виоле», чаще борюсь с багами, а их там предостаточно. Сегодня ночью пал один из самых сложных в исправлении.
Дело в том, что у меня окно «Виолы» нормально не тянулось — если попробовать изменить размеры, то в окне появлялись чёрные полосы, положение элементов плыло, в общем пользоваться этим было невозможно. Я, понадеявшись на то, что оригинальная «Виола» просто не умела растягиваться, заблокировал во всех окнах такую возможность.
Но позже в видеоролике, где видно оригинальную «Виолу», запущенную в виртуальной машине, я увидел, что она прекрасно растягивается безо всяких проблем.
Видимо проблема
К проблеме растягивания я уже пытался подступиться, но, потратив несколько часов, отступил. На этот раз я попробовал новый подход. В прошлый раз нейросети пробовали
Я сообразил, что проект, видимо, просто слишком огромный. У нейросети «глаза разбегаются» в попытке сгенерировать фиксы, так как дело может оказаться в чём угодно.
Поэтому я попросил нейросеть сгенерировать небольшое приложение, которое компактно повторило бы проблему, чтобы там её править. Удивительно, но мой любимый «Опус 4.5» с задачей не справился — он слепил
Выручил
К тому времени, когда всё заработало, в коде было полно
Судя по логам, работу я закончил в третьем часу ночи.
Папа один дома
Маколей Калкин недавно рассказывал в интервью, что его дети (у него два сына — им сейчас 3 и 4 года) смотрят с ним иногда фильм «Один дома», но даже не подозревают, что главную роль в фильме играет их папа. Он ревностно оберегает эту тайну, ожидая момента, когда они раскроют её самостоятельно.
«Packard Bell Desktop»
В статье «Оболочки
Мне захотелось упомянуть про неё, потому что мне в ней понравился экран смены курсора мыши. Отдельные курсоры для двух цветов кожи (думаю, это исключительная инклюзивность для программы того времени), «женские» и «мужские» курсоры, курсоры для левши и правши!
Мне кажется удивительным, что
Отмена пуска
Недавно, в связи с обсуждением адекватности перевода кнопки «Start» → «Пуск» в «Виндоуз 95» в одном из телеграмных чатов, я вспомнил, что в ранних версиях этой системы был забавный баг — кнопку «Пуск» можно было убрать с экрана, закрыв как приложение.
Для этого надо было установить на ней фокус, нажать Alt+- и выбрать пункт «Закрыть». Мы в те годы иногда так подшучивали над друг другом или над студентами в компьютерных классах Университета, где я тогда лаборантил.
Кроме этого «Пуск» можно было ещё и двигать. Например, поставив её посередине панели задач. И это задолго до «Виндоуз 11»! Правда нормально это не работало — при запуске приложений «Пуск» пропадала за ними.
Кокотизация
Уже который год я, вместо подведения итогов, рассказываю о себе
С самого детства я не люблю повторять одни и те же действия изо дня в день. И даже не потому, что мне претит монотонность, — просто я знаю, что, что бы я ни делал, каждый день одинаково не получится.
Все мои способности имеют
Например, в один из таких дней я в детстве выточил топором деревянный кинжал
С утра я не всегда могу понять, что сегодня такой особенный день. Но у меня есть один тест, который позволяет мне это определить. Этот тест у меня вошёл в привычку.
Если мне надо
«Нанабанана» и реставрация фото
Я уже несколько лет смотрю насколько нейросети пригодны дня реставрации фотографий. Для этого у меня есть контрольное фото моей прабабушки с двумя дочерьми. Когда выходит
«Нанабанана» — первая сеть, результаты реставрации которой мне захотелось показать. По моим меркам она справилась на три с плюсом. Критерий у меня простой — люди не должны измениться.
Если с дочками прабабушки получилось довольно неплохо, — только изменились рост и пропорции лица, то прабабушка изменилась сильнее. Лицо похоже, но другое, — сильно изменились глаза, носогубные складки и рот. Такого при хорошей раставрации быть не должно.
Поэтому пока три с половиной. Но это уже очень близко к тому, что можно использовать, раньше сетки с этой задачей справлялись хуже. Думаю, если сделать несколько попыток, то чисто случайно можно получить реставрацию, которая потянет на четыре или даже на четыре с плюсом.
Пять будет, когда я с первой попытки буду получать то, что ожидается.