/srv/irclogs.ubuntu.com/2015/01/04/#ubuntu-app-devel.txt

snizzois there a way to ship js files with ubuntu touch app? I can't seem to find them03:40
snizzois it possible to write to external sd card?05:01
wirahetaubuntuhello06:30
TommyBrunnMorning everyone. Does anyone know if there's any kind of unique device ID I can get from QML? I was hoping to use the IMEI, but if I'm interpreting this bug report correctly, we're not allowed that information. https://bugs.launchpad.net/ubuntu/+source/qtsystems-opensource-src/+bug/122684409:30
ubot5Launchpad bug 1226844 in qtsystems-opensource-src (Ubuntu Trusty) "QtSystemInfo fails when using ofono and there are DBus denials to ofono" [High,Won't fix]09:30
TommyBrunnAlso related https://bugs.launchpad.net/ubuntu/+source/qtcreator-plugin-ubuntu/+bug/1338420/09:31
ubot5Launchpad bug 1226844 in qtsystems-opensource-src (Ubuntu Trusty) "duplicate for #1338420 QtSystemInfo fails when using ofono and there are DBus denials to ofono" [High,Won't fix]09:31
snizzoin order to write to sdcard the only way to do it is using content exchange (which is not documented enough)?13:35
AkivaAvrahamsnizzo, o/13:35
snizzoehr, is it a yes?13:36
AkivaAvrahamsnizzo, erm I don't own a device; sdcard is not hte internal card, correct?13:36
snizzoAkivaAvraham: mm well makes no difference to me, I'd just like to write to some folder scanned by music app13:37
snizzobut write permissions are impossible to get because i have to use this content exchange(?)13:37
AkivaAvrahamsnizzo, Because I have only tested this on the desktop; take that into consideration. However; utilizing terminal commands, I have been able to write to folders such as music.13:38
AkivaAvrahamI wish I knew if it worked on a device.13:38
AkivaAvrahamsnizzo, but do you understand what I mean? like , "echo "happy" > ~/Music/stupid.txt" I recall working13:39
snizzoyeah on desktop it works13:39
AkivaAvrahamsnizzo, do me a favour?13:39
snizzoon ubuntu touch on a device it says you need special permissions13:39
snizzoyeah, tell me13:39
AkivaAvrahamsnizzo, if you get the answer, can you write it down or something and send it to me? I want to add it to a faq and post it on the subreddit.13:40
snizzoAkivaAvraham: sure!13:40
AkivaAvrahamsnizzo, http://www.reddit.com/r/ubuntuappdev  also if you have a screenshot of your app,13:40
AkivaAvrahamPlease post it here! I'd love to see what you are working on, and it will help foster the community.13:41
snizzoAkivaAvraham: ok I'll do it. I think it won't be published due to permissions trobules btw. Also this thing of "use our qml components" to save files actually breaks model/view structure too deeply to be mantained efficiently imho (I have same code for qt android version).13:44
AkivaAvrahamsnizzo, is there now a qml component provided by ubuntu (or qml) for saving files to disk?13:46
snizzoAkivaAvraham: for what I've seen, there's some kind of content-exchange (this is the name of permission required also) which enables your app to import/export data from other apps and this should be the right way to save music: sending it to the music app i guess that saves it.13:47
AkivaAvrahamsnizzo, Its not the database is it?13:48
AkivaAvrahamthe u1db or whatever?13:48
ahayzensnizzo, sending the music app a file via content-hub will save it in ~/Music/Imported ... if thats what your asking?13:48
AkivaAvrahamahayzen, << much more pro than I. :)13:48
snizzoahayzen: more less yeah13:48
snizzoand music app will read from that folder right?13:48
AkivaAvrahamahayzen, << also works on the music app, so he should know13:48
ahayzensnizzo, what are you trying to do? (i've missed the start of the conversation)13:49
snizzoahayzen: I have an app, mostly working that downloads music in mp3 format.13:49
snizzois it true that directly saving files on Music folder is not the right approach?13:49
ahayzensnizzo, i don't think you'll be able to get permission to save into ~/Music ? ... so currently your best bet will probably be to just export the files to the music app which will then put them in ~/Music/Imported13:50
ahayzennote you can send multiple at a time as well13:51
* ahayzen tries to remember if it starts playing them or just queues them13:51
snizzoahayzen: ok, that's fine for me. Only thing is I use C++/QML and I'm using a C++ model that holds a list of objects that actually downloads the file, so download is handled via C++ code. What's the best approach to "export" those files?13:52
ahayzenyeah it'll queue then and then start playing the first one13:52
ahayzensnizzo, you'll want to do this via content-hub ... https://developer.ubuntu.com/api/qml/sdk-14.10/Ubuntu.Content.index/13:53
snizzoCan I do it via C++ or must I use qml?13:53
ahayzensnizzo, erm i'm not sure if you can do it via c++ when kenvandine is around he would be the person to ask that probably13:54
snizzoahayzen: ok...13:55
ahayzensnizzo, there is probably a way :)13:55
snizzoahayzen: anyway, can I ask you just to provide a small example of qml exporting a music file? Like the example in the doc.13:55
snizzoalso not perfectly working, just to have a clue13:56
ahayzen.... this is one example of an exporter (you just have to change the type to Music) https://code.launchpad.net/~ken-vandine/+junk/hub-exporter13:56
ahayzeni also know 'downow' have an exporter to Music as well13:57
ahayzensnizzo, ^^ theirs is in mostly c++ so may be interesting to look at http://bazaar.launchpad.net/~nogzatalz/downow/trunk/files/head:/src/downow/13:58
ahayzensnizzo, note in the folder ui/ there is ContentHubOpener.cpp13:59
snizzoahayzen: these helps for sure!14:02
ahayzensnizzo, let me know if you have any issues :)14:03
snizzoahayzen: in order to ship files with the app (in my case a js file not included by any other file) what should I do, and how can I open in in readonly mode on the phone while the app is running?14:04
snizzoI mean, where will it be installed14:04
snizzois it right to hardcode /opt/click.........myapp.../current/file?14:06
ahayzensnizzo, you would need to put it in the click package...they all go in /opt/click.ubuntu.com/com.ubuntu.developer.your-name.your-app/current/ IIRC ...but can you not access it relatively or via some env var?14:06
snizzoahayzen: I use this file to be evaluated by QJSEngine via C++14:07
snizzoit seems crazy but has its sense :)14:07
snizzook then no problem :) thanks for the assistance14:07
ahayzensnizzo, hmm usually in qml i just put the relative path and then wrap Qt.resolvedUrl() around it14:07
snizzoahayzen: I hope not to take too much time, I'll try to produce some faqs docs in order to benefit everyone also14:10
ahayzensnizzo, cool :) we don't seem to have many docs on developer.ubuntu.com for c++ from what i can see14:11
snizzoahayzen: Yeah I noticed :) just for curiosity, do you work for canonical?14:12
ahayzensnizzo, nope, i'm a student at university :)14:12
snizzohehe, same fate then :)14:13
ahayzenhah14:13
ahayzenmhall119, is there any reason why we don't have any c++/qt docs on developer.ubuntu.com? (or am i just blind)14:13
snizzoI think it's not their main target platform however. Qt is enought well documented and they aim to make use qml components instead of c++ for apps. Just speculations ofc :)14:17
ahayzenyeah i guess14:18
AkivaAvrahamahayzen, speak of the devil14:21
AkivaAvrahamahayzen, there is an incredibly good one provided by ics14:22
AkivaAvrahamthey do documentation for c++ too.14:22
AkivaAvrahamI was just happening to throw together documentation on the subreddit about it.14:22
ahayzenAkivaAvraham, hehe yeah :)14:22
AkivaAvrahamahayzen, wip http://www.reddit.com/r/UbuntuAppDev/comments/2qy5ko/guide_for_new_ubuntu_developers/14:22
AkivaAvrahamscroll to the bottom, and there is a "Learn c++ the qt way"14:23
ahayzenAkivaAvraham, i mean the scopes are c++ IIRC ? ... i just wonder if it would be useful even just have a few tutorials of extending QML with c++ on developer.ubuntu.com14:23
AkivaAvrahamI have hated all other c++ docs, because they will teach you how to use standard libs that are ultimately replaced by qt.14:23
AkivaAvrahamahayzen, oh yah; the scopes need documentation.14:24
AkivaAvrahamahayzen, I popped into there, and I really really wanted a flowchart of how this was supposed to operate14:24
ahayzenhah14:24
AkivaAvrahamahayzen, you know what I mean?14:25
ahayzenyeah14:25
AkivaAvrahammaybe I'll make one if I ever gain the courage; I have a good way of making flowcharts :)14:25
ahayzeni usually use Dia for diagrams :)14:25
AkivaAvrahamahayzen, screenshot?14:26
AkivaAvrahamahayzen, I created a template in google spreadsheets14:26
ahayzenAkivaAvraham, its a gnome app for doing flowchats/UML/Entity diagrams etc https://wiki.gnome.org/Apps/Dia/Screenshots14:26
AkivaAvrahamoh that ones pretty nice14:27
AkivaAvrahamsec14:27
AkivaAvrahamahayzen,  https://docs.google.com/spreadsheets/d/1Hv6GY0SjyGreuuNziK_1HmTJy6p69gmyNtjFV4yxiVk/edit#gid=38194463214:28
AkivaAvrahamI like having it on google docs, cause its easy to edit with multiple people14:28
ahayzenAkivaAvraham, yeah thats pretty cool :)14:28
AkivaAvrahamthanks :)14:29
snizzoahayzen: which university if I may ask?14:32
ahayzensnizzo, Oxford Brookes University14:33
snizzoahayzen: I can't really understand how to send files via content hub14:58
ahayzensnizzo, how far have you got?14:59
snizzonear zero. I can't get how it's structured and what does what since there's really no docs apart from Component names15:00
snizzoah wait maybe I found something15:01
ahayzensnizzo, these two may help https://developer.ubuntu.com/en/apps/platform/guides/content-hub-guide/ https://developer.ubuntu.com/api/qml/sdk-14.10/Ubuntu.Content.index/15:01
snizzoahayzen: I somewhat managed to do an export but I have no reaction by the system nor the music app...16:40
snizzoshould I specify in handler or peer the music app?16:40
snizzothis is the code I'm using http://pastebin.ubuntu.com/9671823/16:42
ahayzensnizzo, are you doing this on a device? or unity8?17:55
snizzoahayzen: nexus 518:06
ahayzensnizzo, ok was just checking you weren't trying to do it in unity7 ;)18:07
snizzoahayzen: my current code http://pastebin.ubuntu.com/9672284/18:07
ahayzensnizzo, it looks mostly right.... so far i've spotted this possibly missing? onExportRequested: { root.activeTransfer = transfer;  .... (i'm just comparing yours to this one http://bazaar.launchpad.net/~ken-vandine/+junk/hub-exporter/view/head:/hub-exporter.qml)18:12
snizzoahayzen: ok. that btw should work because it pops up the dialog "exporting" but no onExportRequested triggered18:13
snizzoand no file is copied18:13
ahayzensnizzo, hmm so does Music appear as an option? or does it not get that far?18:13
snizzoahh mm no Music doesn't appear as an option it just says "exporting" for a second and then disappear, I think because the operation ends18:15
ahayzensnizzo, you should get a dialog appear inwhich you then select to 'open with' music18:15
snizzoahh no I can't go that far18:16
snizzowhat is worse is that no error is shown...18:16
ahayzenhah yeah i remember trying to figure all this out when we were adding import support lol18:17
snizzoahayzen: ah :) any hint on this? I asked just content_exchange_source as permission. Is that right?18:20
ahayzensnizzo, yeah content_exchange_source is the policy you want :)18:21
snizzoahn, I'm running out of bullets...18:22
AkivaAvrahamsnizzo, always save one18:22
ahayzensnizzo, i think your missing a ContentPeerPicker {} ?18:22
snizzoahayzen: AH! that could be!18:22
ahayzensnizzo, basically i think your missing the picking bit here.... http://bazaar.launchpad.net/~ken-vandine/+junk/hub-exporter/view/head:/hub-exporter.qml#L39318:23
snizzoahayzen: lol it seems it's working finally :D18:43
ahayzensnizzo, \o/18:44
snizzoreally thank you for help ahayzen. I'll try to put down a tutorial on what I understood :)18:57
ahayzensnizzo, no problem :) its good to see more apps making use of it :)18:57
AkivaAvrahamsnizzo, if you do a tutorial, please link it18:57
AkivaAvrahamsnizzo, i'd like to put it on appdev18:57
snizzoAkivaAvraham: sure :)18:57
AkivaAvrahamthanks18:58
ZakabannerCya19:20
AkivaAvrahamZakabanner, bye?19:20
mivoligoHappy New Year everyone!19:40
mivoligomzanetti: here by any chance?19:40
ajalkaneahayzen: the "canonical" developer story is to write pure QML applications without C++. Of course the situation is that for any non-trivial applications some small amount of C++ is often also required. So I agree there should be some pointers in the documents to get started with that.20:07
AkivaAvrahammivoligo, Happy new year.20:29
mzanettimivoligo: hey20:41
TommyBrunnI already asked this morning, but I figured I'd ask again in case someone's here now that wasn't before. Does anyone know if there's any kind of unique device ID I can get from QML? I was hoping to use the IMEI, but none of the DeviceInfo methods seem to return anything.21:04
AkivaAvrahamTommyBrunn, o/21:07
AkivaAvrahamTommyBrunn, you mean the phone model?21:07
AkivaAvrahamTommyBrunn, or rather if it is a desktop / tv / mobile device?21:07
TommyBrunnNo, the imei is unique per physical device21:07
TommyBrunnAs in, your phone's imei is different from mine21:07
TommyBrunnEven if we both have the same model21:08
AkivaAvrahamTommyBrunn, oh like a mac address?21:08
TommyBrunnPretty much21:08
* AkivaAvraham is trying to remember if that is right..21:08
AkivaAvrahamTommyBrunn, good question...21:08
TommyBrunn\o btw, didn't mean to leave you hanging there. High five.21:09
AkivaAvrahamTommyBrunn, heh21:09
AkivaAvrahamTommyBrunn, now I presume you need a unique id for databasing?21:10
TommyBrunnIt's for usage metrics. Each event has a user id associated with it, so that you can connect different events with each other (useful when you want to figure out stupid UI stuff, like why some users drop out at a certain point of a form, for example). It doesn't actually have to mean anything, it just has to be unique per device.21:12
TommyBrunnSo the imei would have been perfect.21:13
ahayzenajalkane, i just think a few examples showing how you can extend QML with c++ could be of use, or at least linking to the qt docs21:23
ajalkaneahayzen: Indeed that, and how to do the main.cpp so that you can have C++ driven QML application21:24
AkivaAvrahamTommyBrunn, okay  interesting...21:24
ahayzenajalkane, as it mentions extending qml with c++ here .. https://developer.ubuntu.com/en/apps/qml/ ... but then doesn't link you to any docs/further reading21:24
ahayzenajalkane, yeah and that :)21:24
AkivaAvrahamTommyBrunn, my suggestion sucks, because you probably thought of this, but is there a qt function that does this?21:24
AkivaAvrahamthere must be?21:24
TommyBrunnYes. And it doesn't return anything. I'm guessing it's a permissions thing21:24
TommyBrunnQtSystemInfo21:25
TommyBrunnThere's a DeviceInfo component that has a bunch of methods for getting information about the current device.21:25
mivoligomzanetti: hey21:25
AkivaAvrahamTommyBrunn, what about a mac address though?21:25
AkivaAvrahamhttp://stackoverflow.com/questions/15287814/getting-mac-id-in-qt21:25
AkivaAvrahamI mean this is for networking, so shouldnt it work?21:26
mivoligomzanetti: I see you're busy with the game :)21:26
mzanettimivoligo: hi. I've been creating some levels, yes21:26
AkivaAvrahamI think every internet device comes with a unique mac address, unless I am mistaken.21:26
mzanettimivoligo: the game is now playable up to level 1821:26
TommyBrunnIt might, but now we're extending QML with C++ to re-implement a module that already exists :P21:26
mivoligomzanetti: I was totally lazy over the holiday21:26
TommyBrunnI'm going to file a bug and see if it is a bug or if it's intentional.21:26
AkivaAvrahamTommyBrunn, there is a module in qml to grab mac addresses?21:27
mivoligomzanetti: but I have an idea for the next levelpack :)21:27
AkivaAvrahamah appears there is.21:28
AkivaAvrahamTommyBrunn, wish I was better help :)21:28
TommyBrunnYes21:28
AkivaAvrahamTommyBrunn, it is sunday so... you should ask at the next Q&A21:28
AkivaAvrahammmmm speaking of which21:29
TommyBrunnNo worries. I was just hoping there would be someone here who's had the same issue. They do use the SystemInfo module in a core app, so it should work somehow21:29
AkivaAvrahammhall119, http://ubuntuonair.com/calendar/ -- empty.21:29
mzanettimivoligo: oh :D but you need someone else to write the json for it :D21:30
mivoligomzanetti: I'll try myself :D but not sure when21:30
mzanettimivoligo: that'd be cool. but otoh, I'd need your graphic skills with some other games too :D21:31
mivoligomzanetti: \o/ happy to help21:31
mzanettimivoligo: not ready yet, but there are some things upcoming. I really want to finish this one first21:32
mivoligomzanetti: great :) About this bug https://bugs.launchpad.net/machines-vs-machines/+bug/140748621:32
ubot5Launchpad bug 1407486 in Machines vs. Machines "Tower destruction icon missing" [Undecided,New]21:32
mivoligomzanetti: do you have any idea in mind, I was thinking about putting just big $ sign there21:33
mzanettimivoligo: hmm... there's already $ sign in the price tag21:33
mzanettifor some reason I had an arrow in mind21:34
mzanettipointing downwards21:34
mzanettimaybe a trash can?21:35
mivoligomzanetti: ok, I'll try something tomorrow21:35
mzanettimivoligo: https://encrypted.google.com/search?tbm=isch&q=tower%20defense%20destroy%20tower&tbs=imgo:1#tbs=imgo:1&tbm=isch&q=destroy+icon21:36
mivoligomzanetti: there's destroyed old Ubuntu logo there :D21:36
mzanettiyeah :D21:36
mivoligomzanetti: trash can idea might be the more understandable21:37
mzanettiyep, that sounds reasonable21:38
mivoligothe most21:38
mivoligomzanetti: btw what do you think about the new destruction animation?21:38
mzanettilove it21:38
mzanettiI was unsure at first about it21:39
mzanettididn't really like the spirals and the colors21:39
mzanettibut now I played it for a while and it's quite cool21:39
mzanettione issue with it is that it should be part of the level pack21:39
mzanettiso a different level pack can define other images21:39
mivoligomzanetti: true21:39
mzanettiI'll move it over21:40
mivoligo:)21:40
mzanettimivoligo: I started to create the tutorial level pack today21:40
mzanettiand decided to give that up21:40
mzanettiseems too much work for too little gain21:40
mivoligomzanetti: I think so too21:41
mivoligoit's not that hard to understand21:41
mzanettiyep21:41
mivoligomzanetti: back to destroy animation, I noticed it somehow goes faster for the Boing guys21:42
mzanettireally21:42
* mzanetti checks21:42
mzanettiindeed21:45
mzanettiand it's smaller :D21:45
mzanettiwhat the...21:45
mivoligomzanetti: animation for Boings is faster, so maybe that's the problem?21:46
mzanettimost likely, yes21:46
mivoligomzanetti: I have to finish now, sorry :(21:47
mzanettimivoligo: no problem21:47
mzanettisee you around21:47
mivoligomzanetti: see you21:47
ahoneybunI need help with using the bootsplash21:56
ahayzenahoneybun, as in the one for an app?22:09
TommyBrunnI haven't actually implemented it myself yet, but maybe I can be of help, ahoneybun22:10
TommyBrunnWhat's the problem?22:10
ahoneybunahayzen, yea22:22
ahoneybunwhen you click it22:22
ahoneybunsomeone gave me a link to the page about them but I cant find it22:22
ahayzenahoneybun, what do you when to do ? eg show text in the header? or something in the centre?22:22
TommyBrunnhttps://lists.launchpad.net/ubuntu-phone/msg09996.html22:23
ahayzenahoneybun, this one? https://lists.launchpad.net/ubuntu-phone/msg09996.html22:24
ahayzenoh TommyBrunn beat me22:24
TommyBrunnYou add those values to your .desktop file. For example https://bit.ly/1vOO5lc22:24
ahayzenyup :)22:25
ahoneybunTommyBrunn, I think thats what I needed22:25
ahoneybunthanks TommyBrunn and ahayzen22:26
ahayzenahoneybun, no problem22:26
TommyBrunnYou're welcome22:26
ahoneybunahayzen, TommyBrunn http://pastebin.ubuntu.com/9673585/22:27
ahayzenahoneybun, you may want to add X-Ubuntu-Splash-Title=MyTitle and/or X-Ubuntu-Splash-Color=#111111 as well22:29
ahoneybunahayzen, ok thanks22:31
ahoneybunahayzen, http://pastebin.ubuntu.com/9673610/?22:32
ahayzenahoneybun, note the #111111 is the hex colour ;) so that would be a very dark grey22:32
ahoneybunyea I knew it was a color did not know it was dark22:33
ahayzenahoneybun, you probably want it set the same colour as whatever your first page is22:33
ahoneybunit is the default color for a ubuntu touch app22:33
ahayzenahoneybun, then you can probably leave that row out? i think it picks the same as default22:34
ahoneybunok cool22:34
ahayzenahoneybun, otherwise that *should* work :)22:34
ahoneybunshould lol22:34
ahoneybunnever have been able to push a app from the sdk to my phone22:34
ahoneybunbut that is for another time (running android at the moment)22:35
ahayzenwow really?22:35
ahayzenahoneybun, can you build a click?22:35
ahoneybunof what my app?22:35
ahayzenyeah22:35
ahoneybunif I do the command22:36
ahoneybunin the terminal never have used the sdk to do it22:36
ahayzenahoneybun, yeah then push that across to adb push /path/to/my.click /tmp/my.click .. then do ... adb shell pkcon install-local --allow-untrusted /tmp/my.click22:36
ahoneybunin the Publish tab I can only validate a package22:36
ahayzenahoneybun, to install it manually22:36
ahoneybunno building22:36
ahayzenahoneybun, sounds like your kits aren't setup properly ... but you can do the above ^^ right for testing?22:37
ahoneybunahayzen, I guess22:38
ahoneybunI just have a desktop kit installed right now22:38
ahoneybuntook forever22:38
ahayzenahoneybun, yeah you need to setup an arm one22:38
ahoneybunyea22:38
ahayzenahoneybun, then you switch to that when you want to deploy to the device22:38
ahoneybunoh22:38
ahayzenahoneybun, where the icon of the computer is on the bottom left you can click it and switch when you have them set up correctly22:39
ahoneybunyea I got that before22:39
ahoneybunbeen switching between my app and the showcase one22:40
ahayzenahoneybun, this may be of use if you haven't seen it before https://developer.ubuntu.com/en/start/ubuntu-sdk/using-device-kits/22:41
ahoneybunhow do I add a kit? other then the project tab22:41
ahayzenahoneybun, click "manage kits" on the project tab22:41
ahayzenahoneybun, then add from that settings dialog22:42
ahoneybunbut then I have to set everything by hand22:42
ahayzenahoneybun, although i've never done it that way... i used that helper thing at first startup22:42
ahayzenoh22:42
ahoneybunyea that think22:43
ahoneybung22:43
ahayzenahoneybun, go to 'Ubuntu' section within that dialog on the left...22:43
ahayzenahoneybun, then 'create click target'22:43
ahoneybunalright downloading22:43
ahayzen\o/ now wait a loooooong time :)22:44
* ahoneybun wishes he had a Nexus 7 22:44
ahoneybuntrust me I know lol22:44
ahayzenlol22:44
TommyBrunnI bought a Nexus 7 the other day, to use for development.22:44
TommyBrunnTurns out it was the 2012 model that isn't supported anymore ;_;22:44
ahoneybunahayzen, sometimes I need google maps for driving22:44
ahoneybunyea I had the 2012 one22:44
ahoneybunsold it to my brother since it is no longer supported22:45
diego7319hi23:14
TommyBrunnDo you guys know of a QML app that adds calendar events? The documentation is a little sparse: https://developer.ubuntu.com/api/qml/sdk-14.10/qtpim.tutorials-qmlorganizerListView-part2/23:14
TommyBrunnHi diego731923:14
diego7319api?23:14
diego7319https://developer.ubuntu.com/api/qml/sdk-14.10/QtOrganizer/23:15
ahayzenTommyBrunn, does the default calendar app use just QML?23:16
ahayzenTommyBrunn, https://code.launchpad.net/ubuntu-calendar-app23:16
TommyBrunnThanks. I'm looking it through now. Looks like it uses QtOrganizer, yeah.23:18
diego7319i dont know html5 or qml idk how i found it LOL23:26

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