Smart Talks [in portuguese]

Já temos datas para os eventos, mas aguardamos confirmação de alguns aspectos logísticos para publicarmos td , mas queremos já anunciar o que podem ver nas próximas edições:
Ubuntu Touch
Managed Extensibility Framework

e a lista a crescer.

Mas isto só é possível com a tua colaboração. Junta-te a nós e vem apresentar tu também um tema, ou tens um amigo ou amiga que percebe a potes de uma área de desenvolvimento, de Inteligência Artificial, Big Data, SQL, etc, etc, etc não te acanhes “We give you the floor”

“Smart Talks”: Call for Speakers

“Smart Talks” Call for Speakers

As member of the board of ISCTE-IUL ACM Student Chapter (IIASC), I’m promoting our latest initiative.

“Smart Talks” is a weekly event (starting very soon), that happens every Wednesday after work at ISCTE-IUL and has the goal of sharing of Computer Science technologies and fields of study knowledge between members of the community, not only the student community but also professionals how are curious and would like to learn or refresh some ideas.

The event will be free of charge, open to general public and will have registration for logistics and statistics purpose.

In 90m the speaker will talk, demonstrate, show some aspects of the subject, answer questions in great relaxed environment, promoting networking and who knows help in new jobs opportunities.

The subjects are always related to Computer Science and may be focus in some general aspects or even into specific ones. They are spoken from the community to the community.

We are searching for speaker that would love to join us in this project and leave their footprint in the community.

Our Contacts:
Site: (under construction)
Twitter: @iscte_acm_st_ch
Office: ISCTE – Building 2, Floor 0, Adetti office

or contact any of the board members.

Host your own Code Repository (GIT)

Code Repositories

As all developers know, Murphys Laws is a powerful guide to keep in mind and help us (in one way or the other) to prevent big catastrophes. Maybe I’m exaggerating a bit, but you all get the point.

Until a few years back i didn’t use code repositories, more exactly control version system. I didn’t use it, didn’t need it and most of all I didn’t knew of their existence (Ye, shame on me). But when I went to college, I felt the need to backup all my work, after all the teachers didn’t care about the “I hard drive died” or “my computer went kaboom” excuses.

So i started my investigation about code repositories. I found out about CVS, but it was starting to be discontinued and I couldn’t find any free CVS repositories. Next I found SVN, seems promessing, Google has SVN repositories free and with some configuration you can turn them to private, add users, etc. Felt great and I used them for a few years. Although it has many vantages, there was not much system explorer integration and I used them both in Linux and Windows, or even great integration with Eclipse and Netbeans. Maybe is was a big idiot, but times to times i had some trouble and didn’t had my code at the latest state. I assume, my low experience and lack of method provided my biggest headaches.

After a few years, it came to my attention the existence of another flavour: the GIT. One distributed VCS with great functionalities and make me wonder how is the feeling of working with it. Well is great, i don’t want anything else (by now :P).[Some comparison  about them both:] By searching for git hosting, i found out about github (which is free and the repositories are public) and bitbucket (also free and the repositories are both public and private). There are many others out there:

This is great but … … … they are hosted in the Internet. In some contexts it is not desired that we have the repositories in Internet, but we need, no, we want one repository to control version of our work but, unfortunately, there is no repository “in house”. In this “tutorial” ( explains how to setup a git server, but in my humble opinion is a bit complex for a simple, one project repository, so I searched a little more.

I looked at GIT documentation (yes, it’s true. Sometimes I read the manual :P) and noticed about the “git init –bare” command, that provide a local repository, which is great. So if you have a shared (and mapped) network drive, an external drive you can initiate a repository and them you can work as usual, by cloning, commiting and push actions.

Nice, right?

I also found this article by Jimmy Theis ( which explains how to use your dropbox account to backup your repositories. Although I didn’t tried with others storage hosting, i believe that should work with Onedrive service also.
Some considerations, learned by the hard way:

  • While working, commit each functionality that you are working. One at the time. If something was buggy, it’s is easier to “undo” one commit rather then “undo” multiple functionalities in one commit.
  • Commit often, push once. Since you don’t need to be connected to “commit”, you can “commit” as often you need to accomplish your goal. At the end, just “push”.
  • Although you don’t need any application beside GIT to the work, sometime is a pain doing the work in command line. I suggest the usage of a GIT client. I use Atlassian SourceTree (, it is great and work both in Windows and Mac. It helps you to keep track about your repositories and can sync with github and bitbucket.
  • If you like and want to use the command line, don’t forget to add files before committing. They are not added by default.
  • GitIgnore is your friend. Use it and abuse it. This functionality help you to keep out of track unneeded  files. Very helpful in Visual Studio projects.
  • Don’t forget, just don’t, to add to GitIgnore any file that you have containing usernames, passwords, connection strings, etc. One in the Web, you can’t control who sees it, an by a security measure you have to change all services credentials. A huge pain in the head. 😛

Just a few insights to those who are a bit distracted 🙂

Keep it tuned.

Some papers wrote last semester

Last semester was the semester that I wrote my firsts paper and when i spent dozens of hours reading and summering other authors related work.


Clara: Financial Illiteracy

NoSQL as a Alternative to Relational Databases

The power of templating…. with NVelocity

Some time ago i posted about a event that I participated


Here is the video:


Using Excel as a Relational Database

A not so long ago i had a course of Business Intelligence and for the course project i had to build a data-mart with the dimensions and fact tables. I admit that i don’t like the Excel, although it has many advantages I …. hate him :-).
Because I was a little stressed, I didn’t stop to think how to do the work and start creating a sheet to the dimensions and the fact tables and an extra sheet to the “inner join of all dimensions and fact table”. A real pain in the … hand.

Recently I had to do another “project” using only the Excel and it was a requirement that i only made a single call to the database and do all the work in the Excel. After starting the job, i remember thinking “This is extremely stupid” so I stopped to think and with some help a Mr. Google I got a meanful breaktrought.

This is a recipe to use Excel as it was a relational database and hope it will help you and also prevent you from doing the same mistakes.

The Recipe:

  • Open Excel and create a data table.
    • Insert manually
    • Get it from the database
    • Whatever
  • Save the Excel in a easy to remember location
  •  Create a “Data Connection”.
    • Data Tab -> “From Other Sources” -> “From Microsoft Query”
    • “Databases” -> “Excel Files”
    • Ok
    • Find the saved excel file
    • Add all columns you need
    • Don’t provide any filter or order
    • Click “Save Query” and save it in the save folder than the excel file
    • Click “Finish”
  • Choose the cell location for the result.

Now we should have the data in the sheet.

Going forward.
If we copy the excel to other location we will have some missing files errors, so to prevent we will change some configurations.

  • Go to “Data” tab again and click “Connections”
  • Double-Click in the active connection
  • Click “Definition” tab
  • in the connection string change the absolute path for the excel for an relative.
    • ex: “DBQ=c:\temp\excel.xls” -> “DBQ=.\excel.xls”
  • If you need to change the query just change it in the “Command text”.
    • Verify that there is no reference to the absolute path of the excel book.

If you need some “where” clauses that depend cell value, just edit the query and in the query clause put “?”. ex: “…. where id=? ….”. When you refresh the data it will ask which cell should be read to assume the value. Niiiiiice. You can also click in the parameter button and can costumize the text should appear and the cell location.

Hope it help.

Windows Command Prompt Alternative

What is concern to Windows, since it’s beginning, one of the greater miss (imho) is the windows console prompt, it’s very limited while comparing to linux shells. Ok, I agree that Windows Command Prompt is not a shell but it isn’t a console either. It can’t be maximized to the screen resolution, the default settings are very … urhg.

I know that developed the PowerShell Console, but they still have all the same “features” with a blue background, which is not very interesting.
They are some alternatives, one of the most rated is PowerCMD, a commercial software with one month trial. It’s is great, it is easy to use, support tabs, multi-window but is not free.

Searching trough the web i came across to Scott Hanselman about Console2 and i was impress about the supported features:

Console is a Windows console window enhancement. Console features include: multiple tabs, text editor-like text selection, different background types, alpha and color-key transparency, configurable font, different window styles

Is great but …… can’t be maximized.

Recently i stumbled with a project based on Console project, named ConsoleZ and if nothing was different, it support maximization :-). And for me was enough. Some of their features:

This is a modified version of Console 2 for a better experience under Windows Vista/7/8 and a better visual rendering.

This fork supports:

Splitting Tabs into views (horizontally and vertically)
Grouping views (so input sent to one goes to all of them)
Windows Vista aero glass theme
Windows 7 jumplist
Windows 7 wallpaper positions and slideshow
Windows 8 wallpapers on dual screen
Zooming with Ctrl-Mouse
Quake style console animation
Strict monospace font rendering
Settable opacity of text background color
Full screen

I’m pleased with this version. I have git, python, Perl and some other tools in my path that give that useful Unix user experience.

You should give it a try.

Windows Command Prompt Alternative:

Posting Calendar

June 2017
« Apr    
%d bloggers like this: