Avoid the Applicaiton trait in Scala
All, It's been a *long* time since I've been writing this blog. Today I felt I'd try for a very short article.It seems to me that about every 2 weeks, someone comes on the Scala #irc or mailing lists...
View ArticleThe cost of dogfood.... (or brocolli)
So, I've been busy lately. My blog has suffered. I apologize guys. Pretty soon I'll post yet another rant against EJB. Honestly, I feel people who love EJB have not used it extensively, or have only...
View ArticleUsing Maven to Develop Scala
Here's my presentation for the Scala LiftOff (East Coast) Conference.
View ArticleToo Busy
I've been crazy busy between work and writing a book. I have been writing a few blogs for the company, the first of which is complete, if you'd like to view it.You can also see advertisements for my...
View ArticleHudson Slave agent startup script
Last night, I got really annoyed at our hudson build slaves not automatically starting on our build nodes. I found a few init.d scripts online, and I pieced this one together with some additional...
View ArticleKnowing your faults
Knowing your faults is great advice. It's important to know where your own flaws lie, so that you can find ways to work around them. If you aren't aware of your flaws, you can wind up making some...
View ArticleActor Styles... OO, Functional or Blended...
I had the privilege of a free cup of coffee with David Pollak when I was in the bay area recently. He was describing his new goat-rodeo library when he showed me the interface for his "Worker" class...
View ArticleHow you should think about Delimited Continuations in Scala
Scala 2.8.x is going to have a new delimited continuations plugins. Delimited continuations are interesting animals, and I've seen some decent articles about them. I'm going to portray here how you...
View ArticleLeaky Monads Talk
Here's my talk from ScalaDays 2010 on how I completely ruin a theoretical concept:The source code is available on githubThanks to everyone who was there! Special thanks to Adrian for pointing out my...
View ArticleOn higher kinded and existential types,...no stereos
So I was recently bit by a type issue with existential types until someone forced me to start thinking again. Let's start with a good example of what I was trying to do:def foo[A, M[T] <:...
View ArticlePreserving Types and Differing Subclass Type Parameters
My last post was on keeping your type annotations as simple as possible to solve your problem. It is important to keep your type system h4x0r-y as simple as possible to solve the given problem, but no...
View ArticleComcast Privacy Fail
Wow, Comcast just amazed me again. I haven't had a good rant post on here in a *long* time, but this is totally deserving of the biggest rant ever. This is the transcript from an ONLINE chat my friend...
View ArticleMonkey Patching, Duck Typing and Type Classes
Somewhat recently, there have been a bunch of articles written about Scala and how you can create something that looks like Haskell's type class feature. I'm not going to duplicate these posts, but I...
View ArticleWhat's the state of Jigsaw?
I hadn't been paying close attention, but recently a few emails questioning the future of the jigsaw project have been sent to the jigsaw-dev mailing list. The last check-in posted to the mailing list...
View ArticleOn Macro-Composition vs. Micro-Composition and Social software development.
I was talking to a co-worker today about using C++ templates to compose functionality in objects. I also mentioned how you can encode type traits using templates. My Coworker, conveniently aliased as...
View ArticleSlides for today's NEScala talk
Here's the slides for todays talk for those who wish to follow along on their laptops.
View ArticleAnnotate your type classes (@implicitNotFound)
This is a real quick post saying that as of 2.8.1, everyone should be annotating their type class traits for better error messages. Obviously, those of us who are supporting 2.8.0 or earlier are left...
View ArticleScalatypes Podcasting Starting!
Well, Daniel, Yuvi and I started podcasting interviews and discussions on Scala. Here's the first interview with Paul Phillips. We have a *lot* more content to publish, but mastering audio still takes...
View ArticleA Generic Quicksort in Scala
So, I decided to create a quicksort algorithm in Scala that showcases how to write 'generic' collection methods. That is, how can we write an external method that works across many types of collections...
View ArticleLeaving Google for Typesafe
So, as some of you may have found out already, I'll be leaving Google effective July 22nd and moving to a new role at Typesafe. Some of you may be wondering why, so I'm offering my reasons in a blog...
View ArticleSBT and Plugin design
Sbt 0.10 brings *a lot* of power to the table. SBT 0.10 switched from a class/inheritance based build system into a more functional approach. For those who aren't familiar, here's the quick spiel...
View ArticleMacro vs. Micro Optimisation
So there's recently been a bit of hype about another Colebourne article: http://blog.joda.org/2011/11/real-life-scala-feedback-from-yammer.htmlI'd like to respond to a few points he makes.First - You...
View ArticleScala Fresh is alive
It seems a lot of posts I've meant to write for a *long* time have been able to be used optimally in response to other blogs. Todays post is brought to you by David Pollak's fragility post.So let's...
View ArticleMigrating to new site
Hey guys, I'm finally moving off of blogger. The new blog will be located at http://jsuereth.com and the source code is available at http://github.com/jsuereth/jsuereth.github.com. Feel free to...
View Article