19:05:14 #startmeeting 19:05:15 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 Useful Commands: #action #agreed #help #info #idea #link #topic. 19:08:32 izabela: are you in the Jitsi meeting? 19:09:30 Yes, Izabela it's with me 19:09:37 we have one "Fellow Jitster" that might be you, we don't know 19:10:06 I suppose it's us 19:10:15 can you hear us ? 19:10:17 you can set the name in the Jitsi menu (3 dots in the lower right) 19:10:40 Apparently it's not use, I updated the name 19:10:52 us* 19:11:01 we cannot hear you 19:11:03 yep, can see now 19:11:27 so we switch to IRC here 19:11:42 vranicieva, izabela: ok, we will just stay on IRC then. 19:11:56 Okay 19:12:13 so todays .... 19:12:30 #topic is vectors, grids and building libreoffice ... 19:13:33 vranicieva, did you get the chance to build LibreOffice? 19:13:39 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 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 so - who built LO and on which system? 19:16:07 which unfortunately I do no have that much of memory 19:16:09 on win ca. 28gb source + debug huild 19:16:31 alg: o/ :-P 19:16:50 vranicieva: Building on macOS with LODE. 19:16:51 vranicieva: you mean diskspace? how much can you spare? 19:17:02 vranicieva, it depends, if it's a debug build or not 19:17:06 vranicieva: any chance to move stuff to an external drive? 19:17:12 It installs all necessary tools (takes ages) but works fine in the end. 19:17:15 I have 15GB free 19:17:28 Failed with homebrew and external tools. 19:17:31 * Sweet5hark cant help with OSX, but htietze and x1sc0 build there. 19:17:53 vranicieva, yeap, I think 15gb is not enough 19:18:04 an external SSD connected with USB3 might help 19:18:22 * erAck doubts though that MAc has cheap offers there.. 19:18:22 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 yep, SSD + USB3 should be fine 19:18:36 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 du -h ~/Sources/lode = 19242784 = 20GB (containing the final binaries) 19:20:00 remote building machines are a good solution 19:20:21 re-checked WIN full debug master build -> 32.6GB, 331.490 files ... 19:20:48 izabela: Im writing a mail to cloph_away, right now ;) 19:21:19 vranicieva: any chance to move stuff to external drive then? as you see here, some 25GB free space would be needed 19:21:29 janitor could be another way to go I think -> https://github.com/JanitorTechnology/janitor 19:21:55 move the cat videos off ;) 19:22:21 Here is the help page for setup on macOS https://wiki.documentfoundation.org/Development/BuildingOnMac 19:22:23 No, because I have programs installed (and files of everyday use) rather than many documents 19:22:34 #link https://wiki.documentfoundation.org/Development/BuildingOnMac 19:23:26 25GB is it all? Well, it required the XCode as well which is a pretty heavy program 19:23:51 ah k, so yeah if no xcode yet, then its more heavyweight 19:24:04 Sweet5hark's typing is loud; using Model M? ;) 19:24:14 vranicieva: so perhaps as a start, indeed the VM solution from cloph_away is the way to go :) 19:24:38 Additionally to xcode you may want to run ccache adding another couple of bytes. 19:24:47 That's the way to go apparently 19:25:55 Anyone succeeded with the environment setup? 19:27:03 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 me, at the Hackfest in Munich 19:28:26 Hephaestus12, nice, any easy hack you're interested in particular ? 19:28:29 And what are we supposed to use this IRC chat for and what do we use the mailing lists for? 19:28:39 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 erAck: okay fine. 19:29:57 Hephaestus12: irc for interactive discussion, mailing list for something more long-winded, or if you're not getting an answer here 19:30:08 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 htietze, https://wiki.documentfoundation.org/Development/IDE#Microsoft_Visual_Studio 19:31:22 Sweet5hark, thank you. there are some other students who could not join this time 19:32:12 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 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 (on jitsi) 19:33:22 indeed 19:33:22 Hephaestus12, don't worry, that's normal, even the the experienced developers have that feeling sometimes 19:33:52 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 are there any questions regarding the video lessons? 19:35:38 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 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 x1sc0, I'll check it out. 19:37:51 what code editor(s) are Tirana devs using? 19:37:59 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 Just turned tdf#114508 into an easyhack 19:38:30 i am using visual studio as Armin recommmended 19:38:31 Hephaestus12, i think it's important to work on something that motivates you 19:38:31 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 Is there anything more we can help with building right now? Otherwise we could proceed to video lecture questions soon ... 19:39:13 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 x1sc0, thorsten, thankyou for the help. 19:40:12 so, Armin (alg) seems to be an expert in VSC 19:40:27 1/ it might help figuring out stuff (esp. IDE stuff, which is best seen in a video) 19:40:59 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 htietze: it's called .vscode\c_cpp_properties.json 19:41:29 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 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 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 x1sc0, that makes sense as well. 19:43:03 alg should totally do a VS Code tutorial soon. It was quite helpful to me at Hackfest Munich. 19:43:04 alg: any chance you can join via laptop & share screen? 19:43:42 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 Hephaestus12: still frustrating at the beginning - but that is normal, no worries. 19:44:49 alg. okay. 19:45:30 Hephaestus12: don't try to understand the whole car - concentrate on one wheel :-) 19:45:42 Hephaestus12, anyway, I believe the most important thing is to get your feet wet with the code, and be patient ;-) 19:46:19 aye 19:46:27 patience is required here 19:46:31 Hephaestus12, you can use this channel to ask questions you have 19:47:07 x1sc0, Yes I will. Thanks 19:47:19 Hephaestus12, and we also have a lot of documentation in the wiki -> https://wiki.documentfoundation.org/Development 19:47:23 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 ... but it creates the most interesting segfaults! 19:48:40 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 Sweet5hark: does that mean you use VSCode now...? :-) 19:49:17 Which IDE is preferred for development? Up till now I only used sublime text and then compiled in the terminal. 19:49:19 who watched the videos? raise your hands please! :) 19:49:28 Hephaestus12: sounds about right 19:49:30 o/ 19:49:37 i did 19:49:42 I watched the I/O streams and was pretty in handy my knowledge from java to understand in c++ 19:49:48 \o/ 19:49:53 Hephaestus12: got some source code index? opengrok.libreoffice.org is a nice first start otherwise 19:50:43 Hephaestus12: I love VS (not VSC) with its brilliant integration 19:50:49 thorsten, no didn't have one. Thankyou 19:50:56 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 i watched the videos but i usually have questions when i put in practice 19:52:54 htietze: erm.. what? 19:53:30 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 htietze: '::' is for concatenating namespaces 19:54:09 htietze: ':' is is in new form of 'for' loops and (very old) gotos 19:54:27 htietze: I see no generalization here 19:54:29 ah, those.. 19:55:02 htietze: also used for switch case labels 19:55:05 htietze: e.g. com::sun::star::bla to reference bla in namespace star in namespace... 19:56:37 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 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 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 htietze: upps.. one too much :-) 19:58:14 About vectors and grids: Do we use those in our code? 19:58:32 htietze: vectors all of the time. 19:59:23 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 were arrays used in OOo times and later converted to vectors ? 19:59:40 Very convenient. Remember the memory allocation trouble from the past. 20:00:03 thorsten since i have set up my environment, i can solve some easy hacks with Eva 20:01:29 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 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 #q: any idea why changes like this 31eed9e7343276589feaf32c56f50c9018fb56f5 ? 20:02:42 core - std::list->std::vector in DropTarget - http://cgit.freedesktop.org/libreoffice/core/commit/?id=31eed9e7343276589feaf32c56f50c9018fb56f5 20:02:59 #q: should vector be used everywhere ? 20:03:09 izabela: ah great - got some ideas already? 20:03:12 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 check 'https://de.cppreference.com/w/cpp/container' for a complete list and definitions/examples 20:04:33 thorsten yes, at the hackfest Munich i was some easy hacks with Sweet5hark that were a good start 20:04:38 kk 20:05:00 x1sc0: back in old days when you needed some controlled memory you mostly used SvList, which was, well, a list implementation 20:05:14 upps.. that was the german one, sorry - en is https://en.cppreference.com/w/cpp/container 20:05:57 x1sc0: in this case the list feature isn't needed and was replaced by vector 20:09:32 ok thanks -> also found this which says the same: https://stackoverflow.com/questions/2209224/vector-vs-list-in-stl 20:10:48 #link https://stackoverflow.com/questions/2209224/vector-vs-list-in-stl 20:11:01 #link https://en.cppreference.com/w/cpp/container 20:11:02 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 did we decide on the next meeting yet? 20:14:58 on Jitsi we seem to favour Jan-10 20:14:59 Proposal on jitsi is January, 10th for next meeting. 20:15:17 izabela, vranicieva: would that work for you? 20:15:48 Yes, for me 20:16:01 works for me too 20:16:15 vranicieva, do you think you could advertise it in Openlabs so more people from Tirana join ? 20:16:36 Sure, I will make spread the word 20:16:50 #endmeeting