After the first talk @require('lx’), now it was the time to put the hands on some code.
It started to be a dojo about zeromq and it ended as nice chitchat about microservices and some lessons learned.
Unfortunately, the talk is in Portuguese but I will do it in english next time! :)
NGINX SSL perfomance improvements with proper configurations
Performance improvements on a web application is much more than just tuning your application code, server and database configurations are also one of the best ways for it.
This post describes how we have reduced our page load time in about 40%.
Over the past two years I have been working a lot with ZeroMQ, while building ZeroMQ Service Suite (ZSS), and last Wednesday I was talking about ZeroMQ @require(‘lx’).
The talk intent was to give an overview of ZeroMQ and how they could benefit with it. The slides are available here and at slideshare.
Since the talk was short and didn’t include any demos or hands on, we are planning a dojo, to play around with ZeroMQ sockets.
Calculate ages: the 29 february issue, the leap year date
Today, I had come across with an error on one of our applications and it was a funny one.
If you have code that return the age based on a date field, give it a look and test for date 29-02-1996, it should return 18 years for today and you should also test it to for corner cases: a day before and after this day, to ensure that is properly implemented.
Git split repositories without loosing commit history
Today I was needing to split a git repo into multiple repositories without loosing the commit history.
After searching a little bit, I have found git subtree and it was fairly easy to do it.
Give it a try if you need to do this, this post explain how to do it!
Last release of jasmine node reporters is broken
Some of my builds started to fail on travis, and apparently the last package of jasmine-reporters@2.0.0 is broken and since jasmine-node dependency is >=0.2.0 the last version is loaded.
So in order to fix this until a new version arrive you can install jasmine-reporters >=0.4.1 as a dev dependency and npm will not load 2.0.0, since the previous one already meet the needs.
Quick fix! :)
Logging facade for node-js
While developing I hate to attach my applications to specific libs, something that I am missing while developing in node is good logger facade. At least I didn’t find any! :)
So with that in mind I developed a simple logger facade that can be used as contract for async logging on applications.
Than we just need to attach plugins of our favourite log repositories and voila, we are logging to multiple repositories asynchronously.
This can be used to log information to console/file while in development, production errors to airbrake and production logs to centralized repository on elasticsearch.
In the next weeks I will be implementing a plugin for airbrake and elasticsearch.
Feel free to get in touch! ;)
UPDATE: The build is broken due to a change in the readme! :P Now seriously, it seems that jasmine-node have bug that is causing the build to fail on travis. I wiil take a look on that later! :D But it passes on my machine! :P
UPDATE 2: jasmine-reporters@2.0.0 is broken, install version @0.4.1 as dependency solves the issue.
Setup a node.js project with CI on travis and code coverage on codeclimate
Starting new Node.js project, during this process I have faced some difficulties to do what i wanted, so I have prepared a skeleton project and a step by step guide, that could help others and be used on my next projects.
I will also introduce some useful tools, for build, unit testing, code coverage, code complexity analysis, continuous integration.
Over the past years i have been working with two amazing search tools, Solr (3 years ago) and last year with Elasticsearch.
So i would like to point some interesting articles about the two, to help you choose your tool. I will also show you some other useful tolls for Elasticsearch.
The insane pursuit for challenges make me feel alive, achieving the goals make me seek for a new ones, and sharing knowledge is a pleasant railway and a lifetime challenge.
Software engineering career is full of challenges and stumbles, learning with them is what make you go further.