Best Unknown Windows Utilities – Autoruns


No matter how fast your computer, Windows services and startup programs help slow it down at boot time. Autoruns digs far deeper than Windows MSConfig to show you exactly what’s running when you start your computer.

The default Everything tab shows you every startup program and service. To help you manage what’s going on in a more digestible fashion, use the tabs to view specific items: Logon, Explorer, Internet Explorer, Scheduled Tasks, Services, Drivers, Winsock Providers, Print Monitors, LSA Providers, Network Providers, Sidebar Gadgets, Codecs, Boot Execute, Image Hijacks, AppInit, KnownDLLs, and Winlogon.

By default, Autoruns in limited access mode, even for administrators. If you want to enable or disable an option, you might see an Access is Denied error message. Click Run as Administrator, and after Autoruns restarts, make your change.

You can use Autoruns to clear away a lot of startup clutter (for example, if you’re running a proprietary print monitor for a printer you don’t have installed anymore). However, be wary of seemingly “duplicate” entries. For example, in the KnownDLLs tab on a 64-bit system, you will see the same DLL name in two places: the System32 folder and the Syswow64 folder. Don’t disable them!

Download Autoruns here!

Best Unknown Windows Utilities -Process Explorer

Process Explorer

What’s going on when you start your system or run a particular Window program? Process Explorer knows. This tool enables you see the interaction between Windows programs, components, and programs.

To get information about any program, double-click it to open a multi-tabbed properties sheet. How much CPU time and I/O is the program using? Click the Performance Graph tab to find out.

Other tabs reveal process threads, security settings, environment settings, and file (Image) information, TCP and UDP ports used, and additional performance details.

Use the menus to customize color highlighting, select how much information to display, and to search for particular handles or DLL files. Process Explorer provides an unparalleled “inside view” of your system.

Download Process Explorer here!

Shadow Label Control C#



When a customer looks at an application for the first time, they make a lot of decisions based upon the overall appearance of the application. To a developer this can be very frustrating. Many people don’t care if the form that is launched by a button click took ten hours to code. They only care about the appearance. Recently I was getting ready for a software rollout. During my testing and QA I noticed that the plain old Label component bundled in the .NET framework just was too plain to use a banner across the top of my forms. Therefore in order to help the appearance of my form I created a label that can draw a gradient background and some 3D text.  

Using the code

I started by creating a new component that derives from the standard System.Windows.Forms.Label control. Then I overrode the Paint method. Originally I hard coded the colors used in the gradient, drop shadow color etc.

    protected override void OnPaint(PaintEventArgs e)
            e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;

            if (_drawGradient == true)
                using (LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, Width, Height), _startColor, _endColor, _angle, true))
                    e.Graphics.FillRectangle(brush, 0, 0, Width, Height);
            using (StringFormat Sf = new StringFormat())
                switch (TextAlign)
                    case ContentAlignment.BottomCenter:
                        Sf.Alignment = StringAlignment.Center;
                        Sf.LineAlignment = StringAlignment.Far;
                    case ContentAlignment.BottomLeft:
                        Sf.Alignment = StringAlignment.Near;
                        Sf.LineAlignment = StringAlignment.Far;
                    case ContentAlignment.BottomRight:
                        Sf.Alignment = StringAlignment.Far;
                        Sf.LineAlignment = StringAlignment.Far;
                    case ContentAlignment.MiddleCenter:
                        Sf.Alignment = StringAlignment.Center;
                        Sf.LineAlignment = StringAlignment.Center;
                    case ContentAlignment.MiddleLeft:
                        Sf.Alignment = StringAlignment.Near;
                        Sf.LineAlignment = StringAlignment.Center;
                    case ContentAlignment.MiddleRight:
                        Sf.Alignment = StringAlignment.Far;
                        Sf.LineAlignment = StringAlignment.Center;
                    case ContentAlignment.TopCenter:
                        Sf.Alignment = StringAlignment.Center;
                        Sf.LineAlignment = StringAlignment.Near;
                    case ContentAlignment.TopLeft:
                        Sf.Alignment = StringAlignment.Near;
                        Sf.LineAlignment = StringAlignment.Near;
                    case ContentAlignment.TopRight:
                        Sf.Alignment = StringAlignment.Far;
                        Sf.LineAlignment = StringAlignment.Near;
                Sf.FormatFlags = StringFormatFlags.NoClip;
                if (_drawShadow == true)
                    Rectangle retc = new Rectangle();
                    retc = ClientRectangle;
                    retc.X = _xOffset;
                    retc.Y = _yOffset;
                    e.Graphics.DrawString(Text, Font, new SolidBrush(_shadowColor), retc, Sf);
                e.Graphics.DrawString(Text, Font, new SolidBrush(ForeColor), ClientRectangle, Sf);

Download source – 45.62 Kb

Always rely on Array.forEach

After finishing a small JavaScript application tested on Chrome, I realized that Internet Explorer doesn’t support the Array.forEach function. What a surprise IE people.
So I found this on the mozilla website, works like a charm!

if (!Array.prototype.forEach)
  Array.prototype.forEach = function(fun)
    var len = this.length >>> 0;
    if (typeof fun != "function")
      throw new TypeError();

    var thisp = arguments[1];
    for (var i = 0; i < len; i++)
      if (i in this), this[i], i, this);

Web Safe Fonts

There is a fact that limits in a severe way the design process of a site: fonts. Is a serious SEO problem that you ignore the problem and just go and make an image with the desired text. Is also a bad idea to hide the text with a text-indent trick, because serious bots (like google) will identify this and may even penalize your site.

So keep a clear mind, inspire yourself, and stick to the universal fonts. I keep this list updated to have a clear view of the options available. This fonts make good looks cross-browser.

Ready to copy/paste:

  • font-family: Tahoma, Geneva, sans-serif;
  • ‘Lucida Sans Unicode’, ‘Lucida Grande’, sans-serif;
  • Verdana, Geneva, sans-serif;
  • ‘Lucida Console’, Monaco, monospace;
  • Gill Sans / Gill Sans MT, sans-serif;
  • Arial, Helvetica, sans-serif;
  • Georgia, Serif;
  • HelveticaNeue-Light, Arial, Verdana, sans-serif;
  • ‘Palatino Linotype’, ‘Book Antiqua’, Palatino, serif;

Project Natal release date: October 2010, Microsoft confirms

Project Natal is set to launch this coming October in time for the busy Christmas holiday games-buying season, Microsoft has confirmed this week.

Microsoft’s Project Natal motion-sensing camera for the Xbox 360 will launch worldwide “somewhere in October” confirmed Microsoft Saudi marketing manager Syed Bilal Tariq.



New name for Natal

In an interview with website GamertagRadio, Tariq was asked when Natal would be available, to which he replied that the device would be launched in Saudi Arabia on the same day as the rest of the world: at some point in October.

The Natal launch, “is going to be somewhere in October and we will be in a position to confirm the date at E3, which is in June, but definitely it is going to be October 2010” said the Microsoft marketing man.

It was suspected that Natal would be on shelves in time for Christmas, but this is the first official confirmation from Microsoft.

We expect to hear a lot more about plans for new Xbox 360/Natal hardware bundles at E3 in June.

Project Natal is still a codename for the device, so the final public name should also be announced by Microsoft at E3. Speculation as to what that moniker might be begins right here!


Sir Isaac Newton’s apple tree to defy Earth’s gravity on Nasa space flight

A piece of the apple tree that inspired Sir Isaac Newton’s theory of gravity is set to defy the force by being sent into space.

 The four inch section of wood is normally held in the Royal Society’s archives, but it will be launched on the space shuttle Atlantis on its next mission to the International Space Station.
It will be carried by British-born astronaut Dr Piers Sellers as part of the academic institution’s 350th anniversary celebrations.

The tree sample will be accompanied on its trip into space by an image of Sir Isaac, also donated by the Royal Society.

Dr Sellers, who was born in Crowborough, Sussex, said: ‘We’re delighted to take this piece of Sir Isaac Newton’s apple tree to orbit. While it’s up there, it will be experiencing no gravity, so if it had an apple on it, the apple wouldn’t fall.

‘I’m pretty sure that Sir Isaac would have loved to see this, assuming he wasn’t spacesick, as it would have proved his first law of motion to be correct.’

More Information …

About Fuzzy Logic

Fuzzy Logic

Fuzzy logic, developed by the iranian computer scientist Lotfi Zadeh, is an alternative more intuitive
approach to reasoning with imprecise knowledge. It does not claim to have the mathematical
precision of probability theory, but rather to capture common-sense notions.

The background to the notion of fuzzy logic is the idea that a truth value may apply partially, and
that human reasoning often uses this idea of partial truth. For example, the sentence “Fred is
young” might be taken as definitely true if Fred is 19 years old, definitely false is Fred is 50, but
applying partially if Fred is 28. In standard logic we might have a sharp cutoff point, say 30, and
we would then say for any person pwith age below 30, young(p) is true, but for any person q above
30 young(p) is false. In fuzzy logic a numerical value between 0 and 1 is given to express the degree
to which a predicate applies. This can be expressed in graphical form, where the graph on the left
represents the classical logic approach (the x-axis represents age, the y-axis degree of



This represents a situation where anyone under the age of 20 is reckoned as definitely young, anyone
over the age of 40 is reckoned as definitely not young, but the predicate is partial or vague for those
between the ages of 20 and 40. More precisely, where a predicate p is defined by the set of elements
for each of which p(x) is true, in fuzzy logic a predicate p is defined by a set of pairs ‹x,mp(x)›,
where mp(x) is the degree of membership of x in the set which defines p.

Note the difference between this and the probabilistic reasoning described above. When we said
that pr(LF) was 0.5 we did not mean that Fred was half taking the logic course, we meant that the
probability that Fred was taking the course was 0.5. If in our example above the age of Fred is 30, if
Fred is represented by f, and the fuzzy predicate young by y, then from the graph above my(f) is
0.5, meaning that Fred is indeed “half young”.

Fuzzy logic also captures the idea of qualifiers or hedges to predicates in natural language, such as
“Fred is very young” or “Fred is fairly young”. These might be represented in fuzzy logic by graphs
which move the curbed part to the left and to the right of the scale respectively:

The degree of membership of an item x in the union of two fuzzy sets A and B is the maximum of its
degree of membership in Aor B, while the degree of membership in the intersection is the minimum.
So the truth value of PUQfor two sentences in fuzzy logic Pand Q is the minimum of the truth values
of P and Q, while the truth value of P.Q is the maximum of the truth value for P and Q. The truth
value for ¬P is the truth value for P subtracted from 1. So negation is dealt with in a similar way to
probabilistic logic, but the connectives are not.

As an example, let us consider reasoning about the set of subjects in a hypothetical Philosophy
department. This set, called W, is the “frame of discernment” (set of all possible values x for an
attribute). In our example, this set is:

Suppose we have a predicate Interesting, representing how interesting each subject is. In
classical logic we would simply gave to divide the subjects up into those that are interesting and
those that are not. If we suppose that Aesthetics, Politics and Theology are interesting, we
could represent the predicate Interesting by the set

{Aesthetics, Politics, Theology}
However, the reality is that we will not have a straightforward division into interesting and noninteresting
subjects, but rather rate them on a scale of interestingness (note also that, of course, what

one person finds interesting another may not, but for the sake of space we shall not explore this
additional factor). Rather than impose an arbitary cut-off point on this scale, fuzzy logic would
rate the subjects on a 0 to 1 scale. So perhaps Aestheticshas an interest factor of 0.9, Politics an
interest factor of 0.7, Theology an interest factor of 0.8, Metaphysics and Methodology each an
interest factor of 0.5, Logic an interest factor of 0.3, and Epistemology an interest factor of 0.1.
We can represent this by the fuzzy set:


which we shall call I. The function mI gives the interest factor of any particular subject, so
mI(Epistemology) is 0.1, mI(Methodology) is 0.5, and so on. The cutoff point for the classical
logic version was between 0.5 and 0.7. In fact there is a name for this: if A is a fuzzy set in W then
the a-cut Aa is defined by

Aa = {wÎW | mA(w)³a}

The set we suggested for the classical logic set for Interesting above might perhaps be the I0.6
cut. Similarly, I0.4 is {Methodology, Aesthetics, Metaphysics, Politics, Theology}
(note that though we are restricting values of mI(x) to single decimal places for convenience, this is
not essential).

Dealing with negation, Interesting(x) is mI(x), so ¬Interesting(x) is 1-mI(x). For
example, ¬Interesting(Politics)is 0.3. Indeed, we can define a set ¬I representing the fuzzy
set of uninteresting things simply by replacing all the mI(x) in I with 1–mI(x):


Now let us suppose there is another fuzzy set, H, represent how hard each subject is:


Applying the rules of fuzzy set theory, the set HCI is:


while the set HEI is:


So we now have a measure of the degree to which a subject fits into the class of “Hard and
interesting things”represented by the set HCI, and a measure of the extent to which it falls into the
class of “Hard or interesting things” represented by the set HEI.

Note that whereas in classical logic, AU¬A is always false, so the set representing AU¬A is always
the empty set, this is not so in fuzzy logic. The set IU¬I, representing the class of things which are
both interesting and not interesting is:


so it can be seen that the subjects which have the highest degree of membership of this class are
those that are in the middle of the interesting–not-interesting scale. Clearly, the maximum degree
to which any item can have a membership of the set AU¬A is 0.5.

Most of the expected properties of a boolean algebra apply, for example, de Morgan’s rules: ¬(AUB)
is equal to ¬A.¬B. We could define a ® symbol where as in classical logic A®B is equivalent to
¬A.B, so for example, the set representing Hard®Interesting is:


which could be seen as a measure to which the various subjects fit the notion that the hard subjects
are the interesting one. In fact classical predicate logic could be considered just the special case of
fuzzy logic where m(w) is restricted to be 0 or 1.

Recalling the suggestion that xA(x) might be considered as equivalent to A(n1)ÙA(n2)Ù…A(nm)
for minimum considered as representing  pair in the set representingn1 … nm ranging over the objects in the universe, xS for S

a sentence in fuzzy logic is simply them value for any pair in the set representing S, while similarly since $xA(x)

wasA(n1)ÚA(n2)Ú…A(nm), has the value of the maximum m value for anyS. So xInteresting(x) has the value 0.1 and $xInteresting(x)

Biography Professor. Lotfi Zadeh

LOTFI A. ZADEH is a Professor in the Graduate School, Computer Science Division, Department of EECS, University of California, Berkeley. In addition, he is serving as the Director of BISC (Berkeley Initiative in Soft Computing).

Lotfi Zadeh is an alumnus of the University of Tehran, MIT and Columbia University. He held visiting appointments at the Institute for Advanced Study, Princeton, NJ; MIT, Cambridge, MA; IBM Research Laboratory, San Jose, CA; AI Center, SRI International, Menlo Park, CA; and the Center for the Study of Language and Information, Stanford University. His earlier work was concerned in the main with systems analysis, decision analysis and information systems. His current research is focused on fuzzy logic, computing with words and soft computing, which is a coalition of fuzzy logic, neurocomputing, evolutionary computing, probabilistic computing and parts of machine learning.

Lotfi Zadeh is a Fellow of the IEEE, AAAS, ACM, AAAI, and IFSA. He is a member of the National Academy of Engineering and a Foreign Member of the Russian Academy of Natural Sciences, the Finnish Academy of Sciences, the Polish Academy of Sciences, Korean Academy of Science & Technology and the Bulgarian Academy of Sciences. He is a recipient of the IEEE Education Medal, the IEEE Richard W. Hamming Medal, the IEEE Medal of Honor, the ASME Rufus Oldenburger Medal, the B. Bolzano Medal of the Czech Academy of Sciences, the Kampe de Feriet Medal, the AACC Richard E. Bellman Control Heritage Award, the Grigore Moisil Prize, the Honda Prize, the Okawa Prize, the AIM Information Science Award, the IEEE-SMC J. P. Wohl Career Achievement Award, the SOFT Scientific Contribution Memorial Award of the Japan Society for Fuzzy Theory, the IEEE Millennium Medal, the ACM 2001 Allen Newell Award, the Norbert Wiener Award of the IEEE Systems, Man and Cybernetics Society, Civitate Honoris Causa by Budapest Tech (BT) Polytechnical Institution, Budapest, Hungary, the V. Kaufmann Prize, International Association for Fuzzy-Set Management and Economy (SIGEF), the Nicolaus Copernicus Medal of the Polish Academy of Sciences, the J. Keith Brimacombe IPMM Award, the Silicon Valley Engineering Hall of Fame, the Heinz Nixdorf MuseumsForum Wall of Fame, other awards and twenty-six honorary doctorates. He has published extensively on a wide variety of subjects relating to the conception, design and analysis of information/intelligent systems, and is serving on the editorial boards of over sixty journals.

has the value 0.9.