Sunday, 4 December 2011

Where to Get Windows 7 Gadgets

Yesterday, I was complaining about Microsoft’s decision to dissolve their extensive Gadget resource.

Today, rather than complaining – I present to you other resources that contain working and useful gadgets. In fact, I wish I searched for these resources sooner – because I find many of these gadgets better than the popular gadgets Microsoft offered on their own resource (mainly because these ones actually work)

So without further ado:
All the above links lead to gadget lists, with some interesting gadgets. I hope they serve you as well as they served me.



Saturday, 3 December 2011

Windows 7 Gadgets

I think it was the day (a couple weeks back) I decided to utilize gadgets to my Windows 7 computer at home, was the day Microsoft decided to downsize this value added feature to their operating system.

Their reasoning is to encourage focus, development, and attention on their next generation operating system, Windows 8, as it is apparent that Gadgets will not have any place in that operating system.

As a programmer, this leaves a few questions unanswered:
  1. Why remove existing gadgets? The main download source was the Microsoft hosted gadget gallery mainly because the operating system will link to it by default. Which became the most accessible (and often only) source of gadgets available for the operating system.
  2. Why not attempt to extend the existing gadget framework to work within the Metro interface in Windows 8? They successfully allowed the gadget framework to move away from the Vista Sidebar of one operating system to the next, why not enhance Metro by facilitating Gadgets within it? Am I the only person that thinks this makes perfect sense!?
  3. Rather than downsize it completely, why not replace the Gadget framework completely with Yahoo Widgets? With all the yahoo take over rumours firing up again, and the BING/Yahoo Search integration working beyond smooth, why not offer an optional update to replace gadgets with Yahoo Widgets? After all Gadgets are notoriously buggy, and their ability to affect start up performance is worrisome, having an optional update that allows for integrated use of Yahoo Widgets only makes sense (especially with all the positive reviews they get).
Final Note,

I have been harvesting Windows Gadgets as of late, and I will be looking around for more. I may share them in a future post just in case I find no alternatives to the Windows Downloads Gadget Gallery popping up elsewhere.

On top of that, I may later review Yahoo Widgets as an alternative…

Until then – have a nice day,


Tuesday, 8 November 2011

Being random wherever I go


I never appreciate being sick because it takes me away from accomplishing anything productive... Even though I do appreciate the rest, chicken soup, mass tea consumption, and the recovery efforts… I’m never quite as satisfied as I would be when being productive…. 


In order to keep myself productive at the office I rarely ever approach a task list top down, rather I randomly choose a task – then work away at it. This creative approach helps me avoid overwhelming myself on a chain of activities… and keeps me productive. In order to fulfill this random selection I made myself a A Random Number Generator on every machine I use. Which becomes very versatile in making decisions on the fly. 


Due to the relative simplicity in making software that generates a random number, writing such an application is never an issue. It usually is just an entertaining endeavour involving the latest technologies available to me. However, due to my constant use of this software, I have become very particular about it’s functionality and all the pre-requisites involved for it’s use… and the size of this list has, well, made it cumbersome for me to find the time to have made one for my most recent pair of computers being:

My main developer computer, and the new machine I have at home….

So… now that I do have some time on my hands… Visual Studio 2010… and a desire to try out WPF… I figure now would be the best time to make a brand new Random Number Generator, to which I shall call “Randomination”

A screenshot:




Click Here to to download:


Hope you found this little app to be useful, leave any suggestions in the comments,



Monday, 24 October 2011

User accounts go missing when restoring a backup on a different SQL Server

Backup and Restore are probably the most favourable mechanisms in the express version of SQL-Server, easily accessible through the management studio, easy to execute, and easy to understand. 

Except when all your users lose access to the server...

Each SQLServer database stores user accounts with SID's (a security identifier) which is generated upon account creation based on where the account itself is created. So, server A's version of a user with the same credentials will have a different SID from server B, ect...

Therefore, when restoring a database from a different server - you will unlink your login's because the SID's do not match, in turn creating "Orphaned Users"

So, it is good practice that after a restore you check if you have created "orphans" by using a stored procedure provided by Microsoft called "sp_change_users_login" in two steps:

  1. List off any orphaned logins:

    EXEC sp_change_users_login 'REPORT'

    (any results from that Query, are considered to be orphans.)
  2. Relink orphaned logins
    EXEC sp_change_users_login 'UPDATE_ONE','username','username'

I have to extend much gratitude for Google and Stack Overflow for being a programmers best friend and finding me a resolve to a problem that has been restricting me from moving data back and forth from developer to deployment servers. They of course leading me to Eric Johnson's detailed article on the matter - a must read - for anyone trying to better understand the issue.

More information on the "sp_change_users_login" stored procedure can be found at:


Alex Casamassima

Sunday, 9 October 2011

Unusual behaviour with new PC’s (with Windows)

Recently I got this question:

Hey Alex, happy Thanksgiving. I have two computer questions for you: my mom got a new laptop, toshiba, and it has randomly been kicking her off the internet and then rebooting on its own, and also all the colours are looking weird on the background picture and on her online strange. Do u know what the deal with it?
My response:

When you get a new laptop, and - being windows, it will often automatically update itself and the updates for Windows Vista and Windows 7 are extensive... like extremely extensive. (They did a lot after releasing it to improve it)

However, these updates are installed "behind the scenes" by default and often require Restarts.

There were also a notorious number of updates in those "Windows updates" that included NVidia and other Graphic Card drivers (the software that run the graphics, screen, ect...) When those drivers get applied, often the resolution and colours would decrease (temporarily) until the computer is restarted.
This all appears to happen while you are doing other things... it's normal with a new PC.

So best way to avoid this from happening behind the scenes is...

  1. Press "Start"
  2. Then type "Windows Update"
  3. Then follow the instructions...
This process will take a while. but it's really good to do it actively than to have it do it in the background not knowing when it will do that random stuff...

Hope that answers your question

- Alex

Thursday, 29 September 2011

Removing Duplicate Records


So you have duplicate records found within tables with unique ID’s

Here are three methods you may want to consider in selecting/removing those duplicates.


Method 1: The unMAX method – just the earliest duplicates

Max will display the largest value of a selected column, in this case your identifier. As a result non duplicated rows will be obtained…  If you negate that result (as shown) you will have only duplicated records:


   1:  DELETE
   2:  FROM MyTable
   3:  WHERE ID NOT IN (
   4:       SELECT MAX(ID)
   5:       FROM MyTable
   6:       GROUP BY DuplicateColumn1, DuplicateColumn2, DuplicateColumn3
   7:  )


*Note* since your negating everything but the largest ID, only the smaller ID’s will be removed

Method 2: The unMATCH method – find all duplicates

Here you compare a table with itself matching all desired duplicated information, and un-matching all equivalent Id’s.

   1:  SELECT M1.DuplicateColumn1, M1.DuplicateColumn2, M1.DuplicateColumn3
   2:  FROM MyTable M1
   3:  INNER JOIN MyTable M2
   4:  ON ISNULL(M1.DuplicateColumn1, '') = ISNULL(M2.DuplicateColumn1, '')
   5:  AND ISNULL(M1.DuplicateColumn2, '') = ISNULL(M2.DuplicateColumn2, '')
   6:  AND ISNULL(M1.DuplicateColumn3, '') = ISNULL(M2.DuplicateColumn3, '')
   7:  AND M1.ID <> M2.ID
   8:  ORDER BY M1.DuplicateColumn1, M1.DuplicateColumn2, M1.DuplicateColumn3

*Note* IsNull prevents comparing null values with blank values. A measure of safety 

Method 3: The ID comparison – just the latest duplicates

Literally a combination of method 1 and Method 2. More straight forward, and with more control. Few more lines in your select statement of course!

   1:  DELETE FROM MyTable
   2:  WHERE ID IN (
   3:       SELECT M1.ID
   4:       FROM MyTable M1
   5:       INNER JOIN MyTable M2
   6:       ON ISNULL(M1.DuplicateColumn1, '') = ISNULL(M2.DuplicateColumn1, '')
   7:       AND ISNULL(M1.DuplicateColumn2, '') = ISNULL(M2.DuplicateColumn2, '')
   8:       AND ISNULL(M1.DuplicateColumn3, '') = ISNULL(M2.DuplicateColumn3, '')
   9:       AND M1.ID > M2.ID
  10:  )


My sources for the above are Pinal Dave and Gordon Bell, thank you!

If you have anything to add please comment.


Technorati Tags: ,,


Tuesday, 11 January 2011

Thank You Everyone - Results announced!

Though unofficial at the moment, the results of the Ward 3 York Region Catholic School Board election were posted. It was an enjoyable and wonderful learning experience! Here are the results:

  • Maria Carnovale - 645 Votes
  • Margherita Thurlow - 421 Votes
  • Sabrina Tagliabue - 185 Votes 
  • Diane Donato - 182 Votes
  • Virgilio Brusco - 180 Votes
  • Donald MacGillivray - 152 Votes
  • Maria Furlano - 140 Votes
  • Alex Casamassima (me) - 77 Votes
  • Bernard Campagna - 71 Votes
  • Lia Cavaliere-Novario - 18 Votes
  • Cathy Carriero - 13 Votes
  • Antonette Rufo - 9 Votes
  • Victor Medina-Leal - 3 Votes
  • Gianleonardo Neglia - 3 Votes

I'm happy that I was managed to accomplish the best result of all the candidates who haven't put up signs, or utilized glossy flyers. None the less, I do feel in-dept to those 77 voters who came out on my behalf with nothing to gain, I'm gracious and thankful for their support (even those who didn't vote and supported me as well) -- I feel as if I should have campaigned more properly in order to justify their support.

Some things that I have learned:
- A single individual with little expense can obtain 50-100 votes, if they invest their time accordingly.
- A single individual with expenses (signs and flyers) can gain 100-200 votes.
- A by-election means more direct voters, each voter must be familiar with the name they are voting for - otherwise signs and flyers would have an exponential result.
- A group of individuals forms a "team" of sorts, this team has to be formed early, and work hard with proper investment. This produces a fairly strong result in elections - a candidate that manages a team demonstrates publicly their own capacity to do a job in terms of "getting things done." On this regard people are willing to support that candidate regardless of knowing them directly or not.

Both Maria and Margherita were aggressive in their campaigning - granted at times I may have disapproved in certain behaviour, they still managed to convey determination and the ability to get things done - This earned them their deserved results.

In turn, I congratulate all the candidates for their efforts.

As well, I thank all those who have supported me!


Alex Casamassima

(maybe I will  do this again, more properly, we'll see)

Sunday, 2 January 2011

Alex Casamassima for "Trustee"

Hello again!

My name is Alex Casamassima, I am running for Catholic School Board Trustee on January 10th - I would strongly appreciate your support. Please take a few minutes to browse around this website to find out more about myself or my platform and be sure to vote January 10th!
Last night - someone asked me:

What is a trustee?

This is a question I heard too often and this is a very important question to know the answer of, especially in terms of an election.

The most formal answer can be found in the "Good Governance" guide available at where it says:

As a member of the board, an individual trustee is expected to act within the board's by-laws and be loyal to the board's decisions. However, as elected persons, trustees are also expected to advocate for the interests of their constituencies.

Essentially, a trustee represents the constituents, students, families and the taxpayers in the decision making process of the school board. As a members of the board, collectively the trustee's responsibilities include:

  • Policy making
  • Student achievement and well- being
  • Allocating resources
  • Policy governing staffing
  • School facilities
  • School Supports
  • Communication

Many of these responsibilities have been neglected in recent years, perhaps this is the reason people are even asking that question in the first place. My intention is to make it very apparent what the Trustee is doing in the next four years - regardless of the results of the election.


Alex Casamassima


Page Hits