New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Startup Week Workshop October 15, 2018 #86

Closed
nathany opened this Issue Jul 23, 2018 · 42 comments

Comments

Projects
None yet
4 participants
@nathany
Member

nathany commented Jul 23, 2018

Mentors wanted.

Leave a message here if you are interested in mentoring or helping out in another way. No commitment yet -- we'll confirm closer to the date.

Oct 15-19 (precise date, time, and location to be determined) October 15 @ 6:30pm-8:30pm (Startup Edmonton)

@lukaszroz

This comment has been minimized.

Contributor

lukaszroz commented Jul 24, 2018

I am interested. Is it going to be one day?

@chrisolsen

This comment has been minimized.

Member

chrisolsen commented Jul 24, 2018

I'd like to help out. Let me know if you want to bounce some ideas around.

@nathany

This comment has been minimized.

Member

nathany commented Sep 4, 2018

This will be 2 hours on a Monday evening. http://sched.co/GANg

Since it's only 2 hours, I think we could plan to have Part II the following Monday during the Edmonton Go meetup.

@nathany nathany changed the title from Startup Week Workshop to Startup Week Workshop October 2018 Sep 4, 2018

@nathany

This comment has been minimized.

Member

nathany commented Sep 4, 2018

Materials to look at:
https://github.com/gobridge
https://github.com/ardanlabs/gotraining
https://github.com/edmontongo/workshopone

I want to target existing web developers with this workshop. Other than that, I don't know what all we can cover in 2+2 hours.

@chrisolsen

This comment has been minimized.

Member

chrisolsen commented Sep 9, 2018

Four hours isn't a lot of time, but I think if the focus was on the design of a simple web app/service, and not the language directly, it could be done.

This could include:

  • Dev setup for hot-reloads
  • HTTP handlers
  • Middleware and authentication
  • Separation of logic into services
  • Dependency injection
  • Database (sqlite for simplicity)
  • Testing
  • Deployment (if time permits)

Any thoughts?

@nathany

This comment has been minimized.

Member

nathany commented Sep 9, 2018

I think it makes sense to focus on using Go and not teaching the language itself.

Your list may be too much for 4 hours though, especially if we want to give hands-on time. Also, we need to split the list into 2 hours each.

If desired, we could make it "6 hours" by also having some part of this at our November meetup (generally our meetups are 2 hours total including time for food and networking though, so that's something to keep in mind).

@chrisolsen

This comment has been minimized.

Member

chrisolsen commented Sep 11, 2018

You are probably right about the list being too much, especially since after looking at it a second time I noticed that there are some things missing such as HTML templates, JSON, and maybe packaging.

If we would be open to making a series of sessions (which would be good for promoting attendance) then maybe the initial Startup Edmonton workshop could be more of an overview of the sections.

What do you guys think?

@nathany nathany changed the title from Startup Week Workshop October 2018 to Startup Week Workshop October 15, 2018 Sep 14, 2018

@nathany

This comment has been minimized.

Member

nathany commented Sep 14, 2018

Maybe we could just cover HTTP routes and JSON in the first session, with a bit of info for non-Go users (struct tags)? It needs to be pretty short if we want to give people time to play with it.

@chrisolsen

This comment has been minimized.

Member

chrisolsen commented Sep 17, 2018

Is the workshop supposed to be one where the attendees are coding as well? If that is the case maybe focusing on the Go setup, a simple API and JSON handling is enough.

@nathany

This comment has been minimized.

Member

nathany commented Sep 18, 2018

Yah, it would be nice to give some sort of exercise to do, so people actually use it and not just hear something.

We could require that people install Go beforehand (Ladies Learning Code does this).

@chrisolsen

This comment has been minimized.

Member

chrisolsen commented Sep 20, 2018

I think having people getting setup beforehand is a good idea.

@nathany

This comment has been minimized.

Member

nathany commented Oct 2, 2018

So we have our topics for the first workshop -- JSON and HTTP routing -- do we want to concentrate on the server side or do client too? Use some testing with httptest? It's essentially only time for one lecture/talk and some exercises. We should also have a little project that attendees can tackle during the week.

We do need an idea for what we're building for the examples and exercises -- whether that be a to-do list or open data or something else. Keeping in mind that we're not covering the DB here. Someone mentioned doing a weather app with both client and server aspects. That could work. Other ideas?

@ppreeper mentioned talking about structuring a Go application. I think that becomes more important once the basics are down and the app is getting bigger. Perhaps that could be a topic for October 22nd?

Perhaps we can meet to work on curriculum -- possibly over thanksgiving weekend?

I'm happy to prepare the lecture, but if anyone else is gung-ho to do it, I don't mind stepping aside.

@chrisolsen

This comment has been minimized.

Member

chrisolsen commented Oct 2, 2018

A weather app could be doable. We might want to make the html/js that includes talking to the geolocation api available for download. Making calls to an external API would allow for showing how to use interfaces to stub out the API.

I am up for putting something together, but if you or anyone else wants to also contribute I am open to that as well.

@nathany

This comment has been minimized.

Member

nathany commented Oct 2, 2018

Gotta pick a weather API -- with a small surface area.

@chrisolsen

This comment has been minimized.

Member

chrisolsen commented Oct 3, 2018

https://openweathermap.org/ is pretty simple.

@ppreeper

This comment has been minimized.

Contributor

ppreeper commented Oct 3, 2018

@nathany

This comment has been minimized.

Member

nathany commented Oct 8, 2018

API key will be activated and ready for using within a couple of hours.
You can generate as many API keys as needed for your subscription. We accumulate the total load from all of them.

This doesn't sound good if we want people to create API keys and get started right away. Other options?

@nathany

This comment has been minimized.

Member

nathany commented Oct 8, 2018

Dark Sky let me use it just as soon as I confirmed my email address -- still requires signing up. https://darksky.net/dev/docs

I'm starting to work on some code and slides for this.

@chrisolsen

This comment has been minimized.

Member

chrisolsen commented Oct 8, 2018

Does supplying everyone with an API key that we create not work? That is what I was thinking of doing to simplify things. I am currently working on the code as well. I can push it to Github and to allow us to work on the same code base.

@chrisolsen

This comment has been minimized.

Member

chrisolsen commented Oct 8, 2018

Here is what I have been working on https://github.com/chrisolsen/go-workshop

@nathany

This comment has been minimized.

Member

nathany commented Oct 8, 2018

Thanks for working on it. OpenWeatherMap appears to do per-minute limits for an entire account (multiple API keys possible). I'm a bit concerned about getting throttled if we have a bunch of people attending.

I'm thinking of gradually introducing things with testing along the way.

  • Building the URL string
  • Fetching a URL
  • Parsing JSON
    Then wiring it all up.

But after that, I wonder if we should present a JSON API -- and how we would change it to justify having our own API. A subset of data? Additional things like "what to wear" or "umbrella"?

Exercises/homework could involve building out the rest of the API client (we could just have one or two fields in the presentation), and perhaps building out the front-end?

What would we do for the 2nd workshop on the 22nd? text/html?

@ppreeper

This comment has been minimized.

Contributor

ppreeper commented Oct 8, 2018

@nathany

This comment has been minimized.

Member

nathany commented Oct 8, 2018

@ppreeper That's perfectly fine for our purposes -- if each person signs up -- no credit card required. That way everyone has their own account and API key because I would like people to continue working on it during the week (#86 (comment)).

@ppreeper

This comment has been minimized.

Contributor

ppreeper commented Oct 8, 2018

@nathany

This comment has been minimized.

Member

nathany commented Oct 8, 2018

#89 is the beginning of a slide deck

Any thoughts on the content covered, order, and code itself?

@chrisolsen

This comment has been minimized.

Member

chrisolsen commented Oct 9, 2018

@nathany You are right in that using a single API key for all of the workshop attendees would most likely push us over the 60requests/min limit. Would that still not be enough if everyone signed up and had their own key? It doesn't matter to me either way though.

Do we want to cover testing at all or is that out of scope for this first workshop?

@chrisolsen

This comment has been minimized.

Member

chrisolsen commented Oct 9, 2018

I think we need to assign tasks to ensure we aren't wasting time working on the same thing. I have some time tomorrow I can spend on the code side of things. Let me know what works for you @nathany

@nathany

This comment has been minimized.

Member

nathany commented Oct 12, 2018

@chrisolsen Sorry, I didn't see your note here until now. Will you be at hackday tomorrow?

I would like to cover testing, yes.

@chrisolsen

This comment has been minimized.

Member

chrisolsen commented Oct 13, 2018

@nathany I 'm not able to make it to the hackday, but I do have some time today to work from home. Is there something you can hand off to me?

@nathany

This comment has been minimized.

Member

nathany commented Oct 13, 2018

@chrisolsen I'm not really sure how to best split up the work. 😞

But if you wouldn't mind reviewing #89 and leaving any comments on how to improve it, that'd be helpful. I'll push updates throughout the day.

@chrisolsen

This comment has been minimized.

Member

chrisolsen commented Oct 13, 2018

I did some rescheduling with my wife so I will be heading down right away. Is it in the Mercer building?

@nathany

This comment has been minimized.

Member

nathany commented Oct 13, 2018

Yup. Awesome. See you soon @chrisolsen

@nathany

This comment has been minimized.

Member

nathany commented Oct 13, 2018

@nathany

This comment has been minimized.

Member

nathany commented Oct 13, 2018

@ppreeper @lukaszroz Are you coming to Startup Edmonton at 6pm on Monday to help mentor students?

@ppreeper

This comment has been minimized.

Contributor

ppreeper commented Oct 13, 2018

@nathany

This comment has been minimized.

Member

nathany commented Oct 14, 2018

Thanks Peter. We have Matthias and Chris mentoring too, and I’ll attempt to teach this one.

@nathany

This comment has been minimized.

Member

nathany commented Oct 14, 2018

The slides aren’t done yet. I’ll push more up on Sunday afternoon. Please leave feedback/suggestions on the Pull Request. #89

@nathany

This comment has been minimized.

Member

nathany commented Oct 14, 2018

Please see #89

@chrisolsen

This comment has been minimized.

Member

chrisolsen commented Oct 15, 2018

I'm looking at it now

@chrisolsen

This comment has been minimized.

Member

chrisolsen commented Oct 15, 2018

I think the presentation gives a good preview of Go and gets people started. I left a couple of comments/questions, but overall I think things look good.

@lukaszroz

This comment has been minimized.

Contributor

lukaszroz commented Oct 15, 2018

@ppreeper @lukaszroz Are you coming to Startup Edmonton at 6pm on Monday to help mentor students?

I am sorry, I am not able to help this time.

@nathany

This comment has been minimized.

Member

nathany commented Oct 15, 2018

@chrisolsen I don't see your review. Still need to submit it?

@lukaszroz Thanks for letting us know.

@nathany nathany closed this Oct 15, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment