Concept for an Image Processing App

This is a writeup for a concept I had been working on – an image processing application. It did not come to pass but I’d like to share some of the ideas behind it (previous posts touches upon some ideas too). It might be of interest to those of you working on developing full-scale applications…

A few talks and lectures

Talks Rich Hickey on Are We There Yet? How to think about immutability and time. Presents some solutions with these restrictions in mind. Time-varying data. Alan Kay on Graphical User Interfaces History of graphical user interfaces. Explore and discover new paradigms. Bret Victor on Inventing on Principle Identify restrictions held by convention. Prefer visual representations…

Example usage of sbt build system

The sbt build system This is a writeup explaining basic usage of the Simple Build Tool system for Scala. The complete build system is fairly comprehensive so I will only be focusing on aspects like setting up the project and using basic commands. A nice property of the build tool is its support for continuous…

A compact UI layout for tag-based search

I’ve always been impressed by tags as a way to do search and have been looking to make use of them myself. In my application my initial design for categorizing items was based on the familiar directory-structure, but this presented several problems in relation to search. I needed a more efficient way of locating items…

A small benchmark util for Scala continued

Extending the benchmark Note: This is a follow-up post of a previous post. You might want to read the first to get a simpler view of the extensions added here. One improvement I wanted to add to the previous benchmark util was monitors which generate statistics for the task being benchmarked. I chose traits for…

A small benchmark util for Scala

Specifying the benchmark Note: there’s now also a follow-up post which extends this benchmark. This post was inspired by an answer to the Hidden features of Scala question over at StackOverflow.com (and also another blog post I cannot find back to). I expanded a little on the code that was posted, which resulted in the…

Making objects queryable in Scala

Defining a Queryable trait In a running program its often nice to have a way of querying and updating the various components of the application. In this example I’ll demonstrate one way you could do this in Scala by defining a Queryable trait. By inheriting this trait, an object can make available properties for reads…

Learning Scala

Learning the basics The first edition of Programming in Scala has been made available in html on Artima.com. It’s a great book to learn Scala from if you’re interested in learning this language. I should note that this book assumes you are already familiar with at least some programming languages like Java or C/C++. Expect…

Profiling performance in Scala

Boxing and unboxing of primitive types Using primitive types in parameterized generic classes can lead to some performance degradation in Scala. Type parameters in generic classes cannot be resolved as primitive types and instead becomes Object references. This mean primitive types like Int or Float in type parameters must be converted to and from an…