19:05:14 <x1sc0> #startmeeting 19:05:15 <IZBot> Meeting started Thu Dec 20 19:05:14 2018 UTC. The chair is x1sc0. Plugin info at http://wiki.debian.org/MeetBot. 19:05:16 <IZBot> Useful Commands: #action #agreed #help #info #idea #link #topic. 19:08:32 <erAck> izabela: are you in the Jitsi meeting? 19:09:30 <vranicieva> Yes, Izabela it's with me 19:09:37 <erAck> we have one "Fellow Jitster" that might be you, we don't know 19:10:06 <vranicieva> I suppose it's us 19:10:15 <x1sc0> can you hear us ? 19:10:17 <erAck> you can set the name in the Jitsi menu (3 dots in the lower right) 19:10:40 <vranicieva> Apparently it's not use, I updated the name 19:10:52 <vranicieva> us* 19:11:01 <vranicieva> we cannot hear you 19:11:03 <erAck> yep, can see now 19:11:27 <erAck> so we switch to IRC here 19:11:42 <Sweet5hark> vranicieva, izabela: ok, we will just stay on IRC then. 19:11:56 <vranicieva> Okay 19:12:13 <Sweet5hark> so todays .... 19:12:30 <Sweet5hark> #topic is vectors, grids and building libreoffice ... 19:13:33 <x1sc0> vranicieva, did you get the chance to build LibreOffice? 19:13:39 <Sweet5hark> do we want to start with questions about libreoffice building? we can do questions on the video later then as it will be more openended, I guess. 19:15:40 <vranicieva> So, about the LibreOffice build I did a research on it. Because I have a Mac I realized the LO Build requires a lot of disk memory 19:15:47 <alg> so - who built LO and on which system? 19:16:07 <vranicieva> which unfortunately I do no have that much of memory 19:16:09 <alg> on win ca. 28gb source + debug huild 19:16:31 <mikekaganski> alg: o/ :-P 19:16:50 <htietze> vranicieva: Building on macOS with LODE. 19:16:51 <thorsten> vranicieva: you mean diskspace? how much can you spare? 19:17:02 <x1sc0> vranicieva, it depends, if it's a debug build or not 19:17:06 <thorsten> vranicieva: any chance to move stuff to an external drive? 19:17:12 <htietze> It installs all necessary tools (takes ages) but works fine in the end. 19:17:15 <vranicieva> I have 15GB free 19:17:28 <htietze> Failed with homebrew and external tools. 19:17:31 * Sweet5hark cant help with OSX, but htietze and x1sc0 build there. 19:17:53 <x1sc0> vranicieva, yeap, I think 15gb is not enough 19:18:04 <erAck> an external SSD connected with USB3 might help 19:18:22 * erAck doubts though that MAc has cheap offers there.. 19:18:22 <vranicieva> I believe the only solution will be to take another laptop, I will be asking my brother to lend me his laptop 19:18:27 <x1sc0> yep, SSD + USB3 should be fine 19:18:36 <alg> SSD is fine, MemStick is a nogo - small file transfers are way too slow :-( 19:18:58 * Sweet5hark thinks we should get cloph_away s remote building machines ready too. 19:19:05 <htietze> du -h ~/Sources/lode = 19242784 = 20GB (containing the final binaries) 19:20:00 <izabela> remote building machines are a good solution 19:20:21 <alg> re-checked WIN full debug master build -> 32.6GB, 331.490 files ... 19:20:48 <Sweet5hark> izabela: Im writing a mail to cloph_away, right now ;) 19:21:19 <thorsten> vranicieva: any chance to move stuff to external drive then? as you see here, some 25GB free space would be needed 19:21:29 <x1sc0> janitor could be another way to go I think -> https://github.com/JanitorTechnology/janitor 19:21:55 <erAck> move the cat videos off ;) 19:22:21 <htietze> Here is the help page for setup on macOS https://wiki.documentfoundation.org/Development/BuildingOnMac 19:22:23 <vranicieva> No, because I have programs installed (and files of everyday use) rather than many documents 19:22:34 <erAck> #link https://wiki.documentfoundation.org/Development/BuildingOnMac 19:23:26 <vranicieva> 25GB is it all? Well, it required the XCode as well which is a pretty heavy program 19:23:51 <thorsten> ah k, so yeah if no xcode yet, then its more heavyweight 19:24:04 <erAck> Sweet5hark's typing is loud; using Model M? ;) 19:24:14 <thorsten> vranicieva: so perhaps as a start, indeed the VM solution from cloph_away is the way to go :) 19:24:38 <htietze> Additionally to xcode you may want to run ccache adding another couple of bytes. 19:24:47 <vranicieva> That's the way to go apparently 19:25:55 <htietze> Anyone succeeded with the environment setup? 19:27:03 <Hephaestus12> Hello, I just set up the libre office dev environment ( got the dependencies as well as the source code and compiled it as well.) Now i want to start with the easy hacks. After choosing ehich easy hack i want to help resolve, how exactly do i proceed with actually developing? 19:27:37 <izabela> me, at the Hackfest in Munich 19:28:26 <x1sc0> Hephaestus12, nice, any easy hack you're interested in particular ? 19:28:29 <Hephaestus12> And what are we supposed to use this IRC chat for and what do we use the mailing lists for? 19:28:39 <erAck> Hephaestus12: an EasyHack should have some code pointer where to look at; if it doesn't then leave a comment in its bug, there should be a developer on Cc who should be able to answer that (someone must had set the EasyHack keyword, so..) 19:29:32 <Hephaestus12> erAck: okay fine. 19:29:57 <thorsten> Hephaestus12: irc for interactive discussion, mailing list for something more long-winded, or if you're not getting an answer here 19:30:08 <Sweet5hark> izabela: you (and cloph_away) got mail about the remote machines. Feel free to share them with trusted other students from Tirana, e.g. vranicieva -- but act responsibly ;) 19:30:28 <x1sc0> htietze, https://wiki.documentfoundation.org/Development/IDE#Microsoft_Visual_Studio 19:31:22 <izabela> Sweet5hark, thank you. there are some other students who could not join this time 19:32:12 <Hephaestus12> x1sc0: I haven't found anything yet. The source code is too overwhelming. Having done only competitive programming up till now, I don't know how to start. 19:32:19 <x1sc0> izabela, do you know if they tried to build Libo ? 19:32:52 * Sweet5hark is somewhat annoyed that Hephaestus12, izabela, vranicieva are missing out on the hands on help htietze gets from alg about Visual Studio Code right now ... 19:33:18 <Sweet5hark> (on jitsi) 19:33:22 <erAck> indeed 19:33:22 <x1sc0> Hephaestus12, don't worry, that's normal, even the the experienced developers have that feeling sometimes 19:33:52 <izabela> x1sc0 dont think so. butthey have watched the videos 19:34:45 * erAck must admit he didn't watch the videos this time, but.. 19:34:46 <erAck> are there any questions regarding the video lessons? 19:35:38 <x1sc0> Hephaestus12, just a suggestion... what about a clean-up easy hack ? -> https://wiki.documentfoundation.org/Development/EasyHacks/lists/by_Topic#Skill_Level:_Beginner_2 19:35:50 <Sweet5hark> Hephaestus12, x1sc0: true that. The difference is that beginner can voice their frustrations freely, while experienced developers get more calm once they shout at their screen about a bug they introduced themselves a few years early. That results in some humility usually. 19:36:12 * erAck nods 19:37:11 <Hephaestus12> x1sc0, I'll check it out. 19:37:51 <erAck> what code editor(s) are Tirana devs using? 19:37:59 <thorsten> Hephaestus12: excellent - and yeah some easy hacks are really trivial - but they're there so you get used to the process end to end, and perhaps already get some muscle memory for the repetitive tasks 19:38:19 * erAck seeing Heiko and Armin struggling through Visual Code 19:38:28 <mikekaganski> Just turned tdf#114508 into an easyhack 19:38:30 <izabela> i am using visual studio as Armin recommmended 19:38:31 <x1sc0> Hephaestus12, i think it's important to work on something that motivates you 19:38:31 <IZBot> LibreOffice-LibreOffice normal/medium NEW Confusing dialog about discarding recovery data can lead to data loss https://bugs.documentfoundation.org/show_bug.cgi?id=114508 19:38:58 <Sweet5hark> Is there anything more we can help with building right now? Otherwise we could proceed to video lecture questions soon ... 19:39:13 <vranicieva> I use Visual Code as a general editor 19:39:37 * Sweet5hark thinks we should try to record the jitsi stuff next time and publish on youtube. 19:40:06 <Hephaestus12> x1sc0, thorsten, thankyou for the help. 19:40:12 <erAck> so, Armin (alg) seems to be an expert in VSC 19:40:27 <Sweet5hark> 1/ it might help figuring out stuff (esp. IDE stuff, which is best seen in a video) 19:40:59 <htietze> Armin tought me: RTFM. My issue was/is that VSC returns all classes/methods even when not in the current scope. And apparently it has something to do with c++_properties.json. Will follow this tip... 19:41:28 <alg> htietze: it's called .vscode\c_cpp_properties.json 19:41:29 <x1sc0> Hephaestus12, another approach would be to work on a bug that affects you when using LibreOffice. it might be more difficult to fix but also more motivating 19:41:35 <Sweet5hark> 2/ I shows that even long term developers can feel easily overwhelmed with stuff too when it comes to the nitty gritty details. 19:42:10 <alg> htietze: just google for it - will be some info how it gets created - I created it looong time ago, so dunno remember details 19:42:27 <Hephaestus12> x1sc0, that makes sense as well. 19:43:03 <Sweet5hark> alg should totally do a VS Code tutorial soon. It was quite helpful to me at Hackfest Munich. 19:43:04 <thorsten> alg: any chance you can join via laptop & share screen? 19:43:42 <alg> Hephaestus12: good is to get a debug build, get a codepoint where problems happen (ask at the beginning) and then debugging through it enter/leave/singlestep is a good way to learn what happens 19:43:43 * Sweet5hark is using the One True Editor(tm): vim usually. 19:44:04 * erAck too 19:44:22 * jmux thinks just touching VCL code once a year is good for your mental health… and adding a lot iof asserts, even if they just fail after upload and prove your understanding was wrong :-) 19:44:45 <alg> Hephaestus12: still frustrating at the beginning - but that is normal, no worries. 19:44:49 <Hephaestus12> alg. okay. 19:45:30 <alg> Hephaestus12: don't try to understand the whole car - concentrate on one wheel :-) 19:45:42 <x1sc0> Hephaestus12, anyway, I believe the most important thing is to get your feet wet with the code, and be patient ;-) 19:46:19 <thorsten> aye 19:46:27 <thorsten> patience is required here 19:46:31 <x1sc0> Hephaestus12, you can use this channel to ask questions you have 19:47:07 <Hephaestus12> x1sc0, Yes I will. Thanks 19:47:19 <x1sc0> Hephaestus12, and we also have a lot of documentation in the wiki -> https://wiki.documentfoundation.org/Development 19:47:23 <Sweet5hark> x1sc0: should we spend maybe 15 minutes on the stuff that was in the lecture video? @all: any questions wrt that? Having to do memory management more manually than in e.g. Java/JavaScript/Python can be challenging at first... 19:47:40 <Sweet5hark> ... but it creates the most interesting segfaults! 19:48:40 <x1sc0> sure. any question regarding grid/vector/io streams ? 19:48:54 * Sweet5hark hears the *plonk* of someone elses IRC client on jitsi with ~200ms delay. Its kinda confusing ;) 19:48:59 <alg> Sweet5hark: does that mean you use VSCode now...? :-) 19:49:17 <Hephaestus12> Which IDE is preferred for development? Up till now I only used sublime text and then compiled in the terminal. 19:49:19 <thorsten> who watched the videos? raise your hands please! :) 19:49:28 <thorsten> Hephaestus12: sounds about right 19:49:30 <Sweet5hark> o/ 19:49:37 <x1sc0> i did 19:49:42 <vranicieva> I watched the I/O streams and was pretty in handy my knowledge from java to understand in c++ 19:49:48 <alg> \o/ 19:49:53 <thorsten> Hephaestus12: got some source code index? opengrok.libreoffice.org is a nice first start otherwise 19:50:43 <mikekaganski> Hephaestus12: I love VS (not VSC) with its brilliant integration 19:50:49 <Hephaestus12> thorsten, no didn't have one. Thankyou 19:50:56 <htietze> About the lesson: I wonder if there is a generalization for the colon. Or is one colon just "each" and two "namespace"? 19:51:19 <izabela> i watched the videos but i usually have questions when i put in practice 19:52:54 <erAck> htietze: erm.. what? 19:53:30 <Sweet5hark> htietze: there are no such nice generalizations in C++. For the most part in C++ something like :: is a namespace separator, because it was there and looked like it wasnt doing anything yet, so someone came along and say "hey you, colon colon! You will be a namespace separator from now on. Go forth and multiply!" 19:53:35 <alg> htietze: '::' is for concatenating namespaces 19:54:09 <alg> htietze: ':' is is in new form of 'for' loops and (very old) gotos 19:54:27 <alg> htietze: I see no generalization here 19:54:29 <erAck> ah, those.. 19:55:02 <erAck> htietze: also used for switch case labels 19:55:05 <alg> htietze: e.g. com::sun::star::bla to reference bla in namespace star in namespace... 19:56:37 <alg> htietze: C++ uses sometimes two chars as one symbol, e.g. '<<', '++', etc. Sometimes even three '>>==', but for the parser it's a single token 19:56:55 <Sweet5hark> vranicieva: good. yeah, io-streams are not that far from Java. izabela: putting it in practice is a good idea. I have not prepared some code sample this time around though (came right from work and dropped in front of the notebook before even getting out of the shoes ;) ) 19:57:02 <htietze> It's confusing like & and && (logic or bitwise and). Other than that I belive the lesson is in intro, not that I would remember the details but ifstream don't help me with reading xml. I know that real hurdles come later. 19:57:03 <alg> htietze: upps.. one too much :-) 19:58:14 <htietze> About vectors and grids: Do we use those in our code? 19:58:32 <Sweet5hark> htietze: vectors all of the time. 19:59:23 <Sweet5hark> htietze: and where we are not using vectors, we probably should be using vectors. (there were quite some easyhacks to use more vectors). 19:59:37 <x1sc0> were arrays used in OOo times and later converted to vectors ? 19:59:40 <htietze> Very convenient. Remember the memory allocation trouble from the past. 20:00:03 <izabela> thorsten since i have set up my environment, i can solve some easy hacks with Eva 20:01:29 <Sweet5hark> htietze: grid -- no, because as presented in the video it is not a standard c++ container. erAck might give some insight on how Calc/mdds handles those multidimensional thingies (I imagine they use a lot of that). 20:02:35 <erAck> x1sc0: old OOo code had some own implementation of arrays and lists, std::... didn't exist back then or weren't supported by all compilers 20:02:40 <x1sc0> #q: any idea why changes like this 31eed9e7343276589feaf32c56f50c9018fb56f5 ? 20:02:42 <IZBot> core - std::list->std::vector in DropTarget - http://cgit.freedesktop.org/libreoffice/core/commit/?id=31eed9e7343276589feaf32c56f50c9018fb56f5 20:02:59 <x1sc0> #q: should vector be used everywhere ? 20:03:09 <thorsten> izabela: ah great - got some ideas already? 20:03:12 <Sweet5hark> x1sc0: yeah, arrays or naked pointers as one did in the old days of plain C. C++ retrofitted containers and iterators over that, which made the world a safer place in general. 20:04:03 <alg> check 'https://de.cppreference.com/w/cpp/container' for a complete list and definitions/examples 20:04:33 <izabela> thorsten yes, at the hackfest Munich i was some easy hacks with Sweet5hark that were a good start 20:04:38 <thorsten> kk 20:05:00 <erAck> x1sc0: back in old days when you needed some controlled memory you mostly used SvList, which was, well, a list implementation 20:05:14 <alg> upps.. that was the german one, sorry - en is https://en.cppreference.com/w/cpp/container 20:05:57 <erAck> x1sc0: in this case the list feature isn't needed and was replaced by vector 20:09:32 <x1sc0> ok thanks -> also found this which says the same: https://stackoverflow.com/questions/2209224/vector-vs-list-in-stl 20:10:48 <erAck> #link https://stackoverflow.com/questions/2209224/vector-vs-list-in-stl 20:11:01 <erAck> #link https://en.cppreference.com/w/cpp/container 20:11:02 <quikee> because of cache locality, even the cases where a linked-list should be better (faster) than an plain array (vector) it is most likely not 20:12:52 <erAck> did we decide on the next meeting yet? 20:14:58 <erAck> on Jitsi we seem to favour Jan-10 20:14:59 <Sweet5hark> Proposal on jitsi is January, 10th for next meeting. 20:15:17 <Sweet5hark> izabela, vranicieva: would that work for you? 20:15:48 <vranicieva> Yes, for me 20:16:01 <izabela> works for me too 20:16:15 <x1sc0> vranicieva, do you think you could advertise it in Openlabs so more people from Tirana join ? 20:16:36 <vranicieva> Sure, I will make spread the word 20:16:50 <x1sc0> #endmeeting