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

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

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". Что тогда будет?

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

непристойное

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

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

Я погуглил, почитал, и вы знаете, что оказалось? (да знаете, конечно, один я такой болван). Оказалось, что там нет никакого протокола, там просто аналоговый сигнал. Напряжение в вольтах напрямую соответствует амплитуде звука. И все.

Вот уже несколько дней не могу придти в себя. Как же это так? Умом понимаю, но сердце отказывается. Нет протокола, нет хендшейка, нет версии, нет контрольной суммы, но как?! Даже битов нет, один голый ток. Есть в этом что-то неприличное, непристойное. Будто кто-то разделся, извалялся в грязи и в таком виде бегает по улицам и машет руками. На наушники теперь смотрю с подозрением. Вот они, лежат передо мной, провод извивается и уходит к разъему в компьютере. А по этому проводу такое идет, ну как же это так?
moose, transparent

достали

Как убрать бесконечные поп-апы "можно ли спамить вас уведомлениями", если вы пользуетесь Chrome:

Settings -> Advanced -> Site Settings -> Notifications -> change "Ask Before Sending" to "Blocked".

Все, больше их не будет. You're welcome.
moose, transparent

дела давно минувших лет

Мне попалось несколько вопросов о том, что за комната с красным освещением, в которой герои сериала "Stranger Things" что-то делают с фотографиями. Увы, не странно, что молодое поколение совсем не знает, что это такое, но все равно грустно.

Я объясню совсем вкратце для тех, кто не знает. В 80-е фотокамеры не поддерживали WiFi и загрузку фотографий в облако - надо было подключать их к компьютеру и копировать, а поскольку жесткие диски тогда были очень маленькие и дорогие, фотографам приходилось отбирать крохотное число хороших фотографий, а все остальные выкидывать. Фотографии, которые хорошо получились, называли "позитивами", а те, на которых плохо видно, размыто, завален горизонт и другие негативные характеристики - "негативами". Обычно у людей была комната, которая называлась "фотолабораторией", потому что в ней стоял компьютер, на котором был "фотошоп". Когда на карточке камеры кончалось место, надо было идти в эту комнату и находить "позитивы" среди "негативов" с помощью Фотошопа - и нередко эта программа помогала даже исправить недостатки и превратить негатив в позитив. Однако проблема была в том, что "Фотошоп" стоил очень дорого, тысячи долларов, и компания Адоби активно преследовала тех, у кого были пиратские лицензии. Поэтому люди стали со временем держать свои комнаты-фотолаборатории в темноте - они скрывались так от сыщиков Адоби. Иногда включали красный фонарь - он помогал ничего не уронить и не задеть в комнате, но если внезапно ворваться с ордером на обыск, то не видно сразу, что на компьютере Фотошоп, и хозяин успевает быстро его удалить. Жалко, что они не нашли места объяснить это в сериале, но вот теперь вы знаете.
moose, transparent

утренние ссылки: компьютерная тематика

Утренние ссылки: компьютерный выпуск.

  1. Introducing Translatotron: An End-to-End Speech-to-Speech Translation Model. Гугл натренировал нейронную сеть, чтобы та переводила напрямую речь на одном языке в речь на другом языке, не пользуясь промежуточной текстовой репрезентацией. Опционально можно сохранить в переводе тембр чтеца на языке оригинала. Очень круто, хоть результаты и уступают немного лучшим на данный момент системам "через текст". В примерах в конце записи заметны небольшие неточности в переводах.

  2. Talk To Transformer. Испытайте сами нашумевшую в последнее время языковую модель GPT-2 от OpenAI (не полную ее версию, правда). Напишите или скопируйте что угодно по-английски, и машина продолжит речь, иногда с пугающе впечатляющим результатом.

  3. Google and Binomial Partner to Open-Source Basis Universal Texture Format. Новый формат для сжатия картинок, который, если я верно позволяю, экономит место не только на диске, но и в оперативной памяти, потому что по дороге в GPU, и даже в самом GPU, картинка остается сжатой (если кто-то понимает, как это устроено внутри GPU, расскажите, интересно).

  4. Why I (still) Love Tech. Не очень внятная, но пропитанная приятной ностальгией тирада о том, как олдскульные хакеры 80-х и 90-х своими руками выпестовали современную эру "три микрочипа в каждой мозоли и фейсбук из ушей", не подозревая об этом. Несколько обязательных слов о том, что компьютерная индустрия это мир "белых мужчин", но, к счастью, буквально несколько, видно, что автор не об этом хочет поговорить.

    "How do you change an industry that will not stop, not even to catch its breath? We have no leaders, no elections. We never expected to take over the world! It was just a scene. You know how U2 was a little band in Ireland with some good albums, and over time grew into this huge, world-spanning band-as-brand with stadium shows with giant robotic structures, and Bono was hanging out with Paul Wolfowitz? Tech is like that, but it just kept going. Imagine if you were really into the group Swervedriver in the mid-’90s but by 2019 someone was on CNBC telling you that Swervedriver represented, I don’t know, 10 percent of global economic growth, outpacing returns in oil and lumber. That’s the tech industry."

  5. 2D Graphics on Modern GPU. Выглядит интересно; код, к сожалению, написан под Apple'овский API, которого нет на других платформах.

  6. Writing a Technical Book for Manning. Очень подробный пост о том, как автор опубликовал техническую книгу про HTTP/2 в издательстве Manning. Вся внутренняя кухня: как устроен контракт, сколько книг он продал и сколько денег получил, как устроено сотрудничество с издательством, какие форматы используются, что делают тамошние редакторы итд. итд. Автор не стесняется признать, что почти ничего не знал о теме своей книги, когда издательство ему предложило ее написать (на основании того, что он написал об этом популярную блог-запись). Я, впрочем, не помню, когда в последний раз открывал или покупал книгу такого рода; но все равно любопытно было прочитать.
moose, transparent

начинается с одного шага

Прошлая неделя началась с неожиданного желания купить новый монитор. А дальше...

- но если я куплю этот монитор, моя графическая карта не потянет его на максимальных установках, на которых любопытно иногда запускать игрушки, хоть я и не геймер в принципе

- но если я куплю новую карту, мой старый блок питания не даст достаточно мощности

[пропускаем много шагов здесь]

- но если я меняю материнскую плату, и новая поддерживает новый супер-быстрый формат NVME SSD-дисков, будет жалко ставить обратно мой старый SSD

- но если я меняю вообще все, не логичнее ли поставить это в новый компактный корпус вместо слишком высокого mid-tower, который не вмещается там, где я хотел его поставить?

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

Теперь у меня в комнате вброшено много частей, и предстоит Сборка.