Собственно, я и сообщал автору исходника, что комп не знает, что в raw_input вводится юникод. Пример, как надо работать с вводом (хотя там сложнее немного):
x@y:~$ echo $LANG
ru_RU.UTF-8
x@y:~$ python
Python 2.5.2 (r252:60911, May 7 2008, 15:19:09)
>>> print raw_input( 'превед ' ).upper()
превед медвед
медвед
# ^-- python не телепат
>>> import locale
>>> print raw_input( 'превед ' ).decode(locale.getdefaultlocale()[1]).upper()
превед медвед
МЕДВЕД
# ^-- как надо было
Кроме этого, есть ещё такая фишка, как драйвера. Не знаю как для дискретных видеокарт, а для моей NV 8600 GT производитель в вистовские драйвера включил неотключаемый турбокэш на 700 Мб, в результате при 2 гигах ОЗУ игрушка, под которую я покупал ноутбук, оставалось меньше 700 Мб основной памяти. И что бы отключить эту фичу можно было поступить двумя способами: искать нужную версию драйверов, где присутствовала возможность изменения размера турбокэша, потом копаться в реестре и хачить видеопрошивку, либо просто поставить XP.
Не трудно догадаться, что в такой сделает пользователь, которому нужно «по простому». Тоже самое сделал и я.
Это показывает, что вопрос производительности — это не только железо и криворукость писателей DirectX, но и странные организационно-архитектурные решения.
Потому что git submodule, увы, не аналог svn:externals (если не учитывать редкие случаи использования, случайно совпадающие). Спорят пока о реализации, т.к. там слишком много edge cases, учитывая распределённую натуру git.
А откуда python узнает, что в переменной a — юникод строка? Или, может, в культуре запускающего программу нет понятия букв в верхнем регистре — он использует только нижний регистр, или, наоборот только ВЕРХНИЙ? разве в питоне нет возможности обрабатывать вводимые строки в соответствии с явно прописанной локалью пользователя или программиста (что-то типа setlocale)?
К примеру, несмотря на юникод, в какой-то из культур (то ли шведской, то ли норвежской) принятый порядок лексикографического сравнения латинских букв с диакритическими знаками отличается от общепринятого в остальных странах Европы и попытка лексикографической сортировки «по умолчанию» у таких пользователей пройдёт не так, как они хотят.
Интернационализация — слишком сложная вещь, что бы её можно было решить заменой литералов вида u'юникод' на 'юникод'…
apt-get — всего лишь транспортный агент со связкой с dpkg для регистрации пакетов в системе (в случае debian-based дистрибутивов). dselect+apt и aptitude — фронтенды к apt, соответственно, у них своё понятие о наборе выделенных к установке пакетов.
Это даже проще, чем с подсветкой (подсветку надо делать одинаковой интенсивности по всему экрану).
Hint: большинство ЖК-экранов является полупрозрачными, иначе мы бы не видели фотоны подсветки. Просто подсветка и матрица обычно сблокированы в одну сборку.
P.S. Я в своё время одни монохромные ЖК-часы сделал негативными (белые цифры на чёрном фоне) — достаточно было сдвинуть один из поляризаторов на 90 градусов.
Не понимаю, кому могло понадобиться поставить мне минус… Хотелось бы подчеркнуть, что этот способ (заход по https на страницу авторизации) хорош тем, что в случае необходимости позволит осуществить экстренный заход по http из какой-нибудь извратной сети (что не получится в случае включения в Gmail галки «только https») и при этом данный способ не требует дополнительного ПО вроде аддона…
Есть разные подходы. Первый: «trunk — это куча, но стабильная, готовая, что бы в любой момент от неё можно было отфоркать релиз», второй — «куча-полуфабрикат для черри-пикинга в релизные ветки». В обоих подходах все нетривиальные фичи разрабатываются в фича-брэнчах.
Проблемы git больше со стилем работы — они в git и svn совместимы также, как стиль работы в svn и cvs. Я для себя определился: svn для централизованной разработки в конторе, в том числе, в стиле «кинул файл и забыл», а git — для сетевых FOSS-проектов, когда каждый модуль (репозитарий) — корректный законченный компонент с Makefile и прочими прелестями.
Passive/active — это всего лишь особенности реализации, некритичные к целям выкладывания на сервер, о которой идёт речь в топике. Зачем такое было сделано в оригинальном несекьюрном ftp — понятно: ускорение передачи файлов за счёт отсутствия их дополнительной подготовки. Когда файлы прогоняются через шифратор, это преимущество всё равно теряется.
С помощью openssh можно запускать на удалённом конце другой ssh и, таким образом эмулировать passive (недавно на хабре была статья, как это автоматизировать с помощью ~/.ssh/config). Либо пользоваться пробросами сокетов и, таким образом эмулировать active. На худой конец, можно запускать удалённый socks сервер и через него работать обычным ftp клиентом — собственно то, что называется ftp over ssh (не sftp/ftps).
Но принципиальной разницы нет: scp, sftp, socks (и, соответственно, ftp-ssh), пробросы, удалённый логин — это всего лишь отключаемые эндпойнт-примочки к конкретной реализации шифрации/мультиплексирования сокетов. Поэтому ваша придирка к оригинальному комментатору не очень логична (и не стоит такого треда). Если мне закрыли файрволом всё, кроме исходящих http и https и я пользуюсь corkscrew для коннекта к удалённому ssh серверу, слушающему на 443 порту, — я этим не изобретаю нового протокола, хотя corkscrew — это внешняя, по отношению к [open]ssh программа. Изменяется только конфигурация эндпойнтов, а само шифрование остаётся тем же.
Проводя аналогии, если мы закручиваем винт с помощью отвёртки, входящей в мультитул, можно сказать, что мы _завинчиваем_ винт раскладным _ножом_, не называя процесс другим «ножевинчиванием» или другим словом, хотя в других ситуациях, возможно, имел бы смысл различать два процесса. И, раз уж мы завинчиваем, имеет смысл говорить именно о завинчивании, а не о забивании (мультитул может откатываться на возможность забивания, в частности, если у винта сорвана головка) и имеет смысл не уточнять, чем мы его завинчиваем — крестовой отвёрткой или плоской, хотя в мультитуле могут быть обе.
Деб пакеты означают, что апгрейд должен делать только root (или пользователь-sudoer). Или вы используете какое-то решение с дебами в отдельном каталоге? Если да, то какое, — интересно.
Принципиально (с точки зрения пользователя) sftp не отличается от ftp. Та же возможность удалённых операций (просмотр каталога, удаление файла). Ну, сами файлы по другому передаются, мультиплексируются по одному защищённому соединению. Принципиальной разницы нет, учитывая что ftp и ftps также должны как-то мультиплексироваться при работе через игольное ушко «жёсткого» файрвола.
Это только русский язык такой удобный, что можно слово в родительном падеже использовать в качестве названия с малой вероятностью появления неоднозначности. Других «times» заставит лишний раз задуматься «какие такие времена?», «это что, массив/список?» и т. д.
Иных разрабов хочется заставить комментировать по-русски латинскими буквами (int raz), либо вообще сослать на 1С. :)
Там не проц критичен, а драйвера (хотя, если сборка под арм с более поздним степпингом, то тоже нереально). Т. е. на тех устройствах, под которые на xda-developers.com есть портированный Линукс, андроид сможет пойти (с упомянутыми там ограничениями на поддерживаемость устройств). На других — нет.
Когда я учился, физик вёл такую систему, только оценки были 10-бальные. Я не помню, какая оценка заносилась в журнал по итогам четверти, но она была связана со средним баллом.
Паразитирование на чём? Никто не заставляет оргов использовать домен именно chikago2016.com. Есть доменные зоны .org, .us, .biz, .info и другие. В конце концов, домен 3го уровня. Кроме того, домен chikago-2016.com (с тире) — это гораздо более очевидный киберсквоттер, да и сходство с (тм) посимвольное. Почему оргам нужен исключительно один домен из нескольких десятков-сотен, соответствующих их (tm)?
Тут другое сравнение актуальней: когда орги что-то задумали и захотели строиться на пространстве, занятом другими людьми. И давай их гнать: из крупного курорта ли, из пригорода ли, не собираясь платить адекватное стоимости земли возмещение.
Продолжая мысль предыдущего комментатора в треде: если какая-то фирма зарегистрирует (тм) «Тверская-1234», то должны ли будут владельцы здания по адресу «Тверская-1234» освободить участок земли под здание (тм)-владельца?
x@y:~$ echo $LANG
ru_RU.UTF-8
x@y:~$ python
Python 2.5.2 (r252:60911, May 7 2008, 15:19:09)
>>> print raw_input( 'превед ' ).upper()
превед медвед
медвед
# ^-- python не телепат
>>> import locale
>>> print raw_input( 'превед ' ).decode(locale.getdefaultlocale()[1]).upper()
превед медвед
МЕДВЕД
# ^-- как надо было
Не трудно догадаться, что в такой сделает пользователь, которому нужно «по простому». Тоже самое сделал и я.
Это показывает, что вопрос производительности — это не только железо и криворукость писателей DirectX, но и странные организационно-архитектурные решения.
К примеру, несмотря на юникод, в какой-то из культур (то ли шведской, то ли норвежской) принятый порядок лексикографического сравнения латинских букв с диакритическими знаками отличается от общепринятого в остальных странах Европы и попытка лексикографической сортировки «по умолчанию» у таких пользователей пройдёт не так, как они хотят.
Интернационализация — слишком сложная вещь, что бы её можно было решить заменой литералов вида u'юникод' на 'юникод'…
Hint: большинство ЖК-экранов является полупрозрачными, иначе мы бы не видели фотоны подсветки. Просто подсветка и матрица обычно сблокированы в одну сборку.
P.S. Я в своё время одни монохромные ЖК-часы сделал негативными (белые цифры на чёрном фоне) — достаточно было сдвинуть один из поляризаторов на 90 градусов.
Проблемы git больше со стилем работы — они в git и svn совместимы также, как стиль работы в svn и cvs. Я для себя определился: svn для централизованной разработки в конторе, в том числе, в стиле «кинул файл и забыл», а git — для сетевых FOSS-проектов, когда каждый модуль (репозитарий) — корректный законченный компонент с Makefile и прочими прелестями.
С помощью openssh можно запускать на удалённом конце другой ssh и, таким образом эмулировать passive (недавно на хабре была статья, как это автоматизировать с помощью ~/.ssh/config). Либо пользоваться пробросами сокетов и, таким образом эмулировать active. На худой конец, можно запускать удалённый socks сервер и через него работать обычным ftp клиентом — собственно то, что называется ftp over ssh (не sftp/ftps).
Но принципиальной разницы нет: scp, sftp, socks (и, соответственно, ftp-ssh), пробросы, удалённый логин — это всего лишь отключаемые эндпойнт-примочки к конкретной реализации шифрации/мультиплексирования сокетов. Поэтому ваша придирка к оригинальному комментатору не очень логична (и не стоит такого треда). Если мне закрыли файрволом всё, кроме исходящих http и https и я пользуюсь corkscrew для коннекта к удалённому ssh серверу, слушающему на 443 порту, — я этим не изобретаю нового протокола, хотя corkscrew — это внешняя, по отношению к [open]ssh программа. Изменяется только конфигурация эндпойнтов, а само шифрование остаётся тем же.
Проводя аналогии, если мы закручиваем винт с помощью отвёртки, входящей в мультитул, можно сказать, что мы _завинчиваем_ винт раскладным _ножом_, не называя процесс другим «ножевинчиванием» или другим словом, хотя в других ситуациях, возможно, имел бы смысл различать два процесса. И, раз уж мы завинчиваем, имеет смысл говорить именно о завинчивании, а не о забивании (мультитул может откатываться на возможность забивания, в частности, если у винта сорвана головка) и имеет смысл не уточнять, чем мы его завинчиваем — крестовой отвёрткой или плоской, хотя в мультитуле могут быть обе.
Такие вот лингвистические субботние придирки. :-)
Иных разрабов хочется заставить комментировать по-русски латинскими буквами (int raz), либо вообще сослать на 1С. :)
Тут другое сравнение актуальней: когда орги что-то задумали и захотели строиться на пространстве, занятом другими людьми. И давай их гнать: из крупного курорта ли, из пригорода ли, не собираясь платить адекватное стоимости земли возмещение.