What are you going to write that is worthy of me?

June 8, 2015

What are you going to write that is worthy of me?

JJ Abrams

When I started this venture of having a blog, back in 2012, I did it with the whole purpose of polishing my coding skills and learning a couple of new ones.

I implemented it using:

  • spring (data, mvc, security) for web server and backend
  • freemarker and dojo as front end
  • mongo as storage
  • gradle, built tool

Of those the ones I wasn’t using at the moment were mongo and gradle. It wasn’t that big of a deal actually, earlier spring data supported mongo out of the box and gradle is so simple and easy that coming from maven is like a bliss.

Overtime I haven’t added much to the site, I added Bootstrap to have a fancier CSS rendering and a couple of gimmicks, here and there. I have tried to write a little bit, but nothing closer to the expectations everyone has when they decide to have a blog.

But, my life changed a lot and all started that very same 2012 year. I received an email from a recruiter about a job that required java but they were into using Scala. Boy, I never heard of that language before. Since that day I devoted myself to learn the language and obviously I pursuit the job, unfortunately it didn’t work out with the company, but I’d always be grateful that I received that email.

After that, I took in coursera * Functional Programming Principles in Scala

and was even more blown away by how different the functional programming paradigm is compared to the OO one, that I cherished as the jewel of the crown.

Finally, I’ve been able to work professionally using Scala and must say that’s been the most rewarding experience. I don’t code everyday in Scala, but when I am able to do it, it doesn’t feel like a job to me, is one of those precious moments when you do something because you love it. And I am challenged, multiple times. I am not doing the yet another form and submit page but dealing with highly throughput traffic using AKKA.

But you don’t come from 10 years of doing only java and see Scala and don’t bother to look around what you’ve been missing all these years. It cannot be only Scala.

So I started getting to know more about languages, paradigms and so on. I gravitated towards Clojure due to it’s closeness and the fact that lives in the JVM and to Haskell, any functional programmer worth its salt knows that Haskell is the ultimate frontier.

I cannot say that I have learnt Haskell but love reading about it and it’s still part of the challenges I have to accomplish.

After reading Hackers and Painters I was more prone to start doing something in Lisp. Clojure is a Lisp dialect that lives in the JVM but also in Javascript.

And now I’m in the work of replacing all my Javascript/DOJO dependencies with Clojurescript. Every time I write Clojure (or Scala for that matter) I feel challenged, is like the code tells me make sure you write it properly, be worthy of me.

On my next deliveries I will write how I migrated to Clojurescript. In the mean time, check github: https://github.com/lnramirez/lnramirez/tree/clojurescript specially Clojurescode: https://github.com/lnramirez/lnramirez/tree/clojurescript/src/main/cljs/bajoneando I’m using clojurescript, facebook-react with OM’s help

I haven’t been able to actually deploy the app in openshift since I don’t know how too hook a gradle build with a leinigen build. Maybe I will have to throw away gradle for leinigen altogether.

P.S. is kind of funny that this entry is a draft from 31st of January, 2015. Seems like is so hard to publish or do something on the side. It definitely requires a lot of discipline.