Skip to content
Adam Warski
Adam Warski

Sharing elegant solutions to everyday problems

  • Home
  • Talks
  • Videos
  • About
Adam Warski

Sharing elegant solutions to everyday problems

Category: Scala

ElasticMQ 0.3: new API, new in-memory storage

Adam Warski, 6 February, 201210 June, 2015

ElasticMQ 0.3 just got released! ElasticMQ is a simple message queue system, which exposes both a native and an Amazon SQS-compatible interface. There are two major changes in this release. Firstly, there’s a new all-Scala/Java in-memory message storage, significantly faster than the previous one, which simply used an in-memory H2…

Continue Reading

ElasticMQ 0.2 – support for delayed queues and messages

Adam Warski, 12 January, 201213 January, 2013

Time to start blogging in 2012 :) I just released version 0.2 of ElasticMQ – a simple message queue system, which implements the Amazon SQS interface. Ideal if you want to test a service which uses SQS, or create a system which can leverage either the AWS infrastructure or run…

Continue Reading

ElasticMQ 0.1 released!

Adam Warski, 12 October, 201113 January, 2013

ElasticMQ is a simple messaging system, exposing an SQS-compatible REST interface. It can run using an in-memory H2 database (ideal for testing), or backed by a normal database (e.g. MySQL). Using ElasticMQ can’t get much simpler, just include the dependency and: (the code below is Scala, but it is just…

Continue Reading

Modules, modules, modules …

Adam Warski, 30 August, 201115 January, 2015

I think everybody will agree that writing modular applications and modularity in general is a good thing. But how does support for modularity look like, both from the Java and Scala languages and various Java/Scala frameworks? There’s a lot of different approaches! Let’s look at some of them. Below “protection”…

Continue Reading

Introducing ElasticMQ: Scala SQS alternative

Adam Warski, 16 August, 20115 March, 2015

Wanting to explore Scala and some new Scala/Java libraries I started writing ElasticMQ. It is a simple message queueing system, following closely Amazon SQS semantics and exposing a REST SQS-like interface. Currently only the basic operations are implemented. ElasticMQ can be useful as an SQS replacement, e.g. for for testing…

Continue Reading

Static typing is a great static analysis tool

Adam Warski, 27 June, 2011

Statically-typed languages are great because, well, they have static typing. However very often developing using a dynamically-typed language is much more convenient. Take writing a webapp in Ruby On Rails – change some code, hit reload and you can see the new code in action. JavaScript – same thing. On…

Continue Reading

DI in Scala: Cake Pattern pros & cons

Adam Warski, 29 April, 201113 January, 2013

I’ve been looking at alternatives for java-style DI and DI containers which would use pure Scala; a promising candidate is the Cake Pattern (see my earlier blog post for information on how the Cake Pattern works). FP enthusiast also claim that they don’t need any DI frameworks, as higher-order functions…

Continue Reading

Dependency Injection in Scala: Extending the Cake Pattern

Adam Warski, 14 December, 20102 October, 2013

Continuing the mini-series on Dependency Injection (see my previous blogs: problems with DI, assisted inject for CDI and improving assisted inject), I took a look at how DI is handled in Scala. There are several approaches, one of the most interesting being the Cake Pattern. It is a DI solution…

Continue Reading

Object Services in Scala

Adam Warski, 21 June, 2010

Using Scala’s implicits it’s possible to implement Object Services in a much more “user-friendly” way. Just to remind, the goal is to extend a class hierarchy with a method, polymorphically. E.g. we have: 1 2 3 trait Animal class Elephant extends Animal class Ant extends Animaltrait Animal class Elephant extends…

Continue Reading

Nonnull-check generator: a scala compiler plugin

Adam Warski, 15 October, 2009

Recently I played a bit with compiler plugins for Scala. My goal is to write a plugin which would generate checks in code for methods annotated with JSR305 annotations. As a first step, I wanted to handle the @Nonnull annotation on parameters. Supposing you have the following code: 1 2…

Continue Reading
  • Previous
  • 1
  • …
  • 5
  • 6

CTO @ SoftwareMill

©2023 Adam Warski | WordPress Theme by SuperbThemes