Monday, February 3, 2014

Talking about Erlang with Fernando Benavides

Hello! Problably most of you already know that from 3 to 15 March will be held in San Francisco the . Among the 50 talks there will be the one held by Ferndando Benavides. Fernando is an Erlang from Argentina, currently working at Inaka as director of engineering. Let's talk with him about Erlang, and his talk!



LET'S GET STARTED!

Friday, July 12, 2013

Interview with Daniel Lee

Theis really close and thanks to I have interviewed another speaker. He is DANIEL LEE, Core-Platform developer at . In my opinion, his talk will be a must see; if you have any doubts please read the following interview and they will surely disappear.



MIRKO: HI DANIEL, THANKS FOR BEING AVAILABLE FOR THIS INTERVIEW. PLEASE INTRODUCE YOURSELF TO OUR READERS.

Thursday, July 11, 2013

My thoughts about: “Erlang by Example with Cesarini and Thompson”

In my previous post about TDD and Erlang [1] I listed some ways to improve both coding proficiency and Erlang knowledge.This week I would like to write here my opinion about the series of videos gently provided to me by O'Reilly: "Erlang by Example with Cesarini and Thompson" [2].



The series is composed by 8 chapters (even though I would prefer calling them "lectures"):

Wednesday, July 10, 2013

Interview with Daniel Lee

Theis really close and thanks to I have interviewed another speaker. He is DANIEL LEE, Core-Platform developer at . In my opinion, his talk will be a must see; if you have any doubts please read the following interview and they will surely disappear.



MIRKO: HI DANIEL, THANKS FOR BEING AVAILABLE FOR THIS INTERVIEW. PLEASE INTRODUCE YOURSELF TO OUR READERS.

My thoughts about: “Erlang by Example with Cesarini and Thompson”

In my previous post about I listed some ways to improve both coding proficiency and Erlang knowledge.This week I would like to write here my opinion about the series of videos gently provided to me by O'Reilly: .



The series is composed by 8 chapters (even though I would prefer calling them "lectures"):

Sunday, July 7, 2013

How to Learn Haskell

For whatever reason, Haskell's curve of interest has been going up again. Haskell is a philosophy as much as a language, and a controversial one at that. Haskell is lazy and purely functional language. I will explain what each of those are at the bottom of this article. This is more specifically about how to set up a good Haskell learning environment.Learning MaterialFor learning Haskell, look no further than . Learn You a Haskell is written in a similar manor to Land of Lisp with its quirky prose and downright hilarious examples. Due to Haskell's lack of wide use, this book has a near monopoly on the task of learning Haskell; which is fine. The book covers everything very in-depth. If there is something in here, you will need it to use Haskell effectively, so do not skip around, especially when the problems gets harder (like the RPN calculator). Extra learning material and support can be found in the sidebar of Development ToolsHaskell is nothing without a good text editor. There are some relatively advanced formatting standards within Haskell (especially with guards: see below). The best editor for Haskell is subjective, but I will cover the tools that I have used for Haskell development and try to take an unbiased look at each one. Before reading the recommendations I have to come clean; I use Emacs, so I may lean towards it a little bit and compare a lot of the tools to Emacs.     Eclipse FPEclipse FP is a plugin for the Eclipse framework that provides Haskell project support. Extra goodies can be installed via cabal (the haskell "package manager"). If you can get it working on your system with all of the recommended goodies (scion for syntax highlighting, ghc-mod for ghci integration, etc) then this could be a very easy and welcoming development tool. Drawbacks are the chance that it will NOT work (it didn't for me, but this was the first tool I tried to use. It's probably very good) and having to install Java as well as Haskell (~128 MiB in total).   LeksahLeksah ("Leck - Sah", Haskell backwards) is  full-blown Haskell IDE written in yours truly (Haskell). It has some interesting features, like listing the type signature of a function when you type it (think: Javadoc lookup in other IDE's) and trying to compile the file on every keystroke, showing you (and underlining) when you make a mistake. It supports editing of Cabal files, project browsing, and graphical integration with the Haskell debugging tools. For serious Haskell users, consider Leksah. I found that it is too early in its development to be useful to me (I experienced several crashes without file saves, but this may not happen to you), but the amount of tools this brings into one project makes it enticing if you really want to get your hands wet with Haskell. Since this is a post about learning material, I don't think that this would be appealing.    EmacsOne many in my IRC channel said that Emacs is "Not an editor, but an operating system with a [censored] good editor". Emacs has been around for a long time and is very extensible, which means it has a lot of tools written for it. This is perfect, because Haskell matches this description very well. To make Emacs useful with Haskell, one first must install  and then use el-get to install haskell-mode, ghc-mod, and scion. Be sure to add the appropriate code into your .emacs file. The benefits to using this is that C-c C-l will load a file into a ghci minibuffer, which is great for testing out programs on the fly as well as saving them for compilation later. Yes, Eclipse has features like this, and so does vim with the right plugins, but Emacs and these extensions happened to hit my sweet spot. Look around and see what is right for you. in this department. Emacs can also extend into an IRC client, so asking for help on #haskell on Freenode is very simple.Learning StrategyHaskell is overwhelming to many. If you do not know a functional language already, it may even be wise to learn a bit of Common Lisp before using Haskell. Haskell is purely functional. There are no loops or IO outside of the IO Monad, so it is a major forced paradigm shift. I would learn enough Haskell from "Learn You A Haskell" to be able to work on projects (pattern matching, functors, etc), work on some, and go back to where you left off to finish up your learning. Learn You A Haskell is a very in-depth book and without the context of some projects it will all get jumbled. - Full Post

Roundtripping the HTTP Flowchart

Webmachine hackers are familiar with a certain . Webmachine was designed as a .
It has long bugged many of the Webmachine hackers that this relationship is one-way, though. Webmachine was made from the graph, but the graph wasn’t made from Webmachine. I decided to change that in my evenings last week, while trying to take my mind off of testing.

This is a version of the HTTP flowchart that only a Webmachine hacker could love. It’s ugly and missing some information, but the important part is that it’s generated by parsing webmachine_decision_core.erl.
I’ve shared the code for generating this image in the . Make sure you have installed, then checkout that branch and run make graph && open docs/wdc_graph.png.
In addition to the PNG, you’ll also find a docs/wdc_graph.dot if you prefer to render to some other format.
If you’d really like to dig in, I suggest firing up an Erlang node and looking at the output of wdc_graph:parse("src/webmachine_decision_core.erl"):

[{v3b13, [ping], [v3b13b,503]},
{v3b13b,[service_available], [v3b12,503]},
{v3b12, [known_methods], [v3b11,501]},
{v3b11, [uri_too_long], [414,v3b10]},
{v3b10, [allowed_methods,'RESPOND'],[v3b9,405]},
{v3b9, [malformed_request], [400,v3b8]},
... - Full Post