Stream

Join this community to post or comment
 
 
I'm very happy with my newest implementations for Subjects in #Monifu , especially the ReplaySubject. It's a sample of what non-blocking and wait-free algorithms are like.

The implementation has fast (unsynchronized) paths for what matters - "onSubscribe" for completed subjects and "onNext" for active ones. The implementation of "onNext" is actually very exciting and highlights what you can do with immutable data-structures and Futures. "onNext" can be completely synchronous and totally oblivious to synchronization concerns until it notices a new  "subscribers" vector, with new references to FreezeOnFirstOnNextSubscriber, which as the name says, freezes "onNext" until the new observer is initialized with a replay of the subject's history. And because of Monifu's contract for "onNext" and the happens-before relationships established with this logic, the buffer itself can be the fastest, dirtiest, most mutable array-based buffer we can think of.

https://github.com/monifu/monifu/blob/563fc7ffbee72e2fd3254a9b0489daa5f4fa05c5/monifu/shared/src/main/scala/monifu/reactive/subjects/ReplaySubject.scala
3
1
Darlene Wallach's profile photo
Add a comment...

Kelley Zwisler

Misc. Dialog & Discussion  - 
 
I am looking for a Scala Developer in Boulder, Co.  If you are interested feel free to reach out to me at kelley@goldstonepartners.com
5
Add a comment...

Doug Pardee

Distributed Computing  - 
 
I'm looking for a serious answer to the question: why use actors (Akka)? What do they bring to the table? When/where are they useful?

I completed the original Reactive Programming course with 100% scores a couple of years ago, but since then I've never found a compelling use-case for actors and Akka. There were lots of places I could use them, but no place where there was a clear reason to.

Scalability? That's no big deal. Even EJBs are scalable.

Non-blocking concurrent programming? I can do that without actors just fine. Well, so far as it's even possible: unfortunately, for most of my work the blocking occurs in JDBC drivers and apparently there's nought to be done for that at the moment.

Location independence in distributed systems? An awful lot of practical experience points to the need to be aware of which collaborations are local and which are non-local. There are a lot of hazards in pretending that locality doesn't make a difference.

Cool? Yeah, actors are cool. But the actor model is over forty years old and has never achieved much in the way of success. People point to Ericsson's Erlang-based ADX301 telephony switch, but that was twenty years ago and Ericsson quit using the technology after that.

On the negative side, Akka scuttles two of Scala's biggest features: type safety, and code simplicity with a minimum of boilerplate. These are a big deal for me. I need some real value in return.

So, seriously: what am I overlooking? What are the advantages of actors and Akka when compared with more conventional approaches?

There's this: http://doc.akka.io/docs/akka/2.3.12/intro/why-akka.html#What_features_can_the_Akka_platform_offer__over_the_competition_ ... and the StackOverflow thread that it points to. Nearly all of those are are "here's where I used it" and not "here's why/where it's better than the alternatives."

I don't want to know what actors/Akka can be used for. I want to know what actors/Akka can do better than the popular solutions.

Thoughts?
13
Marius Soutier's profile photoDoug Pardee's profile photo
13 comments
 
Thanks, folks. I can see that in a distributed system, with the possibility of execution units (JVMs) and/or communications paths dropping offline and coming online, the asynchronous architecture with timeouts as the main method of error recovery could have considerable advantages over synchronous calls that expect exceptions to be produced in the event of errors.

Edited to add: I'm also thinking that the comments by +Sergey Scherbina and +Bogdan Dimitriu that actors are great for encapsulating mutable state and shared resources are probably more applicable to distributed systems. /edit

At the moment I tend to lean toward +Marius Soutier's comment that for local apps, Futures probably will suffice. However, I also suspect that +Dennis Sosnoski's advice about Futures becoming difficult to deal with as complexity increases is valuable, but I haven't yet attempted that level of complexity.
Add a comment...

Dennis Sosnoski

Articles, Podcasts, Talks  - 
 
Here's my latest JVM Concurrency article, giving a more in-depth look at constructing Akka actor applications in Scala.
Actor applications require a different style of programming from the linear approach that is used for single-threaded applications. Go deeper into structuring systems in terms of actors and messages from Scala code, using the Akka toolkit and runtime.
9
6
Ahsan Dar's profile photoPatrice Chalin's profile photo
Add a comment...

Marc Saegesser

Libraries  - 
 
ScalaWebSocket - A simple Scala wrapper around async-http-client WebSocket.

The original project has been dormant for a couple years and was in need of some TLC. I added cross building for 2.10/2.11, updated to recent versions of the dependencies and did a little code cleanup.

If you're looking for a simple WebSocket client for Scala give this a shot.

https://github.com/marcsaegesser/scalawebsocket
scalawebsocket - ScalaWebSocket provides Scala vocabulary for async-http-client's WebSocket support
5
Add a comment...
 
Great Scala conference (Scala by the Bay) taking place in San Francisco / Oakland area. Happy to meet up if anyone is going.
Schedule Directory. V. S. S. DIRECTORY. All Days. My Sched Current Upcoming Available. Speakers; Artists; Attendees; Exhibitors; Sponsors; Volunteers; Friends. PERSONAL SCHEDULE. PROFILE PAGE. TWITTER FEED. x + -. Back.
3
Craig Cruden's profile photo
 
Why do they never hold Scala conferences in Bangkok :p?
Add a comment...

Eric Koston

Core Language  - 
 
Why should I pickup Scala for next project instead of Java
3
Jim O'Flaherty's profile photoValeriy Lysenco's profile photo
17 comments
 
Jim O'Flaherty completely agree with you
Add a comment...

Gabriel Volpe

Web App. Development  - 
 
Hi guys,

I created a project that aims to be the reference to create a Light Weight REST API using Play Framework 2.4.x.

Fundamentally the design principles are based on Clean Coding, Testing and KISS (Keep It Simple Stupid).

Let me know what you think, I'll be grateful to receive your feedback!

Cheers,
Gabriel.
light-play-rest-api - This project aims to be the reference to create a Light Weight REST API using Play Framework 2.4.x.
1
Add a comment...

John Sullivan

Misc. Dialog & Discussion  - 
 
I find myself in a position of pitching Scala to a couple of players tomorrow, and I thought I would organize my thoughts on what I might pitch to them in bullet points. These are IT generalists having a good familiarity with...
1
Add a comment...

John Sullivan

Libraries  - 
This is the third post in the Introducing Emblem series, where I discuss a reflection-based utility library I have developed called emblem. If you want to try emblem out on your project, follow these instructions. Or read thi...
1
Add a comment...
 
WANTED: Scala Developer (Java, Elastic Search) - £450-£500 per day - 3-6 Month Contract - Central London

** SCALA CONTRACTOR WANTED for 3-6 months **

My client, a leading Global technology company is looking to hire an experienced Scala Developer (Java/Elastic Search/MongoDB) to help develop new features for their next generation, cutting edge application (which is already a world leader).  

You'll have a minimum 3 years commercial experience within the Java/Scala ecosystem, and be able to demonstrate excellent knowledge of the Scala language and related JVM languages. 

Strong knowledge of MongoDB and Elastic Search is a must.

Interested? Contact Kevin on 01604 201030 or kevin@s-sa.co.uk

For more information, check out our website - http://www.s-sa.co.uk/job/scala-developer-contract-java-elastic-search

Or why not FOLLOW Stafford-Sharp Associates on LinkedIn and keep up-to-date with all new job opportunities - http://linkd.in/1tWNl0j
http://www.s-sa.co.uk/job/scala-developer-contract-java-elastic-search
3
Add a comment...

Kevin Crain

Libraries  - 
 
Love the way you construct a Remote Reactor using "select(Node("myMachine", 8000), 'anActor)" 
Philipp Haller and Stephen Tu. Introduction. This guide describes the API of the scala.actors package of Scala 2.8/2.9. The organization follows groups of types that logically belong together. The trait hierarchy is taken into account to structure the individual sections.
2
1
Mario Camou's profile photoFede Garcia Ronca's profile photo
 
This brings back memories...
Add a comment...

About this community

A Google+ community for articles and discussions related to the Scala programming language. (picture (c) Miles Sabin) Posts and conduct should follow the Scala Code of Conduct - http://docs.scala-lang.org/conduct.html This includes: no job postings.
World Wide
 
Highly interested in this library.
circe - Yet another JSON library for Scala
2
Lectori Salutem's profile photoDaniel Hinojosa's profile photo
2 comments
 
+Lectori Salutem Thanks that looks awesome
Add a comment...

Sebastian Nozzi
moderator

SBT & Build Related  - 
 
Ammonite REPL gains debug capabilities

"Ammonite can be used as a tool to debug any other Scala program, by conveniently opening a REPL at any point within your program with which you can interact with live program data, similar to pdb/ipdb in Python."

I always missed Ruby's "debugger" (or "binding.pry") or Smalltalk's "self halt" capabilities. Now we are a step closer...
Ammonite is a cleanroom re-implementation of the Scala REPL from first principles. It is much more featureful than the default REPL and comes with a lot of ergonomic improvements and configurability that may be familiar to people coming from IDEs or other REPLs such as IPython or Zsh. It can be ...
16
4
Ivano Pagano's profile photoRaffaella Ventaglio's profile photoAhsan Dar's profile photoBert Huygens's profile photo
5 comments
 
+Andrey Orlov I certainly agree on your last sentence, but you made your point clear.
Add a comment...

Rafal Wachol

Libraries  - 
 
Found this today on HN. Someone might be interested.
A lot of exciting things have happened on the JVM in the last couple of years. We've seen several interesting languages and frameworks come to life that wants to keep moving the great JVM environment forward. One type of framework...
8
3
Claudio Omar Biale's profile photoChristian Baranowski (tux2323)'s profile photo
Add a comment...

Sebastian Nozzi
moderator

Events  - 
 
Check out this conference, co-organised by +Joost Heijkoop who we are delighted to have next week at our Vienna Scala User Group.
Share hands-on experience and lessons learned by people and companies who are applying Scala in real-world projects, running it in production and at scale.
6
2
Rafal Wachol's profile photoSebastian Nozzi's profile photoJuan M. Mendez's profile photoBenoit Mansoux's profile photo
2 comments
 
That is something only +Joost Heijkoop can answer
Add a comment...

Jim O'Flaherty

Core Language  - 
 
I've been exploring generating an "Enhanced Case Class Pattern" for my own project which includes using ScalaCache for handling the case class instances. I wrote an article detailing the evolution from the simplest case class (a published Google Drive document):
https://docs.google.com/document/d/18SfBKHBUQ96dLYs-WyfzSKCFT6jrNF8FunMfCn55yMY/pub

I also added a better answer to a question I posted on CodeReview a year or so ago (which has a link to the above article):
http://codereview.stackexchange.com/a/98367/4758
4
2
Steve Vickers's profile photoJim O'Flaherty's profile photoEmre Sevinc's profile photoGerd Badur's profile photo
3 comments
 
+Steve Vickers  I really appreciate the feedback regarding ScalaZ.

I'm explicitly not using ScalaZ at this time. Unless someone already has an FP background, ScalaZ has a pretty steep learning curve. I haven't had the time to invest in all the learning tangents required to learn and actually grok ScalaZ (which is so symbolically verbose, it comes off daunting to me).

Hence, this more "Java-like" approach to these ideas. My goal is to show how to do the same things in Scala as I accomplish in Java with a very similar pattern.

That said, when I invest the time to learn ScalaZ, I'll consider composing a ScalaZ solution and posting it to the same Code Review post. It would be another incremental step towards understanding FP and ScalaZ better.
Add a comment...

Simeon Fitch
owner

Libraries  - 
 
We need to see more "Scala on the Desktop"! I've used JavaFX with great success, but here's a new option!
Writing a native application with scala.js and Electron. 19 Jul 2015. I have been looking at Scala.js lately, and like many other I am very impressed by it. Scala.js. Scala.js lets you write Scala code that compiles to javascript, which you then use in your web application like any other .js ...
22
7
Kevin Fang's profile photoGiuseppe Pavan's profile photoAhsan Dar's profile photoTom Chappell's profile photo
3 comments
 
Now this is cool! Strongly typed cross platform native GUI building. I hope it gains traction. 
Add a comment...
 
New stats from a #Github research by +Takipi ! 
What are the top libraries used by some of the most popular Scala projects on GitHub? Based on analyzing 64,562 dependencies
1
Add a comment...

Eric Wilson

Libraries  - 
 
I hope this is not really in the works - I depend on this for so much.
Oracle is planning to remove sun.misc.Unsafe in Java 9. This is an absolute disaster in the making and has the potential to completely destroy the entire ecosystem around Java. Almost every tool, infrastructure software, high performance library built...
1
Add a comment...