Subjects for presentations

33 views
Skip to first unread message

Sebastian Nozzi

unread,
Feb 28, 2013, 4:38:46 PM2/28/13
to scala-...@googlegroups.com
Hi guys,

I wanted to share with you some possible topics for future meetings.

These happen to interest me particularly and probably many of you (more experienced Scala devs) have already dealt with already ;-)

So, if anyone has had experience with these (even if struggling) I think all of us could benefit from those insights!

Here we go:
- Dependency-Injection. How do you do DI in Scala? (spring? cake? subcut? guice? roll-your-own?)
- Advanced Scala testing strategies in Scala (mocking, stubbing, etc.)
- Scala concurrency (use of actors / futures)

What do you think of these?

What topics would *you* like to know about? :-)

Cheers,

Sebastian

Michal Bigos

unread,
Feb 28, 2013, 4:53:28 PM2/28/13
to scala-...@googlegroups.com
Hi Sebastian,

nice to hear from you about your interests. I'm currently by DI and presentation for hopefully April meet-up is in my pipeline. Story behind is that I'm now working on a project in Play! and DI is a must for our next release. Thus I've made a survey with examples for my self to decide.

Cheers, Michal


--
You received this message because you are subscribed to the Google Groups "Vienna Scala Users' Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-vienna...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
'(")'~

Radim Pavlíček

unread,
Mar 1, 2013, 4:22:49 AM3/1/13
to scala-...@googlegroups.com
Hi,

I set up a google moderator for it. Let's vote for them.

Radim Pavlíček

Alexander Daniel

unread,
Mar 1, 2013, 6:14:43 AM3/1/13
to scala-...@googlegroups.com
Hi guys,

- Dependency-Injection. How do you do DI in Scala? (spring? cake? subcut? guice? roll-your-own?)

I used successfully simple constructor-injection in one project, i.e. roll-your-own. I called in KISS-style dependency injection. I had one Scala object where everything was wired together.

Two interesting links about DI in Scala:

Alex 

Manuel Bernhardt

unread,
Mar 1, 2013, 8:25:25 AM3/1/13
to scala-...@googlegroups.com
Hi,

so far I have a good experience with Dick Wall's subcut (http://github.com/dickwall/subcut)

Manuel

-- 
Manuel Bernhardt

Gerald Loeffler

unread,
Mar 1, 2013, 8:26:19 AM3/1/13
to scala-...@googlegroups.com
hi,

good topics all! Let me add two thoughts:

- on the topic of DI: i'm always a bit surprised by how this is approached in the Scala world, and would be prepared to give a talk on Spring Scala and "what a Java developer expects of DI in Scala".
- on the topic of Akka: i find the comparison of Akka and EJBs (especially asynchronous Session bean methods) particularly interesting and enlightening, and would be willing to give a presentation exploring this theme, if others share that interest.

  cheers
  gerald
--
You received this message because you are subscribed to the Google Groups "Vienna Scala Users' Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-vienna...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 


--
Gerald Loeffler
mailto:gerald....@googlemail.com
http://www.gerald-loeffler.net

Michal Bigos

unread,
Mar 1, 2013, 9:18:01 AM3/1/13
to scala-...@googlegroups.com
@Gerald and Akka/EJB topic: yes, I'm interested ... presentation please :) 
'(")'~

Sebastian Nozzi

unread,
Mar 1, 2013, 9:49:22 AM3/1/13
to scala-...@googlegroups.com
So you is it the cake-pattern or really roll-your-own?

And, btw.: Dependency Injection and Object(s) really don't work well together, do they?

Thanks for the links!

Seb.

Sebastian Nozzi

unread,
Mar 1, 2013, 11:34:06 AM3/1/13
to scala-...@googlegroups.com
Excellent idea!

I just added two more topics:
* Scala+Swing
* Scala+Android

Btw. I think DI in Scala is listed twice?

Cheers, Sebastian

Yago Alonso

unread,
Mar 1, 2013, 12:20:25 PM3/1/13
to scala-...@googlegroups.com
I got an approval for my first project in Scala today ( Yes, we can!!!!!)  which will include loooooads of testing, so maybe i could put something together on 'Advance testing', maybe for the May meeting ( Once i become the testing master!).

Sebastian Nozzi

unread,
Mar 1, 2013, 12:57:32 PM3/1/13
to scala-...@googlegroups.com
> I got an approval for my first project in Scala today ( Yes, we can!!!!!)

Congratulations! :-)

(if it's not confidential, would you like to share details about the project? Only if it's not a problem, of course)

Michal Bigos

unread,
Mar 1, 2013, 1:01:39 PM3/1/13
to scala-...@googlegroups.com
Congrats ;) I'll be calling you Testing Master from now on.

'(")'~ iPhone rocks

Yago Alonso

unread,
Mar 1, 2013, 2:21:02 PM3/1/13
to scala-...@googlegroups.com
Yes, you may call me Master :D It's somewhere between confidential and too abstract to be described, so i'll give you more details when ... uh... i know what it is that I need to  do  :)

Alexander Daniel

unread,
Mar 4, 2013, 9:41:32 AM3/4/13
to scala-...@googlegroups.com
Hi Sebastian!

> So you is it the cake-pattern or really roll-your-own?

No, not the cake-pattern - just plain constructor injection and one object for construction (context object) of the object graph.

I had several repositories with a trait and an implementation class. These were constructed by the context object with the required parameters (e.g. data source) and then the service was constructed which needed the repositories.


> And, btw.: Dependency Injection and Object(s) really don't work well together, do they?

An object cannot have a constructor but a class can. So for constructor injection one has to use classes.

Alex

Rafael Cordones Marcos

unread,
Mar 7, 2013, 3:51:44 AM3/7/13
to scala-...@googlegroups.com
Hi all! Hola Yago!

On Friday, March 1, 2013 at 8:21 PM, Yago Alonso wrote:
Yes, you may call me Master :D It's somewhere between confidential and too abstract to be described, so i'll give you more details when ... uh... i know what it is that I need to  do  :)
I got an approval for my first project in Scala today ( Yes, we can!!!!!)  which will include loooooads of testing, so maybe i could put something together on 'Advance testing', maybe for the May meeting ( Once i become the testing master!).
Congratulations!! Maybe you could do a mini-talk about what it took to convince the decision makers about taking the Scala route? :-)

From my point of view, a monthly meetup is also the perfect occasion to have discussions about *ongoing* projects and not only about what we did in the *past*. I do not think there can be a better "sounding board" for issues (technical, human, organizational, …) that we all encounter in our day to day projects.

/rafa

P.S. I think I will call you "Testing Número Uno" :-P

Rafael Cordones Marcos

unread,
Mar 8, 2013, 4:28:17 PM3/8/13
to scala-...@googlegroups.com
Hi!

On Friday, March 1, 2013 at 2:26 PM, Gerald Loeffler wrote:

hi,

good topics all! Let me add two thoughts:

- on the topic of DI: i'm always a bit surprised by how this is approached in the Scala world, and would be prepared to give a talk on Spring Scala and "what a Java developer expects of DI in Scala".
I am definitely VERY interested in these topics. Everything related to Scala and Spring Framework feels to me like a very good cocktail^H^H^H^H^H^H^H^H mix! 
- on the topic of Akka: i find the comparison of Akka and EJBs (especially asynchronous Session bean methods) particularly interesting and enlightening, and would be willing to give a presentation exploring this theme, if others share that interest.
I am also very interested in Akka but at a more fundamental level. It's still a bit of magic to me from a conceptual level and thus I would like to have a talk+discussion in one of our meetups about what Akka's approach brings to the table and why it is fundamentally (?) different to the current Threads-a-plenty + mutable-state a-go-go approach.
To be honest, I still do not truly understand that.

More advanced Akka topics I would be interested in, are discussions around what the ActiveMQ project did with the Apollo re-write: http://activemq.apache.org/apollo/documentation/architecture.html
and under which conditions a similar approach would make sense for other open-source projects.

/rafa

Gerald Loeffler

unread,
Mar 8, 2013, 4:51:19 PM3/8/13
to scala-...@googlegroups.com
Well, if i actually manage to be in Vienna at the time of one of the meetings, then i'd love to speak on the more popular of these topics. April currently seems unlikely, but we could target May, if that's all right.

  cheers
  gerald

Manuel Bernhardt

unread,
Mar 10, 2013, 11:36:07 AM3/10/13
to scala-...@googlegroups.com
Hi!

On Friday, March 8, 2013 at 10:28 PM, Rafael Cordones Marcos wrote:
- on the topic of Akka: i find the comparison of Akka and EJBs (especially asynchronous Session bean methods) particularly interesting and enlightening, and would be willing to give a presentation exploring this theme, if others share that interest.
I am also very interested in Akka but at a more fundamental level. It's still a bit of magic to me from a conceptual level and thus I would like to have a talk+discussion in one of our meetups about what Akka's approach brings to the table and why it is fundamentally (?) different to the current Threads-a-plenty + mutable-state a-go-go approach.
To be honest, I still do not truly understand that.

I start to have quite a number of components built entirely on top of Akka, and so I'd love to share some insights I gained while building them.
 
More advanced Akka topics I would be interested in, are discussions around what the ActiveMQ project did with the Apollo re-write: http://activemq.apache.org/apollo/documentation/architecture.html
and under which conditions a similar approach would make sense for other open-source projects.
Great, I have no idea what ActiveMQ does - I've successfully avoided not learning anything about it in years even though the name has appeared a number of times. But I guess I should surrender at some point :) I take it MQ stands for Message Queue?


Manuel

Sebastian Nozzi

unread,
Mar 12, 2013, 8:44:56 AM3/12/13
to scala-...@googlegroups.com
> I start to have quite a number of components built entirely on top of Akka,
> and so I'd love to share some insights I gained while building them.

Yes please!

Rafael Cordones Marcos

unread,
Mar 12, 2013, 8:59:20 AM3/12/13
to scala-...@googlegroups.com
List(83, 97, 109, 101, 32, 104, 101, 114, 101, 33, 32, 59, 45, 41).map( _.toChar ).foldLeft("")( _ + _ )

/rafa

P.S. Sorry, but I'm refreshing again some of the folding function and I could not help it!

Manuel Bernhardt

unread,
Mar 12, 2013, 9:20:27 AM3/12/13
to scala-...@googlegroups.com
Nice one :)

-- 
Manuel Bernhardt

--

Michal Bigos

unread,
Mar 12, 2013, 10:17:47 AM3/12/13
to scala-...@googlegroups.com
Nice :) maybe we can encode all our communication within the group only in source code.

--
You received this message because you are subscribed to the Google Groups "Vienna Scala Users' Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-vienna...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
'(")'~

Sebastian Nozzi

unread,
Mar 12, 2013, 3:09:54 PM3/12/13
to scala-...@googlegroups.com
Hi guys,

last time I think Radim was asking about a code coverage tool for Scala.

I just successfully tried this one with my "katas" code:


It was very easy to install. But the instructions for SBT are a little bit misleading.

I put this in my "plugins.sbt" file (not "build.sbt" as the author says):

resolvers += Classpaths.typesafeResolver

resolvers += "scct-github-repository" at "http://mtkopone.github.com/scct/maven-repo"

addSbtPlugin("reaktor" % "sbt-scct" % "0.2-SNAPSHOT")

And then my settings part of my CodingkatasBuild.scala looks like this:

  lazy val codingkatas = Project(
    id = "codingkatas",
    base = file("."),
    settings = Project.defaultSettings ++ 
    seq(ScctPlugin.instrumentSettings : _*) ++
    Seq(
      name := "CodingKatas",
      organization := "sebnozzi",
      version := "0.1-SNAPSHOT",
      scalaVersion := "2.10.0",
      libraryDependencies ++= Seq(
      scalaTest
      )
      // add other settings here
    )
  )

Finally it's only a matter of invoking it with "scct:test". The resulting HTML won't open in Chrome though!

Hope this helps.

Best,

Sebastian

P.S. As it turns out, there were many branches of execution not covered by my tests! :-//

Manuel Bernhardt

unread,
Mar 12, 2013, 4:16:37 PM3/12/13
to scala-...@googlegroups.com
Nice! I must confess that I've tried to avoid this kind of tooling for the longest time... :)

I guess the author meant <projectDir>/project/plugins.sbt. Those are the project-specific plugins, no need to clutter your .sbt plugins if you don't want to.

Cheers!

Manuel

Sent from my iPhone
--

Radim Pavlíček

unread,
Mar 13, 2013, 6:45:04 AM3/13/13
to scala-...@googlegroups.com
I will look at it, but I don't think it fits into my requirements. I have Java sources and mixed java/scala tests. Besides I am missing super-killer-feature Cobertura plugin has - auto health update i.e. code coverage has to be improved or stay equal with every push otherwise it fails the build.
--
Radim Pavlíček

Sebastian Nozzi

unread,
Mar 13, 2013, 7:31:56 AM3/13/13
to scala-...@googlegroups.com
I've heard it's possible to use Cobertura with Scala... If you have
success there, I would be glad to know how to make it work.

(it's probably tricky / impossible to get it working with SBT,
probably a "pure" Maven build is the best there)

2013/3/13 Radim Pavlíček <radim.p...@gmail.com>:

Sebastian Nozzi

unread,
Mar 14, 2013, 5:02:02 PM3/14/13
to scala-...@googlegroups.com
Just added another topic:

* Scala CI (Continuous Integration) approaches & tools 
(build pipeline, test phases, test coverage, static-code analysis, etc.)

But maybe the tooling is not "there yet"... ?
Anyways, if any of you guys has experience with this, I'm all ears :-D
Reply all
Reply to author
Forward
0 new messages