Cool; thanks Henry! On Mon, May 25, 2020 at 7:49 PM Henry Suryawirawan <hsuryawira...@google.com> wrote:
> Hi Austin, > > The remote-info yaml files would get updated upon updating the course on > Stepik, not entirely recreated as if from scratch. > The important IDs metadata that track the course ID, section ID, lesson > ID, and task ID are preserved. > Having these files in the repo allows multiple people to be able to update > the same courses on Stepik without resulting in new courses everytime it > gets updated. > > As an illustration, let's take the Go Katas. > The course-remote-info.yaml tracks the course ID as `id: 70387`. > This corresponds to the equivalent Stepik course page: > https://stepik.org/course/70387/promo > This course ID has also been endorsed by JetBrains to feature visibly on > the course list. > If we don't keep track of the IDs, we'll always recreate the course with > new IDs every time it gets uploaded. > I hope this helps to clarify the needs for the remote-info files to be in > the repo. > > I've explored a way to automatically update the course that can be > triggered by the CI. > What I found is that at the moment it is better to update the course from > the IDE menu, otherwise we would have to find out what actually happens > behind the menu and reverse engineer the steps. > It may be possible to do, but I am also concerned if JetBrains updates the > plugin and changes the way it handles the course upload, and that we have > to keep up with the changes at the same time. > > On the stats, we have some statistics that are publicly available and > privately available for the course instructors. > The promo page shows the publicly available stat of the number of learners > who have tried the course, any star and review, e.g. for Java Katas ( > https://stepik.org/course/54530/promo). > The private stats include number of learners per day, task pass rate, the > learners, etc. > > > Henry Suryawirawan > > Strategic Cloud Engineer > > hsuryawira...@google.com > > > > > > > On Tue, May 26, 2020 at 9:27 AM Austin Bennett < > whatwouldausti...@gmail.com> wrote: > >> Hi Henry, >> >> Cool. Most makes sense. >> >> What I am missing is the need for the '*-remote-info.yaml' in the beam >> repo (I do get what purpose it serves for Stepik). There is probably a >> good reason. >> >> To get nitpicky (am genuinely curious) --> It seems that this sort of >> metadata would get (re-)created upon (re-)uploading a course. What does >> persisting it to the repo get us? This is also in line with nascent >> thoughts of auto-deploying katas to stepik on accepted merge into >> learning/katas/ -- rather than this being done manually. Perhaps this is >> just due to my lack of having spent much time with Stepik. >> >> Also, do we have download statistics from Stepik for the Katas? What >> other bits of information can we gather from Stepik (as you share, if >> Stepik is using *-remote-info.yaml for tracking, what information are we >> able to gather from there)? >> >> Thanks, >> Austin >> >> On Mon, May 25, 2020 at 1:10 AM Henry Suryawirawan < >> hsuryawira...@google.com> wrote: >> >>> Hi Austin, >>> >>> Thanks for your help in adding a new lesson. >>> I will have a look and help to review the pull request. >>> >>> On your questions: >>> 1. Apart from the *-remote-info.yaml, the other yaml files should >>> contain Apache license header. We explicitly turn off license header check >>> for the remote-info files as can be referred in the build.gradle >>> <https://github.com/apache/beam/blob/master/build.gradle>. The reason >>> is because the remote-info files are auto generated, and they will always >>> get replaced whenever we update the course on Stepik. >>> All the YAML files are important and have to be included as part of the >>> repository. The {task, lesson,section}-info.yaml files are metadata >>> files used by the JetBrains EduTools plugin for Educational projects. The >>> *-remote-info.yaml files contain metadata information (e.g. the IDs) >>> important for Stepik to track our courses. >>> >>> 2. We do not leave out the beam.Create. Apart from the Introduction >>> lesson, you can find it in the cmd/main.go file. We explicitly create the >>> main.go file in order for the learner to be able to also run the pipeline >>> independently and observe the output, just like when they write the >>> pipeline normally. >>> >>> Hope my answers help to clarify. >>> >>> >>> Henry Suryawirawan >>> >>> Strategic Cloud Engineer >>> >>> hsuryawira...@google.com >>> >>> >>> >>> >>> >>> On Mon, May 25, 2020 at 7:13 AM Austin Bennett < >>> whatwouldausti...@gmail.com> wrote: >>> >>>> @Rion, @Henry Suryawirawan <hsuryawira...@google.com>, @Damon, I >>>> added a Flatten Kata for Go. Please have a look: >>>> https://github.com/apache/beam/pull/11806 -- tagged all of you as >>>> other authors of Katas. >>>> >>>> A few questions: >>>> >>>> 1) Across all the katas, we have files '{task, >>>> lesson,section}-remote-info.yaml'. These files do not contain the apache >>>> license, and I imagine they are generated by Steptik/other (also, to get >>>> working locally those files were not needed). Should these files be >>>> ignored (via .gitignore) and kept out of the Beam repository? Wondering >>>> why we would want those in the repo, and if yes, should they have the >>>> Apache License on them? >>>> >>>> 2) On Go Katas generally. I wrote this one following convention of >>>> other Go Katas found in the repository. For the Java and Python versions, >>>> the code that people work with includes seeing the Beam.Create. This is >>>> left out of the GoLang katas, and kept behind the scenes. Is there >>>> reasoning for breaking from the convention of the other Katas? >>>> https://godoc.org/github.com/apache/beam/sdks/go/pkg/beam#Create >>>> >>>> Thanks, >>>> Austin >>>> >>>> >>>> On Thu, May 21, 2020 at 8:00 PM Rion Williams <rionmons...@gmail.com> >>>> wrote: >>>> >>>>> Hi Henry, >>>>> >>>>> I submitted a pull request related to the Beam Katas that can be found >>>>> here (https://github.com/apache/beam/pull/11761) and included you as >>>>> a reviewer. I updated all of the related metadata, generated the course, >>>>> and tested through it to ensure it worked as expected (and the >>>>> placeholders >>>>> all worked as expected as well). >>>>> >>>>> The generated course can be found here on Stepik ( >>>>> https://stepik.org/course/72488 >>>>> <https://stepik.org/course/72488/promo>) and I’ve reached out to a >>>>> few folks to put it through its paces in the wild. >>>>> >>>>> Let me know if there’s anything else I can do or changes that need to >>>>> be made in the PR or elsewhere. >>>>> >>>>> Thanks again, >>>>> >>>>> Rion >>>>> >>>>> On May 20, 2020, at 2:12 AM, Henry Suryawirawan < >>>>> hsuryawira...@google.com> wrote: >>>>> >>>>> >>>>> Yeah there was a recent pull request merged for the md file format >>>>> change. >>>>> I checked your repo and it still contains the task.html, so need your >>>>> help to merge with the latest master. >>>>> >>>>> For the answer placeholder, you may refer to this doc >>>>> <https://www.jetbrains.com/help/education/educator-start-guide.html> first >>>>> to understand how it works. >>>>> It will auto update the placeholder position in the task-info.yaml. >>>>> >>>>> If you encounter any issue, just let me know. >>>>> Thanks Rion. >>>>> >>>>> >>>>> Regards, >>>>> Henry >>>>> >>>>> >>>>> >>>>> On Wed, May 20, 2020 at 12:43 PM Rion Williams <rionmons...@gmail.com> >>>>> wrote: >>>>> >>>>>> Hi Henry, >>>>>> >>>>>> Thanks for the quick response, I appreciate it. I believe that I >>>>>> pulled the latest from master a day or so ago, so I’ll make sure to pull >>>>>> the most recent changes in. >>>>>> >>>>>> As far as the placeholders, they aren’t currently present (as I don’t >>>>>> believe they were present in the Java ones within the learning/katas >>>>>> directory), however I can easily add those in to align with the content >>>>>> of >>>>>> the existing course. I wasn’t entirely sure based on the existing >>>>>> directories if the files should contain the placeholders or the actual >>>>>> implementations, either way, it’s a pretty trivial series of changes. >>>>>> >>>>>> I’ll try to put these together tomorrow and push up a PR. I’ll make >>>>>> sure to include you as a reviewer. >>>>>> >>>>>> Thanks for the initial feedback, >>>>>> >>>>>> Rion >>>>>> >>>>>> On May 19, 2020, at 11:15 PM, Henry Suryawirawan < >>>>>> hsuryawira...@google.com> wrote: >>>>>> >>>>>> >>>>>> Thanks Rion for adding the Kotlin version. >>>>>> This is great to show other people that Beam can be done in Kotlin >>>>>> too! >>>>>> >>>>>> I can help to review your work. >>>>>> Please help to incorporate the Java Katas latest changes from master. >>>>>> There are recent changes to the task description file format from >>>>>> html to md. >>>>>> Please also help to remove all the *-remote-info.yaml files. >>>>>> I assume that you've adjusted the answer placeholders in all tasks as >>>>>> well. >>>>>> Afterwards, you can create a pull request and assign me as reviewer. >>>>>> >>>>>> Please reach out to me if you have any questions. >>>>>> >>>>>> >>>>>> Regards, >>>>>> Henry >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Wed, May 20, 2020 at 3:33 AM Rion Williams <rionmons...@gmail.com> >>>>>> wrote: >>>>>> >>>>>>> Sure! I ran through all of the tests locally on my branch (as tests) >>>>>>> and then performed a check against all of the known tasks (via Course >>>>>>> Creator > Check All Tasks) and 35/36 tasks passed successfully with the >>>>>>> only one that didn't being a Built-in IO one that doesn't currently have >>>>>>> any implementation. Although, I'd love for someone else to try the same >>>>>>> thing since as far as I can tell it "works on my machine". >>>>>>> >>>>>>> Thanks! >>>>>>> >>>>>>> Rion >>>>>>> >>>>>>> On 2020/05/19 19:12:57, Pablo Estrada <pabl...@google.com> wrote: >>>>>>> > This is really cool Rion! >>>>>>> > >>>>>>> > I believe it's possible to start trying out the katas from your >>>>>>> branch? If >>>>>>> > so, I can give them a try, and use that as a review... >>>>>>> > Henry, any other ideas? >>>>>>> > >>>>>>> > On Tue, May 19, 2020 at 12:04 PM Rion Williams < >>>>>>> rionmons...@gmail.com> >>>>>>> > wrote: >>>>>>> > >>>>>>> > > Hi all, >>>>>>> > > >>>>>>> > > I was recently added as a contributor and created a JIRA ticket >>>>>>> related to >>>>>>> > > the existing Katas ( >>>>>>> https://issues.apache.org/jira/browse/BEAM-10027), >>>>>>> > > specifically creating one that targets Kotlin specific as there >>>>>>> are quite a >>>>>>> > > few existing examples out there for Kotlin, so I thought a Kata >>>>>>> course that >>>>>>> > > would parallel the existing Java, Go, and Python ones. >>>>>>> > > >>>>>>> > > I basically ported over the existing Java Katas, added the >>>>>>> appropriate >>>>>>> > > dependencies, and converted all of the Java files over to >>>>>>> Kotlin, and >>>>>>> > > ensured that all of the tests pass as expected. I'd love outside >>>>>>> of this to >>>>>>> > > see if we can shift it to a Stepik course as well if that seems >>>>>>> reasonable >>>>>>> > > similar to those mentioned in this thread. >>>>>>> > > >>>>>>> > > My current branch awaiting a PR can be found here ( >>>>>>> > > https://github.com/rionmonster/beam/tree/BEAM-10027), however >>>>>>> I'm unsure >>>>>>> > > who would be the best to review such a PR and what other steps >>>>>>> might need >>>>>>> > > to be taken before trying to get it merged in. >>>>>>> > > >>>>>>> > > Any feedback would be welcome! >>>>>>> > > >>>>>>> > > Thanks, >>>>>>> > > >>>>>>> > > Rion >>>>>>> > > >>>>>>> > > On 2020/05/14 23:40:45, Rion Williams <rionmons...@gmail.com> >>>>>>> wrote: >>>>>>> > > > +1 on the contributions front. My team and I have been working >>>>>>> with Beam >>>>>>> > > primarily with Kotlin and I recently added the appropriate >>>>>>> dependencies to >>>>>>> > > Gradle and performed a bit of conversions and have it working as >>>>>>> expected >>>>>>> > > against the existing Java course. >>>>>>> > > > >>>>>>> > > > I don’t know how many others are actively working with Kotlin >>>>>>> and Beam, >>>>>>> > > but I’d love to work on transitioning that into a proper course >>>>>>> (assuming >>>>>>> > > there’s interest in it). >>>>>>> > > > >>>>>>> > > > > On May 14, 2020, at 10:32 AM, Nathan Fisher < >>>>>>> nfis...@junctionbox.ca> >>>>>>> > > wrote: >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > Yes write IO >>>>>>> > > > > >>>>>>> > > > >> On Thu, May 14, 2020 at 05:41, Henry Suryawirawan < >>>>>>> > > hsuryawira...@google.com> wrote: >>>>>>> > > > >> Yeah certainly we can expand it further. >>>>>>> > > > >> There are more lessons that definitely can be added further. >>>>>>> > > > >> >>>>>>> > > > >> >Eg more the write side windowing interactions? >>>>>>> > > > >> Are you referring to Write IOs? >>>>>>> > > > >> >>>>>>> > > > >> >>>>>>> > > > >> >>>>>>> > > > >>> On Wed, May 13, 2020 at 11:56 PM Nathan Fisher < >>>>>>> > > nfis...@junctionbox.ca> wrote: >>>>>>> > > > >>> I went through them earlier this week! Definitely helpful. >>>>>>> > > > >>> >>>>>>> > > > >>> Is it possible to expand the katas available in the lO >>>>>>> section? Eg >>>>>>> > > more the write side windowing interactions? >>>>>>> > > > >>> >>>>>>> > > > >>>> On Wed, May 13, 2020 at 11:36, Luke Cwik < >>>>>>> lc...@google.com> wrote: >>>>>>> > > > >>>> These are an excellent learning tool. >>>>>>> > > > >>>> >>>>>>> > > > >>>>> On Tue, May 12, 2020 at 11:02 PM Pablo Estrada < >>>>>>> pabl...@google.com> >>>>>>> > > wrote: >>>>>>> > > > >>>>> Sharing Damon's email with the user@ list as well. >>>>>>> Thanks Damon! >>>>>>> > > > >>>>> >>>>>>> > > > >>>>>> On Tue, May 12, 2020 at 9:02 PM Damon Douglas < >>>>>>> > > douglas.da...@gmail.com> wrote: >>>>>>> > > > >>>>>> Hello Everyone, >>>>>>> > > > >>>>>> >>>>>>> > > > >>>>>> If you don't already know, there are helpful >>>>>>> instructional tools >>>>>>> > > for learning the Apache Beam SDKs called Beam Katas hosted on >>>>>>> > > https://stepik.org. Similar to traditional Kata, they are >>>>>>> meant to be >>>>>>> > > repeated as practice. Before practicing the katas myself, I >>>>>>> found myself >>>>>>> > > copy/pasting code (Please accept my confession 😎 ). Now I find >>>>>>> myself >>>>>>> > > actually composing pipelines. Just like kata forms, you find >>>>>>> them becoming >>>>>>> > > part of you. If you are interested, below are listed the >>>>>>> current available >>>>>>> > > katas: >>>>>>> > > > >>>>>> >>>>>>> > > > >>>>>> 1. Java - https://stepik.org/course/54530 >>>>>>> > > > >>>>>> >>>>>>> > > > >>>>>> 2. Python - https://stepik.org/course/54532 >>>>>>> > > > >>>>>> >>>>>>> > > > >>>>>> 3. Go (in development) - >>>>>>> https://stepik.org/course/70387 >>>>>>> > > > >>>>>> >>>>>>> > > > >>>>>> If you are absolutely brand new to Beam and it scares >>>>>>> you like it >>>>>>> > > scared me, come talk to me. >>>>>>> > > > >>>>>> >>>>>>> > > > >>>>>> Best, >>>>>>> > > > >>>>>> >>>>>>> > > > >>>>>> Damon >>>>>>> > > > >>> -- >>>>>>> > > > >>> Nathan Fisher >>>>>>> > > > >>> w: http://junctionbox.ca/ >>>>>>> > > > > -- >>>>>>> > > > > Nathan Fisher >>>>>>> > > > > w: http://junctionbox.ca/ >>>>>>> > > > >>>>>>> > > >>>>>>> > >>>>>>> >>>>>>