суббота, 12 декабря 2009 г.
Как "умный" BIOS мне диск сломал.
вторник, 29 сентября 2009 г.
Облом с личным поисковиком
Хотел обустроить себе личный поисковик такой, чтобы:
умел индексировать сайты и потом искать по ним.
умел спрашивать результаты у других поисковиков, объединять и показывать мне.
умел представлять результаты поиска в виде пригодном для скармливания другому поисковику.
пятница, 21 августа 2009 г.
О ценности денег или "деньги - время"
Так уж сложилось, что я привык свысока относиться к деньгам. Выражение “время — деньги” меня никогда особо не трогало. Подумаешь деньги, их ведь можно заработать. То ли дело время, оно проходит и его уже не вернешь.
воскресенье, 16 августа 2009 г.
Python Paste и PyBlosxom
Связка Apache2 + mod_wsgi оказалась мало пригодной для web разработки. Когда приложение отлажено и стабильно работает, претензий нет, а вот отладка и переключение между разными экспериментальными ветками крайне не удобны. Пока конфиги исправишь, уже забыл чего хотел делать. К сожалению, дневник на PyBlosxom как раз этот случай.
суббота, 1 августа 2009 г.
Самовосстановление зрения по методу Шичко-Бейтса
Давно собирался заняться восстановлением зрения, наконец занялся — прошел курсы по самовосстановлению зрения по методу Шичко-Бейтса. Не ожидал, что подобное есть у нас в городе, однако, ошибся. Курсы есть (http://www.gorsvt.ru) и занятия проводятся раз в месяц с декабря прошлого года. Конечно, до тех же лекций В.Г Жданова им далеко, но свою функцию начального пинка выполняют хорошо. К тому же, приятно чувствовать, что ты не одинок и восстановлением зрения интересуются и занимается кто-то еще.
Чуда, конечно, не произошло и совсем отказаться от очков за неделю у меня не получилось, но, по субъективным ощущениям некоторые улучшения заметны. По крайней мере я отказался от очков в быту и сейчас вполне нормально обхожусь без них. Единственное, когда я их одеваю, это при работе за компьютером и то, они на полторы диоптрии слабее, чем нужно, и ,вроде, со временем изображение становитя четче.
понедельник, 13 июля 2009 г.
Осваиваю OpenID
Потихоньку обживаюсь в Интернете. Бесит необходимость регистрироваться, где ни попадя и кем попало. Поди потом упомни, все свои личины... Так и раздвоение личности схлопотать недолго. И не дай бог, пароли решишь поменять, на неделю можно увязнуть. Надоело. Даешь единообразие! Буду осваивать OpenID.
Мудрить сильно не стал. На первое время, сойдет и делегация. Тут главное, что домен мой, а провайдера при необходимости сменить можно. Первым провайдером назначил OpenID сервер Яндекса (из патриотических соображений: говорят по нашему, версию OpenID Authentification 2.0 поддерживают, а еще мне нравится как Иван Сагалаев пишет).
Инструкция по настройке делегации на сайте порадовала. Ума много не надо, только хостинг (за него отдельное спасибо администрации freeos.ru).
Некоторые сложности возникли с проверкой работы. "Официальной" песочницы для этого я не нашел, пришлось импровизировать. Доверять логин кому не попадя желания нет никакого, поэтому выбирал из известных сайтов. Приглянулся http://www.livejournal.com.
Логин прошел на ура, а вот профиль не подтянуло - вместо имени URL пишет. Ну и пусть, может это особенности сайта. Главное вход работает. Можно начинать избавляться от лишних учеток. Посмотрим, что из этого выйдет.
четверг, 9 июля 2009 г.
Pyblosxom: переход на следующую/предыдущую запись
--- a/pyentrynavi.py Mon Jul 06 14:59:19 2009 +0600
+++ b/pyentrynavi.py Thu Jul 09 14:54:35 2009 +0600
@@ -44,7 +44,7 @@
from Pyblosxom import tools, entries
import time
-import re
+import os.path
def verify_installation(request):
config = request.getConfiguration()
@@ -53,11 +53,6 @@
return 0
return 1
-def translate_file_to_link(filename, datadir, base_url, flavour):
- datadir = datadir.rstrip('/')
- basename = filename[len(datadir):]
- return base_url+basename[:(basename.rfind('.')+1)]+flavour
-
def cb_prepare(args):
request = args['request']
data = request.getData()
@@ -66,14 +61,13 @@
entry = data['entry_list']
flavour = data['flavour']
- filename = entry[0]['filename']
+ filename = os.path.normpath(entry[0]['filename'])
config = request.getConfiguration()
datadir = config['datadir']
base_url = config['base_url']
- r = re.compile('(.*\.txt$)')
- allentries = tools.Walk(request, datadir, pattern=r)
+ allentries = tools.walk(request, datadir)
# cur_time = time.localtime()
@@ -94,19 +88,22 @@
except ValueError:
return
+ def entry_url(e):
+ # FIXME: flavour is not the same as entry extension
+ return "%s/%s.%s" % (base_url, e["file_path"], flavour)
+
navi_str = ''
if num != (len(entrylist)-1):
fname = entrylist[num+1]
e = entries.fileentry.FileEntry(request, fname, datadir)
- prev_link = translate_file_to_link(fname, datadir,base_url, flavour)
+ prev_link = entry_url(e)
navi_str += '< <a href="http://www.blogger.com/%s">%s</a> '%(prev_link,e['title'])
navi_str += '| <a href="http://www.blogger.com/%s">MAIN</a> |'%base_url
-
if num:
fname = entrylist[num-1]
e = entries.fileentry.FileEntry(request, fname, datadir)
- next_link = translate_file_to_link(fname, datadir, base_url, flavour)
+ next_link = entry_url(e)
navi_str += ' <a href="http://www.blogger.com/%s">%s</a> >'%(next_link,e['title'])
data['entry_navi'] = navi_str
понедельник, 15 июня 2009 г.
Переключения раскладки в Windows
c:\opt\bin\lswitch.exe 20
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IMM]
"LoadIMM"=dword:00000000
;; Unified language switching hack for Windows and Emacs ;; http://dima-exe.ru/2007/4/win32-emacs-and-change-language ;; ;; Run lswitch.exe 20 on windows startup. ;; Define default-input-method variable in your .emacs. ;; Use CAPSLOCK to switch input language. (setq default-input-method "russian-computer") (defvar safe-language-change-flag nil) (defun safe-language-change () (interactive) (setq safe-language-change-flag (not safe-language-change-flag)) (when safe-language-change-flag (toggle-input-method) (w32-toggle-lock-key 'capslock))) (global-unset-key (kbd "C-\\")) (global-set-key (kbd "<language-change>") 'safe-language-change)