Home » JVM Languages » Page 20

JVM Languages

Making Spring Batch Groovy


Here at Keyhole, we are very fond of Spring Batch. In many Java Enterprise environments, there is still a big need for automating moving data around. Spring Batch gives us a great head start on creating these batch processes. Note: if you’re in the area on Wednesday night (8/5/15), check out Keyhole Managing Partner David Pitt’s Spring Batch presentation at the ...

Read More »

Why build your own type system?

In Ceylon 1.2 we’ve factored out the type system of Ceylon as an independent module, with minimal dependencies and a clean API. The ceylon-model project incorporates: an extensible object-oriented model of the type system in Ceylon, algorithms for reasoning about types at compile time—or even at runtime in a system with reified generics—and a framework for model loading, that is, ...

Read More »

A little more about type functions

My previous post about type functions generated some interesting discussion, here, and on reddit. Therefore, I think it’s worth tying up several loose ends from the earlier post. So here’s a collection of further observations about type functions. Warning: this post addresses some very technical details of how we’ve incorporated type functions into Ceylon’s type system. Don’t even bother continuing ...

Read More »

Constructors in Ceylon

Since the earliest versions of Ceylon, we’ve supported a streamlined syntax for class initialization where the parameters of a class are listed right after the class name, and initialization logic goes directly in the body of the class. class Color(shared Integer rgba) { assert (0 <= rgba <= #FFFFFFFF); function encodedValue(Integer slot) => rgba.rightLogicalShift(8*slot).and(#FF); shared Integer alpha => encodedValue(3); shared ...

Read More »

Scala Days: 11 of the Best Speakers Share Their Slides

The slides behind some of the best talks at Scala Days Scala Days Amsterdam has swept us with tons of awesome Scala content, we had a great time attending the talks and showcasing Takipi’s new reactive monitoring solution. There were a total of 55 different sessions around all things Scala and some of the slides have already started popping up. ...

Read More »

Geb Gems: Handling AJAX requests

One of the biggest struggles while testing web applications that use AJAX is dealing with the timing issues caused by asynchronous nature of the request. A common solution is using timeouts to wait for the AJAX call to be completed. This could cause lots of timing issues. Using Geb there is a better way to determine that the AJAX call and its ...

Read More »

Programming with type functions in Ceylon

I’ve recently been working on some experimental new features of Ceylon’s already extremely powerful type system. What I’m going to explain in this post is known, technically, as: higher order generic types (or type constructor polymorphism, or higher kinds), and higher rank generic types (or rank-N polymorphism). Please don’t worry about this jargon salad. (And please don’t try to google ...

Read More »

Backpressure in action with websockets and akka-streams

So in the previous article I showed how you could create a websocket server using akka-streams. In this follow up article we’ll look a bit closer on how backpressure works with websockets (and probably any TCP based protocol on top of akka). To show you this we’ll use the same setup as we did in the article on visualizing backpressure. ...

Read More »