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