Re: Try Beam Katas Today

2020-05-25 Thread Henry Suryawirawan
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 
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 , @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:
>>>
>&g

Re: Try Beam Katas Today

2020-05-25 Thread Henry Suryawirawan
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 
wrote:

> @Rion, @Henry Suryawirawan , @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 
> 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 
>> 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 
>> 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 pret

Re: Try Beam Katas Today

2020-05-20 Thread Henry Suryawirawan
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 
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 
> 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 
> 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  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 
>> > 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  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
>> &

Re: Try Beam Katas Today

2020-05-19 Thread Henry Suryawirawan
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  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  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 
> > 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  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 
> wrote:
> > > > >>>> These are an excellent learning

Re: Try Beam Katas Today

2020-05-14 Thread Henry Suryawirawan
The guide for sharing the course (publishing to Stepik) can be found here:
https://www.jetbrains.com/help/education/educator-start-guide.html#share_course
It is well integrated in the IDE with a few clicks.
<https://www.jetbrains.com/help/education/educator-start-guide.html#share_course>
Yeah the publication process is now distinct.
At the moment, when the PR for the course changes is approved, we update
the Stepik version, add & commit the auto-generated metadata YAML to the
PR, and then merge & close the PR.
Open to suggestion if there is a better way to publish.



On Thu, May 14, 2020 at 10:21 PM Austin Bennett 
wrote:

> It looks like there are instructions online for writing exercises/Katas:
> https://www.jetbrains.com/help/education/educator-start-guide.html
>
> Do we have a guide for contributing and publication/releases occur
> (publishing to Stepik)?  Although the code lives in the main repo
> (therefore subject to those contrib guidelines), I think the
> release/publication schedule is distinct?
>
> This hopefully will help illustrate that we are able to contribute to
> Katas (PRs welcome?), and not just consume them!
>
>
>
> On Thu, May 14, 2020 at 1:41 AM 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 
>> 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  wrote:
>>>
>>>> These are an excellent learning tool.
>>>>
>>>> On Tue, May 12, 2020 at 11:02 PM Pablo Estrada 
>>>> wrote:
>>>>
>>>>> Sharing Damon's email with the user@ list as well. Thanks Damon!
>>>>>
>>>>> On Tue, May 12, 2020 at 9:02 PM Damon Douglas 
>>>>> 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
>>>>>> <https://en.wikipedia.org/wiki/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/
>>>
>>


Re: Try Beam Katas Today

2020-05-14 Thread Henry Suryawirawan
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 
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  wrote:
>
>> These are an excellent learning tool.
>>
>> On Tue, May 12, 2020 at 11:02 PM Pablo Estrada 
>> wrote:
>>
>>> Sharing Damon's email with the user@ list as well. Thanks Damon!
>>>
>>> On Tue, May 12, 2020 at 9:02 PM Damon Douglas 
>>> 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/
>


Re: learning kata as root project

2019-06-12 Thread Henry Suryawirawan
Agree that it should work just by importing the kata project.
I will add the README to outline the steps required to import it properly.

As for the build, we can incorporate the Java Katas as part of the Gradle
build.
However, for Python Katas at the moment it can only be done manually
through the IDE until this issue[1] is resolved.

[1] https://youtrack.jetbrains.com/issue/EDU-2149




On Sat, May 25, 2019 at 7:10 AM Kenneth Knowles  wrote:

> Agree that "just import learnings/kata/java" sounds right. Is there any
> build that checks the content so that changes in Beam do not break it?
>
> Kenn
>
> On Fri, May 17, 2019 at 2:19 AM Michael Luckey 
> wrote:
>
>> Hi Henry,
>>
>> unfortunately I do not know how to give advice here. I would first need
>> to better understand the semantics.
>>
>> What I recommend we should do, is to add some documentation first.  As
>> starting point, we might just copy some of the info given on the PR [1]. I
>> d say, those are worth to be added to that subproject readme. We need to
>> ensure that some dev knows what to do with this module.
>>
>> Regarding the inclusion of Gradle wrapper et all. there might be
>> technical reasons to do so. So I would expect, that with the current setup
>> I am able to just import that learnings/kata/java into my IDE and it just
>> works. That seems to be not the case. Maybe I did something wrong here.
>>
>> So I am wondering, how to actually use this structure. If we need to add
>> some build step and/or some course.json we probably need to improve here
>> also?
>>
>> Maybe the coming blog post will answer my questions.
>>
>> Best,
>>
>> michel
>>
>> [1] https://github.com/apache/beam/pull/8358
>>
>> On Thu, May 16, 2019 at 5:11 PM Henry Suryawirawan <
>> hsuryawira...@google.com> wrote:
>>
>>> Hi Michael,
>>>
>>> I initially started the Kata as a standalone project, which I then
>>> contributed as-is to the repository.
>>> Please advise me if there is any guideline on how to set it up better.
>>>
>>> One note from me is that due to the way how JetBrains Education work,
>>> the project might only work if it is loaded as a root project.
>>> It also has a corresponding .idea/study_project.xml that needs to exist
>>> for the metadata so that it can load properly.
>>>
>>>
>>>
>>>
>>> *From: *Michael Luckey 
>>> *Date: *Thu, May 16, 2019 at 9:34 PM
>>> *To: *dev
>>>
>>> Sorry, missed the link [1]
>>>>
>>>> [1] https://github.com/apache/beam/tree/master/learning/katas/java
>>>>
>>>>
>>>>
>>>> On Thu, May 16, 2019 at 3:32 PM Michael Luckey 
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I just learned, that the newly merged learning/kata/java is setup as
>>>>> full fledged root project [1].
>>>>>
>>>>> Is this intentional? If so, should we provide some documentation on
>>>>> the whys?
>>>>>
>>>>


Re: learning kata as root project

2019-06-12 Thread Henry Suryawirawan
I can certainly add it to the learning resources.




On Wed, Jun 12, 2019 at 3:44 PM Ismaël Mejía  wrote:

> Now that this is merged into master and the post is published, maybe
> we should make it more visible in the website. Maybe add it in
> https://beam.apache.org/documentation/resources/learning-resources/
> and fix navigation to make it more visible too. Volunteers?
>
> On Sat, May 25, 2019 at 1:10 AM Kenneth Knowles  wrote:
> >
> > Agree that "just import learnings/kata/java" sounds right. Is there any
> build that checks the content so that changes in Beam do not break it?
> >
> > Kenn
> >
> > On Fri, May 17, 2019 at 2:19 AM Michael Luckey 
> wrote:
> >>
> >> Hi Henry,
> >>
> >> unfortunately I do not know how to give advice here. I would first need
> to better understand the semantics.
> >>
> >> What I recommend we should do, is to add some documentation first.  As
> starting point, we might just copy some of the info given on the PR [1]. I
> d say, those are worth to be added to that subproject readme. We need to
> ensure that some dev knows what to do with this module.
> >>
> >> Regarding the inclusion of Gradle wrapper et all. there might be
> technical reasons to do so. So I would expect, that with the current setup
> I am able to just import that learnings/kata/java into my IDE and it just
> works. That seems to be not the case. Maybe I did something wrong here.
> >>
> >> So I am wondering, how to actually use this structure. If we need to
> add some build step and/or some course.json we probably need to improve
> here also?
> >>
> >> Maybe the coming blog post will answer my questions.
> >>
> >> Best,
> >>
> >> michel
> >>
> >> [1] https://github.com/apache/beam/pull/8358
> >>
> >> On Thu, May 16, 2019 at 5:11 PM Henry Suryawirawan <
> hsuryawira...@google.com> wrote:
> >>>
> >>> Hi Michael,
> >>>
> >>> I initially started the Kata as a standalone project, which I then
> contributed as-is to the repository.
> >>> Please advise me if there is any guideline on how to set it up better.
> >>>
> >>> One note from me is that due to the way how JetBrains Education work,
> the project might only work if it is loaded as a root project.
> >>> It also has a corresponding .idea/study_project.xml that needs to
> exist for the metadata so that it can load properly.
> >>>
> >>>
> >>>
> >>>
> >>> From: Michael Luckey 
> >>> Date: Thu, May 16, 2019 at 9:34 PM
> >>> To: dev
> >>>
> >>>> Sorry, missed the link [1]
> >>>>
> >>>> [1] https://github.com/apache/beam/tree/master/learning/katas/java
> >>>>
> >>>>
> >>>>
> >>>> On Thu, May 16, 2019 at 3:32 PM Michael Luckey 
> wrote:
> >>>>>
> >>>>> Hi,
> >>>>>
> >>>>> I just learned, that the newly merged learning/kata/java is setup as
> full fledged root project [1].
> >>>>>
> >>>>> Is this intentional? If so, should we provide some documentation on
> the whys?
>


Re: [INPUT PLEASE] Introduction to Committing Workshop @BeamSummit

2019-06-09 Thread Henry Suryawirawan
Adding new Kata might also be an option for people to contribute.




On Mon, Jun 10, 2019 at 7:00 AM Kenneth Knowles  wrote:

> The roadmap on the web site might also be a good resource. New
> contributors might be interested in one of the efforts there. Hopefully it
> is up to date. Each effort there could have ideas for how to get involved.
>
> Kenn
>
> On Sat, Jun 8, 2019, 19:55 Austin Bennett 
> wrote:
>
>> Hi Dev Community,
>>
>> We are preparing for the Beam Summit, coming in June in Berlin.
>>
>> In JIRA, I see labels:
>> * beginner
>> *.easyfix
>> * documentation
>> * newbie
>> * starter
>>
>> Anything else to point new (potential) committers to?
>>
>> Would also really love for people to upload to JIRA and make suggestions
>> for things that those incredibly new to Beam/contributing might be able to
>> do in a short period of time -- I would happily aggregate and make specific
>> suggestions in the workshop.  We hope to get them familiar with tooling,
>> our ways, and potentially actually submit a PR in a couple hours.
>>
>> Cheers,
>> Austin
>>
>>
>>


Re: learning kata as root project

2019-05-16 Thread Henry Suryawirawan
Hi Michael,

I initially started the Kata as a standalone project, which I then
contributed as-is to the repository.
Please advise me if there is any guideline on how to set it up better.

One note from me is that due to the way how JetBrains Education work, the
project might only work if it is loaded as a root project.
It also has a corresponding .idea/study_project.xml that needs to exist for
the metadata so that it can load properly.




*From: *Michael Luckey 
*Date: *Thu, May 16, 2019 at 9:34 PM
*To: *dev

Sorry, missed the link [1]
>
> [1] https://github.com/apache/beam/tree/master/learning/katas/java
>
>
>
> On Thu, May 16, 2019 at 3:32 PM Michael Luckey 
> wrote:
>
>> Hi,
>>
>> I just learned, that the newly merged learning/kata/java is setup as full
>> fledged root project [1].
>>
>> Is this intentional? If so, should we provide some documentation on the
>> whys?
>>
>


Re: Contributing Beam Kata (Java & Python)

2019-05-15 Thread Henry Suryawirawan
Hi Austin,

Yes I agree with you that we need to come up with the publishing process.
We should publish to Stepik only if it has been merged to master.
I can add more authors & instructors to the courses on Stepik so that more
people can update the courses.
I uploaded the initial version to Stepik in order to get the course ID
(which is also committed to the repo) and also to easily show it to other
people who would like to give it a try.
Last time when I ran training using it, there were setup issues and people
had difficulty following the instruction.

Another thing that we should think about is how to integrate the Kata
projects into the CI build process.
For the Java Kata, it is based on Gradle, while for the Python one, I'm
currently checking with the JetBrains team if there is a good way of
executing the tests cause the current way of how the test is written is
non-standard.
Can anyone advise on how best the Kata projects should be integrated to the
CI?


*From: *Austin Bennett 
*Date: *Wed, May 15, 2019 at 11:49 PM
*To: *dev

Stepik: should we thinking about release versions for what gets uploaded
> there?  If the point of merging was to encourage additional contributions -
> then should we also have a mechanism for publishing the updates there?  In
> that case, then uploading to stepik should be part of publishing releases?
>
> On Tue, May 14, 2019 at 10:51 PM hsuryawira...@google.com <
> hsuryawira...@google.com> wrote:
>
>> Thanks for merging it Reuven!
>>
>> Quick question, would it be useful if we write a blog post on the Kata so
>> that we can build more awareness for people to try out?
>> I've also uploaded the course to Stepik which has seamless integration
>> within the IDE for people to easily start the course.
>>
>> On 2019/05/14 20:35:07, Reuven Lax  wrote:
>> > Merged
>> >
>> > *From: *Reza Rokni 
>> > *Date: *Tue, May 14, 2019 at 1:29 PM
>> > *To: * 
>> > *Cc: *Lars Francke
>> >
>> > +1 :-)
>> > >
>> > > *From: *Lukasz Cwik 
>> > > *Date: *Wed, 15 May 2019 at 04:29
>> > > *To: *dev
>> > > *Cc: *Lars Francke
>> > >
>> > > +1
>> > >>
>> > >> *From: *Pablo Estrada 
>> > >> *Date: *Tue, May 14, 2019 at 1:27 PM
>> > >> *To: *dev
>> > >> *Cc: *Lars Francke
>> > >>
>> > >> +1 on merging.
>> > >>>
>> > >>> *From: *Reuven Lax 
>> > >>> *Date: *Tue, May 14, 2019 at 1:23 PM
>> > >>> *To: *dev
>> > >>> *Cc: *Lars Francke
>> > >>>
>> > >>> I've been playing around with this that past day .or two, and it's
>> >  great! I'm inclined to merge this PR (if nobody objects) so that
>> others in
>> >  the community can contribute more training katas.
>> > 
>> >  Reuven
>> > 
>> >  *From: *Ismaël Mejía 
>> >  *Date: *Tue, Apr 23, 2019 at 6:43 AM
>> >  *To: *Lars Francke
>> >  *Cc: * 
>> > 
>> >  Thanks for answering Lars,
>> > >
>> > > The 'interesting' part is that the tutorial has a full IDE
>> integrated
>> > > experience based on the Jetbrains edu platform [1]. So maybe
>> > > interesting to see if it could make sense to have projects like
>> this
>> > > in the new trainings incubator project or if they became too
>> platform
>> > > constrained.
>> > >
>> > > This contribution is valuable for Beam but the community may
>> decide
>> > > that it makes sense for it to live at some moment at the trainings
>> > > project. I suppose also Henry could be interested in taking a
>> look at
>> > > this [2].
>> > >
>> > > [1] https://www.jetbrains.com/education/
>> > > [2] https://incubator.apache.org/clutch/training.html
>> > >
>> > > On Tue, Apr 23, 2019 at 3:00 PM Lars Francke <
>> lars.fran...@gmail.com>
>> > > wrote:
>> > > >
>> > > > Thanks Ismaël.
>> > > >
>> > > > I must admit I'm a tad confused. What has JetBrains got to do
>> with
>> > > this?
>> > > > This looks pretty cool and specific to Beam though, or is this
>> more
>> > > generic?
>> > > > But yeah something along those lines could be interesting for
>> > > hands-on type things in training.
>> > > >
>> > > > On Fri, Apr 19, 2019 at 12:10 PM Ismaël Mejía <
>> ieme...@gmail.com>
>> > > wrote:
>> > > >>
>> > > >> +lars.fran...@gmail.com who is in the Apache training project
>> and
>> > > may
>> > > >> be interested in this one or at least the JetBrains like
>> approach.
>> > > >>
>> > > >> On Fri, Apr 19, 2019 at 12:01 PM Ismaël Mejía <
>> ieme...@gmail.com>
>> > > wrote:
>> > > >> >
>> > > >> > This looks great, nice for bringing this to the project
>> Henry!
>> > > >> >
>> > > >> > On Fri, Apr 19, 2019 at 10:53 AM hsuryawira...@google.com
>> > > >> >  wrote:
>> > > >> > >
>> > > >> > > Thanks Altay.
>> > > >> > > I'll create it under "learning/" first as this is not
>> exactly
>> > > example.
>> > > >> > > Please do let me know if it's not the right place.
>> > > >> > >
>> > > >> > > On 2019/04/18 22:49:47, Ahmet 

Re: Contributing Beam Kata (Java & Python)

2019-05-15 Thread Henry Suryawirawan
Sure, let me try to write one.
I've created a JIRA for it: https://issues.apache.org/jira/browse/BEAM-7332




*From: *Pablo Estrada 
*Date: *Thu, May 16, 2019 at 2:20 AM
*To: *dev

I think a blog post is a great idea. Would you be able to write one?
> See here for an example of a PR adding one:
> https://github.com/apache/beam/pull/8391
>
> Best
> -P.
>
> *From: *hsuryawira...@google.com 
> *Date: *Wed, May 15, 2019, 12:51 AM
> *To: * 
>
> Thanks for merging it Reuven!
>>
>> Quick question, would it be useful if we write a blog post on the Kata so
>> that we can build more awareness for people to try out?
>> I've also uploaded the course to Stepik which has seamless integration
>> within the IDE for people to easily start the course.
>>
>> On 2019/05/14 20:35:07, Reuven Lax  wrote:
>> > Merged
>> >
>> > *From: *Reza Rokni 
>> > *Date: *Tue, May 14, 2019 at 1:29 PM
>> > *To: * 
>> > *Cc: *Lars Francke
>> >
>> > +1 :-)
>> > >
>> > > *From: *Lukasz Cwik 
>> > > *Date: *Wed, 15 May 2019 at 04:29
>> > > *To: *dev
>> > > *Cc: *Lars Francke
>> > >
>> > > +1
>> > >>
>> > >> *From: *Pablo Estrada 
>> > >> *Date: *Tue, May 14, 2019 at 1:27 PM
>> > >> *To: *dev
>> > >> *Cc: *Lars Francke
>> > >>
>> > >> +1 on merging.
>> > >>>
>> > >>> *From: *Reuven Lax 
>> > >>> *Date: *Tue, May 14, 2019 at 1:23 PM
>> > >>> *To: *dev
>> > >>> *Cc: *Lars Francke
>> > >>>
>> > >>> I've been playing around with this that past day .or two, and it's
>> >  great! I'm inclined to merge this PR (if nobody objects) so that
>> others in
>> >  the community can contribute more training katas.
>> > 
>> >  Reuven
>> > 
>> >  *From: *Ismaël Mejía 
>> >  *Date: *Tue, Apr 23, 2019 at 6:43 AM
>> >  *To: *Lars Francke
>> >  *Cc: * 
>> > 
>> >  Thanks for answering Lars,
>> > >
>> > > The 'interesting' part is that the tutorial has a full IDE
>> integrated
>> > > experience based on the Jetbrains edu platform [1]. So maybe
>> > > interesting to see if it could make sense to have projects like
>> this
>> > > in the new trainings incubator project or if they became too
>> platform
>> > > constrained.
>> > >
>> > > This contribution is valuable for Beam but the community may
>> decide
>> > > that it makes sense for it to live at some moment at the trainings
>> > > project. I suppose also Henry could be interested in taking a
>> look at
>> > > this [2].
>> > >
>> > > [1] https://www.jetbrains.com/education/
>> > > [2] https://incubator.apache.org/clutch/training.html
>> > >
>> > > On Tue, Apr 23, 2019 at 3:00 PM Lars Francke <
>> lars.fran...@gmail.com>
>> > > wrote:
>> > > >
>> > > > Thanks Ismaël.
>> > > >
>> > > > I must admit I'm a tad confused. What has JetBrains got to do
>> with
>> > > this?
>> > > > This looks pretty cool and specific to Beam though, or is this
>> more
>> > > generic?
>> > > > But yeah something along those lines could be interesting for
>> > > hands-on type things in training.
>> > > >
>> > > > On Fri, Apr 19, 2019 at 12:10 PM Ismaël Mejía <
>> ieme...@gmail.com>
>> > > wrote:
>> > > >>
>> > > >> +lars.fran...@gmail.com who is in the Apache training project
>> and
>> > > may
>> > > >> be interested in this one or at least the JetBrains like
>> approach.
>> > > >>
>> > > >> On Fri, Apr 19, 2019 at 12:01 PM Ismaël Mejía <
>> ieme...@gmail.com>
>> > > wrote:
>> > > >> >
>> > > >> > This looks great, nice for bringing this to the project
>> Henry!
>> > > >> >
>> > > >> > On Fri, Apr 19, 2019 at 10:53 AM hsuryawira...@google.com
>> > > >> >  wrote:
>> > > >> > >
>> > > >> > > Thanks Altay.
>> > > >> > > I'll create it under "learning/" first as this is not
>> exactly
>> > > example.
>> > > >> > > Please do let me know if it's not the right place.
>> > > >> > >
>> > > >> > > On 2019/04/18 22:49:47, Ahmet Altay 
>> wrote:
>> > > >> > > > This looks great.
>> > > >> > > >
>> > > >> > > > +David Cavazos  was working on
>> > > interactive colab based
>> > > >> > > > examples (https://github.com/apache/beam/pull/7679)
>> perhaps
>> > > we can have a
>> > > >> > > > shared place for these two similar things.
>> > > >> > > >
>> > > >> > >
>> > >
>> > 
>> > >
>> > > --
>> > >
>> > > This email may be confidential and privileged. If you received this
>> > > communication by mistake, please don't forward it to anyone else,
>> please
>> > > erase all copies and attachments, and please let me know that it has
>> gone
>> > > to the wrong person.
>> > >
>> > > The above terms reflect a potential business arrangement, are provided
>> > > solely as a basis for further discussion, and are not intended to be
>> and do
>> > > not constitute a legally binding obligation. No legally binding
>> obligations
>> > > will be created, implied, or inferred until an agreement in final

Re: Contributing Beam Kata (Java & Python)

2019-05-14 Thread Henry Suryawirawan
I have uploaded the Kata to Stepik which allows a seamless setup directly
from the IDE.
Please refer to the following comment for an updated instruction on how to
set it up on your machine.
https://github.com/apache/beam/pull/8358#issuecomment-492296450

On 2019/04/19 11:16:22, hs...@google.com  wrote:
> I've created a PR for the Beam Kata.>
> https://github.com/apache/beam/pull/8358>
>
> If you're interested to experience it, please find the instruction on how
to set it up on your machine>
> https://github.com/apache/beam/pull/8358#issuecomment-484855236>
>
> Should you have any issue or further question, please do let me know.>
>
>
> Regards,>
> Henry>
>
> On 2019/04/19 08:44:55, hsuryawira...@google.com 
wrote: >
> > Thanks Lukasz.>
> > Yes you can try the kata.>
> > I will write a short instruction on how to use it, maybe along with the
PR.>
> > >
> > >
> > On 2019/04/18 21:21:28, Lukasz Cwik  wrote: >
> > > Also agree that this is really nice. Is there a place where we can
try out>
> > > what you have created so far?>
> > > >
> > > Opening a PR with what you have created so far may be the easiest way
to>
> > > convey what your thinking would make sense.>
> > > >
> > >
> > >
>