Showing posts with label Techtalks. Show all posts
Showing posts with label Techtalks. Show all posts

Windows 7 desktop gadgets

How do I make Windows 7 desktop gadgets visible on mouse-over only?
With Microsoft Windows 7 desktop gadgets, people either love them or hate them. Those who love them feel the various gadgets add features to the desktop that the standard desktop doesn’t offer. Those who hate them feel like the gadgets only get in the way of a working desktop. For the latter users, there is a way to use gadgets and keep them out of the way until you mouse-over the area of the gadget. This will allow you to take advantage of gadgets without letting them clutter up your desktop.

By default you can make a Windows desktop gadget visible and you can even change the opacity of a viewable gadget. When you set a gadget to a less-than-100-percent opacity, a mouse-over will bring that gadget back to 100 percent. With that in mind, you would think it would be possible to set a gadget’s opacity to 0 percent and then see the gadget with a mouse-over. The problem is that the lowest opacity offered is 20 percent. So how is this done?

In this How do I article, I am going to show you how to get those gadgets to 0-percent opacity, which will then revert to 100 percent upon mouse-over.

First things first

Just in case you’ve never used a gadget before, I thought I should first show you how to view and add gadgets to your desktop. To view the gadgets on your desktop, right-click the desktop and then click View | Show Desktop Gadgets (Figure A).

Figure A
This is also the only way you can toggle gadgets on and off. So if you do not want to make all your gadgets set to 0 percent, you can toggle all gadgets off here to hide them (regardless of opacity).

Now that you have your gadgets visible on the desktop, you will have to add gadgets. To do this, right-click on the desktop and click Gadgets. In this new window (Figure B), you can drag and drop gadgets to your desktop.

Figure B
Don’t see a gadget you need? Click Get More Gadgets Online in the bottom right corner.

When you add gadgets from the online Web site, know that there are a ton of them. You should scan the downloaded file with your antivirus and/or antimalware before you run the installation. Just because the gadget is on the Windows Live site doesn’t guarantee it to be 100 percent free of malicious code.
In order to change the opacity of a gadget, all you have to do is right-click the gadget in question and then click Opacity | X%, where X is a numerical value (Figure C).

Figure C
Why Microsoft doesn’t include a 0-percent value here I will never know. Fortunately, there is a way around this.

The configuration

Now it’s time to configure gadgets so that they have 0-percent opacity. To do this, set the gadget you want to work with at 20-percent opacity. You will then need to follow these steps:
  • Step 1: Kill the Windows Sidebar Task. Just right-click the Panel, select Start Task Manager, and then kill the process sidebar.exe. If you do not kill this process, you will not be able to make the necessary changes for the next steps. NOTE: When you kill this process, all your gadgets will be removed from your desktop.
  • Step 2: Locate and open the settings file for the desktop gadgets. This file is typically in C:\Users\{username}\AppData\Local\Microsoft\WindowsSidebar\. The file you are looking for is called settings.ini. Open this file in Notepad and look for the following string:PrivateSetting_GadgetOpacity=”{20}”Replace the “20″ with the value “1″ so that the entry now looks like: PrivateSetting_GadgetOpacity=”{1}”
    Once you have made that change, save the file and close Notepad.
  • Step 3: Now it’s time to restart the process that handles the gadgets. Click on the Start button and then type sidebar.exe and hit Enter. Your gadgets will now reappear, except the one you set at 20 percent is gone! Ah, but it’s not. If you hover your mouse over the area where that gadget rests, it will magically appear! Voila! You have now made a gadget visible only via mouse-over.
You can do this with all your gadgets if you like. Continue with this process, setting each gadget at 20-percent opacity and then change the value to “1″ in the settings.ini file. Just make sure you kill sidebar.exe before you make any changes in settings.ini and then restart it when you’re done.

Final thoughts

I am a fan of using small apps to make the desktop life easier. In Linux, I use Screenlets for the same function. But when you get enough of these tiny apps on your desktop, the desktop can grow to be a cluttered mess. To achieve desktop organization, you often need the ability to control these apps in ways that might not be allowed by default. But, where there is a will, there is a way. Hopefully this little trick allows you to take advantage of desktop gadgets and still have a clutter-free desktop.

Smartphone Business

Garmin considers exiting smartphone business
Garmin's start to the smartphone business was a rocky one, with numerous delays and a poor introductory device, and though the company's second handset, the Garminfone, was a vast improvement, the outlook for Garmin's smartphone unit isn't a rosy one. In an interview with Reuters, Garmin Chief Financial Officer Kevin Rauckman said sales of its Nuvifone handsets have not met company expectations and that it will examine the business over the next couple of quarters and decide whether to continue to invest or exit the smartphone market altogether.

"We're pragmatic. If we end up ultimately not successful with units...we'll have to sit back and evaluate that and consider making the best decision for our business," Rauckman said.

Smartphone sales for Garmin totaled around $27 million for the second quarter. Currently, the Garminfone for T-Mobile sells for $99.99 with a two-year contract. The Nuvifone is no longer listed on AT&T's Web site, though you can find it at some online retailers for around $315 unlocked. Analysts estimate that Garmin would have to sell around a million smartphones a year to compete in the current market.

Imation Apollo

Imation Apollo 500GB 2.5" Portable Hard Drive

A few days ago I took a look at a Verbatim 160GB 2.5" portable hard drive and I found it to be a decent little product, but today I’ve got the Imation Apollo 500GB 2.5" portable hard drive for review. The Apollo is well made, looks nice, is small and portable and actually averages out to be less expensive per gigabyte when compared to others out there.
So read on to learn more about a great little portable hard drive…
The Apollo comes in an attractive box with pictures and a bit of information on it.
dscf6740 thumb Imation Apollo 500GB 2.5" Portable Hard Drive dscf6742 thumb Imation Apollo 500GB 2.5" Portable Hard Drive
Included with the Apollo is the usual documentation and a dual connection USB cable to provide additional power if need be.
dscf6747 thumb Imation Apollo 500GB 2.5" Portable Hard Drive
dscf6745 thumb Imation Apollo 500GB 2.5" Portable Hard Drive  
I have to saw that the Apollo is a very attractive portable hard disk, when I first opened it I was very impressed not only by it’s looks but by how small it is. The Imation Apollo seems very well made, it feels sturdy and rugged, and it’s lightweight.
dscf6767 thumb Imation Apollo 500GB 2.5" Portable Hard Drive  dscf6771 thumb Imation Apollo 500GB 2.5" Portable Hard Drive
Here is the Apollo compared to a couple other 2.5" enclosures I have on hand, it’s easily the smallest:
dscf6775 thumb Imation Apollo 500GB 2.5" Portable Hard Drive
On one end of course you’ll find a USB connection, the mini style of connector, on the top you’ll also find a small LED indicator that glows blue when powered and blinks to indicate activity.
dscf6760 thumb Imation Apollo 500GB 2.5" Portable Hard Drive dscf6763 thumb Imation Apollo 500GB 2.5" Portable Hard Drive
dscf6956 thumb Imation Apollo 500GB 2.5" Portable Hard Drive dscf6960 thumb Imation Apollo 500GB 2.5" Portable Hard Drive
Of course I was curious and had to pull it apart, something I would highly advise against, besides being very difficult to get apart it’ll most likely void any warranty on the product. Opening it up I found a Samsung HM500LI 500GB, 5400RPM 2.5" hard drive.
dscf6989 thumb Imation Apollo 500GB 2.5" Portable Hard Drive dscf6985 thumb Imation Apollo 500GB 2.5" Portable Hard Drive
Specifications:
Imation Apollo 500GB 2.5" Portable Hard Drive
Imation Apollo 2.5" Portable Hard Drive
The Imation Apollo 2.5" Portable Hard Drive offers high-capacity mobile storage for data, photos, presentations, videos and music in a pocket-sized device that is lightweight, stylish and extremely durable. The Apollo drive is fully USB 2.0 powered and does not require an additional power supply. A blue indicator visually shows when data transfer is in process. The Apollo Hard Drive is available in 160GB, 250GB, 320GB and 500GB capacities, and comes with easy-to-use Total Media Backup software that is compatible with both PC and Mac.
Features: 
* The sleek, ultra slim design easily fits in the palm of your hand or briefcase pocket. 
* Fully USB 2.0 powered, no additional power is required 
* Available capacities include 160GB, 250GB, 320GB and 500GB 
* Easy-to-use Total Media Backup software included 
* Three year limited warranty

Size (LxWxH):   127.4mm x 80.9mm x 17.2mm
System and Software Requirements: 
* Windows® 2000, XP, Vista 
* Macintosh Mac OS 10.2.8 and above 
* Linux® 2.4 and above 
* Total Media Backup software compatible with PC and Mac

Before I get into any testing, Imation did include some backup software already on the drive, you just have to install it. It’s called Arcosoft Total Media Backup, and personally it’s not something I would like to use as my backup software..
Total Media Backup just blanket copies or backs up everything with the parameters you set, you can’t go in and specify certain folders of files to be backed up. You can select the formats, like MPG, DOC, AVI and everything else, but it just searches you hard drive for these file formats and backs them up. You can select full backup or incremental, where it only backs up new files added since the last backup.
Checking the Arcsoft website I found that the version included with the Apollo is a scaled down version, the full version includes burning capabilities as well and a few other features.
Don’t get me wrong here though, Arcosft Total Media Backup could be useful to someone, just not me personally. It’s a great, easy to use backup software solution for those that might not have much experience with this type of thing, in the right hands it could prove very useful and worthwhile.
3 thumb Imation Apollo 500GB 2.5" Portable Hard Drive 4 thumb Imation Apollo 500GB 2.5" Portable Hard Drive 5 thumb Imation Apollo 500GB 2.5" Portable Hard Drive 6 thumb Imation Apollo 500GB 2.5" Portable Hard Drive 7 thumb Imation Apollo 500GB 2.5" Portable Hard Drive 8 thumb Imation Apollo 500GB 2.5" Portable Hard Drive 10 thumb Imation Apollo 500GB 2.5" Portable Hard Drive 12 thumb Imation Apollo 500GB 2.5" Portable Hard Drive
A few days ago I reviewed the Verbatim 160gb 2.5" portable hard drive, so I thought it would make a good comparison for the Apollo, and compare to another I’ve got on hand and the OCZ Rally2 Turbo Flash Drive.
I used SiSoft Sandra 2009 Removable Storage Benchmark for testing and comparison, higher scores are better.
graph thumb Imation Apollo 500GB 2.5" Portable Hard Drive
From all of my time reviewing I’ve learned that it seems the larger things get the slower they are until technology catches up with them, and obviously this is very true here. The Speeds aren’t the greatest, but it’s not really a good comparison either, it would work much better if I had other 500gb HDDs to compare to, but it gives us a general idea anyway.
Personally I’ll take the capacity over the speed any day, the Verbatim was only 160GB, while the Imation Apollo is 500GB, so yeah I’ll take the slower 500gb over the faster 160gb….
The Cheapest I found the 500gb Apollo online for was $172 plus shipping and the cheapest I found the Verbatim online for was $98 plus shipping.
Which, without shipping averages out to 61 cents per gigabyte, while the Apollo averages out to be 34 cents per gig, the Apollo is a much better deal.

Conclusion:
The Imation Apollo is an excellent choice overall for you portable storage and backup needs.
The Apollo might not be the fastest, but it is the cheapest on average per gigabyte from what I found online, and as I said I’ll take the larger capacity over the speed anytime.
The Apollo looks great, it’s small and lightweight making it very portable and it seems well made.
The only suggestion I could make is that Imation should include a carrying case with it to protect the Apollo and carry the USB cable around with you easier.
Pros:
-Small and lightweight
-Large capacity 
-Seems well made 
-Low cost per gigabyte
Cons:
-Not the fastest 
-Included software is basic

Grades:
Overall: score 9 10 Imation Apollo 500GB 2.5" Portable Hard Drive
 Design: score 10 10 thumb Imation Apollo 500GB 2.5" Portable Hard Drive
Performance: score 9 10 Imation Apollo 500GB 2.5" Portable Hard Drive

BelugaFile

BelugaFile – Adobe Air App To Share Large Files Directly Btw Two Computers

Suppose lets say you want to send a large files to your friend, files as big as 5GB in size. What would you do? Send them as Email? Nope. Upload them to free file sharing site? Nope. Create some sort of VPN between two computers? Nope.
No email service supports 5Gb file size, let alone the case where you need to send two or three 5Gb files. No file sharing site will ever allow you to upload such large files, also it is too time consuming. Creating VPN is a good solution, but that too is time consuming and complicated for novice users.
With the coming of Adobe Air 2 we will now begin to see lots of advanced apps build on top of this platform. BelugaFile is one such adobe air app that will probably leave you speechless. It allows two people to easily send each other large files, with no limit. The developer behind this app has send files as large as 6GB without any glitch.
There is only one condition for this app to run smoothly, your network connection must allow UDP traffic. This is quite normal and almost all network connections allow such traffic.
BelugaFile must be running on both computers, just enter the host id or send your host id to the other computer for the connection to be established.
BelugaFile
Once the connection as been established, you will see the same interface on both sides. The important thing to note here is that it is not a one way traffic, both users can share files with each other simultaneously.
The files that you share will be shown under Your Files, while the files that they share will be shown underTheir Files.
beluga file
What surprised us here is the speed. It has the fastest speed we have ever encountered when compared with non-adobe air apps. Overall, it is one perfect tool for sharing large files directly with family, friends, and co-workers.
BelugaFile
It is a cross-platform(Win, Linux, Mac) tool and takes less than 30Mb of system memory when running. We tested it on Windows 7 Ultimate 64-bit. For more, also check out HFS and Fileai, but remember that they are not as reliable as BelugaFile. Enjoy!

ANTS Memory Profiler

ANTS Memory Profiler 5.1

Introduction

As the complexity of your software rises, the chances of things going awry can too. Noticing the rising use of memory and having to restart an application after a few hours of operation could point to memory leaks.
Finding memory leaks is not an easy job but today we’re taking a look at a tool from RedGate to help us on our way to diagnose, locate and plug leaks in your .NET applications.


ANTS Memory Profiler in its fifth major release from RedGate Software which allows you to profile a multitude of different types of .NET Applications written in C#, VB.NET or MC++.
RedGate ANTS Memory Profiler

  • .NET Windows Forms Applications
  • .NET Windows Services
  • COM+ Servers
  • XAML Browser Applications
  • ASP.NET Web Applications - hosted in IIS
  • ASP.NET Web Applications – hosted in a development server
ANTS Memory Profiler is able to profile applications written for the following versions of .NET (and their architectures):
  • .NET 1.1 (x86 only)
  • .NET 2.0 / 3.0 (x86/x64)
  • .NET 3.5 (x86/x64)
The idea behind ANTS Memory Profiler – like most memory profilers, is to take snapshots of your running application at various determined points. Then, compare these snapshots to determine whether objects you expect to have been disposed have in fact been garbage collected. Sometimes you may find objects hanging around even after you’ve called Dipose on them.
We’ll be taking a deeper look at ANTS Memory Profiler using the MySLeakyApplication Windows Forms project attached – written in Visual Studio 2008 using .NET 3.5.

Marching on with ANTS Memory Profiler

ANTS Memory Profiler Settings
We start off by asking ANTS Memory Profiler to ‘Monitor disposal of objects’ which will tell us if objects still remain in memory after we call the Dispose method on them. First thing we notice when we ‘Start Profiling’ is that ANTS Memory Profiler gives you a timeline (based on Performance counters selected) of the Bytes in heap (right up the top) so you can monitor heavy usage over time.
Performance counters
This is also where we ask ANTS Memory Profiler to a ‘Take Memory Snapshot’. Generally, it’s best to take an initial snapshot as soon as the application launches to give you a baseline to begin with, and then take others where you want to ensure that the application is correctly cleaning itself up. For our application, after loading ‘Take Memory Snapshot’, open a few documents and take another, close them and take another.
Whilst you were taking your Memory snapshots, ANTS Memory Profiler was busily working out various metrics and trying to find-out about the state of objects. After consolidating all the data it will present you with a summary allowing you to drill through to find the causes of any leaks. This is where ANTS Memory Profiler really shines. Not only does it show you numbers, but as we will see, it will also present this data in a usable visual fashion.
ANTS Memory Profiler has five distinct views (grouped into 3 different types). First we have a Summary view which gives us a general overview of what ANTS Memory Profiler was able to determine about the session – by default by comparing to the previous snapshot.
Summary view
Next we have the ‘Class List’ pane which shows the namespaces/class names in question along with the actual live size (in bytes) and any changes and how many instances currently reside (including deltas). This is nicely presented to the user with visual cues, all columns are sortable and as an extra helping hand, the classes that belong in the application you’re profiling are marked in bold.
Class list
ANTS Memory Profiler works out various tid-bits about the classes in memory and lets you focus on a particular area by using some powerful Filters. These filter just the things we need to see – rather than the whole shebang.
Some of the standard filters available are:
  • Disposed objects which are still in memory

    This will track down any objects that we have actually called Dispose on but are still held in memory and cannot be garbage collected. This is the first sign that the objects that appear on this list are referenced by another object – or maybe a leaking event handler.
  • Objects on the [ Gen x | Large object] heap

    These are objects that in the particular heap selected.
  • Objects on the finalizer queue but not disposed

    These objects are ones that we should have called Disposed on. There are two very useful filters that will tell you immediately whether you have a possible memory leak.
  • ####Kept in memory only by event handlers
  • ####Kept in memory only by disposed objects.
If there are objects in either filter, you will have to spend some time analysing to plug it. But fear not! ANTS Memory Profiler will give you much more help than just tell you there are some objects that are stuck in memory.
If that wasn’t enough we can filter results even better by using the ‘Advanced Filters’ which deal with only showing certain namespaces, pinned objects, memory by instance and the list goes on!
Lets filter these results by objects that are on the finalizer queue but have not been disposed – so this implies that an object should have had its Dispose method called but we failed to do so.
Comparisons
In the above screenshot – which is comparing Snapshot 3 and 4, we find that ANTS Memory Profiler is telling us that DocumentTabPage is on the finalizer queue but has not been disposed properly.
We can ask ANTS Memory Profiler to give us a Class Reference breakdown – how the particular class references other classes. To do this, click the tree-structure like icon (left) on the selected class name list item.
Tree structure
This will show you the ‘Class Reference Explorer’ view which is presenting how our class (DocumentTabPage) relates to other classes. To the left we see instances which rely on the DocumentTabPage class directly. On the right we see instances which are referenced by instances of DocumentTabPage.
One of the things we can do here is to click on each tree node and dig deeper into that class, get an idea of live instances of the class or the instance of DocumentTabPage even during the time the snapshot was taken.
If we click the ‘System.ComponentModel.EventHandlerList’ item and click to show instances of the class we get a nice ‘Instance List’ view.
Instance list
Here we can drill into the objects and workout relationships and property information to help us determine why this was left around. There are three interesting columns in this view, first is the ‘New Object’ (first column in the picture) which tells us whether this was a new instance created between the two snapshots being compared . Then we have the ‘GC Root Object’ and ‘Distance from GC Root’ column which tells us the number of references from the root GC object to the object being analysed.
The final view ANTS Memory Profiler provides us is the ‘Object Retention Graph’ which gives you – again in a very nicely presented manner, a graph of the chains of references between the GC roots and the selected class instances.
Object retention
ANTS Memory Profiler also gives us an overview of the session and how much memory was used overall – this is found in the ‘Session Overview’ tab.
Session overview

What did we think?

Having used several profilers over the years to profile a multitude of applications, this release of ANTS Memory Profiler is a league above the rest when it comes to gathering and showing developers possible problems in code. What we really enjoyed about the profiler was that it used very little overhead – in comparison to others, which meant we were able to profile some intense applications easily.
RedGate provides a plethora of documentation for every single view and dialog – both inbuilt iconified tooltip help and well written, easy to follow documentation online and video walk throughs. The user-interface is easy to use and adapt to with lots of visual cues (icons, graphs etc.) and makes using the product seamless.
We love the filtering options that really allow us to hone in on particular areas of the code that may need reviewing. The quick view of possible leaky event handlers and disposed but still in memory filters are a godsend!
We only scratched on the main features of ANTS Memory Profiler but we encourage you to download a copy and try it on your own application and give it ago. Try the fully documented walkthrough to give you an understanding of how to use ANTS Memory Profiler.

Fixing the leak

Can you find the leak? We know that the only way we can remove tabs is by calling the CloseDocumentTab method:
private void CloseDocumentTab()
{
    if (DocumentTabs.SelectedTab != null)
    {
        TabPage document = DocumentTabs.SelectedTab;
        DocumentTabs.TabPages.Remove(document);
    }
}
If we simply call Dispose on the use of the ‘document’ variable after removing the item from the TabPages, this leak can be addressed.
private void CloseDocumentTab()
{
    if (DocumentTabs.SelectedTab != null)
    {
          TabPage document = DocumentTabs.SelectedTab;
          DocumentTabs.TabPages.Remove(document);
          document.Dispose();
    }
}