четверг, 11 апреля 2013 г.

iPython не грузится, не растёт кокос

Под влиянием замечательного поста решил попробовать автоматизировать часть рутинных задач при помощи python и его продвинутой оболочки iPython. Учитывая, что с Python’ом я до этого дел никаких не имел, для упрощения старта решил воспользоваться «всё-в-одном» паком под Windows Python(x,y).

Пак встал без проблем – без каких либо сообщений об ошибках или предупреждений. Однако попытка запуска ipython notebook сопровождалась вот такой гроздью сообщений об ошибках и чем-то странным в браузере:

ERROR:root:Uncaught exception GET /static/jquery/css/themes/base/jquery-ui.min.css?v=d1a93 (127.0.0.1)
HTTPRequest(protocol='http', host='127.0.0.1:8888', method='GET', uri='/static/jquery/css/themes/base/jquery-ui.min.css?v=d1a93', version='HTTP/1.1', remote_ip='127.0.0.1', body='', headers={'Accept-Language': 'ru-RU', 'Accept-Encoding': 'gzip, deflate', 'Host': '127.0.0.1:8888', 'Accept': '*/*', 'User-Agent': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)', 'Dnt': '1', 'Connection': 'Keep-Alive', 'Referer': 'http://127.0.0.1:8888/'})
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\tornado\web.py", line 1042, in _execute
    getattr(self, self.request.method.lower())(*args, **kwargs)
  File "C:\Python27\lib\site-packages\tornado\web.py", line 1568, in get
    mime_type, encoding = mimetypes.guess_type(abspath)
  File "C:\Python27\lib\mimetypes.py", line 294, in guess_type
    init()
  File "C:\Python27\lib\mimetypes.py", line 355, in init
    db.read_windows_registry()
  File "C:\Python27\lib\mimetypes.py", line 259, in read_windows_registry
    for ctype in enum_types(mimedb):
  File "C:\Python27\lib\mimetypes.py", line 249, in enum_types
    ctype = ctype.encode(default_encoding) # omit in 3.x!
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0: ordinal not in range(128)

...




Как оказалось, к самому iPython эти ошибки не имеют никакого отношения. Проблема возникает при загрузке web-сервера Tornado - при попытке получить из реестра mime-типы. В ветке реестра  [HKEY_CLASSES_ROOT\CLSID{4063BE15-3B08-470D-A0D5-B37161CFFD69}\EnableFullPage\MIME]  почему-то оказались mime-записи, содержащие кириллицу.

Лечение было проведено методом «на авось» - элементы типа «видео/mpeg» были переименованы в «video/mpeg», а то, что переименовать не удалось, было просто удалено. После этого iPyton прекрасно запустился. Понятно, что какие вылезут в результате такого лечения косяки – не понятно. Пока, правда, всё прекрасно обходится без них :)

пятница, 5 апреля 2013 г.

Чтобы Backspace в Explorer стал "вверх"

Продолжаю обостраивать систему под себя. Цель: заставить Explorer переходить по клавише Backspace на один уровень иерархии вверх.

Когда-то именно так и было, но в Win7 (говорят, что это началось ещё в Vista, но с ней мне не довелось работать) в Explorer значение клавиши Backspace кардинально поменялось - она стала отправлять вас в "предыдущее место находжения", а не в родительский каталог. Это, то ли в силу мой привычки, то ли приёмов работы, меня стало откровенно раздражать. Довольно долгое гугление позволило обнаружить ответ. Собственно, там два ответа, но уменя без проблем запустился толь один - скачать и поместить в автозагрузку
Download HTGBack XP-Style Backspace Key

После этого привычный Backspace в Explorer наконец-то начинает вести себя привычным способом. К сожалению, при большом аптайме и после интенсивного использования виртуальной машины, Explorer перестаёт реагировать  на нажатие этой магической клавиши. Правда, кто тут виноват (виртуалка vs программа), установить вряд ли удастся да и не нужно - раз в месяц можно и перезагрузить, благо, по-настоящему долгих задач нет.

пятница, 29 марта 2013 г.

Переключение по Left Shift + Right Shift

Сочетание клавиш для переключения языка ввода (пусть будет "раскладки", хотя это и не совсем точно) - дело сугубо индивидуальное... Лично мне куда удобнее "два шифта" (правильно звучит вроде как по сочетанию L.Shift + R.Shift) - они больше, попадать по ним проще и быстрее, да и не нужно складывать всякие фигуры из множества пальцев.

Стандартным образом заставить Win работать таким образом не получится. В всяком случае, мне этого не удалось. Большинство форумчан настоятельно предлагают популярные же Arum Switcher или Punto... Но! Они предлагают массу вариантов, вот только искомого категорически не умеют. После довольно долгих поисков была обнаружена софтнина, которая делает почти то, что нужно:
keyla

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