IRC log of #maemo for Thursday, 2013-11-14

*** flo_lap is now known as florian00:00
*** Coopey has quit IRC00:01
*** zemmy has quit IRC00:01
*** Martix has joined #maemo00:02
*** dafox has quit IRC00:06
*** rm_work|away is now known as rm_work00:09
DocScrutinizer05freemangordon: xes: (reboot) I just remembered when and why it reboots: GSM TX00:12
DocScrutinizer05removing SIM might be worth the hassle ;-)00:12
DocScrutinizer05...for testing something that's not telling you much in the end ;-)00:13
DocScrutinizer05high ESR of battery makes Vbat drop below minimum as soon as TX draws 2A burst00:13
DocScrutinizer05the timing seems to match the problem description00:14
*** eijk has quit IRC00:23
*** Pali has quit IRC00:34
*** rcg has quit IRC00:35
*** Neutron2 has quit IRC00:38
*** int_ua has joined #maemo00:39
*** int_ua has quit IRC00:40
*** konelix has joined #maemo00:41
*** mvp has quit IRC00:44
*** SpeedEvil_ has quit IRC00:48
*** flo_lap has joined #maemo00:57
*** flo_lap has joined #maemo00:57
*** florian has quit IRC00:57
*** flo_lap is now known as florian00:57
*** Kabouik has quit IRC01:01
*** nox- has joined #maemo01:05
*** Konsieur_ has joined #maemo01:09
*** konelix has quit IRC01:09
*** Konsieur_ has quit IRC01:09
*** Konsieur_ has joined #maemo01:10
*** Konsieur_ has quit IRC01:10
*** konelix has joined #maemo01:11
*** konelix has quit IRC01:16
*** Kabouik has joined #maemo01:16
*** xkr47 has quit IRC01:21
*** xkr47 has joined #maemo01:21
*** Konsieur_ has joined #maemo01:21
*** Konsieur_ has quit IRC01:22
*** Neutron2 has joined #maemo01:23
*** goldkatze has joined #maemo01:25
*** zap_ has quit IRC01:34
*** Agge has quit IRC01:42
*** arcean has quit IRC01:42
*** Agge has joined #maemo01:51
*** kolp has quit IRC01:57
*** goldkatze has quit IRC02:03
*** goldkatze has joined #maemo02:03
*** xes has quit IRC02:05
*** goldkatze has quit IRC02:08
*** florian has quit IRC02:25
*** Hurrian has quit IRC02:25
*** Konsieur_ has joined #maemo02:28
*** Konsieur_ has quit IRC02:31
*** SpeedEvil has joined #maemo02:38
*** robotanarchy has quit IRC02:49
*** robotanarchy has joined #maemo02:51
*** nox- has quit IRC02:56
Wizzupn900 keeps telling me it cannot store or recieve messages because the device is full... df -h shows nothing filled above 60%02:56
Wizzupseems its ro02:57
*** Ninja has quit IRC03:01
Wizzuphm... could do with a fsck...03:05
Wizzupouch, i/o errors on .modest03:07
*** Ninja has joined #maemo03:07
*** triggerhappy has joined #maemo03:08
*** otep_ is now known as otep03:08
*** eMHa has quit IRC03:09
*** robbiethe1st has joined #maemo03:09
*** Kabouik has quit IRC03:09
*** eMHa has joined #maemo03:09
*** Konsieur_ has joined #maemo03:14
*** eMHa has quit IRC03:14
*** Konsieur_ has quit IRC03:18
*** Konsieur has joined #maemo03:25
*** GI_Jack has joined #maemo03:28
*** FlameReaper-PC has quit IRC03:29
*** Hurrian has joined #maemo03:31
*** hungerartist has joined #maemo03:35
*** Konsieur has quit IRC03:36
*** BCMM has quit IRC03:50
*** dos1 has quit IRC03:53
*** sleepee has joined #maemo03:56
*** LaoLang_cool has joined #maemo03:58
*** fuz_ has quit IRC04:00
*** SmilyOrg has quit IRC04:02
*** LaoLang_cool has quit IRC04:03
*** RST38h has joined #maemo04:16
*** eMHa has joined #maemo04:22
*** hungerartist has quit IRC04:25
*** mschlens has quit IRC04:27
*** mschlens has joined #maemo04:28
*** Humpelstilzchen has quit IRC04:42
DocScrutinizer05Wizzup: serious advice?04:44
DocScrutinizer05reflash04:44
DocScrutinizer05restore04:44
DocScrutinizer05profit04:44
*** brolin_empey_ has joined #maemo04:46
*** brolin_empey has quit IRC04:46
*** Defiant has joined #maemo04:51
*** sleepee has quit IRC05:01
*** LauRoman has joined #maemo05:04
*** Martix has quit IRC05:10
*** GI_Jack has quit IRC05:15
*** Milhouse has quit IRC05:19
*** rm_work is now known as rm_work|away05:21
*** brolin_empey_ is now known as brolin_empey05:30
*** andre__ has joined #maemo05:30
*** LauRoman has quit IRC05:47
*** LauRoman|Alt has quit IRC05:47
*** Smily has joined #maemo05:59
*** uen| has joined #maemo06:01
*** lxp1 has joined #maemo06:01
*** lxp has quit IRC06:04
*** uen has quit IRC06:05
*** uen| is now known as uen06:05
*** Herbstb3rt has joined #maemo06:08
*** Herbstbert has quit IRC06:11
*** FlameReaper-PC has joined #maemo06:16
*** maybeWTF has joined #maemo06:30
*** maybeHere has quit IRC06:34
*** kov has quit IRC06:50
*** kov has joined #maemo06:50
*** fuz_ has joined #maemo07:17
*** freemangordon_ has joined #maemo07:25
*** freemangordon has quit IRC07:25
*** robbiethe1st has quit IRC07:29
*** croppa has joined #maemo07:48
*** dafox has joined #maemo07:54
*** Konsieur has joined #maemo08:08
sonoprofit? yay!08:11
*** Konsieur has quit IRC08:15
*** Konsieur has joined #maemo08:15
*** beford has joined #maemo08:18
*** Konsieur has quit IRC08:24
*** zap_ has joined #maemo08:26
*** VDVsx has quit IRC08:27
*** croppa has quit IRC08:27
*** amizraa has quit IRC08:28
*** robotanarchy has quit IRC08:28
*** trx has quit IRC08:28
*** otep has quit IRC08:28
*** Trizt has quit IRC08:28
*** githogori has quit IRC08:28
*** ecc2g has quit IRC08:28
*** cehteh has quit IRC08:28
*** DocScrutinizer05 has quit IRC08:28
*** pigeon has quit IRC08:28
*** ds3 has quit IRC08:28
*** ssvb has quit IRC08:28
*** DocScrutinizer05 has joined #maemo08:29
*** dafox has quit IRC08:37
*** Pali has joined #maemo08:40
*** cyborg-one has quit IRC08:44
*** VDVsx has joined #maemo08:55
*** triggerhappy has quit IRC08:56
*** cyborg-one has joined #maemo08:56
*** triggerhappy has joined #maemo08:56
*** qwazix has quit IRC08:59
*** qwazix has joined #maemo09:05
*** unclouded has quit IRC09:06
*** croppa has joined #maemo09:15
*** Pali has quit IRC09:18
*** dafox has joined #maemo09:19
*** larrfed has quit IRC09:42
*** larrfed has joined #maemo09:46
*** dafox has quit IRC09:49
*** XATRIX has joined #maemo09:53
*** bef0rd has quit IRC09:55
*** bef0rd has joined #maemo09:56
*** bef0rd has joined #maemo09:56
*** eijk has joined #maemo09:58
*** bef0rd has quit IRC10:00
*** Ninja has quit IRC10:17
*** HylianSavior has quit IRC10:26
*** utanapischti has quit IRC10:29
*** utanapischti has joined #maemo10:30
*** Apic has quit IRC10:34
*** florian_kc has joined #maemo10:38
*** florian_kc has quit IRC10:38
*** florian_kc has joined #maemo10:38
*** FReaper-PC has joined #maemo10:39
*** ToJa92_ has joined #maemo10:43
*** nikosapi is now known as 45PAAI5EI10:44
*** nikosapi has joined #maemo10:44
*** robotanarchy has joined #maemo10:44
*** trx has joined #maemo10:44
*** otep has joined #maemo10:44
*** Trizt has joined #maemo10:44
*** githogori has joined #maemo10:44
*** ecc2g has joined #maemo10:44
*** cehteh has joined #maemo10:44
*** pigeon has joined #maemo10:44
*** ds3 has joined #maemo10:44
*** ssvb has joined #maemo10:44
*** cyborg-one has quit IRC10:45
*** utanapischti has quit IRC10:46
*** zap_ has quit IRC10:46
*** FlameReaper-PC has quit IRC10:46
*** uen has quit IRC10:46
*** drussell has quit IRC10:46
*** khertan has quit IRC10:46
*** Gh0sty has quit IRC10:46
*** pcfe has quit IRC10:46
*** 45PAAI5EI has quit IRC10:46
*** g3kk3r_ has quit IRC10:46
*** lexik has quit IRC10:46
*** ToJa92 has quit IRC10:46
*** tg has quit IRC10:46
*** jake42 has quit IRC10:46
*** deegee__ has joined #maemo10:46
*** utanapischti has joined #maemo10:46
*** zap_ has joined #maemo10:46
*** uen has joined #maemo10:46
*** Gh0sty has joined #maemo10:46
*** pcfe has joined #maemo10:46
*** g3kk3r_ has joined #maemo10:46
*** lexik has joined #maemo10:46
*** tg has joined #maemo10:46
*** jake42 has joined #maemo10:46
*** tg has quit IRC10:47
*** tg has joined #maemo10:49
*** jmlich has joined #maemo10:50
*** Konsieur has joined #maemo10:52
*** florian_kc is now known as florian10:55
*** deegee__ has quit IRC10:56
*** cyborg-one has joined #maemo10:56
*** OkropNick has joined #maemo10:56
*** drussell has joined #maemo10:57
*** larrfed has quit IRC10:57
WizzupDocScrutinizer05: ouch @ reflash.... ok10:58
WizzupDocScrutinizer05: I also got an io error in .modest -- doesn't that indicate it's more than broken?10:58
Wizzuplike, more than on fs level10:59
*** unclouded has joined #maemo11:02
*** larrfed has joined #maemo11:04
*** khertan has joined #maemo11:08
*** khertan has quit IRC11:15
*** KhertanAtwork has joined #maemo11:17
*** croppa has quit IRC11:19
*** croppa has joined #maemo11:19
anYcthen do a fsck11:22
WizzupanYc: I tried several ways (all that involve power-kernel, which I have): /etc/kernel-power/force_fsck , /etc/defaults/kernel etc11:22
Wizzupnone seems to actually do a fsck11:22
anYchm ok, I used nemo from sdcard for that11:23
Wizzupthat's a possibility11:23
WizzupI wanted to give nemo another try anyway ;-)11:23
Wizzupmeanwhile. modest keeps crashing every 10 seconds and my phone is pretty unusable11:23
anYcbut it was too late then, the partition with /home/user/ and /opt was half gone11:23
WizzupI dropped my n900 two days ago and the battery fell out, that's the only reason I can think of11:24
anYcin my case modest was starting but it didn't fetch new mails anymore11:24
Wizzupthat of the mmc is dying?11:24
Wizzups/of/or/11:24
infobotWizzup meant: that or the mmc is dying?11:24
Wizzupwhich would be worse, I guess11:24
anYcboth possible I would say. My device works again, only several configs were missing.11:25
anYcI remember, I wanted to check if maemo isn't doing fs check at boot11:25
Wizzupit can be enforced apparently, with kernel-power11:26
Wizzupbut it doesn't work, for me at least11:26
Wizzupmaybe I can just temporarily remove the whole .modest folder11:27
Wizzup(since I don't really use email on it anyway)11:27
*** larrfed has quit IRC11:28
*** larrfed has joined #maemo11:34
*** RP_ has quit IRC11:39
*** RP_ has joined #maemo11:40
*** mvp has joined #maemo11:40
*** zap_ has quit IRC11:43
*** jas4711 has joined #maemo12:02
*** Martix has joined #maemo12:05
DocScrutinizer05reflash!12:06
*** eijk_ has joined #maemo12:07
*** eijk has quit IRC12:07
DocScrutinizer05I/O errors are no fs corruption usually. MAYBE you can fix them with a low level format (==reflash)12:08
DocScrutinizer05odds are the drop destroyed the eMMC (soldering)12:09
*** kolp has joined #maemo12:09
DocScrutinizer05Wizzup: ^^^12:09
WizzupDocScrutinizer05: okay12:11
WizzupDocScrutinizer05: I also have a spare n900 lying around, but yeah12:11
WizzupI'll start making backups again ;-)12:11
DocScrutinizer05NB *full* reflash needed12:11
Wizzupyes12:11
WizzupI understood12:11
WizzupHow does that solve i/o errors?12:12
Wizzupwill force the mmc to place stuff elsewhere?12:12
*** beford has quit IRC12:12
*** beford has joined #maemo12:13
*** beford has joined #maemo12:13
DocScrutinizer05when eMMC simply has bad blocks, then a reflash may create a new internal bad block table AIUI12:13
DocScrutinizer05yes, basically all blocks move each time you write them12:14
DocScrutinizer05wear leveling12:14
*** Martix has quit IRC12:15
DocScrutinizer05eMMC does this internally and *should* tag bad erase pages12:15
*** mrsellout has joined #maemo12:17
DocScrutinizer05anyway I heard similar problems oftem, usually related to briute force shutdown which can cause MMC aborted flash that even can destroy flash storage completely12:17
*** Martix has joined #maemo12:18
DocScrutinizer05and usually fsck is at best a time consuming and cumbersome process, oftem it even makes things worse12:18
DocScrutinizer05a reflash is a walk in the park compared to fsck12:18
DocScrutinizer05even *with* backup and restore of all your data and re-installation of your apps12:19
*** kwork has quit IRC12:19
*** Martix has quit IRC12:26
DocScrutinizer05Wizzup: flash storage working like: read erase page to internal buffer RAM; modify the block of data the CPU wants to write; meanwhile erase (an) erase page; modify the internal management data which lives in reserved block of every erase page; write back the data from internal RAM to the erase page.12:29
*** eijk has joined #maemo12:30
*** eijk_ has quit IRC12:30
DocScrutinizer05now figure what happens when you remove power during that process12:30
Wizzupwell I didn't drop it on purpose ;-)12:30
DocScrutinizer05sure12:31
WizzupI'll reflash it in a bit12:31
WizzupI managed to make a backup12:31
Wizzupand the phone is quite new and unused12:31
Wizzupso I hope the emmc is not dead yet12:31
DocScrutinizer05odds are only a page erase failed, or the write didn't complete, thus leaving garbled management data. This should be a problem the card controller can eventually fix during a complete format which happens on a full reflash12:33
*** otep has quit IRC12:34
*** otep has joined #maemo12:35
WizzupDocScrutinizer05: Will try. ty.12:36
*** eMHa has quit IRC12:42
*** Herbstb3rt is now known as Herbstbert12:50
*** drussell has quit IRC12:55
*** croppa has quit IRC12:59
*** Vanadis has joined #maemo13:00
*** Vanadis_ has quit IRC13:03
*** eijk has quit IRC13:06
*** eijk has joined #maemo13:06
DocScrutinizer05Wizzup: ask ShadowJK, he's the flash storage wiz here13:12
DocScrutinizer05my understanding of how flash storage works is just rudimentary compared to his expertise13:13
*** eMHa has joined #maemo13:14
DocScrutinizer05however empirically a reflash is the more convenient way to fix the problems you described13:14
*** drussell has joined #maemo13:18
*** beford has quit IRC13:20
*** eijk has quit IRC13:20
*** eijk has joined #maemo13:20
*** Ex-Opesa has quit IRC13:39
*** zammy has joined #maemo13:44
*** Ex-Opesa has joined #maemo13:51
*** qwazix has quit IRC13:57
*** Pali has joined #maemo14:01
*** qwazix has joined #maemo14:01
*** sunny_s has joined #maemo14:29
*** louisdk has joined #maemo14:39
*** Martix has joined #maemo14:46
*** sixwheeledbeast has joined #maemo14:52
*** Martix has quit IRC14:53
*** Martix has joined #maemo14:56
*** Martix_ has joined #maemo14:59
*** Martix has quit IRC14:59
*** rcg has joined #maemo15:00
*** Pali has quit IRC15:02
*** Martix has joined #maemo15:07
*** Martix_ has quit IRC15:11
*** Pali has joined #maemo15:13
*** Martix has quit IRC15:15
*** jonwil has joined #maemo15:21
*** konelix has joined #maemo15:33
*** jmlich has quit IRC15:34
*** jmlich has joined #maemo15:37
*** FReaper-PC has quit IRC15:52
*** FR-PC has joined #maemo15:52
*** amizraa has joined #maemo15:58
*** bjv has joined #maemo16:00
DocScrutinizer05[NOTICE] COUNCIL ELECTIONS pending, candidates wanted *urgently*16:02
*** SpeedEvil has quit IRC16:11
*** mrsellout has quit IRC16:15
*** Vanadis_ has joined #maemo16:20
*** Vanadis has quit IRC16:23
*** shentey has joined #maemo16:32
*** jonwil has quit IRC16:35
*** Agge has quit IRC16:44
*** LauRoman has joined #maemo16:45
*** shentey_ has joined #maemo16:50
*** shentey has quit IRC16:50
*** shentey_ has quit IRC16:56
*** shentey_ has joined #maemo16:56
*** andre__ has quit IRC17:04
*** khertan has joined #maemo17:04
*** shentey_ has quit IRC17:07
*** shentey_ has joined #maemo17:07
*** SpeedEvil has joined #maemo17:13
*** robotanarchy has quit IRC17:16
*** robotanarchy has joined #maemo17:18
*** Agge has joined #maemo17:26
*** shentey_ has quit IRC17:29
*** shentey_ has joined #maemo17:29
*** Aggese has joined #maemo17:29
*** g3kk3r_ has quit IRC17:30
*** VDVsx has quit IRC17:31
*** Agge has quit IRC17:32
*** Alien_UA has joined #maemo17:33
*** shentey_ has quit IRC17:34
*** shentey__ has joined #maemo17:34
*** at1as has joined #maemo17:36
*** e2718 has joined #maemo17:37
*** VDVsx has joined #maemo17:44
*** Hurrian has quit IRC17:45
*** Martix has joined #maemo17:52
*** shentey__ has quit IRC17:56
*** shentey has joined #maemo17:56
*** HylianSavior has joined #maemo17:56
*** e2718 has quit IRC17:57
*** Martix has quit IRC17:59
*** oldtopman has joined #maemo17:59
*** andre__ has joined #maemo18:00
*** rcg has quit IRC18:01
*** rcg has joined #maemo18:02
*** shentey has quit IRC18:04
*** shentey has joined #maemo18:04
*** Milhouse has joined #maemo18:06
*** Martix has joined #maemo18:08
*** Pali has quit IRC18:09
*** Martix has quit IRC18:15
*** SpeedEvil has quit IRC18:20
*** SpeedEvil has joined #maemo18:20
*** florian has quit IRC18:24
*** oldtopman has quit IRC18:30
*** triggerhappy has quit IRC18:31
*** Pali has joined #maemo18:38
*** andre__ has quit IRC18:45
*** konelix has left #maemo18:49
*** SmilyOrg has joined #maemo18:51
*** shentey has quit IRC18:52
*** Konsieur has quit IRC18:52
*** Smily has quit IRC18:54
*** BCMM has joined #maemo18:56
*** SAiF has joined #maemo18:59
*** e2718 has joined #maemo19:03
*** Martix has joined #maemo19:03
*** cyborg-o1e has joined #maemo19:03
*** cyborg-one has quit IRC19:06
*** XATRIX has quit IRC19:08
*** bef0rd has joined #maemo19:23
*** Martix has quit IRC19:26
*** amizraa has quit IRC19:29
*** amizraa has joined #maemo19:30
*** Woody14619a is now known as Woody1461919:41
*** dos1 has joined #maemo19:48
*** mavhc has quit IRC20:01
*** obiwlan has quit IRC20:03
*** mavhc has joined #maemo20:03
*** obiwlan has joined #maemo20:05
*** mavhc has quit IRC20:06
*** Agge has joined #maemo20:08
*** mavhc has joined #maemo20:09
*** Aggese has quit IRC20:10
*** SmilyOrg is now known as Smily20:16
*** jmlich has quit IRC20:20
*** e2718 has quit IRC20:26
*** freemangordon_ has quit IRC20:41
*** andre__ has joined #maemo20:59
*** mvp_ has joined #maemo21:02
*** zemmy has joined #maemo21:05
*** ZogG_laptop has joined #maemo21:06
*** ZogG_laptop has quit IRC21:06
*** ZogG_laptop has joined #maemo21:06
*** bef0rd has quit IRC21:07
*** DrCode has joined #maemo21:11
*** DrCode has quit IRC21:11
*** Martix has joined #maemo21:14
*** goldkatze has joined #maemo21:14
*** arcean has joined #maemo21:16
*** rm_work|away is now known as rm_work21:18
FatPhilAnyone stripped down an n900, and dealt with the stylus clip?21:22
FatPhilI'm doing more 2 broken -> 1 working hacks, and a (broken) stylus clip has just catapaulted itself across the room21:23
*** DrCode has joined #maemo21:24
FatPhilfark! yeah, the broken clip had migrated a long way from where it should be. No exploding springs from the non-broken one21:27
*** sq-one has joined #maemo21:36
*** Kabouik has joined #maemo21:37
*** eMHa has quit IRC21:39
*** Kabouik_ has joined #maemo21:40
*** Kabouik has quit IRC21:43
*** Kabouik has joined #maemo21:48
*** zap_ has joined #maemo21:49
*** Kabouik_ has quit IRC21:51
*** dack has joined #maemo21:55
*** Martix has quit IRC22:06
*** valerius has quit IRC22:13
*** valeriusL has quit IRC22:13
*** flo_lap has joined #maemo22:14
*** flo_lap is now known as florian22:15
*** Martix has joined #maemo22:15
*** eMHa has joined #maemo22:17
*** Martix_ has joined #maemo22:26
*** valeriusL has joined #maemo22:27
*** Martix has quit IRC22:29
*** _rd has joined #maemo22:31
*** Vanadis_ has quit IRC22:31
*** valerius has joined #maemo22:31
*** xes has joined #maemo22:48
*** Kabouik_ has joined #maemo22:48
*** Kabouik has quit IRC22:50
*** Martix_ has quit IRC22:51
*** Martix has joined #maemo22:52
*** _rd has quit IRC22:58
*** Vanadis has joined #maemo23:04
*** Vanadis has quit IRC23:05
*** Vanadis has joined #maemo23:07
*** sunny_s has quit IRC23:10
DocScrutinizer05FatPhil: hmm?23:10
DocScrutinizer05on n900 the stylus clip is a simple halfmoon steel stripe with a plastic notch on top, no?23:12
*** Aggese has joined #maemo23:13
DocScrutinizer05ooh, there's a 2nd one at the resection at stylus tip23:13
DocScrutinizer05the one I meant is close to the hole where you shove in the stylus, and it's known to occasionally bend terribly23:14
*** sunny_s has joined #maemo23:14
DocScrutinizer05(bend) maybe when the plastic tip comes off and the steel cuts into stylus so it can't get pulled out without bending the spring to death23:16
*** Agge has quit IRC23:16
*** Agge has joined #maemo23:16
dackDocScrutinizer05: my N900 came with an all plastic stylus23:17
*** Woody14619 has quit IRC23:18
DocScrutinizer05sure23:18
DocScrutinizer05all are all plastic23:18
*** Aggese has quit IRC23:19
dackDocScrutinizer05: sorry, I thought you were talking about the stylus, not the clip holding the stylus..  misread that. ;)23:19
DocScrutinizer05:-)23:19
mashina_the n800 had a nice stylus23:25
mashina_triangle, for nicer holding23:25
mashina_partially metal23:25
mashina_mine looked kinda out of shape though23:26
*** OkropNick has quit IRC23:26
*** Martix has quit IRC23:28
*** Alien_UA has quit IRC23:28
*** sq-one has quit IRC23:29
*** Kabouik has joined #maemo23:30
*** andre__ has quit IRC23:31
*** Kabouik has quit IRC23:32
*** Kabouik_ has quit IRC23:32
*** Kabouik has joined #maemo23:33
*** Kabouik_ has joined #maemo23:40
*** g3kk3r has joined #maemo23:41
*** Kabouik has quit IRC23:43
*** Kabouik_ has quit IRC23:44
*** Kabouik has joined #maemo23:45
*** zemmy has quit IRC23:49
*** rtghuzhg has joined #maemo23:50
*** flo_lap has joined #maemo23:58
*** florian has quit IRC23:58
*** flo_lap is now known as florian23:58

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