openstackgerrit | Michael Krotscheck proposed a change to openstack-infra/storyboard-webclient: Customise Bootstrap https://review.openstack.org/67337 | 00:04 |
---|---|---|
mordred | krotscheck: well, building it in to storyboard :) | 00:09 |
krotscheck | mordred: :-P | 00:10 |
mordred | krotscheck: the UX team, specifically Jaromir Couful (spelling) have really been wanting better wireframe sharing - and have indicated they'd be more than happy to be early adopters to get that | 00:10 |
krotscheck | Yeah, I'm already in email contact with him about the PDF he shared for tuskar... | 00:10 |
krotscheck | mordred: I'm usually more of a Jot-it-down-on-paper-and-build-it-type, but that doesn't seem to work so well when my colleagues aren't sitting 5 feet away from me. | 00:11 |
mordred | krotscheck: ++ | 00:13 |
mordred | god. if only it did | 00:13 |
mordred | krotscheck: I just nitpicked your patch. mainly just to haze you | 00:13 |
krotscheck | :-P | 00:14 |
krotscheck | I'll haze your mom | 00:14 |
mordred | I've heard that about you | 00:15 |
openstackgerrit | Michael Krotscheck proposed a change to openstack-infra/storyboard-webclient: Customise Bootstrap https://review.openstack.org/67337 | 00:21 |
krotscheck | mordred: Do we need the apache license visible anywhere on the website itself? | 00:41 |
mordred | nope | 00:45 |
mordred | (although I probably wouldn't mind a footer that says it's apache licensed with a link to git.openstack.org/openstack-infra/storyboard or something ... but it's in multi-repos ... perhaps when we have a storyboard docs page we can point people to it | 00:46 |
mordred | OR | 00:46 |
mordred | not | 00:46 |
openstackgerrit | Michael Krotscheck proposed a change to openstack-infra/storyboard-webclient: Moved homepage content to about page. https://review.openstack.org/67344 | 00:50 |
krotscheck | mordred: Ok, so that change I just posted adds a "Contribute" thing to the sidebar of the about page. Gimme a sec and I'll add a patch that adds the apache license to the footer. | 01:04 |
mordred | neat | 01:08 |
*** drdee has quit IRC | 01:12 | |
openstackgerrit | Michael Krotscheck proposed a change to openstack-infra/storyboard-webclient: Added apache license to footer https://review.openstack.org/67347 | 01:13 |
krotscheck | Oh look, tarball! http://tarballs.openstack.org/storyboard-webclient/ | 01:33 |
*** drdee has joined #storyboard | 01:40 | |
mordred | krotscheck: w00t! | 01:40 |
mordred | krotscheck: so - there's this thing we do with documentation changes | 01:40 |
krotscheck | Go on? | 01:41 |
mordred | krotscheck: looking for example | 01:41 |
krotscheck | Ugh, have UI draft, need feedback, want storyboard. | 01:42 |
krotscheck | Irony | 01:43 |
mordred | ++ | 01:44 |
mordred | krotscheck: http://docs-draft.openstack.org/33/64733/5/check/gate-tempest-docs/9bd3662/doc/build/html/index.html | 01:44 |
mordred | krotscheck: we publish the build artifact to a draft location so taht the code reviewer could see it | 01:44 |
mordred | krotscheck: it seems to me - that storyboard-webclient wants that | 01:45 |
krotscheck | Hrm. Yes. | 01:45 |
krotscheck | What do we use as a doc engine? | 01:46 |
krotscheck | Hey, storyboard has that. Can we just piggyback on that? | 01:47 |
mordred | well - the publication part is is in the modules/openstack_project/files/jenkins_job_builder/config/macros.yaml in upload-sphinx-draft | 01:49 |
mordred | it's really just uploading static files | 01:49 |
mordred | so we could pretty easily make one that publishes the contents of the tarball | 01:49 |
mordred | BUT | 01:49 |
mordred | we can also write docs in storyboard and they will be published | 01:49 |
krotscheck | Wait, you mean the application tarball? | 01:50 |
krotscheck | Apparently, there's a grunt plugin that does javascript docs. http://grunt-docular.com/ | 01:50 |
krotscheck | (of course there is. yeesh) | 01:50 |
mordred | :) | 01:52 |
mordred | yeah - I meant the application tarball ... seems like a neat way to let reviewers review the effects of the code | 01:53 |
krotscheck | Huhn. | 01:59 |
krotscheck | Two hurdles: 1- no API. 2- no CORS support. Both of these are surmountable. | 02:00 |
krotscheck | Mind you, 2 doesn't matter if 1 doesn't exist either | 02:00 |
krotscheck | But yeah, I get where you're going with this. | 02:00 |
krotscheck | And that's totally a thing that can happen right now | 02:01 |
krotscheck | 'cause, well, mockety mock | 02:01 |
krotscheck | Where's a good place though, docs? tarballs? logs? | 02:02 |
*** gothicmindfood has joined #storyboard | 02:15 | |
*** gothicmindfood has quit IRC | 02:27 | |
*** krotscheck has quit IRC | 03:10 | |
*** _ruhe is now known as ruhe | 04:18 | |
*** SergeyLukjanov_ is now known as SergeyLukjanov | 04:22 | |
ruhe | mordred: krotscheck: is it something i could help with? i can setup all the things to get storyboard docs published to somewhere like http://docs.openstack.org/developer/ironic/webapi/v1.html or readthedocs.org | 04:23 |
openstackgerrit | A change was merged to openstack-infra/storyboard-webclient: Customise Bootstrap https://review.openstack.org/67337 | 04:28 |
openstackgerrit | A change was merged to openstack-infra/storyboard-webclient: Moved homepage content to about page. https://review.openstack.org/67344 | 04:28 |
*** drdee has quit IRC | 04:48 | |
*** ruhe is now known as _ruhe | 05:07 | |
*** drdee has joined #storyboard | 05:18 | |
*** SergeyLukjanov is now known as SergeyLukjanov_ | 05:20 | |
*** SergeyLukjanov_ is now known as SergeyLukjanov | 05:21 | |
*** drdee has quit IRC | 05:21 | |
*** SergeyLukjanov is now known as SergeyLukjanov_ | 05:21 | |
*** SergeyLukjanov_ is now known as SergeyLukjanov | 05:53 | |
openstackgerrit | Ruslan Kamaldinov proposed a change to openstack-infra/storyboard: Fixed doc build https://review.openstack.org/67376 | 06:02 |
*** SergeyLukjanov is now known as SergeyLukjanov_ | 06:34 | |
*** SergeyLukjanov_ is now known as SergeyLukjanov | 06:36 | |
*** SergeyLukjanov_ has joined #storyboard | 06:44 | |
*** SergeyLukjanov_ has quit IRC | 06:45 | |
*** DinaBelova_ has joined #storyboard | 06:46 | |
*** DinaBelova_ has left #storyboard | 06:48 | |
*** SergeyLukjanov is now known as SergeyLukjanov_ | 06:58 | |
*** SergeyLukjanov_ is now known as SergeyLukjanov | 07:58 | |
*** SergeyLukjanov is now known as SergeyLukjanov_ | 08:01 | |
*** SergeyLukjanov_ is now known as SergeyLukjanov | 08:24 | |
*** NikitaKonovalov has joined #storyboard | 08:42 | |
*** lyle has joined #storyboard | 08:58 | |
*** david-lyle has quit IRC | 08:58 | |
*** _ruhe is now known as ruhe | 09:17 | |
ruhe | ttx: ping | 09:34 |
*** ruhe is now known as ruhe_away | 09:41 | |
*** ruhe_away is now known as ruhe | 09:42 | |
ttx | ruhe: pong | 09:48 |
ruhe | ttx: i need your advice. where should storyboard docs be published docs.o.o/developer or rtfd.org? | 09:48 |
ttx | ruhe: hmm... where are zuul docs published ? | 09:49 |
ruhe | http://ci.openstack.org/zuul/ | 09:49 |
ruhe | that's the third option :) | 09:50 |
ttx | storyboard is an infra program project, so I think that 3rd option makes sense | 09:50 |
ttx | at least for the time being | 09:50 |
ruhe | ttx: ok, thank you | 09:50 |
SergeyLukjanov | but ci sounds incorrect IMO for storyboard ;) | 09:52 |
SergeyLukjanov | but it'll for for the beginning at least | 09:52 |
SergeyLukjanov | heh, we need more options ;) | 09:52 |
ttx | ci in this case means core infrastructure | 09:52 |
ilyashakhat | rtfd is more suitable, isn't it? | 09:53 |
ilyashakhat | SergeyLukjanov: where are savanna docs posted? | 09:53 |
SergeyLukjanov | ilyashakhat, docs.o.o/developer | 09:53 |
ttx | openstack projects publish to docs.o.o, infra projects publish to ci.o.o | 09:54 |
SergeyLukjanov | ilyashakhat, it'll be better to use something.o.o instead of rtfd | 09:54 |
ttx | governance projects publish to www.o.o | 09:54 |
ttx | Agree tat ci.o.o should probably be renamed infra.o.o | 09:54 |
SergeyLukjanov | oh, missedthat we already have not only ci at ci.o.o | 09:55 |
SergeyLukjanov | so, looks like storyboard fits ok | 09:55 |
ruhe | also openstack template for sphinx messes with rtfd design, result doesn't look very good | 09:57 |
ruhe | for example - https://savanna.readthedocs.org/en/latest/userdoc/statuses.html | 09:57 |
*** SergeyLukjanov is now known as SergeyLukjanov_a | 10:10 | |
*** SergeyLukjanov_a is now known as SergeyLukjanov_ | 10:11 | |
*** SergeyLukjanov_ is now known as SergeyLukjanov | 10:21 | |
*** SergeyLukjanov is now known as SergeyLukjanov_ | 11:00 | |
*** SergeyLukjanov_ is now known as SergeyLukjanov | 11:07 | |
*** SergeyLukjanov is now known as SergeyLukjanov_ | 11:08 | |
*** NikitaKonovalov has quit IRC | 11:10 | |
*** SergeyLukjanov_ is now known as SergeyLukjanov | 11:22 | |
*** ruhe is now known as _ruhe | 11:33 | |
*** NikitaKonovalov has joined #storyboard | 11:39 | |
ilyashakhat | NikitaKonovalov: ping | 11:41 |
*** SergeyLukjanov is now known as SergeyLukjanov_ | 11:41 | |
NikitaKonovalov | ilyashakhat, pong | 11:41 |
ilyashakhat | i'm trying to test rest api via curl | 11:42 |
ilyashakhat | and wonder how post request should look like | 11:42 |
ilyashakhat | for example for POST /v1/users endpoint | 11:42 |
ilyashakhat | do you have an example? | 11:42 |
NikitaKonovalov | i have | 11:43 |
NikitaKonovalov | you should set a content-type header first | 11:43 |
NikitaKonovalov | I user application/json | 11:43 |
ilyashakhat | application/json? | 11:43 |
ilyashakhat | ok | 11:43 |
NikitaKonovalov | body should contain a dictionary | 11:44 |
ilyashakhat | {'user': {....}} | 11:44 |
ilyashakhat | ? | 11:44 |
NikitaKonovalov | exactly | 11:44 |
ilyashakhat | can you pls share full example? i still get 'Expecting property name...' error | 11:47 |
NikitaKonovalov | I was able to create user with {"user": {"username": "u1", "email": "someone@example.com"}} | 11:49 |
ilyashakhat | yep, thx | 11:49 |
NikitaKonovalov | those are the required fields in database | 11:49 |
ilyashakhat | ahh, json requires double quotes only | 11:49 |
*** _ruhe is now known as ruhe | 11:52 | |
ilyashakhat | btw, even {"user": {}} is accepted... my db is created by migration script and all fields are marked as nullable there | 11:53 |
ruhe | ilyashakhat: that can happen with sqlite db | 12:00 |
ruhe | and fyi migration script creates all the field nullable except of PKs | 12:01 |
ruhe | *all the fields | 12:01 |
ruhe | i would care about that much until DB schema is discussed and approved, at least some parts of it | 12:02 |
ruhe | damn | 12:02 |
ruhe | * i wouldn't care | 12:02 |
ilyashakhat | and what is responsible for constraints? | 12:02 |
ilyashakhat | i agree | 12:02 |
ruhe | all the constraints are in the migration script | 12:04 |
ruhe | in db/migration/alembic_migrations/versions | 12:04 |
ilyashakhat | got it | 12:04 |
*** miqui has quit IRC | 12:13 | |
*** drdee has joined #storyboard | 12:28 | |
*** drdee has quit IRC | 12:50 | |
*** drdee has joined #storyboard | 12:56 | |
*** drdee has quit IRC | 13:14 | |
*** drdee has joined #storyboard | 13:31 | |
*** drdee has quit IRC | 13:42 | |
*** SergeyLukjanov_ is now known as SergeyLukjanov | 13:54 | |
* ttx discovers new words, like grunt and bower | 13:58 | |
*** miqui has joined #storyboard | 14:02 | |
miqui | ..hello folks... | 14:03 |
*** NikitaKonovalov has quit IRC | 14:13 | |
*** NikitaKonovalov has joined #storyboard | 14:13 | |
SergeyLukjanov | ttx, js frameforks? | 14:24 |
ttx | SergeyLukjanov: sort of | 14:25 |
openstackgerrit | Nikita Konovalov proposed a change to openstack-infra/storyboard: Introducing basic REST API https://review.openstack.org/63118 | 14:30 |
*** drdee has joined #storyboard | 14:36 | |
*** SergeyLukjanov is now known as SergeyLukjanov_a | 14:43 | |
*** SergeyLukjanov_a is now known as SergeyLukjanov_ | 14:44 | |
ttx | mordred: got storyboard-webclient running under grunt server, but it doesn't seem to do anything when I click on stuff. Dunno if that's by design or some fuckup on my side. | 14:46 |
NikitaKonovalov | ttx, I also tryed to launch a client by my browser reported some angular.js error | 14:54 |
NikitaKonovalov | by->but | 14:54 |
ttx | NikitaKonovalov: i can click on "About" but that's "about" it | 14:56 |
ttx | will ask krotscheck how normal that is | 14:56 |
*** SergeyLukjanov_ is now known as SergeyLukjanov | 14:57 | |
*** _NikitaKonovalov has joined #storyboard | 15:31 | |
*** NikitaKonovalov has quit IRC | 15:34 | |
*** _NikitaKonovalov is now known as NikitaKonovalov | 15:34 | |
ilyashakhat | i also tried the webclient - and it doesn't do anything meaningful too | 15:36 |
mordred | ttx: morning | 15:39 |
mordred | ttx: had a conversation with gothicmindfood forever ago that I keep meaning to bring up with you regarding priorty vs. raking | 15:40 |
mordred | she made the argument that rather than fixed priority categories, we should do task priority via strict ordering, which i believe I've come to agree with ... | 15:40 |
mordred | and it made me think that if we did ordering through a mapping table (impl detail) then we could _also_ let each user make tasks into an ordered list for themselves | 15:41 |
*** NikitaKonovalov is now known as NikitaKonovalov_ | 15:44 | |
ttx | mordred: I think we need to explore that in more detail | 15:54 |
ttx | mordred: i.e. not today | 15:54 |
ttx | mordred: but priorities are something I'm willing to revisit | 15:55 |
ttx | in particular if we want to bake multiple dimensions in it (kanban style columns+ranking) | 15:56 |
ttx | the trick is to not be TOO different from Launchpad, at least in the first stages | 15:56 |
mordred | yup | 16:08 |
mordred | kinda need to be able to migrate, don't we? | 16:08 |
mordred | I mainly just wanted to put the thought into your headbrain | 16:08 |
*** lyle is now known as david-lyle | 16:19 | |
*** anteaya is now known as tired | 16:21 | |
*** tired is now known as very_tired | 16:22 | |
* ttx opens a Triple beer as training for Brussels | 16:24 | |
SergeyLukjanov | :) | 16:25 |
SergeyLukjanov | I hope that will receive our visas before the sprint ;) | 16:26 |
ttx | That's the one I'm drinking right now: http://i16.servimg.com/u/f16/14/34/15/34/biere510.png | 16:26 |
ttx | 8.5% | 16:28 |
SergeyLukjanov | oh, nice :) | 16:30 |
SergeyLukjanov | ttx, btw do you have any options for cell internet/calls in Belgium? | 16:30 |
ttx | SergeyLukjanov: i suspect options exist, but i don't know about them | 16:31 |
*** krotscheck has joined #storyboard | 16:32 | |
ttx | krotscheck: had a question for you | 16:41 |
*** SergeyLukjanov is now known as SergeyLukjanov_ | 16:42 | |
krotscheck | SHoot | 16:42 |
ttx | krotscheck: I arrived up to "grunt server" and tried the UI but apart from a lorem ipsum page and the about page, it didn't seem to do anything | 16:42 |
ttx | is that normal or did I fail ? | 16:42 |
krotscheck | ttx: Yes- I haven't mocked the API yet | 16:43 |
ttx | hah. So I didn't fail. Awesome | 16:43 |
ttx | your instructions are mostly complete. | 16:43 |
krotscheck | ttx: Correction, I have a mocked api, but I haven't patched it yet because getting something up is higher priority | 16:43 |
ttx | the only thing I had trouble with was finding where the heck grunt was actually installed and add that to my PATH | 16:44 |
krotscheck | ttx: If you run "npm install -g grunt-cli" it'll install it in a global path location | 16:44 |
krotscheck | (sudo npm) | 16:44 |
*** gothicmindfood has joined #storyboard | 16:44 | |
ttx | otherwise, my old distro hat revolted at this maven-style download of deps, but otherwise it went rather smoothly | 16:44 |
krotscheck | :) | 16:44 |
ttx | (I'm supposed to hate non-distro installers) | 16:45 |
krotscheck | Well, it's a little more like virtualenv, right? | 16:45 |
ttx | but at least you play .local | 16:45 |
krotscheck | Think of npm as the pip of javascript | 16:45 |
ttx | I hate virtualenv too! | 16:45 |
krotscheck | Hah | 16:45 |
ttx | i do my best not using it | 16:45 |
ttx | (difficult those days) | 16:45 |
krotscheck | It's magical for testing though | 16:46 |
ttx | since I stopped working for distros they seem to have development support all wrong | 16:46 |
krotscheck | By the way, mordred had the idea that as an initial deployment target we can treat the client like docs.o.o and upload the app somewhere. | 16:46 |
krotscheck | I'm trying to figure out where the best place would be though. Tarballs? Docs? Logs? | 16:46 |
ttx | krotscheck: to be fair, non-distro installers used to be horrible. but then OSX came along and the distro installer was so bad that they had to make language-specific installers actually usable | 16:47 |
krotscheck | ttx... holy shit, that must have been the first time I've ever heard a sensible argument for hating OSX :) | 16:47 |
ttx | and now the distro installers are so much lagging behind language-specific ones... you don't really have a choice | 16:47 |
ttx | I also hate OSX for totally unreasonable reasons | 16:48 |
ttx | I'm one of those guys who value open source | 16:49 |
ttx | so I'll ne the last one to run a Linux desktop distro on a Thinkpad. With mordred | 16:50 |
ttx | damn, this beer is strong. Good training | 16:50 |
* ttx rants when a 6pm beer is making him slightly drunk | 16:51 | |
gothicmindfood | I love that you're drinking beer and we're bleary eyed and drinking coffee on PST, ttx | 16:52 |
krotscheck | gothicmindfood: Speak for yourself. I've got a beer. | 16:52 |
ttx | That's called beer o'clock. Works in all TZ | 16:52 |
* krotscheck codes best on the ballmer curve. | 16:53 | |
* krotscheck might be lying | 16:53 | |
krotscheck | https://review.openstack.org/#/c/67520/ | 16:59 |
krotscheck | Sortof like putting storyboard on a server. | 16:59 |
mordred | ttx: nope. my thinkpad got stolen | 17:13 |
mordred | ttx: I looked at the new thinkpads and they all remind me of someone throwing up on a wet dog in a sewage treatment plant | 17:13 |
ttx | mordred: so you opted for a company laptop ? | 17:14 |
ttx | or you're not THAT desperate ? | 17:14 |
mordred | ttx: at the moment - I believe my hp laptop to be at least as good as the new thinkpads | 17:15 |
mordred | and it has the benefit of being here | 17:15 |
ttx | mordred: and not embarassing your company every time you present | 17:16 |
mordred | krotscheck: your patch for artifact uploading - is that going to upload a the dist dir? or the contents of the dist dir/ | 17:16 |
mordred | ? | 17:16 |
mordred | ttx: well, that I care less about | 17:16 |
ttx | mordred: let's call this a side benefit | 17:16 |
mordred | the battery life on this thing is embarassing | 17:16 |
* ttx hols to his x201 like the last piece of sanity in a deranged world | 17:17 | |
ttx | holds | 17:17 |
mordred | ttx: ++ | 17:17 |
ttx | first time I ever fell in love with something not organic | 17:17 |
mordred | ttx: I would have just fixed mine if it broke. stupid druggie laptop thieves | 17:18 |
ttx | 3+ years, SSD speeding like it's 2010 again | 17:18 |
krotscheck | mordred: Judging from the way reports were handled, it'll upload the dist dir. It's run after the tarball task though, which includes an rm -f *.tar.gz in it. | 17:19 |
krotscheck | mordred: I drain the battery on mine in less than an hour. | 17:20 |
mordred | cool. | 17:21 |
mordred | krotscheck: on the apache license footer change - I'd like to learn things - why two small sections, one hidden? | 17:22 |
cody-somerville | Hey folks! | 17:26 |
krotscheck | mordred: Bootstrap has four size flags, lg, md, sm, and xs. The ones that really matter are sm and xs, because those are usually tablets and phones. You'll notice that the apache footer has a text-right on the hidden-xs version, while the other one is only visible-xs | 17:26 |
* cody-somerville is happy to share he is feeling 90% better today! | 17:26 | |
gothicmindfood | yay cody-somerville ! | 17:26 |
gothicmindfood | glad to hear it | 17:26 |
krotscheck | In other words: When we have enough screen realestate to have a wide footer, we can have some text on the right and some on the left. | 17:27 |
* cody-somerville felt like he was ran over by a train yesterday. Yuuuck. :( | 17:27 | |
mordred | krotscheck: ah | 17:27 |
krotscheck | When we don't, I just show them underneath each other (since doing text-right at that screen size wraps weird) | 17:27 |
krotscheck | There's also a bunch of inherent magic rules there that can be tricky: For instance, col-sm-8 will mark something as an 8 column block for small-and-larger sizes. | 17:28 |
krotscheck | (but it won't work for xs) | 17:29 |
krotscheck | More annoying rules, but much nicer to control. | 17:29 |
krotscheck | ANYWAY | 17:29 |
krotscheck | Going heads down to get project management working-ish | 17:29 |
*** ruhe is now known as _ruhe | 17:42 | |
openstackgerrit | A change was merged to openstack-infra/storyboard-webclient: Added apache license to footer https://review.openstack.org/67347 | 17:46 |
*** SergeyLukjanov_ is now known as SergeyLukjanov | 18:27 | |
*** _ruhe is now known as ruhe | 18:48 | |
krotscheck | Sometimes I want to kick the JS world. | 19:27 |
krotscheck | Dear Javascripters. Backwards compatibility is a thing. Love, me. | 19:28 |
*** drdee has quit IRC | 19:28 | |
*** ruhe is now known as _ruhe | 20:01 | |
*** SergeyLukjanov is now known as SergeyLukjanov_ | 20:08 | |
mordred | ++ | 20:27 |
mordred | krotscheck: btw - your FB post yesterday about how we need the tool to be able to track the dev on the tool... | 20:27 |
mordred | that's pretty much exactly the reason jeblair was so horny to get _something_ installed and running :) | 20:28 |
krotscheck | I figured as much | 20:28 |
openstackgerrit | Michael Krotscheck proposed a change to openstack-infra/storyboard-webclient: [WIP] Storyboard API Interface and basic project management https://review.openstack.org/67582 | 21:22 |
krotscheck | Hoookay | 21:23 |
krotscheck | So that's our basic API's, the mock request interceptors, and simple UI for project management. | 21:24 |
krotscheck | And now, LUNCH | 21:24 |
gothicmindfood | LUNCH | 21:25 |
*** krotscheck has quit IRC | 21:29 | |
*** NikitaKonovalov_ is now known as NikitaKonovalov | 21:30 | |
*** NikitaKonovalov is now known as NikitaKonovalov_ | 21:30 | |
*** miqui has quit IRC | 22:00 | |
openstackgerrit | Monty Taylor proposed a change to openstack-infra/storyboard: Fix the intial db migration https://review.openstack.org/67592 | 22:11 |
*** very_tired is now known as anteaya | 22:28 | |
*** drdee has joined #storyboard | 22:37 | |
*** drdee has quit IRC | 23:21 | |
*** krotscheck has joined #storyboard | 23:50 | |
* krotscheck peers at the coffee internet | 23:50 | |
*** drdee has joined #storyboard | 23:51 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!