Java Network Tictactoe

Its the common tictactoe game, developed in java, with client/server configuration so it can be played over a network. It can be played in a 3×3 board or 4×4 board. There are more options but some of them are not implemented.

I’m only putting this here now (2012) but this was one of the projects for a University course in 2003, when I was still a student. I just thought I should put this some place safe, and so… here it is!

You can get it here.

And you can see how it works in the video below:

(soon, the video will be here)

Web development with PHP

A PHP tutorial. I advice the visualization of all videos because along the playlist I make some “mistakes” on purpose, that later they become “problems” and need to be fixed. This way I can show why we should do it this or that way. Until now I’ve only created series nbr 7, explaining how to use PHP to connect to a database using PDO and how to structure an application using the MVC design pattern.

You can download the source code here.

  • Web Dev: 01 – PHP
    • Creating the database
    • Creating the SVN repository and the project in Eclipse
    • Connecting to the database
    • Using SELECT
    • Using INSERT
    • What is the MVC design pattern and how to use it
    • Using UPDATE
    • Using DELETE
    • Using prepared statements
    • Using transactions
    • Wraping up the project with CSS and DIVs

Web development environment

Here I teach how to set up a web development environment for PHP, using UBUNTU + XAMPP + Eclipse + XDebug + Phing + PHPDoc + SVN. It’s still missing PHPUnit, but some day I will do it.

You can download the used files from here (httpd.conf, php.ini, build.xml …).

  • Web Dev: 00 – Ambiente de desenvolvimento
    • XAMPP – install, configure and testing xampp in Ubuntu, with Xdebug
    • Eclipse – install and configure with Xdebug
    • Phing – Install, configure and create a build.xml file
    • PHPDocumentor – Install, configure, test and encoding correction
    • SVN (Subversion) – install, configure and usability

Linux basics screen-casts

I’ve prepared a playlist about Linux basics covering:

  • Linux: 00 – Instalação, Configuração e Software
    • Virtual Box configuration
    • Installing Ubuntu
    • Virtual Box snapshots
    • First login
    • System set up
    • Installing software using shell
    • Installing software using Ubuntu Software Center
    • Installing software using Synaptic
    • Installing software using a DEB file
    • Installing software using apt-get
    • Installing software using make (compiling from source)
    • Installing, seting up and using WINE (Windows emulator)
    • Installing and using Compiz
    • Installing and using Emerald
    • How to reinstall Ubuntu

How to make screen-casts

In some of my classes I asked my students to author some screen-casts and upload them to Youtube, so they could show me that they could install and work with Linux. So I ended up creating some screen-casts teaching how to create screen-casts!  I teach how to do it in Linux with the following open source software:

  • Virtual box – to have an isolated sandbox
  • recordmydesktop – to record my desktop and my explanations
  • Pitivi – to edit the video files


I teach how to set up recordmydesktop options, use pitivi to edit the videos, set pitivi options to get an HD video ready for Youtube upload.

I use a desktop do create the screen-casts, and I always get that background sound (BZZZZZZZZ) that seems like a refrigerator, so I also have a second video teaching how to clean up the sound using:

  • Audacity – to clean the sound
  • Pitivi – to remaster the video

Screen-casts in my youtube channel

Some time ago I got to know khan academy, which was awarded a Google prize for its innovation. This is a story of a guy that starts to tutor hes cousins through web conferencing, however it was difficult to set up a time where they could all be on-line at the same time, so Mr. Khan decided he would make some screen-casts and put them on Youtube, so hes cousins could get the tutoring whenever they had the time. From there to more than 3000 screen-casts was a small step. He now has screen-casts that can tutor you throughout high-school, and maybe some University subjects, in a great number of subjects, mostly mathematics but also physics, history, biology and a lot more, all tutored by himself.

Now days, hes project even has an on-line software to monitor students progress with exercises, which tells the students when they are ready to move forward to the next screen-cast and warns teachers when a student is falling back. All and all, its a awesome project!

After that I also found the new boston, which has a lot of computer science screen-casts, but many more subjects also.

However, everything is in English (I was teaching in Portugal), and they don’t have quite what I needed for my students, so I started making my own screen-casts to use with my students and for everyone else who wants to use them. Of course, I don’t have the ambition of creating as many screen-casts as they do, nor with the same quality, but it’s a small contribution.

Check out my own Youtube channel !

I have playlists about:

Category based portfolio

Another one of my WordPress plugins.

This one creates a portfolio of images and/or videos, with different categories.

A portfolio entry is nothing more than a post with a bunch of images and/or youtube videos thrown into it. This post belongs to some category, which identifies the portfolio it belongs to.

Included in this plugin, there is a widget that shows the newest additions to the portfolio.

Once you load a portfolio, it will start loading all the other portfolios in the background using AJAX. This way the first page loads as fast as possible, and when you visit another portfolio it will be instantaneous because it will be already loaded. If it was not designed this way, it would take a long time to visit all portfolios because it would have to load the page every time and the images are usualy quite heavy.

You can check it working here, and see some pictures below.