ABOUT ME

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.

25

Happy Customers

60

Success Projects

32

Website Managing

1

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

 

 

 

Project Video

	
	

Project Description

Also done for a school project in 2014, this application was quite something!

If you ever worked with bullet physics engine you know that in order to master it, several hours in front of a screen reading class diagrams are a requisite.

This was no different! Purposed by the school teacher, as a small project that used some sort of collision detection mechanism and a simple openGL functions that would draw some forms... However curiosity is a funny thing, usually bringing more work into the table than what was initially predicted!

This project was done with a collaboration of a colleague, that worked along side me from the app design to the final presentation.

The Idea

Initially the idea was creating a Goldberg machine but soon we realised that a project like that was way to ambitious for the 2 Bullet newbies, hence the idea of creating a pool table, which included all the challenges proposed by the professor.

The Skybox and Objects

Naturally the project started with the creation of a skybox that would imitate a room, in this case one of the university rooms. For this I used my dear friend Fireworks to conceive the walls and the ceiling. The next step was to find some furniture, we managed to find some .OBJ files for this purpose, including a pool table a couch and some flowers...

Finding those objects was the easy part, using Blender to make sure they would match our requirements and also making some adjustments to the OBJ in terms of size, was a walk in a park...
Problems arrived while doing the import of object into memory, several libs and examples found online were tested but somehow they all seem inefficient or presented problems.

That being said, with bit of this and that, we finally managed to implement some code that successfully imported the objects.

The Bullet Physics Engine

We started to pay attention to the bullet engine and playing with their test cases.

Our main goal was to make the balls colliding with the table borders, bouncing back and naturally, collide between them...
One of the issues presented was the "re-coil" effect or making the ball bounce back using the appropriate rate for a pool ball, which we managed to bypass thanks to a function in Bullet that allows to fiddle with object properties.

Another issue was making the balls aware of the table floor, even thought bullet offers functions to detect OBJ forms we could not make it detect the pool table properly in a way that if one of the balls happen to be on top of one of the holes it would just fall into it.

The Hack

In order to go around this problem we developed a class that created transparent static rigid forms, and we basically made a mould of the table. To make the ball fall into the holes we made a transparent box around the holes trying to approximate its dimensions to the table hole as much as we could. This way bullet engine was able to identify these forms and render physics accordingly.

The Stick

Last but not least we imported a pool stick into the animation and made it follow the white ball, it does presents some glitches even thought we have tried some optimization but we got to a stage were we reckon that to make it better it would come as very time consuming, compromising the project schedule.

Applying text in OpenGL

One last bonus to us was the addition of writing into the application. Easier said than done! Not that we couldn't find any lib that would do that in C++ but the simple fact that most of them were not compatible with the system or the application.

Final Notes

It does presents some problems and its far from being perfect but in the 3 months given to us to make it happen and without any previous knowledge of any physics library I think we nailed it!

Project Information

Categories: Application Development

Video Url: https://www.youtube.com/watch?v=DIAvDdmtcvs

Blender : http://www.blender.org/

Bullet : http://bulletphysics.org/wordpress/

Project Timeline

Start: May, 2014

End: July, 2014

Project Video

	
	

Project Description

The Conway's Game of Life ... Done for a school project in 2014, it was a very challenging and ambitious project but also very interesting.

After spending some hours analysing Conway's theory, the challenged was proposed to the class to built a Java application that could simulate the Game of Life.
With this came several requirements such as:

  • Ability to enable/disable cells via mouse click.
  • Ability to read a matrix from a file and load it.
  • Ability to write current matrix to file.
  • Zoom and Speed
  • Spherical Matrix

So naturally there was some pressure to make it all work within the schedule provided.

The "Matrix"

From the beginning, problems soon arrived, main issue was "how to draw a grill that could visually interpret-ate the matrix cells ? ", initially I thought of creating a buffered image that could be manipulated as the simulation occurred, problem with this was the processing time, since it was generating an image on every iteration of the simulation, proving it to be slow and cpu consuming.

In the end, a JPanel was used and lines were drawn within it to make look like a matrix, from there customization was done, spending some hours in the GUI making it looking as good as i could.

The "Engine"

The engine part was very tricky because its when you pass from the theory to the action.
Naturally that happened with a multidimensional array that could accommodate the matrix size, and a cycle was programmed so that it analysed every cell on each iteration pass, this way the system could apply Conway's rules depending on the cell state.

Unfortunately not all went accordingly to plan on this one, as the application bypasses a couple of rules I wrote and does not renders exactly as Conway's describes.
However the GUI part of it works very well and the logic can easily be fixed in a future enhancement.

Final Notes

Very exciting project that took a lot of hours in front of the screen but I was very happy with the end result.

Project Information

Categories: Application Development

Video Url: https://www.youtube.com/watch?v=Ab9fL1kk2Mo&rel=0

Project Timeline

Start: Jan, 2013

End: Feb, 2013

 

Latest Posts

Contacts

João Vieira

Skype: jcv.pt

Email: info@joao-vieira.pt

About

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