The one security tool every Windows user should know about A new zero-day security hole in all versions of Windows is the subject of "targeted attacks," Microsoft says. The flaw, according to Microsoft Security Advisory 2488013, occurs when an attacker exploits "the creation of uninitialized memory during a CSS function within Internet Explorer." The result? "It is possible under certain conditions for the memory to be leveraged by an attacker using a specially crafted Web page to gain remote code execution." Similar holes have been spotted in the past in applications such as Adobe Reader, Adobe Flash, and Apple's QuickTime. The definitive fix for a vulnerability like this is a vendor-supplied patch. That's the goal of Microsoft's Enhanced Mitigation Experience Toolkit (EMET), a simple but powerful configuration utility that allows you to harden applications that weren't originally designed to take advantage of Windows security features. You can also use EMET to overcome a limitation of Address Space Layout Randomization (ASLR). <—Previous page
Design Patterns It has been highly influential to the field of software engineering and is regarded as an important source for object-oriented design theory and practice. More than 500,000 copies have been sold in English and in 13 other languages. The authors are often referred to as the Gang of Four (GoF).[1] History[edit] Introduction, Chapter 1[edit] Chapter 1 is a discussion of object-oriented design techniques, based on the authors' experience, which they believe would lead to good object-oriented software design, including: clients remain unaware of the specific types of objects they use, as long as the object adheres to the interfaceclients remain unaware of the classes that implement these objects; clients only know about the abstract class(es) defining the interface Use of an interface also leads to dynamic binding and polymorphism, which are central features of object-oriented programming. The authors admit that delegation and parameterization are very powerful but add a warning: Formatting[edit]
.NET Rocks! How to build your own Linux distro Since Manchester University's Owen Le Blanc released MCC Interim Linux (generally agreed to have been the first Linux distribution), way back in 1992, there have been hundreds of ways to get the world's favourite free software operating system on to a computer. The diversity of alternatives reflects the diversity in the development community, with distros split along technical, functional, linguistic and even ideological lines. There have been large distros, tiny ones, bleeding edge and rock-solid stable distros. Easy for the newbie to install, or downright impenetrable to the uninitiated. Created exclusively with free software as a badge of pride, or so proprietary in attitude that not even the toolchain was fully GNU (hello Red Flag Server 4.1, built with the Intel compiler in 2004). So with all the variety that's already out there, why would anyone want to create their own distro? What this amounts to is that it doesn't take much to warrant a new distro. Which base? The simple choices
Merge assemblies with ILMerge - LiteMedia ILMerge is a tool for merging assemblies together, which is very useful for easy deployments. Instead of deploying 10 dlls you can deploy one. When distributing applications out to customers you really want to make the application as simple as possible, and the most simple application is one that consist of only one exe. ILMerge in .NET 4 I had some problems using ILMerge with .NET 4 dlls, but managed to get around my problems with some extra parameters. Here's how you merge dlls into a single DLL using ILMerge. ilmerge.exe /lib:"C:\Windows\Microsoft.NET\Framework\v4.0.30319" /lib:"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies" /t:dll /targetplatform:v4,C:\Windows\Microsoft.NET\Framework\v4.0.30319 /out:MyApplication.merged.dll MyApplication.dll ReferenceAssembly1.dll ReferenceAssembly2.dll ReferenceAssembly3.dll It's easy to merge dlls into an exe, just by changing target type. In your build process You can easily apply this in your build process.