IRC logs of #boinc for Thursday, 2010-11-04

01:22 *** infinisoft has joined #boinc

01:35 *** Tank_Master has joined #boinc

02:13 *** wdsmia_ has joined #boinc

02:13 *** wdsmia has quit IRC

02:34 *** _Danilo_ has quit IRC

03:06 *** quail_linux has joined #boinc

03:07 *** quail has quit IRC

03:07 *** quail_linux is now known as quail

03:45 *** yoyo[RKN] has joined #boinc

03:48 *** quail has quit IRC

04:45 *** quail has joined #boinc

06:15 *** wdsmia_ has quit IRC

06:23 *** wdsmia has joined #boinc

06:31 <wdsmia> &wx 50319

06:31 <Romulus> wdsmia: Temperature: 41.0°F / 5.0°C | Humidity: 74% | Pressure: 30.11in / 1019.5hPa (Steady) | Conditions: Clear | Wind Direction: WSW | Wind Speed: 4.0mph / 6.4km/h ; Today - Mostly sunny. Breezy...cooler. High in the upper 40s. Northwest wind 15 to 25 mph with gusts to around 35 mph.; Tonight - Partly cloudy. Low in the mid 20s. Northwest wind 5 to 15 mph. Gusts up to 25 mph through midnight.; (1 more message)

06:31 <wdsmia> &more

06:31 <Romulus> wdsmia: Friday - Sunny. High in the upper 40s. Northwest wind 5 to 15 mph.;

07:14 *** yoyo[RKN] has quit IRC

08:19 *** wdsmia_w has joined #boinc

08:48 *** quail has quit IRC

10:17 *** GaelicGrime has quit IRC

10:59 *** Tank_Master has quit IRC

11:04 *** Tank_Master has joined #boinc

11:06 *** Tank_Master has quit IRC

11:06 *** Tank-Master has joined #boinc

11:24 *** licensed has quit IRC

12:03 *** Aeternus has joined #boinc

12:03 *** Aeternus has quit IRC

12:03 *** Aeternus has joined #boinc

12:49 *** GaelicGrime has joined #boinc

12:49 *** GaelicGrime has quit IRC

12:49 *** GaelicGrime has joined #boinc

12:52 *** Tank-Master has quit IRC

12:53 *** Tank_Master has joined #boinc

13:13 *** whynot has joined #boinc

13:27 *** shirish has joined #boinc

13:28 <shirish> hi all, does anybody how to have boinc startup in Ubuntu

13:28 <shirish> please shout my name if there is anybody who knows this.

13:34 <whynot> shirish: you have to enable boinc-client something

13:34 <whynot> shirish: it's among system services or whatever ubuntu calls them

13:36 <shirish> whynot: hmmm.... can't find system services in ubuntu

13:37 <whynot> shirish: those are init-scripts for me

13:37 <whynot> shirish: tip: cron exim logrotate

13:39 <shirish> whynot: none of the above packages I can install it seems

13:40 <whynot> shirish: those are probably installed already

13:40 <whynot> shirish: do you have terminalphobia of any kind?

13:41 <shirish> whynot: no, I tried using aptitude and trying to see if any of these packages are installed or have any info. on them but none have.

13:41 <whynot> ok, wait

13:44 <whynot> shirish: sudo update-rc.d boinc-client start 20 2 3 4 5

13:45 <shirish> whynot: instead of this do you know of a GUI through which I could do this.

13:46 <whynot> shirish: no, I suffer severe guiphobia, that's the problem

13:46 <shirish> whynot: frankly I'm afraid I might feed in something wrong and screw up the system.

13:46 <whynot> shirish: I know for sure there's a gui-tool for this

13:46 <whynot> shirish: that's why I asked

13:47 <whynot> wait

13:47 <shirish> whynot: thank you

13:50 <whynot> shirish: I've been tipped: /join #ubuntu

13:52 <shirish> whynot: I know that r

13:54 <shirish> whynot: I know that room/channel, its full of noise :(

13:54 <shirish> whynot: that's why I came here, so that I could perhaps get the instructions and let BOINC do its work.

13:55 * whynot feels too obliged today

13:55 <whynot> wait

13:55 <shirish> even the ubuntu help documentation is not upto the mark :( that's why I asked you

13:57 <whynot> shirish: http://ubuntuforums.org/showpost.php?p=8580340&postcount=5

13:57 <Romulus> <http://tinyurl.com/35treta> (at ubuntuforums.org)

13:57 <whynot> shirish: looks promising

13:58 <shirish> whynot: thanx looking at it as we speak.

14:00 <shirish> whynot: got to startup applications, now what

14:00 *** bastik has joined #boinc

14:00 <whynot> shirish: is boinc-client listed?

14:00 <shirish> whynot: nope

14:00 <shirish> whynot: how do I add it/list it?

14:01 <whynot> shirish: is boinc-client installed?

14:01 <shirish> whynot: yes, its installed

14:01 <shirish> just a moment please

14:01 <shirish> $ whereis boinc-client

14:01 <shirish> boinc-client: /etc/boinc-client /usr/lib/boinc-client /usr/lib64/boinc-client /usr/share/boinc-client

14:02 <shirish> whynot: now what?

14:03 * whynot is puzzled

14:03 <shirish> I installed it through synaptic

14:04 <shirish> whynot: I followed the instructions given at https://help.ubuntu.com/community/WorldCommunityGridTeamUbuntu

14:04 <Romulus> <http://tinyurl.com/3xhdmyt> (at help.ubuntu.com)

14:05 <shirish> I am stuck at https://help.ubuntu.com/community/WorldCommunityGridTeamUbuntu#Starting BOINC on Startup

14:05 <Romulus> <http://tinyurl.com/3xhdmyt> (at help.ubuntu.com)

14:05 <shirish> that last paragraph doesn't do anything for me.

14:06 <shirish> whynot: please tell me if you saw those links

14:07 <whynot> shirish: digging right now

14:08 <shirish> whynot: thanx, if you can figure it out, please lemme know where the BOINC directory is or how to find that directory

14:09 <whynot> shirish: that's easy: /var/lib/boinc-client

14:09 * whynot wonders if we speak English still

14:10 <shirish> whynot: so that's all I need to put up in startup applications, that path ?

14:10 <whynot> shirish: probably

14:10 <whynot> shirish: I think we have different concepts of "startup"

14:11 <shirish> whynot: ok, lemme tell you what I know or understand from the meaning of 'startup'

14:12 <shirish> whynot: I'll start with the very beginning, please correct me if I go wrong somewhere.

14:12 <shirish> whynot: first up boinc is for distributed computing.

14:12 <whynot> shirish: I'm about system startup

14:13 <shirish> whynot: I downloaded it, installed it and ran it through Applications>System Tools > BOINC Manager

14:13 <shirish> whynot: coming to that, just going through the steps maybe I missed something or the other.

14:14 <shirish> whynot: then it also successfully attached to the project, downloaded some tasks and is now doing the crunching.

14:14 <shirish> whynot: now what I want to do now, is that when I shut off/shut down the machine and start in the morning or whenever

14:14 <shirish> then boinc should be running in the background

14:15 <shirish> whynot: from what I understand of 'startup applications' coming from windows background are those programs/services which would start as one logs in to the machine.

14:16 <whynot> shirish: that's correct

14:16 <shirish> whynot: I do understand that Ubuntu has 2 levels 3 and 5 through which I can log in.

14:16 <shirish> whynot: 5 is where the GUI is and that's why you were probably giving me the update.rc d command.

14:17 <whynot> shirish: can we try to check it my way?

14:17 <whynot> shirish: show: ls /etc/rc?.d/*boinc-client

14:17 <shirish> whynot: I'm afraid I might botch it or do something nasty and then not probably remember it.

14:17 <shirish> that I can do

14:17 <whynot> shirish: copy-paste in terminal

14:18 <shirish> $ ls /etc/rc?.d/*boinc-client

14:18 <shirish> /etc/rc0.d/K20boinc-client  /etc/rc3.d/S20boinc-client  /etc/rc6.d/K20boinc-client

14:18 <shirish> /etc/rc1.d/K20boinc-client  /etc/rc4.d/S20boinc-client

14:18 <shirish> /etc/rc2.d/S20boinc-client  /etc/rc5.d/S20boinc-client

14:18 <shirish> that's the output it gives.

14:18 <whynot> shirish: that looks completely broken

14:19 <shirish> whynot: so that's why its not probably showing up in that startup applications thing.

14:20 <whynot> shirish: copy-paste this: sudo update-rc.d boinc-client defaults

14:21 <shirish> whynot: did that, it says System start/stop links for /etc/init.d/boinc-client already exist.

14:21 <shirish> whynot: System start/stop links for /etc/init.d/boinc-client already exist.

14:21 * whynot shrugs

14:22 <whynot> shirish: copy-paste: sudo update-rc.d -f boinc-client defaults

14:22 * shirish is stumped as well.

14:22 <shirish> whynot: the same message appears as above.

14:23 <whynot> shirish: I have tricks yet

14:24 <shirish> whynot: I am sure you have

14:24 <whynot> shirish: copy-paste: sudo rm /etc/rc?.d/*boinc-client

14:24 <whynot> shirish: and then again

14:24 <whynot> shirish: copy-paste: sudo update-rc.d -f boinc-client defaults

14:25 <shirish> whynot: did those two, the output is pretty big, I don't want to flood the channel.

14:26 <whynot> shirish: copy-paste: ls /etc/rc?.d/*boinc-client

14:26 <whynot> shirish: how many entries?

14:27 <shirish> whynot: 7 entries

14:28 <whynot> shirish: is there /etc/rc5.d/S20boinc-client ?

14:28 <shirish> whynot: here what it gave

14:28 <shirish> http://paste.ubuntu.com/525845/

14:28 <Romulus> Title: Ubuntu Pastebin (at paste.ubuntu.com)

14:29 <shirish> whynot: there is /etc/rc5.d/S20boinc-client

14:29 * whynot relaxes

14:29 <whynot> shirish: it's almost done

14:30 <shirish> whynot: ok, anything else remaining?

14:30 <whynot> shirish: copy-paste: sed -n '/ENABLED/p' /etc/defaults/boinc-client

14:31 <whynot> shirish: is it that: ENABLED="1"

14:31 <shirish> whynot: it says sed: can't read /etc/defaults/boinc-client: No such file or directory

14:32 <whynot> shirish: that's different

14:32 <whynot> shirish: ok, me's wrong (as ever)

14:32 <whynot> shirish: copy-paste: sed -n '/ENABLED/p' /etc/default/boinc-client

14:33 <shirish> whynot: yup it shwos ENABLED="1"

14:33 <shirish> whynot: shows

14:33 <whynot> shirish: we're almost done

14:34 <whynot> shirish: to check if it's really OK, you have to restart your system

14:34 <whynot> shirish: not re-login, it's not enough

14:34 <whynot> shirish: actually, if you can wait, check tomorrow

14:35 <shirish> whynot: sure, no problem, thanx a lot for your help.

14:35 <whynot> shirish: sorry for my bad gui-speak

14:36 <shirish> whynot: no problems again, I would just say each to his/her own.

14:37 <whynot> shirish: come to the terminal side, we have cookies

14:38 <shirish> whynot: ok that went over me.

14:38 <shirish> whynot: I am on the terminal

14:38 <whynot> shirish: but you don't speak terminal

14:38 <whynot> shirish: anyway, happy crunching

14:39 <shirish> whynot: thanx, happy crunching to you too.

14:39 *** n1c0b has joined #boinc

14:39 <shirish> whynot: I hope you are here tomorrow in case I run into problems again.

14:40 <whynot> shirish: what problems?

14:40 <whynot> shirish: in fact, those broken /etc/rc?.d links look pretty suspicous to me

14:40 <shirish> whynot: I said tomorrow, *if* I run into boinc problems

14:41 <shirish> whynot: any tips you can give me as to how to know if boinc is running or not by itself before coming here.

14:42 <shirish> whynot: if you know any command which can check if boinc is running or not at any point in time and its expected result.

14:42 <whynot> shirish: pgrep -U boinc

14:42 <whynot> that should output some numbers (those happen to be PIDs)

14:43 <whynot> shirish: how many, depends on projects and how you run them

14:43 <whynot> shirish: anyway there should be at least 2, probably 4 numbers

14:43 <whynot> shirish: check now

14:43 <shirish> whynot: there are 4 numbers

14:44 <whynot> shirish: thus it's running

14:44 <whynot> shirish: (for curious minds): ps l `pgrep -U boinc`

14:44 <shirish> whynot: what would happen if boinc is not running, it won't show numbers or show less numbers?

14:45 <whynot> shirish: if there is none or one number, then there're problems

14:46 <shirish> whynot: ok that's cool.

14:47 <shirish> whynot: I'm sure as things progress they would make it more GUI-friendly as well.

14:47 <shirish> whynot: or more apt newbie-friendly as well.

14:47 <shirish> :)

14:48 <whynot> shirish: I beg to differ, newbies have to grow

14:49 <shirish> whynot: if volunteer programs like BOINC have to have large number of well-meaning, well-intentioned individuals but not technically minded, the project has to lean towards them and not expect them to lean towards it.

14:49 <shirish> whynot: I do have the will and the time to go through all this, most of my friends would want to run it but wouldn't want to spend so much time configuring it.

14:50 <whynot> shirish: the problem you had on hands have nothing to do with boinc, in fact

14:50 <shirish> whynot: and I can't recommend something to them which seems buggy

14:50 <shirish> whynot: perhaps its the OS at fault, you maybe right there.

14:50 <whynot> shirish: from my POV the buggy one is ubuntu

14:51 <shirish> whynot: should I file a bug or something in ubuntu ?

14:51 <whynot> shirish: most probably it would be ignored, and for reasons

14:52 <whynot> shirish: (I'm speculating) probably your installation of boinc-client had break in progress

14:52 <shirish> whynot: so the way forward is to wait till tomorrow and see what happens after that.

14:52 <shirish> whynot: nope, it was a clean install. I just formatted, installed and upgraded the whole system yesterday night.

14:52 <shirish> whynot: then today in the evening, installed BOINC through synaptic

14:53 <shirish> whynot: there was no net connection breakage while I was installing.

14:54 <shirish> whynot: I don't know if there is any other sort of breakage that could happen.

14:54 <whynot> shirish: try to look in /var/log/dpkg.log* files

14:54 <whynot> shirish: look for lines mentioning 'boinc-client'

14:55 <whynot> shirish: I could probably help tomorrow

14:56 <whynot> shirish: if there's nothing suspicious, then ubuntu is buggy itself, indeed

14:58 <shirish> whynot: thanx again, be back here *if* its required, tomorrow.

14:58 <shirish> whynot: bye for now

15:00 <shirish> whynot: wait, did what you asked, and tried that sed trick you gave

15:01 <shirish> pasting it at paste.ubuntu.com

15:02 <whynot> ?

15:02 <shirish> whynot: actually grepped it.

15:02 <shirish> whynot: http://paste.ubuntu.com/525873/

15:02 <Romulus> Title: Ubuntu Pastebin (at paste.ubuntu.com)

15:03 <shirish> whynot: I know grep and sed are for searching for whatever is needed through file/files.

15:05 *** whynot1 has joined #boinc

15:06 *** whynot has quit IRC

15:10 *** whynot1 is now known as whynot

15:11 <whynot> ISP has craped on me

15:11 <whynot> shirish: ?

15:11 <Romulus> Rumor has it shirish: is boinc-client listed, whynot

15:12 <shirish> whynot: yes ?

15:13 <whynot> shirish: the paste looks weird

15:13 <shirish> whynot: ok, I guessed as much

15:13 <whynot> shirish: it has too many 'unpacked' state-lines

15:13 <shirish> whynot: right, it shouldn't no.

15:14 <whynot> shirish: however, there could be tips around those grepped lines

15:15 <whynot> shirish: try this: grep -C3 boinc-client /var/log/dpkg.log

15:16 <shirish> whynot: hang on, tryin git out.

15:16 <whynot> goddamit, I have to sleep sometimes

15:16 <shirish> whynot: same here, its the other side of the night for me as well.

15:17 <shirish> whynot: did that, again output too big, pastebinning it.

15:18 <shirish> whynot: here's the pastebin output http://paste.ubuntu.com/525883/

15:18 <Romulus> Title: Ubuntu Pastebin (at paste.ubuntu.com)

15:21 <shirish> whynot: any ideas?

15:22 <whynot> shirish: that's really weird

15:22 *** Simone|Away has joined #boinc

15:23 <shirish> whynot: thought so as well.

15:23 <whynot> shirish: probably some ubuntu nightmare

15:23 <whynot> shirish: anyway, try 'debsums' package

15:23 <shirish> whynot: ok installing 'debsums' package

15:24 <whynot> shirish: then: debsums -e

15:24 <whynot> shirish: that would check if *constant* configuration files (of whole system) are OK

15:25 <shirish> whynot: ok, would do that.

15:26 <whynot> shirish: then try this: ls /etc/rd[2345].d

15:26 <whynot> shirish: just glance over if those directrories look the same

15:26 <whynot> they should be

15:27 <shirish> whynot: most of them passed ok, some failed

15:28 <shirish> for the boinc thing, it gave something interesting perhaps

15:28 <shirish> debsums: can't open boinc-client file /etc/boinc-client/gui_rpc_auth.cfg (Permission denied)

15:28 <shirish> debsums: can't open ca-certificates-java file /etc/default/cacerts (Permission denied)

15:28 <whynot> shirish: that's ok, just try it with sudo

15:31 <shirish> whynot: the first one failed is /etc/mime.types FAILED

15:32 <shirish> whynot: then its /etc/apt/apt.conf.d/10periodic FAILED

15:32 <shirish> whynot: only these two are failed, rest passed.

15:32 <whynot> shirish: most probably you've never modified them, right?

15:33 <shirish> whynot: I did download vlc and the codecs but apart from them, didn't touch them.

15:33 <whynot> shirish: can I have a look at that 10periodic thing?

15:33 <shirish> whynot: how?

15:33 <whynot> shirish: pastebin

15:34 <shirish> whynot: give the wholething on pastebin?

15:34 <shirish> whynot: btw here's the output of your other command

15:34 <shirish> $ ls /etc/rd[2345].d

15:34 <shirish> ls: cannot access /etc/rd[2345].d: No such file or directory

15:34 <shirish> doing sudo also gives the same output

15:34 <whynot> shirish: again, my bad

15:34 <whynot> ls /etc/rc[2345].d

15:35 <whynot> shirish: as of mime.types, they don't need to be modified either

15:36 *** licensed has joined #boinc

15:36 *** licensed has quit IRC

15:36 *** licensed has joined #boinc

15:36 <shirish> whynot: getting the same output as before.

15:37 <shirish> whynot: here's the pastebin output http://paste.ubuntu.com/525900/

15:37 <Romulus> Title: Ubuntu Pastebin (at paste.ubuntu.com)

15:37 <shirish> whynot: I'm guessing you running Debian or one of those BSD Os'es

15:38 <shirish> whynot: *are*

15:38 <whynot> shirish: it's kind of debian

15:38 <shirish> whynot: thought so.......

15:38 * shirish grins

15:38 *** Danilo has joined #boinc

15:39 <whynot> shirish: as of 10periodic, I've meant, I would like to see that 10periodic thing

15:39 *** Danilo is now known as _Danilo_

15:39 *** _Danilo_ has joined #boinc

15:40 <shirish> whynot: I have no idea from where that 10periodic thing has come, honestly

15:40 <whynot> shirish: /etc/apt/apt.conf.d/10periodic

15:41 <shirish> whynot: so its part of the apt package, that package which runs synaptic, aptitude,apt-get

15:41 <shirish> etc.

15:42 <shirish> whynot: so how do I show you that 10periodic thing

15:42 <whynot> shirish: pastebin

15:42 <shirish> whynot: you want me to copy the contents of that file,

15:42 <shirish> whynot: now I get it

15:42 * shirish the bulb kinda flickers

15:42 <whynot> shirish: probably, you have to sleep too

15:44 <shirish> whynot: yes, as have you

15:44 <shirish> whynot: its a pretty small file.

15:44 <shirish> whynot: here are the contents pastebinned http://paste.ubuntu.com/525907/

15:44 <Romulus> Title: Ubuntu Pastebin (at paste.ubuntu.com)

15:46 *** n1c0b has quit IRC

15:46 *** wdsmia_w has quit IRC

15:48 <shirish> whynot: you there?

15:48 <whynot> shirish: yup

15:48 <shirish> whynot: so what's the verdict?

15:48 <whynot> shirish: investigating

15:50 <whynot> shirish: I've bet that you haven't the very last line to this file, rigth?

15:51 <shirish> whynot: what do you mean, that's all there is in the file.

15:52 <whynot> s/haven't the/haven't added manually the/

15:52 <shirish> whynot: the last line is APT::Periodic::Unattended-Upgrade "0";

15:52 <whynot> shirish: yup, I've checked stock sources, there is no such line

15:53 <whynot> shirish: that means it has been added later

15:53 <whynot> shirish: by something

15:53 <shirish> whynot: something above me.

15:53 <whynot> shirish: what's modification time of that 10periodic thing?

15:54 <whynot> shirish: try this: stat /etc/apt/apt.conf.d/10periodic

15:55 <whynot> shirish: the next to last line of output is 'modification time'

15:55 <shirish> whynot: hang on, trying it out.

15:57 *** Aeternus has quit IRC

15:57 <shirish> whynot: pasting the output of that as we speak.

15:57 <shirish> whynot: here it is http://paste.ubuntu.com/525920/

15:57 <Romulus> Title: Ubuntu Pastebin (at paste.ubuntu.com)

15:57 <whynot> shirish: aren't you sick of terminal yet?

15:58 <shirish> whynot: if I can help improve something even if its runaway 10periodic whatever then it would have been worth it.

16:04 <shirish> whynot: slightly OT I know one can use say 'man stat' to find all about the stat command, do you know of something which gives just a little info. on the commmand, not the whole shebang.

16:04 <whynot> shirish: whatever-command --help

16:05 <whynot> shirish: IIRC, that's requirement of Debian Policy

16:05 <whynot> shirish: although not all obey

16:06 <whynot> shirish: I've checked ubuntu sources (those are different of debian), it has 3 line anyway

16:06 <shirish> whynot: ok, so its good or bad ?

16:07 <whynot> shirish: what version of 'update-notifier' is installed on your system?

16:07 <shirish> whynot: trying it out

16:07 <whynot> shirish: apt-cache policy update-notifier-common

16:08 <whynot> shirish: installed one is marked with 3 stars

16:08 <shirish> whynot: its 0.105ubuntu1

16:08 <whynot> shirish: ok, then, I've checked correct source

16:09 <whynot> shirish: I'll say what I think about all that

16:09 <whynot> let's call it 'that shit'

16:09 <wdsmia> asks whynot to please watch his or her languageĀ… Thanks, your friendly channel op.

16:09 <whynot> shirish: ubuntu has lost debian-way of doing things

16:10 <whynot> shirish: as of debian-way, none package should modify configuration files of other package

16:11 <whynot> shirish: if some file is generated (iow, it's not shipped, it's generated by post-inst or configuration scripts)

16:11 <whynot> shirish: then it's not configuration file

16:11 <whynot> shirish: I believe that just the beginnig

16:12 <whynot> shirish: consider moving to other distribution

16:12 <whynot> point

16:12 * shirish sad

16:13 <shirish> whynot: are you saying more problems are yet to come.

16:14 <whynot> shirish: there's a wisdom, that ubuntu is what windows would be, if it would run off GNU/Linux

16:14 <shirish> whynot: if probably I have to move, I would try to move to debian when squeeze 6.0 comes out.

16:15 <whynot> shirish: I understand, all that looks a bit (or a lot) histeric

16:15 <whynot> shirish: but that's what I think, I just give up

16:17 <whynot> shirish: I really have to sleep

16:17 <whynot> happy crunching

16:17 *** whynot has quit IRC

16:20 <shirish> bye all, thanx again whynot.

16:20 * shirish bows out.

16:20 *** shirish has left #boinc

16:25 *** bastik has quit IRC

16:41 *** n1c0b has joined #boinc

16:43 *** licensed has quit IRC

17:56 *** n1c0b has quit IRC

18:09 *** synapt has quit IRC

18:13 *** synapt has joined #boinc

18:17 *** synapt has quit IRC

18:38 *** synapt has joined #boinc

19:05 *** _Danilo_ has quit IRC

19:07 *** synapt has quit IRC

19:10 *** synapt has joined #boinc

20:01 *** licensed has joined #boinc

20:02 *** efc has quit IRC

20:59 *** synapt has quit IRC

21:04 *** synapt has joined #boinc

21:37 *** synapt has quit IRC

21:49 *** synapt has joined #boinc

21:51 *** licensed` has joined #boinc

21:52 *** licensed has quit IRC

21:53 *** licensed` has quit IRC

21:53 *** licensed has joined #boinc

23:32 *** efc has joined #boinc

Generated by irclog2html.py 2.4 by Marius Gedminas - find it at mg.pov.lt!