I have not written about it yet, but the hacker-top program contains a python module called 'pyhackerstories.py' which you can import 'get_stories' function from.
Then you can do tricks like these:
>>> from pyhackerstories import get_stories
>>> stories = get_stories()
>>> for story in stories:
... print "%2d. %s (%d)" % (story.position, story.title, story.score)
...
1. Hans Reiser leads police to body, believed to be his wife (23)
2. Follow Hacker News from the Console (18)
3. Scaling on EC2 - WebMynd's experiences (YC Winter '08) (57)
4. Google Protocol Buffers - Open Sourced (19)
5. Balsamiq - Software and Website Mockup App (47)
...
That's a bit fast. And uselessly so, because the frontpage is only regenerated every 90 seconds. How about putting your email in your profile so we can continue this by email?
kinda disappointing that in 2008 we still have to poll to get any sort of push on the web. But hey, it works. (yes there is the "comet" style of things to - perhaps pg will provide some API to work like that).
Looks great. I have wanted to do something similar (not for HN...) for a while now, but never really got around to learning curses etc. Can you write a post here or on your blog explaining the steps involved or maybe give a link to the curses tutorial you used - or did you just know all this stuff already :).
A little shell script magic gets you auto-refreshing:
(there's probably a better way that won't kill all your lynx sessions)