?

Log in

No account? Create an account
немного о рациональном использовании времени - Поклонник деепричастий [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

немного о рациональном использовании времени [ноя. 26, 2005|04:03 pm]
Anatoly Vorobey
Free Software: Temptation Blocker

Программа (для Windows), которая не позволит вам запускать определённые программы, пока не пройдёт определённое время. Чтобы заставить себя работать итп.

Мне как раз это не очень нужно, но мне бы подошло другое: средство не дать самому себе перезагружать френд-ленту слишком часто, или просто позволить доступ к этому URLу только в определённые часы/минуты (если вам это кажется очень смешным или глупым, вы, вполне возможно, правы, но избавьте меня от комментариев по этому поводу, пожалуйста).

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


Firefox поддерживает автоматическое обнаружение прокси. В Options->General->Connection Settings можно ввести файл в Automatic Proxy Configuration URL. Это должен быть файл на джаваскрипте, который определяет одну функцию: function FindProxyForURL (url,host) . Вернуть он должен либо строку вида "PROXY proxy.address:1234" или строку "DIRECT", и тогда браузер подключается напрямую.

Я пользовался этим файлом и раньше: для того, чтобы перенаправлять некоторые, но не все, запросы через прокси. Например, у меня был доступ к некоторым базам данных через университетский счёт; для того, чтобы он работал, запрос должен был приходить изнутри университета, я же подключался к интернету из дому через коммерческого провайдера; наладив port forwarding с компьютером внутри университета с помощью ssh, я перенаправлял запросы к определённым сайтам к университетскому proxy через этот форвардинг - но не все запросы, что было бы слишком медленным.

Теперь я хочу использовать ту же функцию для того, чтобы вернуть несуществующий прокси (скажем, какой-то незанятый порт на localhost, что сразу заставит браузер вернуть ошибку) в любое время, кроме определённого промежутка. Это должно быть очень просто: проверить, что url имеет вид /users/avva/friends (если нет ,сразу вернуть "DIRECT"); взять текущее время, и проверить - например - что сейчас первые 15 минут каждого двухчасового промежутка (т.е. 12:00-12:15, 14:00-14:15 итд.) и тогда вернуть "DIRECT", а иначе "PROXY localhost:7777". Если меня не будут устраивать временные условия, я уже сам смогу изменить, но я совсем не знаю Джаваскрипта, и какими функциями брать там время, как сравнивать итп. - не знаю; лишнего времени сейчас это выучить - совсем нет, и если кто-то напишет работающий пример, буду благодарен.

P.S. Если кому-то это нужно, то Internet Explorer поддерживает такой же файл; нужно его имя ставить в Use Automatic Configuration Script в настройках прокси в IE.


И ещё на смежную тему. Проанализировав пару дней назад, на что у меня особенно много времени уходит бездумно, я понял, что один из главных виновников - постоянная проверка почты. Т.е. я постоянно набираю команду getmail (это у меня в Линуксе; а если бы я пользовался каким-нибудь Аутлуком, то постоянно нажимал бы на кнопку проверки почты итп.) и смотрю, что она мне принесла. Если приносит комменты в ЖЖ, сразу же их читаю - по одному-два. Потом опять бездумно повторяю ту же команду. Итп.

Очень простое средство помогло. Теперь почта у меня скачивается автоматически каждые два часа, а если я пытаюсь сам её проверить в промежуточное время, эта же команда ругается по-английски, мол, иди занимайся делом, и отказывается работать. Тут любопытно то, что я ведь не пытаюсь себя обмануть так, чтобы я сам не смог бы этого обойти. Если я наберу /usr/bin/getmail вместо getmail, она отлично заработает и скачает почту. Но я этого не делаю; задача была в том, чтобы перебить плохую бездумную привычку, и этого вполне достаточно.
СсылкаОтветить

Comments:
[User Picture]From: liksu
2005-11-26 02:35 pm
Если я ни в чем не ошибся, то этот код:

<script>
function FindProxyForURL (url,host) {
var re = /\/users\/avva\/friends/ig;

if (re.exec(url)) {
var d = new Date();
var m = d.getMinutes();

if (m<15 && m>0) {return "DIRECT"}
else {return "PROXY localhost:7777"}
} else {
return "DIRECT";
}
}

alert(FindProxyForURL("http://www.livejournal.com/users/avva/friends/", ""));
</script>
(Ответить) (Thread)
[User Picture]From: avva
2005-11-26 06:49 pm
Большое спасибо! Не в точности то, что я хотел, но суть ясна, и смогу приспособить. Сейчас буду пробовать.
(Ответить) (Parent) (Thread)
[User Picture]From: liksu
2005-11-26 07:27 pm
Не за что. ;)
А что не то? ;)
(Ответить) (Parent) (Thread)
[User Picture]From: avva
2005-11-26 07:51 pm
Я хотел, чтобы не каждый час первые 15 минут можно было, а каждые два часа. Вылечил тем, что вставил ещё var h = d.getHours() и проверка на h%2==0.
(Ответить) (Parent) (Thread)
[User Picture]From: valshooter
2005-11-26 08:26 pm
if ( (!(h % 3)) && (m<5) )
   return "DIRECT"; //this is the time we can waste
(Ответить) (Parent) (Thread)
[User Picture]From: avva
2005-11-26 08:46 pm
Или так, да. Но это слишком сурово. Я и так только что пропустил свои 15 минут после 22:00, теперь мучаюсь ;)
(Ответить) (Parent) (Thread)
[User Picture]From: valshooter
2005-11-26 10:01 pm

Вот, отвечаю в пятиминутке ;)

> Или так, да. Но это слишком сурово. Я и так только что пропустил свои 15 минут после 22:00, теперь мучаюсь ;)

Я просто давно воюю с этой болезнью, поэтому так сурово.

Я ещё и Internet Explorer на тот же файлик натравил, чтобы не было соблазна закрыть Firefox. Ну и функцию подправил, чтобы было легко управлять списком плохих урлов.

Заодно разобрался, как в апаче настраивать хосты с разными портами.

(Ответить) (Parent) (Thread)
[User Picture]From: kitp
2005-11-26 10:04 pm
А отвечаете вы не через веб-интерфейс?
(Ответить) (Parent) (Thread)
[User Picture]From: avva
2005-11-26 10:10 pm
Вообще-то обычно чаще всего нет, у меня есть очень хорошая система ответа через почту (я отвечаю на письма от комментов, как на обычные письма, скрипт на моём же компьютере эти ответы подхватывает и отправляет от моего имени через веб-интерфейс). Но сейчас вот барахлят оповещения, и в основном отвечаю через веб-интерфейс. В обычное время где-то наверное процентов 10 через веб-интерфейс (когда что-то заметил и сразу решил ответить) плюс, ясно комменты к чужим записям через него.
(Ответить) (Parent) (Thread)
[User Picture]From: liksu
2005-11-26 09:50 pm
А. Да. ;) Прошу прощения. Не доглядел.
Но в общем, я рад, что всё получилось. ;)
А тем более, спасибо, я не знал, что IE такое умеет. ;)
(Ответить) (Parent) (Thread)
[User Picture]From: faceted_jacinth
2005-11-26 03:20 pm
>> Теперь почта у меня скачивается автоматически каждые два часа
Вообще гораздо лучше работает автоматическое же скачивание почты каждую минуту/полминуты. Тыкать в кнопку даже мысли не возникает.
(Ответить) (Thread)
[User Picture]From: avva
2005-11-26 08:50 pm
Как раз это мне бы не помогло. Я довольно часто получаю комменты и поэтому бездумно всё время заходил бы в мейл-программу и смотрел, чего там новенького, и читал бы. Каждые два часа - это как раз очень экономит: прочитал всё сразу - ответил на то, на что нужно ответить - вернулся к другим занятиям. Правда, мешает то, что комменты плохо ходят сейчас :( приходится проверять сам журнал. Но надеюсь, что это исправят скоро.
(Ответить) (Parent) (Thread)
[User Picture]From: rustam
2005-11-26 05:24 pm
да, известная беда: периодическое обновление френд-ленты и проверка почты. но я пока даже и не пытался бороться:-)
(Ответить) (Thread)
[User Picture]From: avva
2005-11-28 09:12 pm
Знаете, у меня чуть ли не мини-озарение по этому поводу случилось. Случилось и не отпускает. Приходится его слушаться.
(Ответить) (Parent) (Thread)
[User Picture]From: rustam
2005-11-28 09:36 pm
повезло. буду медитировать дальше. может и меня озарит:)
(Ответить) (Parent) (Thread)
[User Picture]From: scholar_vit
2005-11-26 07:36 pm
Одной из первых моих программ на Tcl/Tk была программа, которая показывала в окошке, от кого именно пришла мне почта на любой из серверов, куда она ходит. Сильно экономит время.
(Ответить) (Thread)
[User Picture]From: avva
2005-11-28 09:11 pm
Я вот уже лет 12 периодически сталкиваюсь с Tcl/Tk то тут, то там, но так его и не знаю. Не было насущной необходимости выучить, но всё равно глупо как-то :(
(Ответить) (Parent) (Thread)
[User Picture]From: scholar_vit
2005-11-28 09:14 pm
Он забавный. И очень удобно писать на нём оконные штучки, которые должны гоняться под Windows, ежели компьютера с виндами нет (мой случай).
(Ответить) (Parent) (Thread)
(Удалённый комментарий)
[User Picture]From: avva
2005-11-26 08:52 pm
Какая замечательная идея! Вот я бы сам никогда до такого не додумался, честное слово - настолько у меня всё в голове заточено под убыстрение и облегчение процесса захода на сайт. Правда, я не пользуюсь gmail'ом в качестве главного адреса, но всё равно прекрасно.
(Ответить) (Parent) (Thread)
[User Picture]From: valshooter
2005-11-26 08:25 pm
Замечательная идея, спасибо.

Перенаправляю не только жеже, но ещё десяток других сайтов, замеченных в пожирании времени.
(Ответить) (Thread)
[User Picture]From: avva
2005-11-26 08:47 pm
Если честно, именно поэтому так подробно всё написал, и у себя, а не в какую-нибудь вебдизайн-коммьюнити, чтобы с js помогли и всё. Чтобы рассказать другим людям, что так можно. Рад очень, что помогло :)
(Ответить) (Parent) (Thread)
[User Picture]From: kitp
2005-11-26 10:03 pm
А я боюсь так себе делать, хотя необходимо.
(Ответить) (Parent) (Thread)
[User Picture]From: brethil
2005-11-26 10:17 pm
Спасибо за ссылку. Теперь мне нужна программа, которая не будет позволять деинсталлировать некоторые приложения, пока не пройдет заданное количество недель. И моя сессия спасена %)
(Ответить) (Thread)
[User Picture]From: avva
2005-11-26 10:20 pm
:-)

Вообще, если это Windows XP, то можно, покопавшись немного, забрать у себя самой привилегии, необходимые, чтобы деинсталлировать это приложение. А заодно забыть пароль администратора ;)
(Ответить) (Parent) (Thread)
From: 9000
2005-11-27 12:04 am
К вопросу о перегрузке френл-ленты.
Когда-то мой локальный апач служил мне проксёй, что позволяло мне блокировать livejournal.com до наступления, скажем, 18 часов -- дальше подменялся конфиг.

Сейчас делаю проще: в одном окне браузера живут все "несерьёзные" табы, типа ЖЖ, в другом -- вся работа.
(Ответить) (Thread)
[User Picture]From: vorobiev
2005-11-27 06:16 am

Вопрос.

Скажите, а в Опере так тоже можно сделать?
(Ответить) (Thread)
[User Picture]From: avva
2005-11-28 09:09 pm

Re: Вопрос.

К сожалению, не знаю, давно очень не пользовался Оперой.
(Ответить) (Parent) (Thread)
[User Picture]From: illyn
2005-11-27 08:52 am
Красивый способ борьбы с этой дурацкой привычкой использован в Google Desktop 2. Там есть панелька (“Web Clips”), которая самостоятельно показывает (она не требует настройки): «произошли обновления на любимых сайтах» (тех, что часто посещаются). Делается это посредством фонового мониторинга rss и прочих видов трансляций, с таких сайтов – и вот что интересно – кнопки «обновить» у этой панельки нет.
То есть – даже будучи совершеннейшим психом, любителем «получать почту» каждые 40 секунд – никакого раздражающего элемента «F5» в этом средстве не существует, а значит и повода раздражаться и переключать внимание на ненужную операцию – не будет. Всё что будет нужно прочесть и отследить – ты отследишь, но в нормальном ритме, а не в горячечном…
(Ответить) (Thread)
[User Picture]From: avva
2005-11-28 09:10 pm
Очень правильное решение, и подтверждает мастерство Гугля в мелких, но важных особенностях дизайна.
(Ответить) (Parent) (Thread)
[User Picture]From: cryinstone
2005-11-27 05:29 pm
Да, проблема растраты рабочего времени на нерабочие штучки очень знакома!
(Ответить) (Thread)
From: lazyreader
2005-12-03 06:54 pm
Очень, очень актуально. Я вот рассматриваю как средство полный переход на чтение rss-трансляций, чтобы они обновлялись по крону, а на web-интерфейс чтобы не ходить совсем.

Но идея с авто-прокси-скриптом тоже потребуется, чтобы не было сооблазна войти в lj и отправиться сёрфить.
(Ответить) (Thread)