Hello there!

And welcome to my personal page!

I'm an IT Professional that lives in southern Portugal.

Here you will find information about my skills and some work I have been doing...
Recently created, this portal is meant to share experiences and knowledge! So feel free to share your thoughts and give some feedback.
I've always took more interest in the mechanics than the actual product.
- How does it all work? - What's the secret behind it? - What's inside?
Follow me and lets find out!


My Skill Levels

  • Programming & Development80%
  • Design & Production40%
  • Networking60%
  • System Administrator65%
Mainly focused in developing solutions for the web using PHP, Javascript that produce robust and simple applications. Depending on the project requirements, frameworks such as CakePHP or Epesi are often my starting ground.
Also worked with Visual Basic in a couple of projects, really liked the power and simplicity of it but sometimes a pre-compiled languages such as JAVA or C are required for more ambitious projects or specific solutions. I have projects made in C and JAVA. You can find projects written in these languages on my portfolio.
Sometimes application development just forces you to know design basics, because an application without a nice GUI its not human friendly, hence the need for graphics and skills to manipulate them. My favourite weapon to accomplish this is Fireworks, very easy and clean software to work with, but when not available, the free solution GIMP is my alternative. When it comes to vector projects, CorelDraw is my choice.
You can find some artwork done with these software's on my portfolio.
For every IT professional that have a career this was most likely his starting point, even if it was only in the computer that used to sit at home, every single one of us has tried at some stage to do more... Now with a bit more responsibilities, networks with several computers, are now the playground, with this comes centralized management and naturally server languages and protocols. My Microsoft MCITP certification helps me every day when problems or necessities arrive. On other hand, the Linux side of things was by me initially not welcomed, but since I started playing with software provided by the university it became clear, this is must know technology, that offers easy and free solutions. Nowadays I work with both environments Windows and Linux depending on the scenario and solution required.
I'm fortunate enough to being part of Cisco world with my CCNA certification, I believe that for an IT engineer to be successful, basic knowledge of networking is a requisite. Only then, he or she can be aware of how the web works and how the information flows. For a professional that administers networks this is a requirement. From single lab tests, to complete network re-installations, you can find projects on my portfolio.


Happy Customers


Success Projects


Website Managing


Article Wrote

My Services

Design & Production

I offer several services related with design and production of images and media.

  • Photo re-touch & manipulation
  • Logo, Flyer or Banner creation & optimization
  • Branding
  • Image vectorization
  • 3D Modelling & Rendering
  • Video Editing

Programming & Development

If you require a tailored solution that suits your exact needs, i provide applications written in the most common languages.

  • Web site development & optimization.
  • JAVA or C applications
  • Customized GUI's
  • Server & desktop scripting (Visual Basic or Batch)

Network & Server Administrator

Weather its a medium or small network i can assist you your servers and network devices.

  • Planning & quotations.
  • Installations
  • Security checks
  • Management & optimization
  • In and off site backups

View My Portfolio

Service Plans

Web Development

Starting at 30€ per month.

  • Premium Template
  • 10 Page custom
  • Business Email
  • Hosting
  • Domain (.COM)

Order this service

App Development

Starting at 15€ per hour.

  • Free Quotations
  • Design & Development according to your specs
  • Web, Compiled and Pre-Compiled Languages
  • In and off site hosting solutions

Order this service

Servers & Network

Starting at €45 per hour.

  • Free Quotations
  • Service Configuration
  • Network design and planning
  • Server and Network Installations
  • Backups

Order this service

My Featured Projects




The Portugal News Epaper Engine and Website

Project Description

This project is more than what meets the eye. Simply because its not about the complexity of the website, which 90% was taken from existing software, but for the fact that everything since the newspaper prodution of the pages to the publishment of thoose pages into epaper.theportugalnews.com portal is automatic.

The project is divided in 2 mechanisms:

The Website

The flash content of the site was used from the software that produces the presentation, nothing new in there apart from a bit of customisation and re-branding. The coded part iv spent more hours in was the library section (second image from the slider), since that the produced html from the software, which processes the flash did not output any kind of library, I had to modify the template in a way that could accommodate browsing for the past editions, since the The News Group wanted to make them available.
So with a little help form the marvellous javascript tool JQuery i have managed to produce an interface that is able to present current and old editions with respective edition number on a yearly basis.
Because every week a new edition is uploaded the system in this the script was programmed with an algorithm that I wrote so that it knows the exact edition number and date, since there a couple of scenarios where the newspaper does not come out in that particular week.
This way I was able to keep an accurate date / edition record and instruct the system to load a new paper every week on that specific day. It also monitors the presence of the correct files, folders and cover image, if any of those items failed to be found, the edition will not be displayed.

The Engine

So every week, what we got was a bunch of PDF files named with the edition number and page, in a folder, somewhere, in some network server... So basically, the person en charged with the epaper should do the following on a weekly basis:

    1. Have an accurate online library of the maximum editions possible ( meaning do the process below x number of times)
    2. Account for pdfs that come out of production every week, make sure there are no missing pages...
    3. Merge those pdfs with the correct order, yes because the flash software only accepts one input...
    4. Make one or two hacks (you don't need to know)...
    5. Produce a downloadable version (shrink the original production size to a 1/4)
    6. Send the merged copy to the software that produces the flash.
    7. Wait for it, it takes 30 min to complete...
    8. Once completed, creates specific folders with year and edition numbers on the web server and upload flash and pdf version via ftp.
    9. Wish that everything goes accordingly to plan and hope that particular employee does not take leave or gets home sick...

So by now you should be thinking "what a mission", Hell yeeaaah!!! And mainly because its time consuming and it takes several hours to instruct someone to manually do this, not to mention that missing one step kills the whole process...

So the idea at the time, not knowing or having the skills I do now, was to create a php script and make it run via the CLI.

Because this required several applications to be installed iv created a Virtual Machine with a dedicated OS for this, specially because I didn't want to re-do all of the scripting and setting if the hardware had to be moved or all of a sudden crashed.
With the help of the algorithm that calculates editions and dates I could easily make the process of uploading one edition, available, to upload all the remain editions that we had sitting in our network server and place them in the web server with correct dates and years.

And that was the whole point! Even if I had to rebuild the library on the web server today the only problem would cause would be the time it would take, but the "engine" would be capable to make that happen with a single run.

Mainly because before its starts its journey compiling and producing the flash version it makes several pre checks, it connects to the web server via FTP and the local network and looks for all the available editions and makes sure that the web server has as many editions online as possible,  comparing both locations for missing or uncompleted editions and adding them in queue for later process. This way we are able to guarantee that the online library matches the in house one.

After that is simply lines of code that automate the process described above, when it finishes processing an edition, it uploads it via ftp to the web server and de-compresses it, the website then does all the work of making it public.


Project Information

Categories: Web Development

Url: http://epaper.theportugalnews.com

Client: The Portugal News Group

Project Timeline

Start: from Nov, 2012

End: Dec, 2012


Latest Posts


João Vieira

Skype: jcv.pt

Email: info@joao-vieira.pt


This is my personal page, here you will find IT related, projects, discussions and reviews. Feel free to coment and leave your input.