- How to switch users on a Mac computer in 3 different ways
- Check out the products mentioned in this article:
- Macbook Pro (From $1,299 at Best Buy)
- How to switch users on your Mac computer with fast user switching
- How to switch between users on a Mac by logging out or locking your screen
- Программа должна говорить Hello world, но выдаёт ошибку?
- Раскрыто настоящее название нового iPhone
- Символы Unicode: о чём должен знать каждый разработчик
- Введение в кодировку
- Краткая история кодировки
- Проблемы с ASCII
- Что такое кодовые страницы ASCII?
- Безумие какое-то.
- Так появился Unicode
- Unicode Transform Protocol (UTF)
- Что такое UTF-8 и как она работает?
- Напоследок про UTF
- Это всё?
- Заключение
How to switch users on a Mac computer in 3 different ways
You can always switch between users on your Mac computer by logging out of your profile — but there’s an even easier way to do it.
Your Mac allows you to have multiple users on your device, whether it’s to switch between family members or between work and personal profiles. To enable faster switching between these profiles, you can check the «Show fast user switching menu as» option in your Mac’s system settings (as depicted below).
You can personalize this menu to display your full name, account name, or just an icon. Regardless of your choice, the menu will appear in the upper right hand corner of your desktop.
Once you use it to click on another profile, your Mac will immediately prompt you to enter the appropriate password or Touch ID.
Here’s how to enable the feature and quickly switch between users.
Check out the products mentioned in this article:
Macbook Pro (From $1,299 at Best Buy)
How to switch users on your Mac computer with fast user switching
1. Open System Preferences in Launchpad, or by clicking the Apple icon in the upper left hand corner of your desktop.
2. Select «Users & Groups» from the bottom row.
3. This will bring you to your user settings. Click the lock in the bottom left hand corner of the pop-up to make changes.
4. Enter your user password if prompted. This will unlock your settings, which were previously muted gray.
5. Check the box next to «Show fast user switching menu as.»
6. Click the double arrows next to the dropdown menu to select the display option: Full Name, Account Name, or Icon. Your changes should automatically save, but you can click the lock to prevent further changes during this session as well.
7. Once this feature is enabled, you can easily switch between users through the shortcut now located in the upper right hand corner of your desktop. Click your name (or icon, depending on the display option you selected) to view your Mac’s other profiles.
8. Click the user you wish to switch to. This will automatically bring you its direct login page, where you’ll be asked to enter a password or use Touch ID. Enter that information at this time.
How to switch between users on a Mac by logging out or locking your screen
1. Despite adding this shortcut, you can always switch between profiles by locking your screen or logging out. Click the Apple icon on the left hand corner of your desktop to view these options. You can also use the keyboard shortcuts listed.
2. Locking your screen will bring you to the page asking for your password or Touch ID. Click «Switch User» at the bottom of the screen.
3. This will bring you to your profile options, which can include a guest account. Logging out of your current profile will also direct you to this page. Click on the profile you wish to switch to and enter your password or Touch ID at this time.
Источник
Программа должна говорить Hello world, но выдаёт ошибку?
Дело не в коде программы. os.system выполняет команду. Выполняемый файл say в системе есть и он может вызываться из директории, откуда питон вызывает команды ?
‘say’ is not recognized as an internal or external command, operable program or batch file.
import speech_recognition
import os
import sys
import webbrowser
words = «Hello world»
def talk(words):
______print(words)
______os.system(«say » + words)
talk(words)
Тимур Покровский, чтобы заработало нужно скачать PyAudio, но выдаёт ошибку
Collecting PyAudio
Using cached PyAudio-0.2.11.tar.gz (37 kB)
Building wheels for collected packages: PyAudio
Building wheel for PyAudio (setup.py) . error
ERROR: Command errored out with exit status 1:
command: ‘c:\users\temp\appdata\local\programs\python\python37-32\python.exe’ -u -c ‘import sys, setuptools, tokenize; sys.argv[0] = ‘»‘»‘C:\\Users\\TEMP\\AppData
\\Local\\Temp\\pip-install-cgkci2ic\\PyAudio\\setup.py'»‘»‘; __file__='»‘»‘C:\\Users\\TEMP\\AppData\\Local\\Temp\\pip-install-cgkci2ic\\PyAudio\\setup.py'»‘»‘;f=geta
ttr(tokenize, ‘»‘»‘open'»‘»‘, open)(__file__);code=f.read().replace(‘»‘»‘\r\n'»‘»‘, ‘»‘»‘\n'»‘»‘);f.close();exec(compile(code, __file__, ‘»‘»‘exec'»‘»‘))’ bdist_whee
l -d ‘C:\Users\TEMP\AppData\Local\Temp\pip-wheel-kcbryp_8’
cwd: C:\Users\TEMP\AppData\Local\Temp\pip-install-cgkci2ic\PyAudio\
Complete output (9 lines):
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win32-3.7
copying src\pyaudio.py -> build\lib.win32-3.7
running build_ext
building ‘_portaudio’ extension
error: Microsoft Visual C++ 14.0 is required. Get it with «Build Tools for Visual Studio»: https://visualstudio.microsoft.com/downloads/
—————————————-
ERROR: Failed building wheel for PyAudio
Running setup.py clean for PyAudio
Failed to build PyAudio
Installing collected packages: PyAudio
Running setup.py install for PyAudio . error
ERROR: Command errored out with exit status 1:
command: ‘c:\users\temp\appdata\local\programs\python\python37-32\python.exe’ -u -c ‘import sys, setuptools, tokenize; sys.argv[0] = ‘»‘»‘C:\\Users\\TEMP\\AppDa
ta\\Local\\Temp\\pip-install-cgkci2ic\\PyAudio\\setup.py'»‘»‘; __file__='»‘»‘C:\\Users\\TEMP\\AppData\\Local\\Temp\\pip-install-cgkci2ic\\PyAudio\\setup.py'»‘»‘;f=ge
tattr(tokenize, ‘»‘»‘open'»‘»‘, open)(__file__);code=f.read().replace(‘»‘»‘\r\n'»‘»‘, ‘»‘»‘\n'»‘»‘);f.close();exec(compile(code, __file__, ‘»‘»‘exec'»‘»‘))’ install
—record ‘C:\Users\TEMP\AppData\Local\Temp\pip-record-ch8nh0_h\install-record.txt’ —single-version-externally-managed —compile —install-headers ‘c:\users\temp\app
data\local\programs\python\python37-32\Include\PyAudio’
cwd: C:\Users\TEMP\AppData\Local\Temp\pip-install-cgkci2ic\PyAudio\
Complete output (9 lines):
running install
running build
running build_py
creating build
creating build\lib.win32-3.7
copying src\pyaudio.py -> build\lib.win32-3.7
running build_ext
building ‘_portaudio’ extension
error: Microsoft Visual C++ 14.0 is required. Get it with «Build Tools for Visual Studio»: https://visualstudio.microsoft.com/downloads/
—————————————-
ERROR: Command errored out with exit status 1: ‘c:\users\temp\appdata\local\programs\python\python37-32\python.exe’ -u -c ‘import sys, setuptools, tokenize; sys.argv
[0] = ‘»‘»‘C:\\Users\\TEMP\\AppData\\Local\\Temp\\pip-install-cgkci2ic\\PyAudio\\setup.py'»‘»‘; __file__='»‘»‘C:\\Users\\TEMP\\AppData\\Local\\Temp\\pip-install-cgkc
i2ic\\PyAudio\\setup.py'»‘»‘;f=getattr(tokenize, ‘»‘»‘open'»‘»‘, open)(__file__);code=f.read().replace(‘»‘»‘\r\n'»‘»‘, ‘»‘»‘\n'»‘»‘);f.close();exec(compile(code, __f
ile__, ‘»‘»‘exec'»‘»‘))’ install —record ‘C:\Users\TEMP\AppData\Local\Temp\pip-record-ch8nh0_h\install-record.txt’ —single-version-externally-managed —compile —i
nstall-headers ‘c:\users\temp\appdata\local\programs\python\python37-32\Include\PyAudio’ Check the logs for full command output.
WARNING: You are using pip version 20.1.1; however, version 20.2.2 is available.
You should consider upgrading via the ‘c:\users\temp\appdata\local\programs\python\python37-32\python.exe -m pip install —upgrade pip’ command.
я так сделал, всё правильно или я что-то напутал, ведь не работает
import speech_recognition
import os
import sys
import webbrowser
Источник
Раскрыто настоящее название нового iPhone
В соцсети попала фотография с упаковкой новых смартфонов Apple, подтверждающая официальное название устройств.
В китайской соцсети Weibo разошелся «шпионский» снимок, на котором якобы запечатлен стикер от коробок со смартфонами Apple следующего поколения. Если утечка правдива, модели новой линейки, как и ожидается, будут называться iPhone 13.
Похоже, в Apple снова пропустят модели с индексом S, который ранее мог указывать на «доработанность» устройств или наличие особенных функций (однажды глава компании Тим Кук объяснил, что буква S в iPhone 4S расшифровывается как Siri, что обозначает новую голосовую помощницу). «Номерным» айфонам отдали предпочтение и в прошлом году, когда серию iPhone 11 сменила iPhone 12.
Let me emphasize again that I am not a leaker. I don’t have first-hand information. I just reprint some information that I have seen that I feel is relatively reliable. pic.twitter.com/Avy9ndDT4Q
Помимо названия iPhone 13, на упаковке можно увидеть фирменную надпись, сопровождающую все «яблочные» продукты: Designed by Apple in California. Assembled in China («Разработано Apple в Калифорнии. Собрано в Китае»).
Официально в Apple пока не объявляли индекс следующей модели. Однако проведенный летом опрос в США показал, что каждый пятый американец готов отказаться от покупки нового смартфона, если в его названии будет число 13. Причиной тому была названа трискайдекафобия — патологическая боязнь числа 13, которое, согласно приметам и суевериям, приносит несчастье. Большинство респондентов заявили, что предпочли бы другое наименование — например, многие поддержали идею назвать следующее устройство «iPhone (2021)».
Анонс смартфонов Apple следующего поколения ожидается в сентябре—октябре. Если верить утечкам, iPhone 13 будет отличаться от предшественника незначительно. Apple снова предложит четыре модели с такими же диагоналями — одну на 5,4 дюйма, две 6,1-дюймовые и одну на 6,5 дюйма.
Экраны продвинутых айфонов — iPhone 13 Pro и iPhone 13 Pro Max — будут изготовлены по технологии LTPO, что позволит им поддерживать частоту обновления до 120 Гц без серьезного ущерба для автономности. Главным визуальным изменением станет «челка» уменьшенного размера. Кроме того, флагманская модель выйдет в эксклюзивном «глубоком черном» цвете.
Источник
Символы Unicode: о чём должен знать каждый разработчик
Если вы пишете международное приложение, использующее несколько языков, то вам нужно кое-что знать о кодировке. Она отвечает за то, как текст отображается на экране. Я вкратце расскажу об истории кодировки и о её стандартизации, а затем мы поговорим о её использовании. Затронем немного и теорию информатики.
Введение в кодировку
Компьютеры понимают лишь двоичные числа — нули и единицы, это их язык. Больше ничего. Одно число называется байтом, каждый байт состоит из восьми битов. То есть восемь нулей и единиц составляют один байт. Внутри компьютеров всё сводится к двоичности — языки программирования, движений мыши, нажатия клавиш и все слова на экране. Но если статья, которую вы читаете, раньше была набором нулей и единиц, то как двоичные числа превратились в текст? Давайте разберёмся.
Краткая история кодировки
На заре своего развития интернет был исключительно англоязычным. Его авторам и пользователям не нужно было заботиться о символах других языков, и все нужды полностью покрывала кодировка American Standard Code for Information Interchange (ASCII).
ASCII — это таблица сопоставления бинарных обозначений знакам алфавита. Когда компьютер получает такую запись:
то с помощью ASCII он преобразует её во фразу «Hello world».
Один байт (восемь бит) был достаточно велик, чтобы вместить в себя любую англоязычную букву, как и управляющие символы, часть из которых использовалась телепринтерами, так что в те годы они были полезны (сегодня уже не особо). К управляющим символам относился, например 7 (0111 в двоичном представлении), который заставлял компьютер издавать сигнал; 8 (1000 в двоичном представлении) — выводил последний напечатанный символ; или 12 (1100 в двоичном представлении) — стирал весь написанный на видеотерминале текст.
В те времена компьютеры считали 8 бит за один байт (так было не всегда), так что проблем не возникало. Мы могли хранить все управляющие символы, все числа и англоязычные буквы, и даже ещё оставалось место, поскольку один байт может кодировать 255 символов, а для ASCII нужно только 127. То есть неиспользованными оставалось ещё 128 позиций в кодировке.
Вот как выглядит таблица ASCII. Двоичными числами кодируются все строчные и прописные буквы от A до Z и числа от 0 до 9. Первые 32 позиции отведены для непечатаемых управляющих символов.
Проблемы с ASCII
Позиции со 128 по 255 были пустыми. Общественность задумалась, чем их заполнить. Но у всех были разные идеи. Американский национальный институт стандартов (American National Standards Institute, ANSI) формулирует стандарты для разных отраслей. Там утвердили позиции ASCII с 0 по 127. Их никто не оспаривал. Проблема была с остальными позициями.
Вот чем были заполнены позиции 128-255 в первых компьютерах IBM:
Какие-то загогулины, фоновые иконки, математические операторы и символы с диакретическим знаком вроде é. Но разработчики других компьютерных архитектур не поддержали инициативу. Всем хотелось внедрить свою собственную кодировку во второй половине ASCII.
Все эти различные концовки назвали кодовыми страницами.
Что такое кодовые страницы ASCII?
Здесь собрана коллекция из более чем 465 разных кодовых страниц! Существовали разные страницы даже в рамках какого-то одного языка, например, для греческого и китайского. Как можно было стандартизировать этот бардак? Или хотя бы заставить его работать между разными языками? Или между разными кодовыми страницами для одного языка? В языках, отличающихся от английского? У китайцев больше 100 000 иероглифов. ASCII даже не может всех их вместить, даже если бы решили отдать все пустые позиции под китайские символы.
Эта проблема даже получила название Mojibake (бнопня, кракозябры). Так говорят про искажённый текст, который получается при использовании некорректной кодировки. В переводе с японского mojibake означает «преобразование символов».
Пример бнопни (кракозябров).
Безумие какое-то.
Именно! Не было ни единого шанса надёжно преобразовывать данные. Интернет — это лишь монструозное соединение компьютеров по всему миру. Представьте, что все страны решили использовать собственные стандарты. Например, греческие компьютеры принимают только греческий язык, а английские отправляют только английский. Это как кричать в пустой пещере, тебя никто не услышит.
ASCII уже не удовлетворял жизненным требованиям. Для всемирного интернета нужно было создать что-то другое, либо пришлось бы иметь дело с сотнями кодовых страниц.
��� Если только ������ вы не хотели ��� бы ��� читать подобные параграфы. �֎֏0590��׀ׁׂ׃ׅׄ׆ׇ
Так появился Unicode
Unicode расшифровывают как Universal Coded Character Set (UCS), и у него есть официальное обозначение ISO/IEC 10646. Но обычно все используют название Unicode.
Этот стандарт помог решить проблемы, возникавшие из-за кодировки и кодовых страниц. Он содержит множество кодовых пунктов (кодовых точек), присвоенных символам из языков и культур со всего мира. То есть Unicode — это набор символов. С его помощью можно сопоставить некую абстракцию с буквой, на которую мы хотим ссылаться. И так сделано для каждого символа, даже египетских иероглифов.
Кто-то проделал огромную работу, сопоставляя каждый символ во всех языках с уникальными кодами. Вот как это выглядит:
Префикс U+ говорит о том, что это стандарт Unicode, а число — это результат преобразования двоичных чисел. Стандарт использует шестнадцатеричную нотацию, которая является упрощённым представлением двоичных чисел. Здесь вы можете ввести в поле что угодно и посмотреть, как это будет преобразовано в Unicode. А здесь можно полюбоваться на все 143 859 кодовых пунктов.
Уточню на всякий случай: речь идёт о большом словаре кодовых пунктов, присвоенных всевозможным символам. Это очень большой набор символов, не более того.
Осталось добавить последний ингредиент.
Unicode Transform Protocol (UTF)
UTF — протокол кодирования кодовых пунктов в Unicode. Он прописан в стандарте и позволяет кодировать любой кодовый пункт. Однако существуют разные типы UTF. Они различаются количеством байтов, используемых для кодировки одного пункта. В UTF-8 используется один байт на пункт, в UTF-16 — два байта, в UTF-32 — четыре байта.
Но если у нас есть три разные кодировки, то как узнать, какая из них применяется в конкретном файле? Для этого используют маркер последовательности байтов (Byte Order Mark, BOM), который ещё называют сигнатурой кодировки (Encoding Signature). BOM — это двухбайтный маркер в начале файл, который говорит о том, какая именно кодировка тут применена.
В интернете чаще всего используют UTF-8, она также прописана как предпочтительная в стандарте HTML5, так что уделю ей больше всего внимания.
Этот график построен в 2012-м, UTF-8 становилась доминирующей кодировкой. И всё ещё ею является.
Что такое UTF-8 и как она работает?
UTF-8 кодирует с помощью одного байта каждый кодовый пункт Unicode с 0 по 127 (как в ASCII). То есть если вы писали программу с использованием ASCII, а ваши пользователи применяют UTF-8, они не заметят ничего необычного. Всё будет работать как задумано. Обратите внимание, как это важно. Нам нужно было сохранить обратную совместимость с ASCII в ходе массового внедрения UTF-8. И эта кодировка ничего не ломает.
Как следует из названия, кодовый пункт состоит из 8 битов (один байт). В Unicode есть символы, которые занимают несколько байтов (вплоть до 6). Это называют переменной длиной. В разных языках удельное количество байтов разное. В английском — 1, европейские языки (с латинским алфавитом), иврит и арабский представлены с помощью двух байтов на кодовый пункт. Для китайского, японского, корейского и других азиатских языков используют по три байта.
Если нужно, чтобы символ занимал больше одного байта, то применяется битовая комбинация, обозначающая переход — он говорит о том, что символ продолжается в нескольких следующих байтах.
И теперь мы, как по волшебству, пришли к соглашению, как закодировать шумерскую клинопись (Хабр её не отображает), а также значки emoji!
Подытожив сказанное: сначала читаем BOM, чтобы определить версию кодировки, затем преобразуем файл в кодовые пункты Unicode, а потом выводим на экран символы из набора Unicode.
Напоследок про UTF
Коды являются ключами. Если я отправлю ошибочную кодировку, вы не сможете ничего прочесть. Не забывайте об этом при отправке и получении данных. В наших повседневных инструментах это часто абстрагировано, но нам, программистам, важно понимать, что происходит под капотом.
Как нам задавать кодировку? Поскольку HTML пишется на английском, и почти все кодировки прекрасно работают с английским, мы можем указать кодировку в начале раздела .
Важно сделать это в самом начале , поскольку парсинг HTML может начаться заново, если в данный момент используется неправильная кодировка. Также узнать версию кодировки можно из заголовка Content-Type HTTP-запроса/ответа.
Если HTML-документ не содержит упоминания кодировки, спецификация HTML5 предлагает такое интересное решение, как BOM-сниффинг. С его помощью мы по маркеру порядка байтов (BOM) можем определить используемую кодировку.
Это всё?
Unicode ещё не завершён. Как и в случае с любым стандартом, мы что-то добавляем, убираем, предлагаем новое. Никакие спецификации нельзя назвать «завершёнными». Обычно в год бывает 1-2 релиза, найти их описание можно здесь.
Если вы дочитали до конца, то вы молодцы. Предлагаю сделать домашнюю работу. Посмотрите, как могут ломаться сайты при использовании неправильной кодировки. Я воспользовался этим расширением для Google Chrome, поменял кодировку и попытался открывать разные страницы. Информация была совершенно нечитаемой. Попробуйте сами, как выглядит бнопня. Это поможет понять, насколько важна кодировка.
Заключение
При написании этой статьи я узнал о Майкле Эверсоне. С 1993 года он предложил больше 200 изменений в Unicode, добавил в стандарт тысячи символов. По состоянию на 2003 год он считался самым продуктивным участником. Он один очень сильно повлиял на облик Unicode. Майкл — один из тех, кто сделал интернет таким, каким мы его сегодня знаем. Очень впечатляет.
Надеюсь, мне удалось показать вам, для чего нужны кодировки, какие проблемы они решают, и что происходит при их сбоях.
Источник