Meetup : proposal

35 views
Skip to first unread message

Gavin Baumanis

unread,
Dec 29, 2017, 6:32:00 AM12/29/17
to Melbourne Scala User Group
Hi there,

For quite a while I have been trying to get my head around Functional Programming.
Everyone (in the Scala world)  seemed to be on the FP bandwagon
And just about everyone seemed to know Haskel, too - making FP in Scala, seem like a trivial task.

I am not sure why I wasn't understanding - but I wasn't.
I always thought of myself as a pretty intelligent person - the person that "just" picks up stuff without any real effort.
I love Math, always picked up on it really easily - always did awesomely well in tests / exams, too.
During his presentation on Monads, Ken stated it was part of Set theory (part of Maths)...
So I was quite befuddled by my experience at that meetup where I left feeling really stupid / inadequate.

Ken gave me some hope during his presentation : saying that (Monads) was hard and it took quite a lot of effort for him to understand it well enough to give his presentation.
While there were lots of questions that night, there was also lots of input from other is in the audience - that obviously knew significantly more than I did!

I gave up on trying to learn FP - I could use imperative programming - just as I always had with Scala and still be one of the cool "Scala kids".

Ken was talking about functors, algebraic types and my eyes just glazed over, never recovering!

Ken's presentation was advanced and never pretended to be anything else - so this isn't a complaint about Ken's topic or his ability in presenting it either - moreso a lament;
"I wish I had the basics "down" : before I attended."

Well, thankfully, I have managed to get my head around the broad sense of FP and the benefits it promises to the developer.

Which brings me to the real gist of this mail...


Would anyone be interested in me presenting a "Getting started with FP in Scala", at an upcoming meetup?


Tom Adams

unread,
Dec 29, 2017, 3:19:18 PM12/29/17
to scala...@googlegroups.com
Yes, I think that’d be a great talk. 

Sent from my Osbourne 1
--
You received this message because you are subscribed to the Google Groups "Melbourne Scala User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-melb+...@googlegroups.com.
To post to this group, send email to scala...@googlegroups.com.
Visit this group at https://groups.google.com/group/scala-melb.
For more options, visit https://groups.google.com/d/optout.

Ken Scambler

unread,
Jan 7, 2018, 6:34:37 PM1/7/18
to Unname
YES! It would be fantastic to have a beginner's talk on FP in Scala - consider yourself booked for a month of your choice after January.  Thank you very much Gavin for raising this, and offering your time.

One of the challenges for this group is that there is a small group of regulars from years back that all know each other, and usually a big contingent of newcomers, and it's essential to make sure that people that are new to all this feel welcome, and that they can learn in a friendly environment.  It doesn't mean that anyone is unfriendly or doing anything wrong, just that without taking special care to help people along, it's really easy for them to come away with impressions like yours: 

"I am stupid / inadequate" 
"I give up on FP"
etc

This is a real red flag that we can do better - as the Scala community grows, we need to have a really smooth learning/onboarding story that people can feel comfortable with. It's natural for talk volunteers to focus on more advanced things that they get excited about, so beginner talks like yours are really important.  

As a personal aside, may I ask which of my talks you're referring to? I try very hard to make them accessible, and I'm quite dismayed that I produced such a negative reaction for you -- and no doubt for others. I deeply appreciate anything like this that might help me improve my delivery, pacing & tone.

Cheers,
Ken





To unsubscribe from this group and stop receiving emails from it, send an email to scala-melb+unsubscribe@googlegroups.com.

To post to this group, send email to scala...@googlegroups.com.
Visit this group at https://groups.google.com/group/scala-melb.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Melbourne Scala User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-melb+unsubscribe@googlegroups.com.

Jason Zaugg

unread,
Jan 7, 2018, 9:34:09 PM1/7/18
to scala...@googlegroups.com


Sent from my iPhone
To unsubscribe from this group and stop receiving emails from it, send an email to scala-melb+...@googlegroups.com.

Gavin Baumanis

unread,
Jan 8, 2018, 12:12:57 AM1/8/18
to scala...@googlegroups.com
Hi Ken / Everyone...

Well I have finished writing up my slides and notes for them - so I am ready as soon as you would like me to present.

As for your presentation...
It WAS an "advanced" topic.
You actually stated it was "advanced" right from the beginning... And during the presentation said in response to someone - that it wasn't something you "just" understood - you had to work really hard to get to where your understanding was at the time.

As for which presentation, specifically?
I honestly can't remember : it was in the old location - or if it was one of the first in the new one...
I just know it was wholly about Monads. It included Transformers and State, too.
Lots of things like Options / Some / None and Type "T".

How the heck can you get back a None? - (What the hell is None?)
A Some - well that's just as cryptic as None...
And now you can have a Some[T]? Well I still haven't worked out None and now I can have a "Some of "T" "???
use fold() to change from S to T?

map() was another (I thought you were talking about Map (hashmap)....

At the time of your presentation - I was just "interested" in Scala - was "mucking about" with it in the REPL.
So "everything" you said was pretty much new to me.

I was bamboozled - right from the start!

But, again, please, don't feel bad...
You said it was an advanced topic that night - and I knew "wholly" nothing about Functional Programming at all.

I'd heard about it - I (tried) to watch some Youtube videos on it... But I just couldn't get it, at all.
In fact to be honest - I couldn't get my head around FP - for quite a long while (years).
I gave up - believing I would never get it - that I would just use Scala as a better Java.


What I have come to realise (for me, at least) - Attempting to reason about Functional Programming with a Object-Oriented / imperative viewpoint, was wholly my downfall.
In places it looks like imperative programming... so why can I make sense of that? 
I am a pretty smart guy - I have over 20 years of programming experience - 
I like to think of myself as an above average engineer
I can't even get my head around, "Why I am finding this so hard to understand"...

Only, after I stopped trying to come up with OO analogies for what I was seeing in FP - did I allow myself to learn anything at all!

Hopefully my presentation will convince the non-FP members of the group, it is nothing scary... and while there is a lot to learn..
It IS straightforward and logical.

You just have to give-up everything you think you know!



As always thanks!

Gavin Baumanis

I, for one, like Roman numerals.


You received this message because you are subscribed to a topic in the Google Groups "Melbourne Scala User Group" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/scala-melb/GbIPL1cD2n0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to scala-melb+unsubscribe@googlegroups.com.

Gavin Baumanis

unread,
Jan 8, 2018, 12:56:10 AM1/8/18
to scala...@googlegroups.com
Oh and don't get me started on "Functor"....
What on earth is a Functor?

"Stay tuned - for next exciting episode of : "What in the weird : Why you need a PhD in Theoretical Mathematics to use Scala."....

BTW - the real reason for this message was to ask if anyone would mind proof-reading my presentation?
Just to make sure I haven't fallen into my own trap - of assuming more than I should?

Thanks!



As always thanks!

Gavin Baumanis

I, for one, like Roman numerals.


Ken Scambler

unread,
Jan 8, 2018, 12:59:38 AM1/8/18
to Unname
I'll do it

Gavin Baumanis

unread,
Jan 8, 2018, 1:07:32 AM1/8/18
to scala...@googlegroups.com
Thanks!
On their way!



As always thanks!

Gavin Baumanis

I, for one, like Roman numerals.


Oles Hodych

unread,
Jan 9, 2018, 7:40:09 AM1/9/18
to Melbourne Scala User Group
I have just returned from a summer break and came across this interesting discussion. IMHO the topic of functional programming fundamentals is not something that can be covered in a couple of sessions. Last year I was teaching a course on Parallel Functional Programming remotely for CS students at UCU (http://cs.ucu.edu.ua/en/) with no or very little experience in functional programming. 

One of the requirements of that course was to cover the fundamentals of functional programming. And due to the remote nature of teaching, the lectures were recorded in short sections that could be discussed with students in real time after their review. So, for anyone interested, here is a link to those videos https://drive.google.com/open?id=1FS__YQMFLuD-pBEdNpL0WM5HunPcJx-o

Please note that the course starts with very basic material, such as expressions, their evaluation model etc. The presented material assumes familiarity with mathematical notation for sets and first-order logic. Some of more advanced topics such as type classes, higher-order types, applicatives and mondas are not addressed in this course. However, recursive and iterative processes, higher-order functions, currying, parametric polymorphism, data abstraction, algebraic data types, functors and monoids are. The course is primarily based on two books -- Structure and Interpretation of Computer Programs and Functional Programming in Scala.

If our little community would find this course of a value, we could have a couple of meetup sessions for related discussions.

Cheers,
Oles

Gavin Baumanis

unread,
Jan 11, 2018, 3:54:27 AM1/11/18
to Melbourne Scala User Group
Hi Oles,

I have nearly finished with the first set.
They are an awesome resource! 

Thanks very much for sharing them!

Oles Hodych

unread,
Jan 12, 2018, 12:14:08 AM1/12/18
to Melbourne Scala User Group
Hi Gavin,

I'm glad it is useful!

Cheers,
Oles

Luke Stephenson

unread,
Feb 10, 2018, 10:51:16 PM2/10/18
to Melbourne Scala User Group
It's no longer a meetup proposal.  It's been scheduled for Monday 26th Feb.  See https://groups.google.com/forum/#!topic/scala-melb/r1FjOb1lM1Y


On Friday, 29 December 2017 22:32:00 UTC+11, Gavin Baumanis wrote:
Reply all
Reply to author
Forward
0 new messages