Stefano Tommesani

  • Increase font size
  • Default font size
  • Decrease font size

Fixing DB problems in Joomla

E-mail Print PDF

Sometimes, this site goes down, and the following homepage appears:


The jos_session gets corrupted, a frequent issue with Joomla 1.5.x installations. Luckily, fixing this issue is quite simple, just log into the phpMyAdmin site (usually at the following address: and open the joomla database


Locate the jos_session table, then click on Empty to solve the issue.


The state of the jos_session table returns to normal, and the Joomla website is back online.


Fixing Here Maps in Windows Phone 8

E-mail Print PDF

After the map updates on mid-May, both the HERE Maps and Drive apps for Windows Phone 8 stopped working, even worse, launching them made the phone reboot. The obvious fix would be an hard reset of the phone, but that would mean a lot of work, backing up everything. Here is another way to fix this problem without a reset:

  • download and install SysApp Pusher from here
  • run SysApp Pusher and install Lumia storage check beta from the Nokia tab. You have to install the beta version, not the release one, as the release version misses the feature you will need in the next step
  • run Lumia storage check beta and select the SD card as the destination of Maps
  • run HERE Maps: now it is not crashing anymore, but you will have to download the maps again, this time on the SD card
  • using this method, you will not recover the phone memory occupied by maps that you downloaded previously


Last Updated on Wednesday, 25 June 2014 23:22

Building Installshield LE 2012 setups from the command line for CI

E-mail Print PDF

In Visual Studio 2012, after installing Installshield LE 2012, you can include setup projects into your solution, as shown below:


Adding the Setup project to the solution, and including it into the Release configuration, makes for a quick, 1-click compilation procedure of both the main app and the installer. Still, what if we want to use a Continuous Integration software (e.g. Jenkins and countless others) and run the compilation of the setup from an external app? The ISL file extension used by InstallShield LE does not seem to be directly supported by CI softwares, and using ISCmdBld.exe as specified in Flexera's docs is not feasible, as that part of Installshield is missing from the LE edition (the L stands for Limited, so no surprises here). However, this specific project type can be compiled within VS IDE, so we can use MSBuild to compile it from the command line.

Last Updated on Thursday, 31 October 2013 12:45

Integrating Visual Studio unit testing with release management software

E-mail Print PDF

AskWatchABS1In a previous post, Unit testing with Visual C++ 2012, the unit testing features of Visual Studio 2012 were shown to be an effective way to improve software quality by introducing various tests. Still, instead of having to run these tests inside the Visual Studio IDE, it would be even better to integrate these tests into a release management software, so that they are automatically performed during each build of the system.

For running these unit tests outside the Visual Studio IDE, from this MSDN page we find out that there are three ways to run them from the command line:

Last Updated on Sunday, 13 October 2013 15:37

Background subtraction: ViBe

E-mail Print PDF

The ViBe algorithm

In the paper "ViBe: A universal background subtraction algorithm for video sequences", Olivier Barnich and Marc Van Droogenbroeck introduce several innovative mechanisms for motion detection:

ViBeSearchingPixelsPixel model and classification process

Let's denote by v(x) the value in a given Euclidean color space taken by the pixel located at x in the image, and by vi a background sample value with an index i. Each background pixel x is modeled by a collection of N background sample values
M(x) = {v1, v2, . . . , vN}
taken in previous frames. To classify a pixel value v(x) according to its corresponding model M(x), we compare it to the closest values within the set of samples by defining a sphere SR(v(x)) of radius R centered on v(x). The pixel value v(x) is then classified as background if the cardinality of the set intersection of this sphere and the collection of model samples M(x) is larger than or equal to a given threshold. The classification of a pixel value v(x) involves the computation of N distances between v(x) and model samples, and of N comparison with a thresholded Euclidean distance R.
The accuracy of the ViBe model is determined by two parameters only: the radius R of the sphere and the minimal cardinality. Experiments have shown that a unique radius R of 20 (for monochromatic images) and a cardinality of 2 are appropriate. There is no need to adapt these parameters during the background subtraction nor to change them for different pixel locations. 

Last Updated on Tuesday, 15 October 2013 11:50

Comparing background subtraction algorithms

E-mail Print PDF

The bgslibrary by Andrews Sobral includes over 30 background subtraction algorithms, a common C++ framework for comparing them, and an handy C++/MFC or Java app to see them running on video files or live feed from a webcam.

I have run all the background subtraction algorithms against a test sequence that is really hard, as the camera is slightly shaking and the trees are waving due to the strong wind, so building a reliable estimation of the background of this scene is definitely an hard task. The video sequence was also cropped so that it starts with moving objects already in the scene, to check how quickly the background subtraction algorithms react to permanent changes after the initialization. No filtering was performed on the results, as these videos are meant only to compare the relative performance of background subtraction algorithms.

BGSScreenShotEvery video highlighting an algorithm has the screen divided in quadrants:

  • the top-left quadrant shows the input video to be processed by the algorithm
  • the top-right quadrant shows the foreground mask (in white)
  • the bottom-left quadrant shows the estimated background; not every algorithm has an estimated background that can be displayed, so this quadrant may be blank
  • the bottom-right quadrant shows the name of the algortihm in the bgslibrary and the frame number
Last Updated on Wednesday, 18 September 2013 23:26

Page 3 of 9
View Stefano Tommesani's profile on LinkedIn

Latest Articles

Necessary evil: testing private methods 29 January 2017, 21.41 Testing
Necessary evil: testing private methods
Some might say that testing private methods should be avoided because it means not testing the contract, that is the interface implemented by the class, but the internal implementation of the class itself. Still, not all
I am right and you are wrong 28 December 2016, 14.23 Web
I am right and you are wrong
Have you ever convinced anyone that disagreed with you about a deeply held belief? Better yet, have you changed your mind lately on an important topic after discussing with someone else that did not share your point of
How Commercial Insight changes R&D 06 November 2016, 01.21 Web
How Commercial Insight changes R&D
The CEB's Commercial Insight is based on three pillars: Be credible/relevant – Demonstrate an understanding of the customer’s world, substantiating claims with real-world evidence. Be frame-breaking – Disrupt the
Windows Forms smells funny, but... 07 April 2016, 15.38 Software
Windows Forms smells funny, but...
In the "2016 .NET Community Report" just released by Telerik, the answers to the question "What technology would you choose if building for Windows Desktop?" were as follows: So roughly half of new desktop developments would
Say goodbye to
It is not easy to monitor how our code behaves on a vast array of different machines. A myriad of different configurations can lead to errors that are difficult to reproduce and even more difficult to anticipate. And when the