It's been a long and productive summer! I wanted to take a minute to catch you up on what I've been doing since Scala Days. I went on a major job search and interviewed with a variety of companies. I landed a new job, which I feel good about, but I'll get into that later. I had the honor of writing three guest posts for the Safari Books Online Blog. And I finally put out the third monads post. In the meantime I was still at the old job, and spending a lot of quality time with my family.
Monads in Scala Part 3 Finally Out
I finally published the third monads piece! Three is enough for a page, which I've put up here. This third post is a long and technical one. I counted about 11 pages of material minus the code examples, and there is a lot of example code. This post was especially rewarding for me because I finally got to write some generalized monads code in Scala. I hope you enjoy it. It's pretty dense, but I think that if you really want to understand monads, this is a fun way to approach it.
Guest Blog Posts at Safari Online
This summer, I had the honor of writing three guest blog posts for Safari Books Online:
- Building a Scala Sequence in a Functional Style
- Scala Collections API: For People and their Pets
- Scala Collections: More People and Their Pets
I want to give a special thanks to Troy Mott at Backstop Media for setting this up, and for being such a great editor! Thanks Troy.
I'm so excited to be starting a new job at Thunderhead.com! So far everybody there has been really, really nice and respectful to me. Work at Thunderhead so far is primarily in Java, which I think is a good thing for me. the tech stack is good, with a lot of tools I have considerable expertise in - Spring, Hibernate, Maven, etc. While I won't be working on the front-end primarily, it is in Angular.js, which is a great choice. I did Scala nearly exclusively for 2+ years, and while I love it, I've lost track a bit of what has been going on in the Java language community. Java is beautiful, elegant programming language, despite it's boilerplate, limited type system, and lack of first-class functions. And Scala is just not popular enough yet to be able to rely on it exclusively. So it'll be good to get back in touch with the Java world.
Of course, I'll be watching out for any opportunity I have to use Scala. I do have my Monads in Scala blog post series that I can always come back to. And who knows, maybe macro annotations will make Scala 2.12, and I can resurrect congeal. But maybe it's time to focus my writing in some other directions. This is a "scalable blog", after all. Maybe something on Java, something on Domain Driven Design, or agile process. But it may be a while until you here from me again, as I'll probably be pretty busy settling in to my new digs.
I ordered a new computer from System 76: the 14.1" Galago UltraPro. I'm excited because this is the first machine I've ever bought with a decent Linux pre-installed. I love running Ubuntu, but I don't enjoy installing it from scratch on a machine that was made to run Windows. Just because I want to run Ubuntu doesn't mean I don't want a machine that just works out of the box. I won't actually receive the machine for a while, so this old ThinkPad will have to hold out a little longer. After I use the Galago a bit, maybe I'll post a review.