Skip to content
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

New Session About Hans-on F# #53

Open
kirisky opened this issue Oct 23, 2024 · 23 comments
Open

New Session About Hans-on F# #53

kirisky opened this issue Oct 23, 2024 · 23 comments

Comments

@kirisky
Copy link

kirisky commented Oct 23, 2024

Session on Hans-on F#

Dong, from Individual Contributor. In EET/EEST, would like to tackle:
Onboarding to F# world and hands-on experience

Extra

This will be a project-based demonstration aimed at showcasing the F# ecosystem and best practices by building a real-world application.

This project-based demonstration will showcase the F# ecosystem and best practices by building a real-world application. The goal is to help newcomers become familiar with the F# ecosystem and best practices.

Dependency

This will happen after Session About Solving Good First Issues for FSharp

@nojaf
Copy link
Collaborator

nojaf commented Oct 24, 2024

Thanks for creating this! I think there are two key aspects to consider:

  • How would you create a larger scale application? This includes organizing code, setting up tests, linting, documentation generation, and more.
  • How do I navigate the .NET and F# ecosystem? This could be interesting to explore, as I often find it to be a source of frustration.

Which aspect would you be most eager to explore?

@kirisky
Copy link
Author

kirisky commented Oct 24, 2024

Hi @nojaf! Thank you so much for the feedback! It is really helpful for refining the session plan.

I'd like to cover both, but doing it all in one session might make it too long to follow. So, I am thinking of breaking it up into several shorter sessions.


How would you create a larger scale application? This includes organizing code, setting up tests, linting, documentation generation, and more.

I completely agree with you. The project will be small to small-medium in scale. Ideally, I’d like to cover all the topics you mentioned as part of this project.

My current plan is to create something straightforward, like a simple web crawler or a CMS/CRM. These types of projects are easier to keep within a manageable scope, widely understood in the real world, and provide a great way to showcase F#'s ecosystem. That'll be able to demonstrate commonly used libraries and components, such as API services, databases, caching JSON handling, parallel processing, and data display.

I am planing to structure the sessions as followings:

  • 1st session
    • Set up the project and integrate the necessary libraries. By the end, we will have a working example, like crawling Wikipedia pages and displaying the data
  • 2nd session
    • Refactor the project, applying best practices for code quality and maintainability
  • 3rd session
    • Show how to deploy the project to Azure using F#-related tools (FARMER, AzureCLI, or others)

If you have any suggestions on topics or how to organize the sessions, please feel free to share your thoughts as it would be extremely helpful in planning the sessions. I would greatly appreciate any ideas or suggestions from you or the community to help shape these sessions.

How do I navigate the .NET and F# ecosystem? This could be interesting to explore, as I often find it to be a source of frustration.

Could you provide more details on this, Flo? What scenarios cause frustration in your case?

@nojaf
Copy link
Collaborator

nojaf commented Oct 25, 2024

Thanks for the enthusiasm, @kirisky! My initial reaction is that three sessions might be quite demanding for you to start. You may want to focus on the first session without overpromising the audience that this is a trilogy. It might be helpful to outline what you aim to cover in the first session so we can discuss the various aspects in more detail.

Another suggestion is to reach out to the maintainers of the different tools you'll be using to learn how they recommend utilizing them in 2024. For instance, if you use Fable, consider messaging Maxim to inquire about the recommended or active packages in Fable these days.

It could also be beneficial to start from a template (SAFE, SAFEr, mini scaffold) and adjust as needed.

Could you provide more details on this, Florian? What scenarios cause frustration in your case?

I'm currently working with OCaml. Learning the language isn't really the hard part for someone coming from F#, but I find it challenging to grasp the build system, package management, switches, and which unit test framework to use. This is similar for anyone transitioning from another ecosystem to F#. The .NET CLI, fsproj files, NuGet—all these elements have a learning curve.

@kirisky
Copy link
Author

kirisky commented Oct 25, 2024

Thank you so much, @nojaf! I'll adjust the content capacity based on the information and suggestions you shared.

@dawedawe
Copy link

dawedawe commented Nov 8, 2024

Hey @kirisky , are you still interested in having a session? Maybe Nov 22nd or early December?

@kirisky
Copy link
Author

kirisky commented Nov 8, 2024

Hey @kirisky , are you still interested in having a session? Maybe Nov 22nd or early December?

Hi Dawe! Yeah, I am still. But I have not been ready. If it is needed, I can prioritize this one as my first session.

I would prefer to do the session in the early of December as this month is not available for me to prepare this.

What do you say?😃

@dawedawe
Copy link

dawedawe commented Nov 8, 2024

Sounds great. Thanks!
How about December 6th?

@kirisky
Copy link
Author

kirisky commented Nov 9, 2024

Yeah, it works for me.

If there’s anything I should be aware of for this session, please let me know in advance!

Thank you, @dawedawe! 😄

@dawedawe
Copy link

Awesome, we'll prepare a session page PR for you to review containing some description of the session. Similar to the ones here: https://amplifyingfsharp.io/sessions/
Then we should have a short test zoom call in the days before the session to make sure the streaming setup works from your machine.

@kirisky
Copy link
Author

kirisky commented Nov 10, 2024

Thanks, Dawe!

Will take a look other sessions as well for preparing mine. If you have any other recommended resource, just let me know. :)

@nojaf
Copy link
Collaborator

nojaf commented Dec 2, 2024

Hello @kirisky, how are things here?
Do you think you can give a session this month?

@kirisky
Copy link
Author

kirisky commented Dec 2, 2024

Hi @nojaf! Yeah, I can do it. However, I’m quite busy at the moment, so scheduling my session for next week would work better for me. That said, if no one else is available, I’m happy to do the presentation this Friday. Let me know what works best!

@nojaf
Copy link
Collaborator

nojaf commented Dec 3, 2024

Well, there is no hard requirement that there is a session this week.
Taking #57 into account, would Friday December 20th work for you?

@kirisky
Copy link
Author

kirisky commented Dec 3, 2024

Yes, that would be better! Thank you, and apologize for the postponement.

@nojaf
Copy link
Collaborator

nojaf commented Dec 3, 2024

Great! Whenever you are ready, please send a PR to https://github.com/amplifying-fsharp/amplifying-fsharp.github.io to add your session page.

@kirisky
Copy link
Author

kirisky commented Dec 3, 2024

Will do it whenever ready! Thanks for the link! 👍

@nojaf
Copy link
Collaborator

nojaf commented Dec 16, 2024

Hello @kirisky, following up on this, will you be able to give a session this Friday?

@kirisky
Copy link
Author

kirisky commented Dec 16, 2024

Hi @nojaf! Yeah, I can do it this Friday. Will prepare for it. :)

It will be an introduction to the web development stack in the F# ecosystem, it covers essential components such as build systems, package management, testing frameworks, and more. The goal is to shorten the learning curve and empower beginners to start their projects efficiently.

And the title could be 'Hands-On F# Programming: First Web Project in F#'.

@nojaf
Copy link
Collaborator

nojaf commented Dec 17, 2024

Alright, that sounds good.
I'm going to ask you to create a page over at https://github.com/amplifying-fsharp/amplifying-fsharp.github.io so we have something we can share on the socials.

What time did we settle on?

@kirisky
Copy link
Author

kirisky commented Dec 17, 2024

Hi @nojaf! Thanks! Here is the PR: amplifying-fsharp/amplifying-fsharp.github.io#275

This is my first time, I am unsure what time is suitable. The session is usually hosted at 14:00 GMT, right?

And do we need any rehearsal?

@nojaf
Copy link
Collaborator

nojaf commented Dec 18, 2024

If the 14:00 GMT slot works for you that would be ideal.
We don't need to rehearse the entire session, but I would like to jump on a call with you today (Wednesday) or tomorrow if that works.

@kirisky
Copy link
Author

kirisky commented Dec 19, 2024

Hi @nojaf! Unfortunately, I won’t be able to give the session this Friday due to an unexpected assignment from my company. 😢 It seems I’ll need to postpone it to next year. Apologize for that! 🙏

Let’s find a new time! I’m looking forward to having a call with you once we finalize the session content in the PR.

@nojaf
Copy link
Collaborator

nojaf commented Dec 19, 2024

Alright, let's circle back to this next year! Good luck with your assignment!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants