Jun 16, 2015 •

When activator just came out I wasn’t really excited about it. I’m more of a
command line guy and using a web UI to help me build, test, run my code isn’t
very useful to me. Activate also allows you to browse the code from web IDE. I
usually use Vim, IntelliJ or GitHub for it, but I get the idea, for someone who
doesn’t have his or her environment setup and maybe got a project that’s not
even in github yet, web IDE can be helpful. I have to give more credit to
activator though, because of couple really cool things. Recently my colleague
who’s not a scala developer (and of course he doesn’t have his scala
environment setup with latest sbt and all that) needed to run one of the
projects we have in his local computer and asked me how to do it.
And of course first thing that came to my mind was get the latest sbt and do sbt
run. Then I remembered that I started that project from one of the activator
templates I created, so it must have activator there. So he ran ./activator
and magic! It went and downloaded needed sbt version and loaded sbt environment
for him. And the reason I started my own activator templates at first place is
because it solves another big problem for me.

Jun 24, 2015 •

With akka becoming more and more popular, akka kernel being deprecated,
docker rocking the word, Typesafe releasing ConductR and more folks
getting to scala, I wanted to write a post about how to run akka applications.
Akka applications aren’t servlet applications java developers are used to,
normally those are main class applications in a jar file and have other jars as
dependencies. So it’s no-brainer that we can just use java command and
no container like tomcat or jetty is need. I will cover how to run in
development while iterating on a task. How to run it in development and tunnel
the port and let others point to your code before you even go to production
or pre production environment and how to run it inside a docker container in
production and pre production environments. Unforunatly I didn’t get hold of
ConductR to try it myself, so I won’t be writing about it in
this post. Btw, most of this should be to relevant other scala/java main class
applications not only akka and akka http applications.

Oct 16, 2016 •

AWS Lambda supports writing handlers in Nodejs, Python and Java. The first two are really easy - if you don’t have any external dependencies and script is easy to write, you can even write your lambda in AWS console. However when it comes to Java, things get a little more complicated than that (not even talking about Scala yet.) So at the very least you’ll need to create a new project, know what jar dependencies to add for lambda, implement the handler method in a class that potentially implements some interface, know how to generate a deployment package (fat jar or a zip file for java projects), upload to S3 (since that jar would have a decent size), etc. If I want to implement my lambda in Scala now, I would have to deal with all those complexities for Java projects and more - such as more dependencies, how to write an actual Scala code (not Java in Scala syntax), interoperability, immutability, built in features like case classes, futures, etc. I thought it’s not fair for Scala developers and things can be much simpler (maybe not Nodejs simple) but at least it has to be simpler than doing in Java, since we all know Scala has more things to make developer’s job easier.