15 April, 2013

Parcitypate is a Finalist

Hey everyone, just wanted the share my joy in these news.
My team (+Rui Milagaia (me) , +Lara Rodrigues and +Vasco Avillez) passed to the second phase of the Lisbon BIG Apps contest with our project Parcitypate.
Our project was one of the 15 chosen between 206 submitted from 10 countries.
Now, the hard work starts.
Wish me luck

01 April, 2013

Code Writer Helper

When working with MDA developers have a to write a lot of Transformer code. There are two important steps to write good code generation.

First step: write and test the end code to minimize errors.
Step two: write the transformer that will generate that code based on models.

The second step usually takes a lot of time as the developer has to write a lot os boilerplate prefix, suffix code in the transformer. To make sure the generated code is readable he must also write indentation related code.

Enter Code Writer Helper. It's just a very simple tool that accepts the prefix, suffix, empty row, add tab and remove tab strings, and returns the code ready to be pasted in the transformer file.
Everything written in the Original Code box is transformed in real time to the transformed Code box.

You can also creating different configurations by clicking on the "+" on the top right corner.

This was written in WPF and it's available on CodePlex.

Happy transforming.

Let machines to machine work

DRY - Don't Repeat Yourself

Every developer knows this principle, and a lot actually apply it, yet most are confined in the code-related meaning of it.
 "Let no line of code be repeated."

When its time to do documentation of a system or start the implementation of a new one, etc most of us either start from scratch or do a lot of copy paste. In no time, the documentation is dated and incorrect and so are year old systems that don't follow the new company standards. And that's the good perspective, because some systems won't be outdated because the company stops learning and starts its slow descent to failure.

Why must we continue to limit ourselves to the code and spend most of our working time repeating meaningless tasks over and over again.

Take documentation of a web service. The interface changes and lets update the document, it changes again, and again and again and.... why doesn't the document. If it is actually needed let the document be generated from the interface.

Take system deployment. Hopefully most don't have to do it by hand nowadays but some still do.

Whenever a task repeats itself those who repeat it lose a chance to create something new. And those who can't create won't learn. Most tasks can be automated, let your mind wonder and find new ways to automate your work. Let your imagination run wild and you will find something for sure. People are slow and error prone but the potential for madness that we have gives us creativity. Everyone loves doing what they are best at and no one likes to lose, so why keep competing with machines in these meaningless tasks instead of winning at creating new ones.

The creative mind should create. A great company must have its employees do human work. Once a task is done automate it however you can so you won't have to do it again. The future then awaits with new and exciting tasks of learning and creating new things and simply letting machines to machine work