top | item 3975108

Focus.py

112 points| _ikke_ | 14 years ago |amoffat.github.com | reply

57 comments

order
[+] TeMPOraL|14 years ago|reply
I'm not sure if everyone noticed, but the primary interesting thing here is NOT that it blocks off domains at certain times (everyone and their dog wrote such scripts for themselves). The nice thing is that each rule is defined as a function, which means that you can put a bit more complex rules inside, or just add some logging and track every name resolution against given domain.

Which actually brings me to question: aren't domain-IP pairings cached by the browser?

[+] _ikke_|14 years ago|reply
Yes, but it modifies the response to have a very low TTL so that it's cached only for a show while (in as far as browser actually get the query response).
[+] drivingmenuts|14 years ago|reply
Potential replaceement for bind behind a firewall?

Question may be kind of silly - I admit, I am not a DNS expert.

[+] spullara|14 years ago|reply
How is this at the top of HN? Apparently people that need this stuff sit on HN and vote it up. If you don't want to go to these sites I have some advice: Don't go to them.
[+] mibbitier|14 years ago|reply
Commenting online becomes addictive. It becomes a horrible time sink and a useless waste of time. Either arguing with people who don't understand anything, or endlessly circle-jerking with people who have the same viewpoint as you. Some even fall into the trap of believing their "karma" score somehow means something. All it means is how much time you waste online commenting.

Once you start commenting online, you can't easily stop. So it's not as simple as "Don't go to them".

</recovering addicts view>

[+] JackdawX|14 years ago|reply
It's strange how often comments like these crop up on various topics, because they're difficult to understand. The core of your argument is "I don't have this problem, so therefore no-one does". I mean, you are aware at at some base level that people are different right? They have different thoughts, weaknesses and so on.

If tools like this can help, then that can be nothing but a good thing, I don't think there is any need to be derisive about it.

[+] pbiggar|14 years ago|reply
If it were as easy as just saying "Don't go to them", do you think anyone would vote for this?
[+] zorbo|14 years ago|reply
Some of us need a helping hand to keep our discipline.
[+] hollerith|14 years ago|reply
And I suppose then that you are one of those people who believe that advertising does not work on them because they have made up their mind not to be affected by it?
[+] ideamonk|14 years ago|reply
Nice effort. Having tried RescueTime and more crazy tools last year, I realized it's in the doing. If you enjoy it nothing can distract you. If you really don't enjoy it from inside (i.e. if your ends are not aligned with the going), nothing can help you. It's better to alter your mindset about your work. Spending 3 days on that = lesser distractions for long time.
[+] Arelius|14 years ago|reply
Your statement is a bit unclear, in particular, this part "I realized it's in the doing." What's in the doing?

> It's better to alter your mindset about your work.

Elaboration on this would be interesting.

[+] evmar|14 years ago|reply
This, like other github themes, has bad CSS that makes the monospaced text come out as serif on Linux. I know the github crew uses Macs but it makes me a little sad to see they don't test on the system that spawned their namesake. :(
[+] demetris|14 years ago|reply
The problem comes from this:

    code {
        font-family: "Lucida Sans", Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal;
    }
Which is simply a poorly made rule, regardless of browser and OS. If you don’t have any of the specified fonts, your browser will use its general default font, which is usually either “serif” or “sans-serif”.
[+] readme|14 years ago|reply
Using Linux Mint here and it looks fine. Maybe you should install some fonts.
[+] taitems|14 years ago|reply
The hash links for headings aren't working either. The page doesn't budge.
[+] nooooooo|14 years ago|reply
The font-family for the monospaced text is "monospace, serif". Any decent Linux system and/or browser would define "monospace" appropriately. Sounds like the problem's on your end.
[+] pbiggar|14 years ago|reply
It's amazing that we, who like to think of ourselves as do-ers, need tricks to keep us focused on the goal. Not that I'm criticizing: I use no less than 3 similar tools at the same time, and I still have trouble. What is wrong with us!
[+] pacomerh|14 years ago|reply
It's funny how a distracting website recommends you tools to avoid being distracted. Suppose I'm using this tool to block HN, now I feel like I'm missing out on a new tool! Geez.
[+] beilabs|14 years ago|reply
I don't find HN distracting in the least, if anything the content here compared to sites like reddit is much more focused and often applicable for my startup.

emacs /etc/hosts 127.0.0.1 reddit.com facebook.com

That has been in my host file for some time now on my work machine.

[+] cdaven|14 years ago|reply
I once spent a couple of hours writing a bash script that edited my /etc/hosts file (e.g. resolve facebook.com to 127.0.0.1), and then ran that using crontab to allow some breaks during the day.

It was fun, but then I had to go back to work. ;-)

[+] jeez|14 years ago|reply
On a similar note, can anyone suggest tools like rescuetime for firefox? The few apps that the Firefox Addons website suggests are all outdated (not compatible with ff4+).

Wouldn't a time tracker app with built-in pomodoro timer and website blocker be the ultimate tool? :) Maybe we could toss in functionality to take screenshots every few seconds and show it back to us at the end of the day.

[+] darklajid|14 years ago|reply
"After you identify the process listening on port 53, run sudo kill -9 with the process id."

-9 as in KILL? I don't do Python, so I cannot comment on the quality of the project. But this FAQ should be changed. People that know how to stop a process don't need a FAQ entry. People that don't know how to do that shouldn't be trained to think that this is a sensible way to stop a program.

[+] eternauta3k|14 years ago|reply
> People that know how to stop a process don't need a FAQ entry

Yes we do. Just because I know kill doesn't mean I want to run through the source code looking for the way to exit. Specially when there isn't one.

[+] toxik|14 years ago|reply
This is a great idea, BUT it'll slow your system so no thanks.

My tip to you guys is to turn off Internet access until you need it, close the browser. When you open Reddit, HN, Facebook or whatever - close it deliberately. Practice that. Move the cursor to the X, push it and MEAN IT.

[+] fsckin|14 years ago|reply
Couldn't this use /etc/hosts instead and be instant to change without the need for a DNS server?
[+] Argorak|14 years ago|reply
/etc/hosts doesn't handle subdomains, for example. Sure, you could list all of them, but if I just want techcrunch blocked, its not the way to go.
[+] user23409|14 years ago|reply
'cept if it crashed you'd be left with an /etc/hosts in a bad state or possibly corrupted.
[+] tferris|14 years ago|reply
Great idea. Would like to have it precompiled, I don't have Python.
[+] pbiggar|14 years ago|reply
Am not sure where to approach this question from. How come you don't have python? Surely the effort of installing python is less than the effort to precompile this package?
[+] haarts|14 years ago|reply
Just a heads up for Mac users: changing the /etc/resolv.conf didn't work for me. Changing it in System Preferences -> Network did work.
[+] yaix|14 years ago|reply
Hard to read the page. A third of my netbook screen is covered by the style="position:fixed;" header.
[+] ya3r|14 years ago|reply
I really like the part where the author made it really hard to stop it! If you know what I mean.