Previous day | Jump to hour: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Next day

Seconds: Show Hide | Joins: Show Hide | View raw
Font: Serif Sans-Serif Monospace | Size: Small Medium Large

Click in the nick column to highlight everything a person has said.
The Logo icon identifies that the person is a core developer (has commit access).

#rockbox log for 2015-09-28

00:01:37*[Franklin] thinks he has shift-mapping down
00:01:44[Franklin]time to test...
00:14:04 Quit preglow (Ping timeout: 240 seconds)
00:17:15 Quit dongs (Ping timeout: 246 seconds)
00:17:51 Quit nlogex (Quit: WeeChat 1.3)
00:18:01 Join preglow [0] (~thomj@2001:840:4243:3::101)
00:18:12 Join dongs [0] (
00:20:27[Franklin]foolsh: string typing /mostly/ works now
00:33:06***Saving seen data "./dancer.seen"
00:35:21[Franklin]string typing works
00:37:01[Franklin]in gerrit now
00:41:50 Join pablo_pi_ [0] (~pablo@
00:44:49 Quit pablo_pi (Ping timeout: 260 seconds)
01:05:49foolshSweet!! let the hacks begin!
01:06:37[Franklin]just gotta get some more modifier keys implemented
01:06:43[Franklin]then the fun /really/ starts
01:13:46foolsh[Franklin]: Since this is an original work (an interpreter) I guess all credit and license considerations are yours to make
01:14:09[Franklin]what do you mean?
01:16:07foolshit's your baby, since you haven't used or borrowed any other's code
01:16:16[Saint]At the very least you'd want to do 'Thanks to hak5darren'
01:16:24foolshyeah, that to
01:16:53 Quit cmhobbs (Ping timeout: 255 seconds)
01:17:31[Franklin]and you, foolsh, for giving me the idea and hardware ;)
01:19:54foolshlol yea! I'm famous now
01:21:13[Franklin]ok, most keys are implemented now
01:21:16[Franklin]just have the F* keys left
01:23:25 Quit JanC (Ping timeout: 248 seconds)
01:23:38 Join cmhobbs [0] (~cmhobbs@fsf/member/cmhobbs)
01:24:19[Franklin]it should probably wait for a USB connect first
01:26:34foolshyeah, if it can over ride remote_control.c when it starts, it would extra nice, have to trackdown that "hold button while plugging in" function
01:27:07[Franklin]or maybe just make it a setting
01:27:49[Franklin]though gevaerts implied there was a reason for not doing that, though
01:28:44[Saint]You absolutely do not want to override that "hold down $button on USB connect" thing.
01:28:48[Saint]If you do, I'll hurt you.
01:28:57[Franklin]why not?
01:28:57[Saint]That breaks charging with playback.
01:29:06 Join JanC [0] (~janc@lugwv/member/JanC)
01:29:30[Saint]holding a button during USB connection tells the device we don't want to mount or do any HID stuffs, and does a charge only connection.
01:29:51[Saint]you really don't want to break that feature.
01:29:58[Saint]a lot of people will yell.
01:30:18[Franklin]well, what's wrong with making it a setting?
01:30:27[Franklin]it'll be off by default
01:30:58foolshIt maybe just easier and smoother to just reimplemented that function in your main (wait for usb) loop
01:31:06[Franklin]I guess
01:31:56foolsha plugin reaching all the way into the systems settings is outside the scope and definition of "plugin"
01:32:13[Saint]ARe you implementing this as a core function, not a plugin?
01:32:17[Saint](please say no)
01:32:17[Franklin]it wouldn't be the plugin that does that, though
01:32:34[Franklin]just a setting under 'General Settings'
01:32:48[Saint]Plugins DO NOT have a settings flow outside of themselves.
01:32:58[Saint]else they're not plugins.
01:33:10[Franklin]the plugin wouldn't modify the settings
01:33:12[Franklin]the user would
01:33:32[Franklin][Saint]: I don't think you understand what I'm proposing
01:33:43[Saint]No, I think you're misunderstanding. I absolutely cannot support you dropping a user setting in general settings for a plugin.
01:33:50[Saint]all a plugins settings should live inside itself.
01:34:03[Franklin]I'm proposing a setting like 'Only charge on USB'
01:34:14[Saint]I don't care, honestly.
01:34:22[Saint]Plugins don't have settings in core userspace.
01:34:27foolshSplit it out into it's own gerrit task first
01:34:41foolshadvocate the shit out of it and hope
01:34:55[Saint]Not only is it needless complication, it's bloody hideous UI/UX.
01:34:59[Saint]I can't support that at all.
01:35:30[Saint]There's no reason for a plugin to offer any settings outside of itself.
01:35:45[Saint]This isn't iOS.
01:36:25[Saint]Sorry if I sound like a cunt, doing that is just ugly as hell, and there's no good reason for breaking conventions like this.
01:37:15[Franklin]but the setting wouldn't modify the plugin at all
01:37:35[Saint]But they're only relevant to the behavior of that plugin.
01:38:01[Franklin]not neccessarily
01:38:10[Saint]How so?
01:38:14*foolsh steps away
01:38:19[Saint]How is this useful for anything else?
01:38:25[Franklin]say you want to listen to music while you're charging
01:38:33[Franklin]right now, you have to know how to do it
01:38:41[Saint]we already have a mechanism for this, and a setting for it was actively rejected.
01:38:51*[Franklin] caves
01:39:26jtdesigns01well, for one, i sometimes like to be able to put new compiles of plugins on the DAP, while not having to unplug it to test them
01:39:26[Saint]There was, once upon a time, a setting for USB behaviour (charge only). It was rejected.
01:40:00[Franklin]jtdesigns01: that doesn't work
01:40:21[Saint]it /can/ work, it's not guaranteed to, though.
01:40:24[Franklin]you can't use rockbox during a mass storage connection
01:40:30[Saint]there's tight versioning with core and plugins.
01:40:53jtdesigns01maybe thats why i`m getting so many errors when i try to run them
01:41:23[Franklin]jtdesigns01: what's happening?
01:41:48[Saint]It should print a message about a plugin API missmatch.
01:43:15jtdesigns01Undefined instruction,at 600B5348
01:43:20jtdesigns01pc:600B5348 sp: 600B4A08
01:43:22jtdesigns01 T: 000000FE
01:43:27jtdesigns01bt end
01:43:37[Franklin]jtdesigns01: that's completely different
01:43:39jtdesigns01(but it only gives me that sometimes
01:44:12jtdesigns01oh great
01:44:30[Franklin]and definitely not good
01:44:42[Franklin]could be a hardware problem
01:44:47[Franklin]could be a programming bug
01:45:27jtdesigns01actually, i was going to ask you i`m getting all kinds of problems
01:45:44jtdesigns01got them mostly sorted but two are still remaining
01:46:27jtdesigns01first, i am using list widget and i can only select the even numbered items
01:46:44jtdesigns01second, i am getting that error, but /not always/
01:47:18jtdesigns01afk for a minute
01:47:18[Franklin]list widget?
01:47:39foolsh[Franklin]: How about for now, a wait loop with onscreen instructions to hold a button and plugin to continue?
01:48:28*[Franklin] is working on just that ;)
01:48:51[Franklin]though I don't think holding a button is necessary
01:49:01[Franklin]the plugin just needs to ignore the usb connect
01:59:48 Join nlogex [0] (
02:04:03 Quit yosafbridge (Ping timeout: 250 seconds)
02:04:15[Franklin]how can I override the default behavior on USB connect while a plugin is running?
02:05:00foolshsee if you can call it's function, if not rewrite the HID driver so you can ;)
02:05:38[Franklin]for some reason, I don't think [Saint] would like that!
02:06:10[Franklin]anyway, I should be going now
02:06:12[Franklin]good night
02:06:14 Quit [Franklin] (Quit: Lost terminal)
02:06:35[Saint]I didn't think we did mount with a plugin running anyway?
02:06:50foolshWell I'll let him know next timew
02:08:00 Join yosafbridge [0] (
02:11:12[Saint]Oh. We do.
02:11:28[Saint]It just abruptly exits the plugin and mounts.
02:11:55foolshHideous, but I know a guy though ;)
02:12:55[Saint]looks like USB plug calls plugin_exit
02:13:12[Saint]makes some sense, I guess.
02:28:34foolshThe more I think about that the less sense it makes to me :-\
02:28:57*foolsh heads off to bed since the whole eclispe thing has been called off, on account of clouds
02:33:09***Saving seen data "./dancer.seen"
03:22:45 Quit ZincAlloy (Quit: Leaving.)
03:33:35 Join Elfish_ [0] (amba@2001:1608:12:1:13:3:3:7)
03:34:25 Join kugel__ [0] (
03:34:25 Quit kugel__ (Changing host)
03:34:25 Join kugel__ [0] (~kugel@rockbox/developer/kugel)
03:36:21 Join zu_ [0] (
03:36:57 Quit gevaerts (Disconnected by services)
03:37:02 Join gevaerts_ [0] (~fg@rockbox/developer/gevaerts)
03:37:06 Join tchan1 [0] (
03:37:23 Join igitoor_ [0] (igitur@2a00:d880:3:1::c1ca:a648)
03:38:25 Join [Saint_] [0] (~hayden@rockbox/staff/saint)
03:38:42 Quit Elfish (Ping timeout: 250 seconds)
03:38:43 Quit tchan (Ping timeout: 250 seconds)
03:38:45 Quit kugel (Ping timeout: 250 seconds)
03:38:45 Quit zu (Ping timeout: 250 seconds)
03:38:46 Quit architekt (Ping timeout: 250 seconds)
03:38:46 Quit igitoor (Ping timeout: 250 seconds)
03:38:47 Quit Rondom (Ping timeout: 250 seconds)
03:38:47 Quit [Saint] (Ping timeout: 250 seconds)
03:38:47 Quit haasn (Ping timeout: 250 seconds)
03:38:49 Join Rondom [0] (
03:39:40 Join pablo_pi [0] (~pablo@
03:41:38 Join architekt [0] (
03:43:05 Quit pablo_pi_ (Ping timeout: 260 seconds)
03:44:40 Join haasn` [0] (
03:45:41 Quit igitoor_ (Changing host)
03:45:41 Join igitoor_ [0] (igitur@unaffiliated/contempt)
03:45:51 Nick igitoor_ is now known as igitoor (igitur@unaffiliated/contempt)
03:47:28 Quit jtdesigns01 (Remote host closed the connection)
03:48:51 Join jtdesigns01 [0] (~jonathan@2601:400:8000:2669:6182:5bd8:bd8e:3b95)
04:04:34 Quit Moarc (Ping timeout: 260 seconds)
04:05:02 Join Moarc [0] (
04:18:22 Join Strife89 [0] (
04:33:12***Saving seen data "./dancer.seen"
04:48:46 Quit jtdesigns01 (Remote host closed the connection)
05:45:54 Quit [7] (Disconnected by services)
05:46:04 Join TheSeven [0] (~quassel@rockbox/developer/TheSeven)
05:48:00 Quit nlogex (Ping timeout: 246 seconds)
06:33:14***Saving seen data "./dancer.seen"
06:46:45 Quit Strife89 (Ping timeout: 240 seconds)
07:07:13 Nick kugel__ is now known as kugel (~kugel@rockbox/developer/kugel)
07:41:33 Quit alucryd (Ping timeout: 246 seconds)
07:42:53 Quit amiconn (Remote host closed the connection)
07:42:53 Quit pixelma (Remote host closed the connection)
07:43:32 Join pixelma [0] (~pixelma@rockbox/staff/pixelma)
07:43:36 Join amiconn [0] (~amiconn@rockbox/developer/amiconn)
08:17:58 Join wodz [0] (
08:25:40 Join ender` [0] (
08:33:17***Saving seen data "./dancer.seen"
09:24:30wodzkugel: ping
09:25:41 Join petur [0] (~petur@rockbox/developer/petur)
09:31:32kugelwodz: pong
09:32:16wodzkugel: have you seen my findings about occasional crashes on ART with 'all jni from main' ?
09:34:03kugeli think so
09:34:10kugelif you refer to the scroll thread issue
09:35:02wodztlsf + mmap seems to work as buflib backend. I am not sure what to do with that work though.
09:36:51kugeltlsf creates new pools autonomously right?
09:37:21kugeli had the idea to map buflib contexts to tlsf pools but that wouldnt work
09:38:01wodzStrictly speaking this are not pools in tlsf nomenclature but yeah, if tlsf is unable to satisfy alloc request it calls mmap to grab some more space
09:39:42kugeli think for a start we could make playback use an exclusive 8MB buffer, and the rest use shared 4MB buffer
09:40:05kugelso that tc can alloc 4MB and give back to it, and later non-playback allocs reuse that 4MB
09:40:28kugel(give back through realloc)
09:41:01wodzI tested setting MEMORY to 2MB which resulted in ~5MB memory usage in which 2MB is exclusive for playback
09:41:08kugelbut then the buflib-malloc backend would be more complicated than just calling malloc, perhaps even tlsf-specific
09:41:40wodztlsf is only interesting because buflib_shrink can be simply realloc() in this case
09:42:22kugeli dont think the 5MB are actually used, though, it's probably ballooned by tc_tempbuf which has shrinked itself later on
09:42:57kugellikely more the peak of allocated memory
09:43:29wodzI can count this more precisely if you like as I sprayed lots of printfs to logcat with allocation informations.
09:51:56 Quit prof_wolfff (Ping timeout: 265 seconds)
10:12:58 Quit Rondom (Ping timeout: 250 seconds)
10:13:52 Join Rondom [0] (
10:24:01 Join einhirn [0] (
10:24:17wodzkugel: for 480x800 build: pool size: 5292032 (5.046 MB) | alloc requests total: 9134328 (8.711 MB) | alloc net: 5001493 (4.769 MB)
10:25:47wodzwhere pool size is the sum of all mmap requests, alloc requests total is the sum of all buflib_allocs, alloc net is actual used memory by buflib after intermediate frees and shrinks.
10:26:41wodzThis is with shrinks doing realloc()
10:28:00wodzand *audiobufend = audiobuffer + 2*1024*1024; in core_alloc.c
10:33:21***Saving seen data "./dancer.seen"
10:49:18wodzso we 'waste' ~5% of requested pool
10:50:40 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
11:05:13 Quit einhirn (Quit: Miranda IM! Smaller, Faster, Easier.
11:14:41 Quit pamaury (Quit: No Ping reply in 180 seconds.)
11:15:50 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
12:01:04kugelwodz: interesting. MEM was 4MB?
12:02:05wodzkugel: I changed the line in core_alloc.c as described. Didn't touch MEM define
12:03:46kugelthis is based on my patch where audiobuffer itself is malloc'd (normally it's a large static array on hosted, or defined to DRAM by linker scripts on native)
12:04:57kugelerr wait, with my patch audiobuffer should be a dummy
12:05:03kugeli.e. an empty array
12:05:16wodz"core_alloc: Remove static pseudo-RAM buffer as buflib is malloc backed."
12:05:58kugeldidnt you say the pool size is 10MB?
12:07:49wodzkugel: Yes I said that but I was wrong. The smallest pool is in tlsf 10kB (I have it changed here to 16kB but this really doesn't matter)
12:31:24 Quit [Saint_] (Read error: Connection reset by peer)
12:32:23 Quit derf (Ping timeout: 250 seconds)
12:33:15 Quit dan- (Ping timeout: 250 seconds)
12:33:15 Join derf [0] (
12:33:24***Saving seen data "./dancer.seen"
12:33:52 Join [Saint] [0] (~hayden@rockbox/staff/saint)
12:37:06 Join dan- [0] (~d@
12:37:06 Quit dan- (Changing host)
12:37:06 Join dan- [0] (~d@unaffiliated/danneh-/x-7505085)
12:46:54 Join ZincAlloy [0] (
13:06:14kugelwodz: i see, so there are lots of pools
13:14:24wodzkugel: get_new_area column lists mmap requests with their respective sizes
13:17:51wodzkugel: so here we have 7 memory areas associated with default tlsf memory pool
13:21:42 Quit petur (Read error: Connection reset by peer)
13:21:47 Join p3tur [0] (~petur@
13:21:47 Quit p3tur (Changing host)
13:21:47 Join p3tur [0] (~petur@rockbox/developer/petur)
13:22:11 Nick p3tur is now known as petur (~petur@rockbox/developer/petur)
13:28:50wodzkugel: If you think this is interesting I can upload to gerrit so you can look at it
13:40:56kugelwodz: this is clearly interesting
13:58:09wodzkugel: g#1214
13:58:20fs-bluebotGerrit review #1214 at : Use tlsf + mmap as backend for buflib by Marcin Bukat
14:33:28***Saving seen data "./dancer.seen"
14:43:17 Quit cmhobbs (Ping timeout: 255 seconds)
14:49:30 Join jtdesigns01 [0] (~jonathan@2601:400:8000:2669:6561:72e3:46fc:5433)
14:54:47 Join amayer [0] (
15:36:41 Join krabador [0] (~krabador@unaffiliated/krabador)
15:40:51wodzpamaury: ping
15:40:57pamaurywodz: pong
15:41:17wodzpamaury: are you going to hack X1?
15:41:18 Quit pamaury (Remote host closed the connection)
15:42:04 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
15:42:31pamaurywodz: lol, you mentionning the X1 made by client quit ;)
15:43:07wodzpamaury: coincidence :P
15:43:17pamauryyes I would like to, I'm just super busy. I just move out of Paris and next week-end I'm going Oxford for one year, *finally* staying at the same place for one/two year
15:44:02pamauryTonight I will try to port hwstub to jz
15:44:27wodzno problem, just don't forget to pack truck of hacking equipment :P
15:45:31wodzpamaury: I am just reading USB boot specification and it doesn't mention explicit it is possible to read from device. All references are for *uploading* something to device
15:46:10pamauryDon't worry, all my equiment is packed (part of the reason why hacking is annoying, I would have to unpack), ready to go ;)
15:46:44pamauryyou mean JZ boot ? Wasn't I able to read the ROM from it ? I don't even remember
15:46:59wodzah, right
15:47:16wodzso this should be easy
15:48:42pamaurySo it's mostly a mater of porting the USB driver to hwstub right ?
15:49:18pamauryor yeah you could hook hwstubserver to it, simply not using our stu
15:49:20wodzpamaury: That depends. The fastest route is to not port hwstub but extend hwstub_shell to speak with jz usb mode
15:49:32pamauryyes indeed
15:50:31pamauryI need to review the state of your hwstub_server patch on gerrit
15:51:48wodzas of actually porting hwstub to jz4760 - crt0.S needs to be tweaked as well. I used some mips32r2 opcodes which AFAIK are missing in jz. Clock and interrupt controller are also different
15:53:59pamauryone thing which I need to investigate is jz_xloader, it's an advanced version of jz usb boot from ingenic and that allows read/write to the NAND apparently.
15:54:12pamaurythat would allow to dump the bootloader of the Fio
15:54:22pamaury(without writing a NAND driver)
15:54:48wodzone can borrow parts from jz4740 and atj to cook something but this is considerable more work then simply interfacing with usb boot mode
15:56:56wodzI bet there are two stages. First stage have to be less then 16kB and needs to setup DRAM controller.
15:58:23pamauryyeah, they have a generic stub to setup DRAM and a tool to patch it with the parameter of the DRAM you want to use. I think I can find some safe settings
16:00:19wodzwhich tool do you refer to?
16:03:42pamaurybasically you build 4 firmwards:
16:03:42pamauryone that runs in SDRAM and 3 that init RAM (3 possible variants: ddr1, ddr2, mddr)
16:04:41pamaurythen you use tool to patch the ddr1/ddr2/mddr file with your RAM settings:
16:05:23 Join nlogex [0] (
16:07:00wodzbloody complicated for what it does :-)
16:12:36pamauryI find it elegant, otherwise you would have to compile one stub for each ram setting
16:12:40 Quit wodz (Remote host closed the connection)
16:15:30 Part Ivoah ("Leaving...")
16:22:41 Join TheLemonMan [0] (~lemonboy@unaffiliated/thelemonman)
16:33:31***Saving seen data "./dancer.seen"
16:47:01 Quit pamaury (Quit: No Ping reply in 180 seconds.)
16:48:08 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
16:56:12 Quit JanC (Ping timeout: 248 seconds)
17:05:16 Join einhirn [0] (
17:07:40 Join JanC [0] (~janc@lugwv/member/JanC)
17:35:29 Quit petur (Quit: Leaving)
17:48:36 Quit krabador (Quit: Take The Time)
17:49:37 Join krabador [0] (~krabador@unaffiliated/krabador)
17:52:30 Quit krnlyng (Remote host closed the connection)
17:54:40 Nick gevaerts_ is now known as gevaerts (~fg@rockbox/developer/gevaerts)
17:58:39 Join krnlyng [0] (~liar@
18:05:31 Quit krnlyng (Remote host closed the connection)
18:11:24 Join krnlyng [0] (~liar@
18:16:09 Quit Guest66888 (Ping timeout: 244 seconds)
18:18:00 Join Guest18189 [0] (
18:22:44 Quit krnlyng (Remote host closed the connection)
18:29:30 Quit TheLemonMan (Quit: "It's now safe to turn off your computer.")
18:29:30 Join krnlyng [0] (~liar@
18:33:32***Saving seen data "./dancer.seen"
18:47:53 Join alucryd [0] (~quassel@archlinux/developer/alucryd)
19:14:40 Quit pamaury (Quit: No Ping reply in 180 seconds.)
19:15:11 Quit einhirn (Quit: Miranda IM! Smaller, Faster, Easier.
19:15:49 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
19:34:32 Join TheLemonMan [0] (~lemonboy@unaffiliated/thelemonman)
19:41:11yurikshas the new USB driver/stack by TheSeven been finished/merged yet?
20:09:48 Quit GeekShadow (Ping timeout: 240 seconds)
20:12:16 Join GeekShadow [0] (~antoine@reactos/tester/GeekShadow)
20:15:45 Join petur [0] (~petur@rockbox/developer/petur)
20:17:09 Join chrisb [0] (
20:33:35***Saving seen data "./dancer.seen"
20:39:24 Quit JanC (*.net *.split)
20:40:04 Join JanC [0] (~janc@lugwv/member/JanC)
20:41:05 Join girafe [0] (
20:47:02pamauryyuriks: no
20:58:40 Join bluebrother [0] (~dom@rockbox/developer/bluebrother)
20:59:02 Join fs-bluebot_ [0] (
21:00:50 Quit pamaury (Quit: No Ping reply in 180 seconds.)
21:01:04 Quit fs-bluebot (Ping timeout: 240 seconds)
21:01:55 Quit bluebrother^ (Ping timeout: 268 seconds)
21:01:58 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
21:05:04 Join prof_wolfff [0] (
21:10:26 Join ender [0] (
21:11:06 Quit webmeister (Ping timeout: 246 seconds)
21:11:44 Join amiconn_ [0] (~amiconn@rockbox/developer/amiconn)
21:11:44 Quit amiconn (Killed ( (Nickname regained by services)))
21:11:44 Nick amiconn_ is now known as amiconn (~amiconn@rockbox/developer/amiconn)
21:12:08 Quit ender` (Ping timeout: 246 seconds)
21:12:51 Quit pixelma (Ping timeout: 246 seconds)
21:13:10 Join pixelma [0] (~pixelma@rockbox/staff/pixelma)
21:13:58 Join webmeister [0] (webmeister@unaffiliated/webmeister)
22:01:45 Quit krnlyng (Ping timeout: 256 seconds)
22:04:48 Quit krabador (Quit: Take The Time)
22:07:03 Join krnlyng [0] (~liar@
22:33:39***Saving seen data "./dancer.seen"
22:44:53 Join krabador [0] (~krabador@unaffiliated/krabador)
22:45:15 Join einhirn [0] (
23:04:32 Quit girafe (Quit: Leaving)
23:18:13 Join b0hoon [0] (
23:19:22fs-bluebot_Build Server message: New build round started. Revision 729e713, 255 builds, 28 clients.
23:20:55 Quit [Saint] (Quit: No Ping reply in 180 seconds.)
23:23:17 Join [Saint] [0] (~hayden@rockbox/staff/saint)
23:23:32 Quit TheLemonMan (Quit: "It's now safe to turn off your computer.")
23:25:13fs-bluebot_Build Server message: Build round completed after 351 seconds.
23:25:15fs-bluebot_Build Server message: Revision 729e713 result: 0 errors 9 warnings
23:38:21 Quit einhirn (Quit: Miranda IM! Smaller, Faster, Easier.
23:55:24 Join einhirn [0] (

Previous day | Next day