Category: компьютеры

Category was added automatically. Read all entries about "компьютеры".

moose, transparent

компьютерные мемы

The Cursed Computer Iceberg Meme - весьма забавная коллекция мемов (со ссылками), многие из которых будут знакомы компьютерщикам и особенно программистам. На каждую фразу можно нажать и пойти на источник.



Порядок примерно такой: чем выше, тем более известные и мейнстримные, чем ниже, тем более эзотерические и извращенные. Так я понял, по крайней мере. Из верхней категории "above the iceberg", например, я знаю вообще все (т.е. узнаю, что это такое, по названию, даже не идя по ссылке), а из самой нижней - только одно название. Всего из 180 мемов я узнал сходу 75 - стало интересно проверить (их список в тексте можно скопировать из формы для голосования о том, какие вы знаете). Я уже сходил почитать про десяток-другой тех, которые не знал - некоторые очень интересные и забавные.
moose, transparent

зельда

Закончил игру Zelda: Breath of the Wild. Потрясающе на нее подсел в последнее время. Богатство открытого мира, количество реализма и продуманных деталей в нем просто поражают.



В этой игре вы играете за воина, который должен обойти весь мир, победить кучу монстров и несколько боссов, выполнить несколько десятков заданий и, наконец, победить главного босса. Но такое описание совершенно не отражает сложность мира и увлекательность игры. Огромный простор, на котором все "рабочее", практически нет косметических деталей, и все взаимосвязано сотнями тщательно продуманных нитей. На любое дерево можно залезть, трава тоже не просто так растет, ее можно скосить и поймать насекомых, прятавшихся в ней. Десятки, если не сотни, видов флоры и фауны: грибы, целебные растения, рыбы, животные, у каждого свои свойства. Гибкая и одновременно не слишком запутанная система приготовления еды и магических зелий. Целый отдельный мир лошадей, разные масти, как их ловить, на них ездить, с них сражаться. Несколько ключевых магических способностей героя, снова и снова пригождающихся всякими нетривиальными путями. Погодные условия, вплетенные в ткань игры (в разных концах мира разная погода, по песку и снегу медленнее бегаешь, снег, дождь, молнии, радуги - все потрясающе реалистично исполнены). Разные монстры с довольно умным поведением, нечеловеческие дружелюбные расы со своими особенностями, остроумные задания, драгоценные камни, мини-соревнования, десятки видов оружия и стрел с разными эффектами... В общем, очень, очень хорошо.

(кстати, отдельно очень понравилось качество русского перевода - поскольку дети играли по-русски, я тоже. Например, вымышленным грибам, растениям и животным подобраны очень естественные названия: "жив-морковь", "прыть-морковь", "чудо-редис", "прытковик", "бодренок" итп. Все диалоги, задания, описания переведены на очень высоком уровне)

Заодно надо похвалить Nintendo Switch. Я вообще всю жизнь играл в компьютерные игры на PC и совершенно не интересовался приставками. Когда мы купили для детей XBox пару лет назад, это ничего не изменило, я все равно не понимал, зачем это нужно. Но вот Нинтендо меня покорили, главным образом тем, как все игры тщательно сделаны, невероятно красивы, и как правило переведены на кучу языков (включая русский). Мы купили эту приставку главным образом для детей, но играет в итоге вся семья. Мне все еще очень не нравится приставка как платформа, из-за жесткого DRM и отсутствия любого контроля над играми, которые я покупаю. Но с точки зрения игрока - она меня покорила. Не только "Зельда", но и какая-нибудь казалось бы тривиальная гоночная игра Mario Kart так хорошо продумана и красиво исполнена, что просто дух захватывает. Очень высокое качество игр.
moose, transparent

ресивер - хочу все знать

Я сделал первые шаги на пути к аудиофильству (вполне возможно, что последние, потому что больше мне и не надо будет), и впервые в жизни купил вместе с телевизором AV-ресивер и набор 5.1 (5 колонок и сабвуфер). До сих пор всегда обходился звуком самого телевизора.

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

Теперь у меня есть, разумеется, наивные вопросы!

(ресивер Onkyo TX SR393, телевизор LG OLED65CX)

1. Что делает ресивер, кроме перевода звука из цифрового в аналоговый? В частности, я не вполне понял, что происходит, если ресивер получает обычный стерео звук. Он сам решает, какие части этого звука идут на три другие колонки и сабвуфер, или просто посылает его на две боковые и все? Если 'сам решает', то как это устроено, и отличаются ли ресиверы друг от друга по качеству этих алгоритмов? Чем вообще супер-крутые ресиверы отличаются от менее крутых в смысле качества звука?

2. Почему он такой большой? У всех ресиверов примерно стандартный размер, но я искренне не понимаю, почему кроме панели подключений все остальное не может уместиться в размер кредитной карточки. Он получает и декодирует/перекодирует/смешивает кучу цифровых звуковых форматов, пересылает цифровое видео дальше, и наконец должен быть DAC для аналоговых выходов. А что занимает столько места?

3. Процитирую свое сообщение в чате, если кто-то хочет добавить критику/рекомендацию, милости прошу :)

"Там есть всякие интересные вопросы которые остались не до конца выясненными, возможно из-за того, что ресивер не супер продвинутый (но я вполне ок как минимум начинать с такого). Типа: * подключил нам все девайсы (приставку, стример, TV box) к телевизору, а от него по оптическому кабелю к ресиверу. И это вполне работает. Но теоретически это теряет данные аудио, если они приходят в Dolby Atmos и других супер-продвинутых форматах. Оптический кабель столько не тянет. Т.е. если я скачаю тяжелый качественный фильм со звуком, уже оптимизированным на surround, то он уйдет в телевизор, но телевизор ресиверу отдаст обычный стерео звук (или 5.1?), а тот уже сам заново решит, какой колонке что дать (и не так оптимально). Так я понимаю, возможно, неверно.

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

Специально для этой цели придумали протоколы ARC и более новый eARC. В них когда ты подключаешь ресивер кабелем HDMI к телевизору, телевизор умеет по этому же кабелю обратно передавать свой звук ресиверу, а тот умеет включать его в струю. Но у этих протоколов очень геморройная поддержка, во всех телевизорах по-разному она включается, и ресиверы в разной степени ее поддерживают, и зависит еще от того, что идет по каналу звука, и вообще все сложно. Я попробовал это так подключить, но так и не смог сделать, чтобы заработало. хотя сделал несколько танцев с бубнами, которые нагуглил. То ли виноват телевизор LG, то ли ресивер Onkyo, то ли их сочетание, то ли я. Но все это было в общем для любопытства, все устраивает и так."
moose, transparent

полезно в хозяйстве

У меня! Крашнулся Хром! И когда поднялся обратно, не нашел закрытых вкладок!!

Я уже думал все, конец, но тут я вспомнил, что у меня установлено расширение Session Buddy, захожу в него, а там все сохранено.



Не будьте как я и не имейте 856 открытых вкладок. Но будьте как я и установите Session Buddy, не пожалеете потом как-нибудь.

P.S. Напомню на всякий случай, что у меня не бывает оплаченной рекламы. Это действительно случилось со мной позавчера, я действительно горевал,
действительно оказалось, что расширение у меня уже установлено (я забыл об этом) и оно меня спасло.
moose, transparent

штука

Я сегодня получил посылку из Амазона. Что это?




(наверняка для многих ответ очевиден, другим может быть интересно подумать. Закрываю комментарии до вечера, потом там будут спойлеры)
(добавил коробок спичек для масштаба)

(ответ: да, это вытаскивать клавиши из компьютерной клавиатуры. По-английски: keycap puller)
(раскрыл комменты)
moose, transparent

fall guys

Пристрастился к Fall Guys, очень милой новой игрушке. Каждый раз, когда начинаешь играть, присоединяешься к группе из 60 случайно выбранных игроков, и затем вы все вместе проходите через серию случайно выбранных мини-игр, где надо бежать и прыгать сквозь препятствия, уклоняться, толкать мячи, иногда соревноваться командами итд. В каждой мини-игре часть игроков выбывает, остальные продолжают дальше, пока в конце не выяснится победитель. Вот этот обзор дает представление:



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

Как программиста, меня не оставляет следующая навязчивая мысль, когда я захожу в эту игру. В ней сознательно нет никакого реального общения между игроками (и правильно). Хотя игроки выглядят как прикольные человечки в смешных костюмах, которые все время елозят и жестикулируют, сам игрок не управляет всем этим (кроме выбора костюма), оно автоматически происходит, игрок только бегает туда-сюда и прыгает. У игроков нет настоящих имен, только типа "Fall Guy 21342", и они не могут друг другу посылать сообщения или что-то в этом роде. В мини-играх все в основном происходит хаотично, хоть некоторые игроки, конечно, опытнее других. Так вот, было бы забавно, если бы на самом деле не было никаких 60 игроков, а только один игрок, а все остальные компьютерные (NPC). Игра бы делала вид, что ищет других игроков и синхронизирует все в реальном времени через сеть, а на самом деле всеми, кроме меня, управляет сама игра. Это в принципе кажется возможным, если смотреть на сложность мини-игр (может, в некоторых из них трудно было бы сделать убедительных NPC, не уверен). Все думают, что играют с случайными людьми, а на самом деле каждый сам со своим компьютером, и все.

При этой мысли - что если так? - для меня тут же полностью теряется вся привлекательность игры, даже хоть в ней самой все выглядело бы точно так же. Если бы вдруг компания заявила "да, это так, вы все играете только с компьютером", что бы случилось - подавляющее большинство игроков, узнав об этом, тут же бросили бы, хотя в игре ничего реально не изменилось, или наплевать и продолжили бы как раньше? Я думаю, что первое, но не знаю, как доказать.
moose, transparent

правильное небо

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

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

Кому ты веришь - нейронной сети или своим лживым глазам?
moose, transparent

немного компьютерной ностальгии

1. Webamp - браузерная версия Winamp, полностью рабочая, поддерживает все на свете включая скины оригинала, и даже есть в десктопной версии. На том же сайте есть музей скинов:



2. В 2003-м году я написал о минималистском mp3-плейере 1by1. В 2020-м он все еще жив и выходят новые версии (Windows и Андроид).

3. Кстати, недавно вышла новая версия DikuMUD (платформы для создания MUDов - текстовых многопользовательских игр). Предыдущая версия выходила в 1991 году. 29 лет между версиями - возможно, рекорд? (HN)

4. SerenityOS - операционная система, которую пишет один человек (хотя к нему уже многие присоединились в последнее время и помогают), сознательно в духе графических интерфейсов 90-х. Ядро написано на C++. Надо бы попробовать, любопытно.

moose, transparent

программы

Какие полезные бесплатные программы установлены у вас на домашнем компьютере/ноутбуке? Пользователям Линукса можно не отвечать :)

Перечислю свои (Windows):

7-Zip
Anki
Audacity
Calibre
LibreOffice
Notepad++
qBittorrent
SMPlayer
WinDJView
youtube-dl
moose, transparent

язык программирования и его рамки

Когда обучаешь ребенка программированию с нуля, это, наверное, хороший способ узнать, какие важные принципы или правила кажутся само собой разумеющимися, но на самом деле их надо перенять и впитать. Я писал уже в прошлый раз о том, что очень важно на мой взгляд работать над прослеживанием работы программы у себя в голове. Следующий урок с моей дочкой заставил меня задуматься о том, как мы вообще представляем себе инструкции, которые даем компьютеру. Язык программирования это *язык*, но в отличие от человеческих языков он требует от нас сознательно ограничить себя в том, что мы пытаемся сказать.

Я начал урок с нескольких заданий растущей сложности. Ребенок уже знает, что такое PRINT "something", PRINT X, INPUT X, IF/THEN/ELSE, GOTO, и выражения типа X=X+1, хотя я не уверен пока что, что твердо понимает, что такое переменная в отличие от просто числа.

- Итак, начинаем с программы, которая просто печатает имя JULIA.
- Это легко: 10 PRINT "JULIA".
- Теперь пусть программа распечатает это пять раз подряд.
- Тоже легко: 10 PRINT "JULIA JULIA JULIA JULIA JULIA JULIA".
- Нет, пусть каждое имя будет отдельно на своей строке.
- Хорошо, тогда 10 PRINT "JULIA", 20 PRINT "JULIA" итд.

- Теперь следующее задание. Пусть программа спросит у меня число, и если например это 4, то она четыре раза напечатает JULIA.
- Хорошо, начинаем с 10 INPUT X, это мы умеем. А теперь...

И тут ребенок серьезно завис, причем не так, как я ожидал. Мы не учили еще циклы, но она уже знает, как что-то делать снова и снова и остановиться по условию (IF ... THEN END, а потом GOTO назад на нужную строку). Я думал, что она пойдет в эту сторону, но будет сложно переоткрыть идею переменной-счетчика. Оказалось - нет, она пыталась найти способ "сказать" компьютеру сделать именно то, что надо, за один раз. Например, может PRINT X "JULIA"? Нет, так это не работает. А если PRINT "JULIA" * X? Нет, это же умножение, а "JULIA" это не число (да, я знаю про Питон). Папа, а как будет "раз" по-английски, чтобы написать "X раз"?

То есть сложной является сама идея того, что язык программирования - "интерфейс" разговора с компьютером - твердо ограничен некоторыми рамками, и надо в них укладываться. Да, мы не учили конечно еще весь язык, только малую часть, но у нее не было интуитивного ощущения того, что есть эта граница, мы просто до нее не добрались еще. Я несколько раз старался объяснить, что надо решить это задание, пользуясь только тем, что мы уже знаем, и составляя это вместе, но ей, кажется, было сложно понять, как это вообще. Сказали "распечатай X раз", надо найти способ сказать компьютеру это, чтобы он сделал. Идея "сознательно разбить задание на более элементарные шаги, про которые мы уже знаем, что компьютер умеет их выполнять", оказывается сложной и неинтуитивной.

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

- Давай сделаем что-то другое. Начнем с программы, которая просто печатает 1 2 3 4 5, каждое число отдельно.
- Это легко. 10 PRINT 1, 20 PRINT 2 итд.
- Хорошо, теперь, как сделать, чтобы программа печатала 1 2 3 4 5 6 итд. и не останавливалась, до тысячи и дальше?

Тут пришлось подумать. Я напомнил "как мы делали, чтобы программа делала что-то снова и снова, как в игре про 4 2 1?". Да, точно, GOTO. Первая попытка: 10 PRINT 1, 20 GOTO 10. Очевидно неверно. Что нужно делать, чтобы число все время менялось? Да, точно. Следующая попытка: 10 X=1, 20 PRINT X, 30 GOTO 20. Опять не то, да, забыла увеличить число. Следующая попытка:
10 X=1, 20 PRINT X, 30 PRINT X=X+1, 40 GOTO 20. Что-то не так, что? Нет четкого разделения PRINT и присваивания в уме, оба что-то делают с X. Подумай, что надо изменить. Следующая попытка наконец верна: 10 X=1, 20 PRINT X, 30 X=X+1, 40 GOTO 20. Наслаждаемся бегущим рядом чисел. (все это занимает вместе считанные минуты, просто мне показалось интересным записать подробно эти попытки, и первый опыт по сути отладки программы).

- Хорошо, а теперь можешь сделать так, чтобы она печатала не до бесконечности, а когда дойдет например до 20, остановилась?

Подумала, вспомнила про IF ... THEN END, перечитала прошлую программу, где это использовала, и вставила 35 IF X=20 THEN END. Работает!

- А можно теперь сделать так, чтобы программа сначала спросила у меня число, а если я сказал например 15, она потом остановилась, когда дойдет до 15?

Подумала, вставила 5 INPUT Y, и заменила условие IF X=20 на if X=Y. Работает!

Но не совсем. Если я ввожу 20, она печатает до 19 и останавливается. Что не так? Почитала еще раз программу, подумала, и заменила условие на IF X=Y+1 (лучше было передвинуть условие раньше, перед увеличением, но это уже мелочи).

ОК, теперь у нас есть программа, она работает. Запустили несколько раз, проверили, все хорошо.

- Хорошо, теперь я тебя попрошу сделать небольшое изменение, ты только не пугайся, если это немного взорвет мозг. Попробуй вместо 20 PRINT X написать 20 PRINT "JULIA". Что тогда будет?

Стала изменять это в программе, еще до запуска появилось подозрение. Запустила. Шок, изумление на лице, "Папа, ты взорвал мне мозг! Это же делает то, что ты от меня хотел. Действительно, это же так просто!"