Stefano Tommesani

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

Different types of parallel loops with Intel TBB, SSE2, SSSE3 and Visual C++ 2012

E-mail Print PDF

This is not the first article on this site that discusses how to use the Intel Thread Building Blocks library to spread the computation of an image-processing kernel over multiple threads: the article named "Multi thread loops with Intel TBB" showed how to do it with Intel TBB 2.x. However, due to the enhancements of Intel TBB 4.x, and the availability of C++ 11 compliant compilers such as Microsoft Visual C++ 2012, it is now possible to write more compact and easy to understand code than before.

TBBScreenShot

Last Updated on Wednesday, 01 May 2013 14:06 Read more...
 

Further multi-thread processing with Delphi

E-mail Print PDF

In a previous article named "Easy multi-thread programming Delphi", the AsyncCalls library was used to process multiple images at the same time. However, the processing of every single image was still strictly serial, even if image processing kernels are quite easy to accelerate spreading the load over multiple threads.

In this article we will see how the OmniThreadLibrary can be used to split a simple image processing kernel across multiple threads.

procedure TProcessedImage.EffectBlackWhite(Bitmap : TBitmap32);
var x, y : integer;
    Color : TColor32;
    Red, Green, Blue : Cardinal;
    Gray : Cardinal;
begin
  Bitmap.BeginUpdate;
  try
    for y := 0 to Pred(Bitmap.Height) do
        for x := 0 to Pred(Bitmap.Width) do
            begin
            Color := Bitmap.Pixel[x, y];
            Red := (Color and $00FF0000) shr 16;
            Green := (Color and $0000FF00) shr 8;
            Blue := Color and $000000FF;
            Gray := (Red * 299 + Green * 587 + Blue * 114) div 1000;
            //Io=(0.299Ri + 0.587Gi + 0.114Bi)
            Bitmap.Pixel[x, y] := Color32(Gray, Gray, Gray);
            end;
  except
  end;
  Bitmap.EndUpdate;
end;
Last Updated on Monday, 22 April 2013 15:45 Read more...
 

Facebook authentication with Friend Watchdog

E-mail Print PDF

This article is a description of the integration of Facebook authentication inside Friend Watchdog. It is not meant to be an introduction or a description of Friend Watchdog's features. Please click here for more information about Friend Watchdog.

Why authenticating on Facebook with Friend Watchdog

After authenticating on Facebook, the timeline in Friend Watchdog will contain not only the status of your friends over the past week, but also their activity on Facebook, such as what they posted on their wall, giving a broader overview of what they are doing on Facebook.

ScreenshotSmall

Please note that

  1. enabling the Facebook authentication is optional, and it is not necessary for the main purpose of Friend Watchdog, that is checking when your friends are online
  2. the data obtained with the Facebook authentication is not stored anywhere, not in your computer nor in the Friend Watchdog servers
  3. the data obtained with the Facebook authentication is not sent or distributed in any way, so all the updates shown in the timeline are not transmitted to the Friend Watchdog servers

Last Updated on Monday, 15 April 2013 14:22 Read more...
 

Friend Watchdog free software for Facebook and Skype

E-mail Print PDF

Friend Watchdog is now offline. There are several technical reasons for this choice, the first one being Microsoft dropping support for the chat API in Skype, the second one being Facebook changing the behaviour of their chat servers. But the most important reason is that a lot of people finally became aware that posting data on social networks is really a security risk, any criminal network can develop a system like Friend Watchdog to gain a disturbing insight into day-to-day life of their contacts. Friend Watchdog was designed to be limited in aggregating data about users, for example the FourSquare integration was never published as I felt it was too dangerous, but I am confident that there are similar spiders grabbing and presenting exactly this kind of information. So, as Friend Watchdog was meant to be a wake-up call to users of social networks, I think that the target was achieved, and it's time to turn it off.

Now I know what you did last monday

Friend Watchdog monitors the state of your friends on Facebook and Skype, stores the status changes on remote servers, and lets you check when your friends have been online in the past week.

Please note that you are sending status updates only when Friend Watchdog is up and running, and that status changes from multiple users are merged, so the more users of Friend Watchdog, and the more these users keep Friend Watchdog up and running, the more accurate will be the usage stats.

Facebook status and posts on Facebook wall in the past week

 

Your privacy is safe

Why should you trust Friend Watchdog? Here is why:

  • your Facebook account is NEVER sent to our servers, it is stored in encrypted form only on your computer, and it is used to access your Facebook account from your computer only. There is no way that we can access your Facebook account!
  • we do not know who your Facebook and Skype friends are: the names of your friends are salted and hashed with SHA1, and only the hash is sent to the servers, so that we can distinguish between different friend names but we cannot retrieve friends' names from the hashes. For example, an Facebook username such as "stefanotommesani" generates this unique hash code: CDE381A6C6AD22E844263908022D40C4FE634C37. This hash code uniquely identifies the given Facebook username, but there is no way to go from the hash code back to the Facebook username, so the names of your friends remain private, and only you can see them
  • once you allow Friend Watchdog to connect to the Skype application running on your PC (so that you don't even have to tell Friend Watchdog about your Skype password), it only reads the list of Skype friends and their online status, and that is the only information that is being monitored, always using hash codes to encrypt real names so that your privacy is safe
  • the real names of your friends never leave your PC, only the hashes, that is the encrypted names that cannot be transformed back into the real names, are sent to the servers
  • no need to register, no need to open an account, no need to pay anything, just download the software and run it on your PC
Cloud-based software architecture
Safety of Facebook and Skype
Last Updated on Saturday, 07 December 2013 11:17 Read more...
 

Limiting SkyDrive upload speed

E-mail Print PDF

At the time of writing, the SkyDrive client application on Windows does not support bandwidth throttling on uploads, so if you start uploading a large number of files, it will try to use all the available bandwidth, and this behaviour has an impact on other applications accessing the Internet.

A quick fix to this behaviour is:

  • install a network traffic manager app, such as SeriousBit NetBalancer (I will use NetBalancer in this example)
  • start SkyDrive app
  • start NetBalancer, and look for the SkyDrive process (SkyDrive.exe), right-click to open the menu, and choose Upload Priority | Limit...

SD1

Last Updated on Wednesday, 20 February 2013 13:30 Read more...
 

AltaLux 1.5 in IrfanView

E-mail Print PDF

 

AltaLuxIV1 The AltaLux image enhancement filter is now available in the popular IrfanView image viewer!

Now you can enjoy AltaLux technology inside an advanced image viewer and editor, so trying how AltaLux can effectively enhance your photos is just a click away while you keep using your favourite image viewer.

Last Updated on Sunday, 04 November 2012 12:20 Read more...
 


Page 7 of 10
View Stefano Tommesani's profile on LinkedIn

Latest Articles

A software to stand out 27 January 2018, 14.35 Web
A software to stand out
Standing out of the pack starts by being visible, and being noticed by the right group of professionals. No matter how good your profile is, it is lost in a sea of similar profiles, so you need to show up and start attracting
Web page scraping, the easy way 07 January 2018, 00.46 Web
Web page scraping, the easy way
There are many ways to extract data elements from web pages, almost all of them prettier and cooler than the method proposed here, but as we are in an hurry, let's get that data quickly, ok? Suppose we have to extract the
Scraping dynamic page content 06 January 2018, 23.57 Web
Scraping dynamic page content
One of the most common roadblocks when scraping the content of web sites is getting the full contents of the page, including JS-generated data elements (probably, the ones you are looking for). So, when using CEFSharp to scrape
Unit-testing file I/O 26 November 2017, 12.09 Testing
Unit-testing file I/O
Two good news: file I/O is unit-testable, and it is surprisingly easy to do. Let's see how it works! A software no-one asked for First, we need a piece of software that deals with files and that has to be unit-tested. The
Fixing Git pull errors in SourceTree 10 April 2017, 01.44 Software
Fixing Git pull errors in SourceTree
If you encounter the following error when pulling a repository in SourceTree: VirtualAlloc pointer is null, Win32 error 487 it is due to to the Cygwin system failing to allocate a 5 MB large chunk of memory for its heap at

Translate