=== chriadam|away is now known as chriadam [01:29] popey, Great debut popey. You have a great voice for radio [01:29] and a great face for radio!!!! [01:32] Reference: https://www.youtube.com/watch?v=NtUYrZAfUWQ === _salem is now known as salem_ [02:29] I'm walking through the QML App-dev tutorials on the developer.ubuntu.com, and I'm finding a few things that look a bit out-of-date. Is there a place/way to suggest updates/corrections? === chihchun_afk is now known as chihchun === salem_ is now known as _salem === chihchun is now known as chihchun_afk [06:15] good morning [06:31] dholbach: Morning :) [06:32] hey mihir [06:32] dholbach: hello :) [06:49] Good Morning [07:03] morning mihir, morning DanChapman :) [07:04] hey dpm :-) === chihchun_afk is now known as chihchun [07:32] Hello, can anyone tell me how to install and run touch apps on the SDK? I'm very new to this. [07:46] ubuntinho, hey [07:46] lets see, 14 minutes... [07:46] ubuntinho, ever programmed with c++ before? [07:47] Good morning all; happy Chimborazo Day! :-D [07:48] JamesTait, o_o [07:48] isn't it the anniversary of tienammen square today? [07:49] I don't know, tbh. [07:49] Gosh! [07:49] Jeez [07:56] I thought I'd remember such a thing happening on my dad's birthday, but it looks like the tanks did indeed set out on June 3rd. [07:57] JamesTait, is actually, if I may be sentimental, is one of the rare foreign events that bring me to tears [07:57] Akiva = ~chinese [07:58] Sad to me, because if not for that bloody regime, China would be a great cultural nation today, instead of steeped in corruption and an oppressive government [08:35] Aki-Thinkpad, late reply but no. I am REALLY new to this. I have only done html/css stuff. [08:35] ubuntinho, okay thanks [08:35] that gives me a good estimate to how to approach you [08:35] ubuntinho, are you looking to learn programming? [08:35] or are you just looking to run the programs? [08:35] Yes absolutely! [08:36] Okay great [08:36] ubuntinho, Been using linux for a long time? [08:36] I have been following Ubuntu for a while and would like to get involved [08:36] Just a few months. [08:36] Unless android counts. :) [08:36] ah, yah, many people like you. Its very difficult to take the next step from advanced user into programmer, [08:37] heh, nope; no terminal ;) [08:37] Yes, I'm not sure how to dive into this. [08:37] but you came to the right place [08:37] :D [08:37] Great! [08:37] ubuntinho, A first goal you can achieve likely on your own, is to set up a ubuntu launchpad account [08:38] https://launchpad.net/~akiva [08:38] Yes, I've been wondering about launchpad. Seems like a sort of code portal? [08:38] that is my page for example [08:38] yes, so the reason why launchpad is important to know [08:38] is because this is the place where you keep your code. [08:39] ah ok, so a cloud for code? [08:39] Yes; that is a great way of looking at it [08:39] ubuntinho, the reason why it is a bit complicated, is there are a few caveats to creating this [08:40] just like with google docs, you have to sign into your account, [08:40] and you have to give people permission to edit documents [08:40] likewise for code; you have to sign it with a signature [08:40] Why do you think that is important? [08:41] (The signature is a complex encryption) [08:41] Ah okay. I guess so that not anyone can come and corrupt the code? [08:41] ubuntinho, exactly [08:41] well done [08:41] :) I am really enjoying your method [08:41] Thanks; Well noted. [08:42] So in Launchpad, it is similar to Git [08:42] For hosting code [08:42] Okay, I guess I should create an account. [08:43] Yah; take 30 minutes; the encryption keys (OpenPGP and SSH) should be your first goal [08:43] once you get your account up, then you have a solid base to launch from [08:43] Would you like to do that first, or would you like a more indepth description of Launchpad? [08:44] or do you have any questions? [08:44] Alright. I'm registering now. Seems to work with Ubuntu one account [08:44] ah yes so.. [08:45] Would you be kind enough to describe launchpad for me? [08:45] I guess I'd have to explore it myself [08:45] ubuntinho, Sure. So when thinking about code management, there are really two main methods [08:46] Launchpad and Git take a Branch Method. Subversion takes a more centric approach [08:46] Truth be told however, I am not terribly familiar with subversion, in that I havn't used it, so anyone can feel free to correct me if I describe it wrong [08:47] But when you want to edit code in Launchpad, you perform the following steps [08:47] Okay, I'm sure this information will make sense in a few hours/days [08:47] heh [08:47] sec [08:48] a) Create a branch. [08:49] b) Edit that branch. [08:49] c) Commit that branch. [08:49] d) Push that branch [08:50] ok, sorry but how exactly do i create a branch? [08:50] register a project? [08:50] e) Then the branch you review is viewed, and either rejected, or proposed for a merge. [08:50] ubuntinho, well lets go through it step by step [08:50] Sure [08:50] what do you think step a) means? [08:50] Create a branch? [08:51] It seems to mean creating some sort of portion of code? maybe? [08:51] to a larger project? [08:51] Not quite [08:51] ah ok [08:51] One issue with coding with many people, is how do you all edit the same document [08:52] Why do you think that is an issue? [08:52] For collaboration? That seems to be the nature of open source programming [08:53] ubuntinho, sort of, but this issue exists in proprietary projects as well [08:53] the simple answer, is that you do not want people stepping on your toes while you code. [08:54] Ah okay, so are you saying that it is preferable to write the code privately and share it after the work is done? [08:54] yes exactly [08:55] So for example; If I am thinking of making a major change to a program, often I will create placeholder code, or drafts, or such things [08:55] Ah I see. Makes sense [08:55] So obviously, we need our own little sandbox to play in [08:56] Haha yes [08:56] So when I branch, I do not just take a portion of the code; I take the entire code base [08:57] and make my own. [08:57] That is called creating a branch. [08:57] To edit the branch; that is obvious [08:57] Ah ok ok [08:57] What do you think "Commiting" the branch, or I guess more accurately, committing the changes, means? [08:58] Submitting them to the community? for review perhaps..? [08:58] Nope [08:59] Hmm [08:59] So comitting is basically wrapping your newly editted code into a nice neat package [08:59] Okay [08:59] What do you need to do when you create a package? [08:59] as in generally [08:59] say you are sending a gift to someone for christmas [09:00] Oh, Wrap it up? [09:00] Make it look presentable? [09:00] Yep, so commit the changes [09:00] and make it look presentable [09:00] Ah yes I see what youre saying [09:00] one thing about making something presentable, is you have to make sure the syntax style is the same [09:01] as the main branch [09:01] so for example; I am a linus torvalds syntax guy [09:01] Ah okay I see [09:01] I used 8 spaced indentations [09:01] Ubuntu core apps use 4 spaced indentations, sometimes even 2 [09:01] the maniacs [09:02] Yes so the code syntax has to be coherent [09:02] Haha [09:02] exactly [09:02] even if you accidently put one whitespace in some far off piece of the code [09:02] And pushing the branch would be something close to publishing? [09:02] yes, i guess the syntax is very important [09:03] it will still be picked up, and when you submit what you committed, it will be highlighted [09:03] yah, but its easily managed [09:03] other things you do when you commit, is sign it with your signature, maybe put a date down, maybe put a changelog in there [09:04] Ah okay, wow you've made a lot of things I've been reading about make sense [09:04] thanks [09:04] Thank you [09:04] now one of the most common things to write in there, is what bug you solved [09:04] mm ok [09:05] so in launchpad, not only does it host the code, it also hosts bug reports [09:05] sec, let me find an example [09:05] sure === chriadam is now known as chriadam|away [09:06] ubuntinho, ever use compiz? [09:06] https://bugs.launchpad.net/compiz/+bug/1306351 [09:06] Ubuntu bug 1306351 in Compiz "Windows which are fullscreen in Unity7, sitting in the plugin layer, do not detect mouse inputs properly." [Undecided,New] [09:06] So I happened to file that bug a long time ago [09:07] Um, is it some sort of UI layer? (compiz) [09:07] yah; you have it if you run ubuntu, even if you do not know it [09:07] for example; the multiple desktops is handled by compiz [09:07] Right. [09:07] Okay [09:07] so i chose this bug, because its unlikely to be solved [09:07] for whatever reason, compiz team is highly inactive [09:08] Ah okay. [09:08] So sorry, I'm curious. If I wanted to contribute to compiz project... [09:08] yes? [09:08] I would do all the steps of branching? [09:08] Yes [09:09] What is the difference between branching, and forking? [09:09] Um, forking is taking the code and making it into something very different? [09:09] ubuntinho, basically [09:09] I can only think of Ubuntu as a fork of Debian? [09:09] Yes that is a good way to look at it [09:10] or libreoffice is a fork of openoffice [09:10] Ah ok! [09:10] branching is not forking, because you generally intend to keep it within the same project [09:10] sometimes you may make a branch though, and not do anything with it [09:11] anyways, so if you wanted to contribute to compiz [09:11] usually a first good step is actually to get in contact with the developers [09:12] Right of course. [09:12] the project may be inactive, which means if you branch something [09:12] and commit it, and push it to be merged [09:12] nothing may happen [09:12] Right. Makes sense. [09:13] Now take my bug for example; I have found an issue in compiz that I want to fix [09:13] So about forking... [09:13] oh ok sure [09:13] what about forking? [09:13] Oh no, you can continue === chihchun is now known as chihchun_afk [09:13] okay [09:13] so a good way is first to write a bug report as I did. [09:14] Right. [09:14] now go to the round yellow button in status [09:14] it says "New" [09:14] click on that button [09:15] ok, not looked at yet? [09:15] do you see the options? [09:16] incomplete, opinion, invalid, won't fix, confirmed, etc etc [09:16] yes: incomplete, opinion,... [09:16] yes [09:16] so usually the first step is to confirm the bug [09:16] lets just say for arguments sake this bug affects you too [09:16] right, then i would confirm it [09:17] Just above the table, there should be a label "This bug affects you", click yes [09:17] then you will see what happens [09:17] Ah ok! [09:18] right so now it is confirmed [09:18] and this should theoretically bring attention to the dev team? [09:18] Now someone in the project will determine if it is important enough for them to look at [09:18] yep [09:18] Right [09:18] but of course, you are impatient [09:18] Cool! [09:18] so what do you want to do? [09:18] of course! [09:18] You want to fix it yourself [09:19] fix it myself? [09:19] :D [09:19] so then you will want to assign it to yourself [09:19] Now, depending on the project, it might not let you do that [09:19] you may have to be a member of the compiz project in order to do that [09:19] Right, and this one seems to allow that [09:19] lets see... === chihchun_afk is now known as chihchun [09:20] yep [09:20] it does [09:20] all the other options are pretty obvious [09:20] so the next step I would do, is I would branch the project [09:20] what does that mean? [09:21] that you would take the code and improve/add to it [09:21] not forking [09:21] yah, I would "Pull" it onto my computer [09:21] exactly [09:21] Well actually, branch is the initial grabbing the code [09:21] Hm, so to pull it to your computer would you need to download something? [09:21] Pull is to pull changes to the code [09:22] ah ok [09:22] why would I need to pull changes to the code? [09:22] to publish it? [09:23] no; [09:23] think of it like this [09:23] you are a new slow programmer [09:23] you branch the code; ie, create a branch [09:23] and while you program, a new version of the code comes out [09:23] so by the time you submit your changes, your code will be out of date [09:24] right [09:24] so, what you do, is you pull the changes onto your computer, ie update it [09:24] and make sure it fits in with your code. [09:24] Most of the time, the changes will not effect what you are working on. [09:25] Ah okay I see, so sort of updating it [09:25] actually, bloody; did I just mix pull with updating [09:25] whatever; you will figure it out [09:25] now, you asked [09:25] what do you need to download [09:26] for launchpad, you need a program called bazaar [09:26] alright, ill search it now [09:26] so you might as well right now download off the ubuntu app store, a program called Bazaar explorer [09:26] The explorer is a gui for Bazaar [09:27] Alright, I've got it [09:27] ubuntinho, video time: https://www.youtube.com/watch?v=_QOoU1MDoVA [09:27] that is why its called a bazaar [09:29] Ah okay, I get the drift. [09:29] ubuntinho, now one thing that is interesting to note about software development [09:30] is that it is very hard for a company, to throw money at a project as a means to bringing it to market faster [09:30] unless of course you start at the beginning with a lot of people [09:30] but even then; it is very difficult [09:31] now what is next... I am yammering on... and I am sure you just want to get to coding [09:32] No no really this is very interesting [09:32] okay, so you branch, you edit, you commit, and then you push upstream, and then your patch gets reviewed, and then the lead merges your patch [09:32] So what are you trying to say exactly? [09:32] ubuntinho, you know linus torvalds? [09:32] yes the founder of linux? [09:32] yep [09:32] so he heads the project [09:33] Linus used to do a lot of coding in linux [09:33] today he does no coding whatsoever [09:33] why do you think that is? [09:33] There is a large community to do it for him? [09:33] that is part of it [09:33] ok [09:33] the reason is related to that [09:33] main reason* [09:34] Think of linus as the gatekeeper [09:34] right [09:34] early on, there was not many people trying to get through the gate [09:34] so he could work on his laptop while manning his post [09:34] today, geez I forget the statistic [09:35] I think it is something like 9000 patches are submitted every day or something [09:35] Does linus have time to code? [09:35] Not that much! [09:35] exactly [09:36] so he spends all of his day, determining what gets into the kernel, and what stays out [09:36] He is also terribly rude about it, although some people would say justifiably so [09:36] All in the name of quality control~ [09:36] Haha yes, I've seen him speaking. Fiery personality [09:37] Sometimes he oversteps, [09:37] and he understands this [09:37] its not a personality that I think most people should adopt [09:37] for him, there is a real application to that [09:37] Good point. [09:37] however, you will notice that the people in the ubuntu community, are all very respectful [09:38] while maintaining a high standard of quality [09:38] Yes, I'm getting a real sense of community [09:38] so to that point, in creating your launchpad acount [09:38] account* [09:38] there is something that you need to sign if you want to contribute to core apps [09:38] and that is called the ubuntu code of conduct [09:39] (I think) [09:39] it should say on your main page [09:39] Ok sure [09:39] Signed Ubuntu Code of Conduct: [09:39] Yes [09:40] so while I take a bit of a break; get those three things done; read the code of conduct, decide if you wish to agree to it, get the open pgp key, and the ssh key done [09:40] Yep, will do that now. [09:40] great [09:40] * Aki-Thinkpad takes a break [09:40] Hey, thank a lot for this [09:42] ubuntinho, no probs; I had a lot of issues getting into development, and so I know how hard the hurdle can be for people if they are self taught [09:43] Yeah, you seem to understand that well. [09:43] I actually made a video on it [09:43] ah, care to share? [09:43] http://youtu.be/XEnoX7AB_-M [09:44] I'll check this out. [09:44] very cool [09:45] Also if you have some spare time for the next month, I would encourage you to take the opportunity to learn a proper keyboard layout [09:45] What do you mean? [09:45] sec [09:45] Like, proper typing? [09:45] ok [09:46] http://soukie.net/wp-content/uploads/2010/06/keyb-stat.png [09:46] take a look at that image [09:46] I use colemak [09:47] Ah, it's supposed to be more efficient? [09:47] yes, but more importantly [09:47] more comfortable [09:47] I used to have horrid carpel tunnel syndrom [09:47] its gone since I switched [09:47] Wow [09:48] if you are going to program, it is a pragmatic step for long term gain [09:48] despite short term pain [09:48] Yeah, I have to say that's a big commitment [09:48] its fun [09:48] two weeks until you are sane again [09:48] Hahaha [09:48] 1 month until you regain your speed [09:49] I am maybe 25 percent faster now than with qwerty [09:49] and it taught me to be a touch typist [09:49] which I used to not be with qwerty [09:50] Hello? [09:50] Sorry i accidentally disconnected [09:50] I am maybe 25 percent faster now than with qwerty [09:50] and it taught me to be a touch typist [09:51] which I used to not be with qwerty [09:51] ah, as in tablets? [09:51] nope [09:51] just means I don't look at the keyboard [09:51] I operate by touch, not sight [09:51] mm ok [09:52] Yeah, it probably is much more fundamentally sound [09:52] I remember learning azerty from qwerty in france [09:52] ah neat [09:52] i can imagine this will be a more drastic change [09:52] colemak is fine, because it keeps zxcvb [09:52] so copy cut paste undo [09:52] is retained [09:53] true. [09:54] So, I realize that I am very new to this [09:54] And I am trying to learn through code academy [09:54] are there any resources or tips you'd suggest? [09:54] *any other [09:55] ubuntinho__, hmmmmmmm [09:55] the python challenge [09:55] but see if you can do the python challenge with a friend [09:55] I got up to level 13 or 14 I think [09:55] learned a ton [09:55] this was a few months ago [09:56] I actually go into in the video I linked [09:56] Cool! [09:56] other than that, you are taking the right approach by coming here, trying to get involved with a project [09:56] c++ is hard though; python is much more fun to start with [09:57] Yeah, didn't expect this entire lesson today! [09:57] So, what other languages should i learn? I know that might be a hard question... [09:57] I guess html/css and qml for ubuntu.. [10:00] ubuntinho__, well ultimately it will depend on what you want to do. I am a bit picky, [10:00] and so I refuse to learn java [10:01] its a resource hog :P [10:01] It's what I've heard! (android) [10:01] its what everyone uses [10:01] anyways, you will get trolled heavily if you say that [10:01] so maybe it is not so true anymore [10:01] hahahaha [10:02] none the less, I feel like being stubborn [10:02] fair enough [10:02] For my part, I try to have one of each language under my belt [10:02] Qt, and by consequence, c++ for Gui Development [10:03] QML too :P [10:03] QML will teach you javascript [10:03] and html + css [10:03] well a bit of javascript anyways [10:03] I have a goal to eventually submit a patch to the linux kernel === chihchun is now known as chihchun_afk [10:04] so for that I will need C [10:04] ubuntinho__, By the way; whats the difference between c and c++? [10:04] Honestly, I've no idea... [10:04] C++ is C, but with classes [10:04] basically thats it [10:04] some other caveats I am sure [10:04] Ah ok, will keep that in mind [10:04] Linus hates c++, funny enough [10:05] many people hate c++ [10:05] haha whats so bad about it? [10:05] http://article.gmane.org/gmane.comp.version-control.git/57918 [10:06] 0.0 wow ok [10:06] haha [10:07] Hey sorry, I'm totally stuck on the pgp key [10:07] yep [10:07] check the website [10:07] they walk you through it [10:07] it will be easier the next time you have to do it [10:08] Yeah should go through it [10:08] yep; google will be your friend in this case; I still have to read the documentation [10:08] Cool [10:10] On your earlier comment: It is a shame about the consequences in China. [10:10] ubuntinho__, Unless you live in hong kong [10:11] which is really beautiful and amazing [10:11] Ah, you've visited? Yeah it's seems nice. [10:12] I do a lot of work with economics; so I have a preferable perspective to the most economically free region in the world [10:12] I have similar feelings with Chile, Botswana, Canada, Estonia, Singapore [10:13] Yes, I see that you follow the Vienna school [10:13] ha, that is great; a bit of a story about that. [10:13] Do tell? [10:13] The common vernacular would be austrian school, but I am a squabbler over rhetoric [10:14] and the Austrian School is more associated with anarchy than it is with value free economics [10:14] Well... anarcho capitalism.. no? [10:15] Yah; you know ? [10:15] Seems to have evolved into libertarian ideology [10:15] To me; there are issues with the Mises Institute; Its off topic to this channel so I won't go on about it, but [10:16] the catalyst for me to set off to eventually fork the project~ was the fact that their quotes of Mises, was censored of all his disparaging remarks about anarchy [10:17] * Aki-Thinkpad blood pressure rises [10:17] :D [10:17] deep breath; anyways, thats off topic [10:17] Yeah, no I guess it's hard to go into a deeper discussion of that on this channel :) [10:18] But it would be interesting to discuss this at another venue maybe. [10:19] Just to say that I come from the side of marxism/socialism [10:19] #marxism is the channel you want to be in [10:19] So we may respectfully disagree.. but yes off topic [10:19] interesting community there [10:20] Ah okay, it's my first time using IRC [10:20] I am always open to a debate. I may not be a dialectical materialist, but I enjoy learning about marx truth be told [10:21] ubuntinho__, on irc, you should hang out in #learnprogramming [10:21] I'm down with that. [10:21] that is a great place to ask stupid questions [10:21] Cool, plenty of those! [10:21] ha [10:22] How do I open a new tab in this IRC thing? #stupidquestion [10:22] what irc client you using? [10:22] empathy? pidgin? [10:22] xchat? [10:22] um, not sure. its just a button of the ubuntu sdk [10:22] and to the question, just type /join [10:22] ah [10:22] ha, good to know someone uses that plugin [10:22] :D [10:23] so i guess ill go on empathy then :) [10:23] ubuntinho__, hrrmmmm, [10:23] empathy really isn't that great [10:23] I'd say grab pidgin or xchat [10:23] oh ok [10:23] xchat is a bit more advanced [10:23] and has a few annoyances [10:23] but pidgin has a few really neat commands [10:24] such as /list [10:24] which lists every irc channel in freenode [10:24] by the way; you should definitely learn to use IRC; [10:24] !autocomplet [10:24] errp [10:24] !autocomplete [10:24] You can use your key for autocompletion of nicknames in IRC, as well as for completion of filenames and programs on the command line. [10:24] mmm not that [10:24] !tab [10:25] sec [10:25] yeah downloading pidgin now [10:26] this is cool, reminds me of those old msn messenger chatrooms [10:26] !guidelines [10:26] The guidelines for using the Ubuntu channels can be found here: http://wiki.ubuntu.com/IRC/Guidelines [10:27] ubuntinho__, yah my first software project was creating a plugin for an irc bot in python [10:27] ah sounds fun [10:29] so i've added you on g+ [10:29] interesting content man [10:30] thanks [10:30] ubuntinho__, also, one way to get peoples attention [10:30] is to start typing their name, press tab [10:31] and then that will autocomplete [10:31] when you type someones name out, it notifies them [10:31] Aki-Thinkpad: ah i see! [10:31] perfect [12:07] zsombi_: ping [12:07] nik90_: pong [12:08] zsombi_: hey I need your advice here...say in the phone interface I have 2 pages which are pushed to the pagestack one after the other...in the tablet or desktop I want to insert the contents of page 2 in page 1. [12:08] zsombi_: Is that possible to do? [12:08] zsombi_: for example, page 1 is a accounts page, page 2 is a login page. So a user goes to page 1 and reads about the account details and can choose to login in using page 2. [12:09] zsombi_: in the tablet form, I want to show the login box (page 2) in page 1 itself [12:09] nik90_: it is possible, but you need to have the content separated from teh Page itself, so declared in a separate blobs [12:09] zsombi_: ah [12:10] nik90_: it needs some work from your side though... and may not necessarily need many Layouts{} there [12:10] zsombi_: can't I add a Page{} inside the ConditonalLayout{} ? [12:10] nik90_: not healthy tbh... [12:10] nik90_: you could, but then how woudl you put Page2 in Page1? [12:11] nik90_: think about it as content, not necessarily as complete page [12:11] zsombi_: ok [12:11] nik90_: you move the content, not the tools you use [12:12] zsombi_: yeah..I guess I need to first separate the content into its own container and then put it inside a page or conditional layout depending on the interface [12:13] zsombi_: oh also, I defined a variable called AspectRatio = mainView.width/mainView.height and I use that as a condition to switch between phone, tablet portrait and tablet landscape interfaces [12:13] zsombi_: Is that recommended? (btw this is for a Ubuntu Layouts presentation that I am going to give during the Ubuntu Online Summit) [12:14] nik90_: you do whatever you like for your conditions :) [12:14] nik90_: if your layout shoudl switch when monkeys are dancing, so it be :) [12:15] oh, dear, segfault... [12:16] nik90_: I meant there's no restriction on what can you use for conditions or not.. any kind of boolean expression does the job. The aspect ration you did is a fpn, so you may have problems on comparison [12:17] zsombi: fpn? [12:17] nik90_: floating point number [12:17] zsombi: well I convert it to a one decimal point number...so it is always 1.1 or 1.2...etc [12:17] nik90_: ok [12:18] zsombi: in the future, how do you expect developers to change interfaces though? [12:18] zsombi: based on the device or the screen width and height [12:19] nik90_: there will be a hint, called usage mode, or simply mode, we have not nailed the name yet, which will say is the device in phablet (phone and tablet), windowed (Desktop) or 10feet (TV) mode [12:20] zsombi: ah...sweet [12:20] nik90_: based on that you can change layouts, however you may still need to think of the space differences in phablet [12:20] nik90_: but you most likely won't have to switch inside phablet, from phone to tablet layouts [12:20] zsombi: true..since a phablet could be a nexus 7 or nexus 10 which have different screen sizes [12:21] nik90_: more, nexus4, nexus7 or nexus10 === fginther` is now known as fginther [12:21] zsombi: yes [12:21] nik90_: so you can then decide on runtime what layout you want to set as default: small, medium or large [12:21] nik90_: the only thing you need to care is the landscape/portrait switch [12:22] zsombi: yeah [12:22] nik90_: then when switching modes, you can think of more stuff, like what extra functionality you want when going into windowed mode: you will ahve a mouse pointer there, and a HW kbd [12:23] nik90_: but that's the future... how near it is, I cannot express yet... [12:23] but soon [12:23] zsombi: no worries..I have temporary conditions until then [12:23] nik90_: good :) [12:25] how do I center a label in a grid cell? [12:26] mdeslaur: I assume you have defined your grid cell? [12:27] mdeslaur: you can set the label to fit the width of the grid cell and then set the horizontal alignment of the text by, horizontalAlignment = Text.AlighHCenter === _salem is now known as salem_ [12:32] nik90_: well, I'm setting the label width with this: width: resultGrid.width / resultGrid.columns - resultGrid.spacing [12:32] nik90_: adding a horizontalAlignment doesn't seem to make a difference [12:33] mdeslaur: have you tried anchors.horizontalCenter: parent.horizontalCenter? [12:33] nik90_: that gives me QML Grid: Cannot specify anchors for items inside Grid. Grid will not function. [12:34] mdeslaur: ah [12:34] mdeslaur: in that case, you need to find an alternate expression for your label width [12:35] an alternate expression? [12:35] perhaps I need to add my labels inside rectangles inside each cell or something? [12:35] mdeslaur: Can you share the grid code with the label stuff..that might give me a better idea [12:36] nik90_: http://paste.ubuntu.com/7580098/ [12:36] * nik90_ looks === chihchun_afk is now known as chihchun [12:39] mdeslaur: I notice two issues in your code...one it is hard to debug a label, so yes you might want to replace labels with a rectangle to see if it is getting the width that you expect. [12:39] mdeslaur: secondly, too much code duplication. Perhaps a QML repeater here would help quite a bit [12:41] nik90_: thanks, I'll try with rectangles [12:41] nik90_: and yes, I need to figure out how repeaters work :P [12:42] mdeslaur: np...it is quite simple. http://qt-project.org/doc/qt-5/qml-qtquick-repeater.html [12:42] I tried reading the repeater documentation, but it was....lackluster :P [12:42] mdeslaur: oh. [12:43] oh, hrm, I was looking at http://developer.ubuntu.com/api/qml/sdk-14.04/QtQuick.Repeater/ [12:43] perhaps the other one is better [12:43] yup [12:43] mdeslaur: btw, is this for the split bill app in the store? [12:43] yes [12:44] mdeslaur: sweet. I like the app's simplicity and usability [12:44] :) [12:45] ah, yes, the link you gave me has the info I was missing, thanks [12:46] oh har har, it's the same documentation [12:46] I apparently can't read :) [12:47] mdeslaur: the one you linked is missing the pics which are definitely required :) [12:47] how would I set objectNames for items in a repeater? [12:48] mdeslaur: same way you do it now..except you can do objectname: "somestring" + index [12:48] mdeslaur: I use it in the clock app [12:49] ah, ok, so I always use index to name stuff [12:49] I see, thanks [12:49] ur welcome [12:58] bzoltan: neither libthumbnailer0 nor qtdeclarative5-ubuntu-thumbnailer0.1 depend on thumbnailer-service, which makes it not work. [12:58] bzoltan: who owns those packages? [12:59] popey: Satoris I talked about those packages last time [13:01] bzoltan: seems an omission to not depend on the thumbnailer service, no? [13:04] popey: it does... it should be at least recommended [13:05] it is recommends [13:05] but that doesn't install it on a stock desktop does it? (It didnt for me) [13:07] dpm: did you upload gallery? [13:08] popey, recommends are installed by default on desktop [13:09] and completely suppressed on touch [13:09] they weren't here [13:09] i had to manually install thumbnailer-service [13:09] well, check it is actually a recommends and not a suggests then [13:09] Recommends: thumbnailer-service (= 1.1+14.04.20140401.1-0ubuntu1) [13:10] so if that package in that version exists it should be installed alongside [13:10] (on desktop) [13:10] hm [13:11] hello everyone [13:23] popey, no, I asked bfiller if he could upload Gallery and Camera yesterday (with translations). Is that what you're seeing? [13:24] dpm: I just uploaded gallery, building camera now [13:24] popey: just translation changes nothing else [13:24] cool, thanks bfiller. [13:25] ok [13:26] approved gallery [13:35] ahayzen: ping [13:41] nik90_, pong [13:41] ahayzen: hey I think michael spencer (file manager dev) will be able to join the core apps hangout if it is not a hangouts-on-air. Is that okay? [13:41] ahayzen: tbh I think you summary to the mailing list would suffice [13:42] nik90_, fine by me [13:42] your* [13:42] ahayzen: ok. I so Michael and Viktor are in UTC-5, so we can choose something suited to them [13:42] ahayzen: I will have an email sent out today for that [13:42] nik90_, the point of them is for allowing us to cross communicate, so if we have to drop hangouts-on-air for every other one or something then thts cool [13:43] ahayzen: excellent point [13:43] nik90_, as u said the summary to the mailing list will help [13:43] ahayzen: if you talk to victor sometime today or tomorrow, can you ask him to send the time he is comfortable with on Thursday. [13:43] ahayzen: I will ask Michael to do the same and I think for us the time should be fine [13:45] nik90_, sent him a msg :) [13:45] ahayzen: thnx [13:47] bfiller: do we have a final decision on removing the album feature for RTM on gallery ? or at least removing the page flip animation [13:47] bfiller: there was a bunch of discussion in malta but it wasn't officially decided one way or the other [13:48] dpm: bfiller approved camera too. [13:48] nerochiaro: we are leaving it in [13:49] great, thanks popey! [13:49] nerochiaro: artmello is looking at making the initial loading faster and that is all we'll do on it. probably won't make other changes unless they affect performance [13:49] popey: thanks [13:51] bfiller: ok, then we need to have this MR that was approved long ago pulled in https://code.launchpad.net/~amanzi-team/gallery-app/gallery-app-flip-hint/+merge/216079 [13:52] nerochiaro: ok [14:24] bfiller: mumble dropped me and i can't reconnect [14:24] bfiller: ok, nevermind, back === Guest58330 is now known as karni [14:38] bfiller: all merge requests have been approved by jim. i sent you an email with the list [14:38] nerochiaro: great, thanks === salem_ is now known as _salem [16:03] nik90_: hey, have a minute? [16:16] jose: hey [16:16] nik90_: mind a quick PM? [16:16] jose: yes go ahead === _salem is now known as salem_ === chihchun is now known as chihchun_afk [17:13] nik90_, ping [17:20] ahayzen: pong [17:25] nik90_, you've used the Layouts component haven't you? [17:25] ahayzen: yeah === salem_ is now known as _salem [17:26] nik90_, i've been playing about to try a get a sidebar that is scrollable (eg a track queue for music-app) ... but then as both the left right parts are scrollable it doesn't hide the header when you scroll down :/ https://code.launchpad.net/~andrew-hayzen/+junk/test-music-app-sidebar-convergence [17:27] nik90_, i'm not sure wht would be expected in this case with two scrollable parts, whether scrolling down on either would hide the header or whether it should just stay always visible? [17:27] nik90_, also have i done it correctly? lol [17:28] ahayzen: Well did you set the flickable property to the flickable of the right side? [17:28] nik90_, they are both listviews [17:28] ahayzen: true.but which one do you want to hide the header when you scroll? [17:28] ahayzen: the one in the sidebar or the content? [17:28] ahayzen: I would assume you want the header to hide only when the user scrolls the content? [17:29] nik90_, well this is what i mean, as a user would you expect just the left? or both? [17:29] nik90_, and from a technical point of view what is possible? [17:29] ahayzen: from a technical point of view, I haven't tried it before :P [17:29] nik90_, i'm leaning towards just the left, so if i decided that how would i make it work? [17:29] ahayzen: let me try out your branch first to get a better idea [17:30] nik90_, probably best :) [17:31] ahayzen: ok..so what does the white and black columns represent in your test app? [17:32] nik90_, the white section would be the content... and the black is the sidebar (play queue) [17:34] ahayzen: hmm..I am not sure design wise which you would expect to hide the header. Technically it is possible (just tried it now) [17:34] ahayzen: set the flickable property of the page to the listview id [17:34] nik90_, ah i see...hang on let me try [17:34] ahayzen: that should hide the header automatically when you scroll the listview up [17:34] ahayzen: however [17:35] ahayzen: the other listview top anchoring is below the header :/ [17:35] nik90_, yeah [17:35] nik90_, what if ...on mouse enter into the object you changed the flickable property to tht hehe [17:35] ahayzen: maybe you can set the top anchor of the 2nd listview to the top of the 1st listview instead of the page [17:35] rpadovani: hey, reviewd all your reminders MRs [17:35] ahayzen: it feels hacky :P [17:35] nik90_, that could be an idea [17:36] nik90_, yeah tht would be hacky but sounds like something fun to see what would happen ...would probably break the header again lol [17:36] ahayzen: lol [17:37] nik90_, surely they are anchored to the same point? both parent.top inside that Item {} no? [17:37] ahayzen: IMHO I would set the header to hide only when you scroll the main content and not the sidebar. [17:37] nik90_, yeah thts what i want todo just as you said the second listview gets out of alignment [17:38] nik90_, oh no from the beginning it is higher strange [17:38] ahayzen: yup [17:38] nik90_, what is caused by setting the listview to flickable in the page? [17:39] ahayzen: the automatic hiding of the header when you scroll that flickable [17:39] ahayzen: by default, it set the first flickable it finds [17:39] ahayzen: however here we are explicitly setting ti [17:39] it [17:39] nik90_, yeah so how do i get them at the same place .... [17:40] ahayzen: I guess that's what you need to find out..I tried anchoring the second listview to the top of the first listview..but that dint work either [17:41] ahayzen: oh btw, you don't need to set anchors.fill: undefined for the main content listview [17:41] ahayzen: when you switch between layout all anchor properties, width, height are reset [17:41] nik90_, oh yeah thanks [17:42] nik90_, hmm i'll have a play about with setting the second listview position... thanks for your pointers :) [17:42] ahayzen: np...also use Row instead of item [17:42] ahayzen: that's the last of my suggestion :P [17:42] nik90_, thanks :) [17:47] nik90_, and the row lets you remove half of the anchors \o/ [17:47] ahayzen: yup [17:48] renato: were you pinging me about https://code.launchpad.net/~pkunal-parmar/ubuntu-calendar-app/CalManagement/+merge/213355? [17:48] nik90_, but does mean you need to give a width to the content listview, unless there is a way of telling one component to expand into the space like in Gtk? [17:49] ahayzen: yeah you need to set a width..I general do width: row.width - sidebar.width...and set the sidebar.width manually like 0.3*page.width [17:49] nik90_, yeah unless.... [17:49] * ahayzen starts reading docs [17:50] jdstrand, I get the information that you need [17:51] nik90_, wasn't there a way of doing nice transitions with the Layouts as well? ... i can't see tht in the ubuntu docs? [17:51] nik90_, or am i imagining things [17:51] ahayzen: you mean the sidebar width increasing with a transition? [17:52] nik90_, well between you conditional layouts adding transitions? [17:52] nik90_, so the sidebar would slide in [17:52] ahayzen: there are none by default..so when you define the sidebar, you could add animation manually like Behavior on width{} and so on [17:52] ahayzen: in my app, I did those myself [17:53] nik90_, ah ok [17:53] nik90_, is this too hacky? ... for the right (second) listview i set this for the anchors topMargin: header.height + header.y and now it is at the correct position with the header :) [17:54] ahayzen: does that still work when you scroll the left listview? [17:54] nik90_, yep perfectly [17:54] ahayzen: tbh I would expect this to be a sdk bug..you should talk to t1mp about that anchoring [17:54] ahayzen: but for now, it seems like a good temporary solution..just add a #FIXME or something [17:56] nik90_, yeah but i've got much further than when i last tried to use the layouts seems less buggy than it was before :) [17:56] ahayzen: :) [17:56] nik90_, convergence \o/ [17:56] ahayzen: btw, there are 3 critical bug fixes to layouts which has not landed in trusty yet..it is already on the phone and utopic [17:57] jdstrand, just update the MR with the outputs [17:57] nik90_, are they in the SDK PPA? [17:58] ahayzen: no not yet :/ [17:58] ahayzen: I also need it for my own app [17:58] nik90_, have you got a link to them so i don't panic if i hit them ;) [17:58] ahayzen: you should keep pinging bzoltan for the update :) [17:58] nik90_, heh [18:00] nik90_, thanks for your help, dinner and Q&A time :) [18:00] ahayzen: Q&A time :) [18:16] renato: responded [18:21] nik90_, ahayzen our landings are on hold until the current broken images are fixed (not uitk-related) [18:21] so, we have to wait [18:21] t1mp: the updates I am referring are already in trunk..not staging..infact they already on the phone images as well..they haven't been released to the sdk ppa [18:22] ahh [18:22] nik90_: then you are right, ask bzoltan about it :) [18:22] jdstrand, works I did not get the error message [18:22] t1mp: :) [18:23] popey, who can help me to test the jdstrand changes, Is working for me but the app freezes after selecting the calendars === _salem is now known as salem_ === salem_ is now known as _salem [18:51] t1mp, o/ [18:51] t1mp, in this branch i have two listviews next to each other within a layout and we were wondering how to make the second one have the same top anchor as the first https://code.launchpad.net/~andrew-hayzen/+junk/test-music-app-sidebar-convergence [18:52] t1mp, also note that for the first listview it is set as the flickable for the parent page [18:52] t1mp, i have put this into the second listview but we didn't know whether this was hacky? topMargin: header.height + header.y [19:04] balloons, ping [19:04] ahayzen, I had a feeling I might hear from you today [19:04] hehe [19:04] balloons, how are you feeling today? [19:05] a bit roughed up.. I'll need another week or so to be back to normal I think [19:05] :( [19:05] balloons, are you in a state to look at autopilot things? [19:06] ahayzen, of course.. I know you are wanting to know about the music app and autopilot [19:06] balloons, i tried a few more things like stopping the mediascanner service and then restarting once we had set HOME [19:07] balloons, but it either would ignore me or wouldn't start correctly [19:07] balloons, i then looked at the mediascanner-scope and they appear to still be using mediascanner1 for their unit tests, so couldn't hijack their code [19:07] mzanetti, thanks, hope to have some time 2night to do fixes [19:08] balloons, do you have any ideas how to correctly fake the environment? [19:09] ahayzen, yes roll back and don't fake it [19:09] balloons, i rolled back to when we Victor did his /tmp patch? do u mean that or before then? [19:09] ahayzen, we need help to solve the problem, and it's not easily solved [19:10] ahayzen, so if we need to go in, I mean we'll rip everything out and test inside /home [19:10] balloons, because i think it is acting differently now that it is using dbus....so will we actually have to modify the live mediastore.db? [19:10] ahayzen, ohh is there something further that is different? [19:10] ahayzen, if we can get rid of the apparmor errors we are fine. They are the issue with faking the env [19:11] balloons, well since Victor was doing his /tmp fake environment mediascanner has changed to using dbus if i understand what they have done correctly [19:12] balloons, i haven't successfully got it to create any fake env yet it always shows whatever my 'real' environment is with this new mediascanner...but i'm probably doing it wrong [19:13] ahayzen, no no, running the tests is the only magic, lol. if they don't setup correctly it's there fault not you [19:13] ahayzen, the reason it is failing atm is apparmor [19:13] namely, the mediascanner access [19:13] balloons, but this is on desktop i'm trying to get it to work first [19:15] ahayzen, ohh it should work on the desktop [19:15] ahayzen: yes, we try to discourage using the header property [19:15] balloons, yeah at the moment *nothing* is working [19:15] ahayzen: what if you set rightListView.anchors.topMargin: leftListView.anchors.topMargin ? [19:15] t1mp, so how would i correctly do it? [19:16] but the header will show/hide when you scroll the left one, it is not connected to the right one [19:16] balloons, elopio, could you have a look at the Reminders tests? It seems the infrastructure is not quite working - popey tried to run them yesterday for the upload to the store and found out a lot of manual copying is required to get the evernote sdk and other bits set up to even run the tests [19:16] ahayzen: do you want the listView scrolling to interact with the header? [19:17] t1mp, i just wanted the left listview to interact with the header at the moment [19:17] t1mp, i tried linking the topMargins that doesn't work :/ [19:17] t1mp, it makes the most sense to do it on the left... as the left would contain the contents (eg list of artists/albums/tracks) and the right contains the current play queue [19:18] ahayzen: an alternative would be to fix the header (by setting Page.flickable to null) [19:18] balloons, elopio, also it seems we're having some failures on Jenkins, and I can't figure out what's going on. Any help on these (e.g. https://code.launchpad.net/~rpadovani/reminders-app/1318751/+merge/220063) would be great. Thanks! [19:19] t1mp, but i think we would still want the header to show/hide although we have no guidance of yet what to do on tablet/desktop in this respect [19:19] ahayzen: tricky. We don't have a solution for this yet [19:19] t1mp, yeah thats what nik90 said [19:19] ahayzen: perhaps you can add your use case to the "other requirements" at the top of https://docs.google.com/a/canonical.com/document/d/1wUUKtPmRmwbUELC1BUB9l0VOAwS_zAPRSCqMopUxR1c/edit# ? [19:20] ahayzen: the header property is not supposed to be used directly, but in the new API it seems like we need to expose the header height to the apps [19:20] t1mp, yeah just the current amount shown on screen would be nice so then you can create an offset [19:20] t1mp, thanks i'll add it in [19:21] ahayzen: the way you have it now, when you scroll to the top of the right listview, and the header is visible, you won't see the topmost item [19:21] ahayzen: you will have to scroll up in the left listview to expose that, right? [19:21] ah no, that's not the case if you set the topMargin of the right one [19:21] t1mp, yeah the margin is to make you see the top of the right listview [19:22] why doesn't right.anchors.topMargin = left.anchors.topMargin work? the left topMargin should adapt automatically [19:22] t1mp, i'm not sure let me try it again... i put it into the conditional layout.. [19:23] oh that makes it even more complicated :) [19:23] tbh I haven't had time to try to mix layouts with scrolling header [19:24] t1mp, yeah, it doesn't seem to get a value from the left listview [19:25] balloons, have you tried running the AP tests on your machine to make sure your experiencing the same as me? [19:26] t1mp, i'll add an item to the 'other requirements' for now, as it currently 'works' and we can't see any obvious solution :) [19:26] ahayzen: I have an MR ready that prints a warning when you access the header property [19:27] :(...but but but... [19:27] ahayzen: you can work around that by using Page.__propagated.header instead. At least like that (with the __) it is clear that you are using a property that is supposed to be internal [19:28] hmm [19:28] t1mp, we've used header quite a lot...and it looked like we have used header.height + header.y quite a few times...so if we did have an offset it would be quite useful [19:28] ahayzen, give me a moment and I'll switch gears to music and see what we can do [19:28] ahayzen: the idea is that the header is configured via properties of the Page [19:28] balloons, thanks :) [19:28] ahayzen, what I plan on is just making it work so you can land. you are ready to do so right? [19:29] balloons, i think we are ready from our end...but yes basically get it passing on device, desktop and jenkins then we'll double check the branch and land it! [19:29] ahayzen: any suggestions how to do that? Maybe an attached property to page that has the header visible and offset properties to read? [19:29] t1mp, well could the offset just be 0 when the header is not shown? [19:30] ahayzen: yes :) [19:30] t1mp, and then when it is shown/showing be whatever header.y+header.height is [19:30] t1mp, basically we just want ^^ as a public property :) [19:31] * ahayzen trying to think if you would ever want just header.height on its own or if the current offset is enough [19:32] so what happens now when you are scrolling the left listview? [19:32] the right listview topmargin changes, so the right listview is also moving up/down? [19:32] perhaps we should use a toolbar instead [19:32] j/k ;) [19:33] t1mp, the right listview position feels like it is bound to the bottom of the header === _salem is now known as salem_ [19:35] t1mp, so whatever was at the top of the screen below the header when it was shown then becomes at the top of the window [19:35] oh, cool. it works well without delays? [19:35] t1mp, it makes the most sense, as when it is going the other way (header hidden->shown) if it didn't scroll your current item could be 'lost' below the header [19:36] t1mp, yep feels like it is bound to it :) ... but then i only have labels in my listitems at the moment ;) [19:36] an alternative could be to automatically hide the header when interacting with the right listview [19:36] hmm [19:36] no I think your solution is more elegant [19:37] t1mp, yeah i thought maybe when the most entered the right listview you could then change the page flickable...but we thought that would be too hacky [19:37] t1mp, the current solution i think feels/works the best .... just as long as we can continue doing it with the new header API [19:38] perhaps I should wait with adding the warning when using Page.header until the new API has the functionality that you need [19:39] t1mp, a warning isn't too bad though? [19:39] t1mp, it'll remind us that we need to change it :P [19:39] ahayzen: yes, true :) [19:40] t1mp, and deter other developers [19:40] well, you'd get it every time you get Page.header.. I don't know if that will mean it will be printing a lot while you scroll, that would suck [19:40] t1mp, ah that could be a lot of debug [19:40] spam the log files! [19:41] even worse, it can make you app slow [19:41] yep :/ [19:41] ahayzen: here is the MR - https://code.launchpad.net/~tpeeters/ubuntu-ui-toolkit/98-DeprecateHeader/+merge/221935 [19:41] ahayzen: you can try out that branch [19:42] t1mp, well this particular thing i'm working on is unlikely to land 'soon'...as i'm just prototyping convergence things...but is depends how easy it is, as the current prototype i've done seems quite successful :) [19:42] t1mp, cool i'll give it a shot see what happens [19:42] ahayzen: ok, let me know [19:42] ahayzen: or when I'm not around, please comment your findings on the MR [19:43] t1mp, it is more where we have the header in the rest of the app that i'm more worried, but then i guess when i land these Layouts i can update them all [19:43] t1mp, cool thanks [19:45] * ahayzen wonders how balloons is getting on [19:46] t1mp, ah the document is comment only...could you add the offset to the list? [19:47] t1mp, thanks :) [19:47] ahayzen: done. perhaps you can add your use case there as a comment? [19:47] t1mp, yep :) [19:47] thanks [19:53] ahayzen, still here, still trying to focus [19:54] balloons, i got myself so confused when i was attempting to figure it out yesterday [20:00] dpm, balloons: I won't be able to take a look at reminders today [20:00] tomorrow would be better. [20:01] that'd help already, thanks elopio [20:01] elopio, viva costa rica [20:02] balloons: ¡viva Juan Santamaría! [20:04] elopio, interesting. I had never heard of him before [20:06] t1mp, FYI just tried you deprecated branch... you get loads in the terminal as it starts up but then when you scroll up/down to show hide the header nothing appears in the console, therefore no slowdown :) [20:23] I'm walking through the QML App-dev tutorials on the developer.ubuntu.com, and I'm finding a few things that look a bit out-of-date. Is there a place/way to suggest updates/corrections? === salem_ is now known as _salem [21:33] mhall119: https://developer.apple.com/design/awards/ [21:41] ahayzen: ok, that's good news [21:41] t1mp, yeah we should be ok :) [21:42] t1mp, what would be the ETA on adding something like a header offset property as a matter of interest? [21:44] ahayzen: I have a branch with new Header API https://code.launchpad.net/~tpeeters/ubuntu-ui-toolkit/100-headerAPI [21:44] ahayzen: it is a matter of adding it there, and tweaking the API + agreeing on the API :) [21:44] ahayzen: and then a few more days for testing and landing the changes, making sure we don't break the apps [21:45] t1mp, ah cool i'll have a look at that tomorrow :) [21:45] ahayzen: the offset is not there yet [21:45] ahayzen: I added it to the API here https://docs.google.com/a/canonical.com/document/d/1wUUKtPmRmwbUELC1BUB9l0VOAwS_zAPRSCqMopUxR1c/edit#heading=h.mganvrzifny9 [21:45] t1mp, is that where the header search API will come from? [21:45] t1mp, or will that be in a separate branch? [21:46] ahayzen: in that proposal now we have a Page.head grouped property, which includes some read-write properties to configure the header, and readonly properties such as offset to get useful information [21:46] ahayzen: for the search, I have a branch that will follow the 100-headerAPI branch [21:47] ahayzen: that one depends on 100-headerAPI so that needs to land first, but I split up the two branches so we can discuss the changes separately [21:47] ahayzen: see https://code.launchpad.net/~tpeeters/ubuntu-ui-toolkit/110-headerInput [21:47] t1mp, ok understood [21:48] ahayzen: the branches are mostly done, if it is decided that the API is good, they just need a bit more tests and documentation [21:48] we don't want to mess up the API because once we release it we have to keep supporting it [21:48] t1mp, yeah definitely, better to get it right now === chihchun_afk is now known as chihchun