This is a mirror of official site: http://jasper-net.blogspot.com/

Crypto++ Library 5.6.0

| Monday, March 15, 2010
Crypto++ Library is a free C++ class library of cryptographic schemes. Currently the library contains the following algorithms:

algorithm type name
authenticated encryption schemes GCM, CCM, EAX
high speed stream ciphers Panama, Sosemanuk, Salsa20, XSalsa20
AES and AES candidates AES (Rijndael), RC6, MARS, Twofish, Serpent, CAST-256
other block ciphers IDEA, Triple-DES (DES-EDE2 and DES-EDE3), Camellia, SEED, RC5, Blowfish, TEA, XTEA, Skipjack, SHACAL-2
block cipher modes of operation ECB, CBC, CBC ciphertext stealing (CTS), CFB, OFB, counter mode (CTR)
message authentication codes VMAC, HMAC, CMAC, CBC-MAC, DMAC, Two-Track-MAC
hash functions SHA-1, SHA-2 (SHA-224, SHA-256, SHA-384, and SHA-512), Tiger, WHIRLPOOL, RIPEMD-128, RIPEMD-256, RIPEMD-160, RIPEMD-320
public-key cryptography RSA, DSA, ElGamal, Nyberg-Rueppel (NR), Rabin-Williams (RW), LUC, LUCELG, DLIES (variants of DHAES), ESIGN
padding schemes for public-key systems PKCS#1 v2.0, OAEP, PSS, PSSR, IEEE P1363 EMSA2 and EMSA5
key agreement schemes Diffie-Hellman (DH), Unified Diffie-Hellman (DH2), Menezes-Qu-Vanstone (MQV), LUCDIF, XTR-DH
elliptic curve cryptography ECDSA, ECNR, ECIES, ECDH, ECMQV
insecure or obsolescent algorithms retained for backwards compatibility and historical value MD2, MD4, MD5, Panama Hash, DES, ARC4, SEAL 3.0, WAKE, WAKE-OFB, DESX (DES-XEX3), RC2, SAFER, 3-WAY, GOST, SHARK, CAST-128, Square

Other features include:

   * pseudo random number generators (PRNG): ANSI X9.17 appendix C, RandomPool
   * password based key derivation functions: PBKDF1 and PBKDF2 from PKCS #5, PBKDF from PKCS #12 appendix B
   * Shamir's secret sharing scheme and Rabin's information dispersal algorithm (IDA)
   * fast multi-precision integer (bignum) and polynomial operations
   * finite field arithmetics, including GF(p) and GF(2^n)
   * prime number generation and verification
   * useful non-cryptographic algorithms
         o DEFLATE (RFC 1951) compression/decompression with gzip (RFC 1952) and zlib (RFC 1950) format support
         o hex, base-32, and base-64 coding/decoding
         o 32-bit CRC and Adler32 checksum
   * class wrappers for these operating system features (optional):
         o high resolution timers on Windows, Unix, and Mac OS
         o Berkeley and Windows style sockets
         o Windows named pipes
         o /dev/random, /dev/urandom, /dev/srandom
         o Microsoft's CryptGenRandom on Windows
   * A high level interface for most of the above, using a filter/pipeline metaphor
   * benchmarks and validation testing
   * x86, x86-64 (x64), MMX, and SSE2 assembly code for the most commonly used algorithms, with run-time CPU feature detection and code selection
         o supports GCC-style and MSVC-style inline assembly, and MASM for x64
   * certain versions are available in FIPS 140-2 validated form

Read more: Crypto++

Posted via email from jasper22's posterous

Dirty Dirty Silverlight Hack... - Silverlight 4 Hack: Use Native/Desktop CLR Without COM Registration

|
Here is a hack of the month. Jeremiah is probably my favoriate Silverlight Prodagy and he has done it again with this wonderful hack, 'Use Native/Desktop CLR Without COM Registration' I like the first line, "WARNING: Information and code here can easily be abused. Please do not use it as a crutch in application planning, but more for utter despair or experimentation. Thus I wrote this blog post from that perspective."

Certainly Jeremiah's code can be abused but what is really interesting to me is how this is one more way to push the limits of what Silverlight can do. 'Hacking' doesn't have to be evil but can be just that pushing the limits and making things better. With that commentary here is the first paragraph and sample code from his article and for the rest you will have to go read his post:

Silverlight 4 + OOB + Elevated Trust gives us the ability to use COM. That would be extremely useful (vs. really useful), except we cannot use just any COM class. It has to support IDispatch (COM automation). It also has to have a ProgID associated to it. That leaves you still with quite a few built-in COM objects to work with, as Justin document's quite well here. What about running our own native or .NET code? One would have to register a COM object first, which requires administrator rights. That’s no fun for an end user! Optimally, it would be nice to be able to add your desktop CLR objects as resources to your XAP, and from Silverlight code, be able to instantiate and use your Desktop .NET classes. This is a hack to do just that.

Read more: HackingSilverlight

Posted via email from jasper22's posterous

Fedora 13 –New Features

|
Fedora 13 ‘Goddard’ alpha is released .There are many new features are there .

Following are new features :

  1. 3D Support for Nvidia Systems
  2. Improved Software management
  3. Topology Awareness
  4. Enhanced Init System
  5. Installer Changes
  6. Firefox 3.6 Web Browser
  7. Webcam Support
  8. NetworkManager
(more...)

Read more: LinuxTree

Posted via email from jasper22's posterous

Anatomy of Test Automation “Tooling”

|
image_thumb.png

In many Microsoft product development teams, there are dedicated resources that work on test automation “tooling”.  For instance, I lead a team for Microsoft Dynamics AX that works on a portion of the test automation “tooling” for the team.  But what exactly is the “tooling” that is needed for successful test automation?  This post provides my perspective on the key components in the test automation “tooling” anatomy.

Here’s a simple picture of the anatomy that is typical of automation systems.  Some tooling, like the Visual Studio 10 Test and Lab Management toolset, has several or all of these components integrated.

Read more: Dave Froslie

Posted via email from jasper22's posterous

In-Process Side-by-Side

|
As we built the .NET Framework 4, one of the more difficult problems we faced was maintaining compatibility with previous releases while still adding new features and functionality. We followed strict processes requiring approval for any changes that might introduce compatibility issues—most were rejected—and ran a compatibility lab with hundreds of real applications to find any unintentional breaks.

But every time we fix a bug there’s the risk that some application depended on that wrong behavior. Sometimes applications take dependencies we have warned against, such as the behavior of private APIs or the description text of exceptions.

Since the .NET Framework was introduced, we’ve had a good solution for application compatibility: allow multiple versions of the .NET Framework to be installed on the same machine at the same time. This enables two different applications, built against two different versions and installed on one machine, to each run against the appropriate version.

What Does In-Process Side-by-Side Mean to You?

End Users and System Administrators: You now can have confidence that when you install a new version of the runtime, either independently or with an application, it will have no impact on your machine, and all existing applications will continue to run as they did before.

Application Developers: In-Proc SxS has almost no impact on application developers. Applications have always defaulted to run against the version of the framework on which they were built and this has not changed. The only change in behavior we have made that impacts application developers is that we will no longer automatically run an application built against an older runtime on a newer version when the original version is not present. Instead we will prompt the user to download the original version and provide a link to make it easy to do so.

We still provide configuration options that allow you to indicate which versions of the framework you want your application to run against, so it is possible to run an older application on a newer runtime, but we won’t do it automatically.

Library Developers and Consumers: In-Proc SxS does not solve the compatibility problems faced by library developers. Any libraries directly loaded by an application—either via a direct reference or an Assembly.Load*—will continue to load directly into the runtime and AppDomain of the application loading it. This means that if an application is recompiled to run against the .NET Framework 4 runtime and still has dependent assemblies built against .NET 2.0, those dependents will load on the .NET 4 runtime as well. Therefore, we still recommend testing your libraries 
against all version of the framework you wish to support. This is one of the reasons we have continued to maintain our high level of backward compatibility.

Managed COM Component Developers:

Read more: MSDN magazine

Posted via email from jasper22's posterous

How do I switch to 32bit mode when I use windbg to debug a dump of a 32bit application running on an x64 machine?

|
If you use (32bit version or 64bit version of) windbg to open a dump of a 32bit application running on an x64 operating system, you get 64bit look of the 32bit application by default. For example,

0:001> k
Child-SP RetAddr Call Site
00000000`027eebc8 00000000`7529ab46 wow64cpu!WaitForMultipleObjects32+0x3a
00000000`027eec70 00000000`7529a14c wow64!RunCpuSimulation+0xa
00000000`027eeca0 00000000`777305a8 wow64!Wow64LdrpInitialize+0x4b4
00000000`027ef200 00000000`776e68de ntdll!_LdrpInitialize+0x49db8
00000000`027ef2b0 00000000`00000000 ntdll!LdrInitializeThunk+0xe

0:001> r
rax=000000000af7e3b8 rbx=00000000778ecb94 rcx=00000000004b6a18
rdx=0000000000000018 rsi=00000000004b6a18 rdi=0000000000000000
rip=000000007577374f rsp=00000000027eebc8 rbp=0000000002a9fee0
r8=000000000000002b r9=00000000778c99fd r10=0000000000000000
r11=0000000000000212 r12=000000007efd8000 r13=00000000027efd20
r14=00000000027eec00 r15=0000000075773380
iopl=0 nv up ei pl nz ac pe nc
cs=0033 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000212
wow64cpu!WaitForMultipleObjects32+0x3a:
00000000`7577374f 418bbda0000000 mov edi,dword ptr [r13+0A0h] ds:00000000`027efdc0=00000000

The wow64 stuff in the call stack and the x64 registers do not tell us much.

To get the meaningful 32bit look of the application, you need to switch the processor mode that the debugger uses to 32bit by entering either .effmach x86 or !wow64exts.sw in windbg. The two commands are basically same. You should see output like the following:

0:001> !wow64exts.sw
Switched to 32bit mode

Read more: MSDN Forum Support Team

Posted via email from jasper22's posterous

ASP.NET Performance Toolset

|
Any consultant can streamline ASP.NET Application performance troubleshooting process when he has a good toolset handy. By “good” I mean the tools are well known and it is free. These two attributes usually help passing security department smoothly and never meet procurement department too. These departments are well known road blockers. For a reason…

Before I go onsite I usually ask a customer to get the following tools into the customer’s network. Do not have to install it, just make it available internally. Quite a few customers have rigorous procedures of getting software into internal network so having it beforehand saves a lot of idle time.


Read more: Alik Levin's

Posted via email from jasper22's posterous

New, But Not So Obvious, Features in .NET 4.0

|
.NET 4.0 came out lately with a lot of new, cool, and somewhat game-changing features. These features include language features like the famous dynamic keyword in C# and this whole dynamic dispatching thing that made possible by the DLR (Dynamic Language Runtime).There are also some additions on the library level, the parallel extensions is an obvious example of that.

In this post I will mention some of the new additions that are not so well propagated.

First The additions to the string class:
The BCL guys are still working on the core. Apparently they are trying to lessen the number of extension methods that you need to write as a complement to some of the very core, and widely used in any application, classes -Pretty much everyone has a StringExtensions, and DateTimeExtensions dlls.

string.IsNullOrWhiteSpace()

The old string.IsNullOrEmpty() was used to check if the string variable is null or if it's equal to the empty string ("", or string.empty)In many cases a string that contains only white spaces is considered to be an empty string. People used to do the following check over and over again:

if ( string.IsNullOrEmpty(s) && s.Trim() != string.Empty )  
{  

// do my job;  
}


Read more: Programming for COWARDS

Posted via email from jasper22's posterous

שימוש במספר Sessions ב- IE8

|
Session_nomerge.png

עם Internet Explorer 8 משתמשים ומפתחים מסוגלים להריץ מספר instances של הדפדפן, נפרדים לחלוטין, כל אחד ב- session  משלו.
על-מנת ליצור Session חדש יש לבחור באפשרות New Session מתוך תפריט File (לחיצה בודדת על כפתור ה- Alt השמאלי תגרום לחשיפתו של התפריט במידה והוא אינו כבר מופיע).

Posted via email from jasper22's posterous

Windows 7 Libraries C# Quick Reference

|
Following are some listings to be used as a quick reference to common Windows 7 Libraries features using Windows API Code Pack.

The code in this post is based on previous work by Alon and other Sela team members. Great work all.

Forward

Just to clarify the terminology used: Every Windows 7 library is represented as an XML file with the .library-ms extension. The common libraries files are commonly stored in: C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Libraries\

So if, for example, we work now with the Pictures library, than in the following sections:

libraryName = Pictures
locationPath = C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Libraries\

Note: you can create library files wherever you want, not necessarily in the mentioned folder.

Features

Creating a new library
-------------------------------
ShellLibrary shellLibrary = new ShellLibrary(libraryName, locationPath, overwriteExisting);

Add folder to an existing library
--------------------------------------------
using (ShellLibrary shellLibrary = ShellLibrary.Load(libraryName, folderPath, isReadOnly))
{
   shellLibrary.Add(folderToAdd);
}

Read more: Arik Poznanski's Blog

Posted via email from jasper22's posterous

SCSI Interface for Multimedia and Block Devices

|
This C#-based library allows you to communicate directly with devices that follow the SCSI standard from user-mode, such as CD/DVD drives and hard disks. You can use this library to create your own CD burning program, just as the sample utility does.

The SCSI T10 Standard
The SCSI standard, published by the T10 committee (http://www.t10.org/), governs access to many modern computer devices, such as block devices (e.g. hard disks) and multimedia devices (e.g. CD/DVD drives).

Sample Program
To test this project, just download the sample ISOBurn utility. You can recompile it or use the Release version of the binary.
The steps:

  1. Run the ISO burning utility.
  2. Drag the files and folders you would like to burn to the right or left pane, respectively.
  3. Insert a writable CD in your burner drive (rewritable disc preferred).
  4. Click Burn!

Read more: Codeplex

Posted via email from jasper22's posterous

SQL SERVER – Checklist for Analyzing Slow-Running Queries

| Sunday, March 14, 2010
I am recently working on upgrading my class Microsoft SQL Server 2005/2008 Query Optimization and & Performance Tuning with additional details and more interesting examples. While working on slide deck I realized that I need to have one solid slide which talks about checklist for analyzing slow running queries. A quick search on my saved book mark link come up with interesting book online link.

This link very clearly suggests: To save time, consult this checklist before you contact your technical support provider.

I strongly suggest you to do the same, first consult this checklist and if you still further need help, leave comment here.
Checklist for Analyzing Slow-Running Queries

There are a number of common reasons for slow-running queries and updates:

   * Slow network communication.
   * Inadequate memory in the server computer, or not enough memory available for SQL Server.
   * Lack of useful statistics
   * Lack of useful indexes.
   * Lack of useful indexed views.
   * Lack of useful data striping.
   * Lack of useful partitioning.

Read more: Journey to SQL Authority with Pinal Dave

Posted via email from jasper22's posterous

How to merge your referenced assemblies into the output assembly for improved usability

|
Something we've been doing in moq since the very beginning is to have a single assembly as output: Moq.dll. This reduces the clutter for users and lets them focus on what they need from our library, rather than getting the noise of whatever third-party (or internal) libraries we use to implement it.

This is good from the deployment point of view too, and if all your libraries are actually internal infrastructure assemblies, you can even make them all internal types of your output assembly.

The key to all this is ILMerge, and it's very easy to setup in a project. You just need to download the installer, copy the included executable somewhere (i.e. "Tools") near your project and reference it from a post-build task in the project. The following configuration merges all referenced assemblies that have "Copy Local" set to true into the output assembly, and internalizes all the types in those libraries (makes them all internal to the output assembly)

Read more: Clarius

Posted via email from jasper22's posterous

Sharing Solutions between VS 2008 and VS 2010

|
I have a solution with several projects that I currently work on in VS 2008. I would like to use VS 2010 for it instead, to benefit from new debugger features etc… but it should remain on the .NET 3.5 platform, and I would also like to keep things compatible so the solution can be opened and built in VS 2008 later on, if necessary.

I’m sure I haven’t looked at everything yet, and perhaps there will be issues down the line. But it certainly seems that this is pretty simple. Of course, right when you open such a solution in VS 2010, it doesn’t look simple at all: the import wizard comes up and wants to convert your projects. After you’ve done that, VS 2008 won’t open your solution anymore. Hm… so Microsoft doesn’t want you to do this?

Looking at the project (.csproj) files, quite a lot of changes have been made. The version number has been increased, but there’s also lots of new stuff included in the various sections of the file. That looks difficult. The solution (.sln) file on the other hand has only one change made, which is the version number. Now guess which of the two is the one that causes the problem? Wrong.

The problem is in fact the solution file. Although it’s only the version number that has changed, that number is evidently used to prevent opening the solution in an older VS version. Fair enough – until you find out that it is perfectly possible, and apparently even safe, to open the vastly more complex project files in an older VS version. Go figure.

Read more: Oliver Strums weblog

Posted via email from jasper22's posterous

World Expo Shanghai 2010 Pavilions – Some Favourites

|
In less than two months the 2010 Shanghai World Expo will start its six-month run. As I’m slowly catching Expo Fever, I thought I’d run through a few of my favourite pavilions, comparing and contrasting what the official word on the structure is with my amateur thoughts and opinions.

This list is by no means a complete list of pavilions or “good” pavilions. Rather, it is a list of the pavilions that stuck out to me in my random browsing of the Internet and the official World Expo Shanghai 2010 Web site.

Israel !!!
shanghai-expo-pavilion-israel.jpg


Turkey
shanghai-expo-pavilion-turkey.jpg


France
shanghai-expo-pavilion-france.jpg

Read more: Lost Laowai

Posted via email from jasper22's posterous

MY SISTER SAID IF I GET ONE MILLION FANS SHE WILL NAME HER BABY MEGATRON

|
The name of Mike Affinito's Facebook page says it all: "MY SISTER SAID IF I GET ONE MILLION FANS SHE WILL NAME HER BABY MEGATRON."

Launching the page on February 27, Affinito had more than five months to rally the million followers before the baby is due.

It took only 13 days.

Tickled by the idea of naming the child after the leader of the Decepticons in "The Transformers," 10 Facebook users joined in the first hour. Now, each hour brings thousands of new fans. The official count, as of this writing, reads 1,097,139. Not bad for a wager that no doubt sounded absurd in the beginning.

Read more: The Cristian Science monitor
Official page: Facebook

Posted via email from jasper22's posterous

Win XP needs some TLC to use next-gen hard drives

|
Solid state drives may be the fast-moving wave of the future in PC storage, but the technology for bigger and better magnetic media keeps on trucking. Only recently, that truck hit something of a pothole: the 4096-byte sector size that will allow advanced format drives to have more usable space (and surpass the current 2TB capacity limit) doesn't play nice with the world's most popular OS -- Windows XP. While manufacturers like Western Digital have already introduced software that successfully combats the problem, the new drives perform poorly in Win XP without it, and rival manufacturer Seagate told the BBC that even with software tricks, XP users should expect the occasional 5ms delay, or 10% speed reduction, during write times. Is this the end of Windows XP? Hardly. Should you make sure to install the software that comes with your next hard drive? Absolutely.

Read more: Engagdet

Posted via email from jasper22's posterous

The Dark Side of the Web

|
Beneath the web pages indexed by Google lies an online world that few know exists. It's a realm of huge, untapped reserves of valuable information containing sprawling databases, hidden websites and murky forums. It's a world where academics and researchers might find the data required to solve some of mankind's biggest problems, but also where criminal syndicates operate, and terrorist handbooks and child pornography are freely distributed. Interested? You're not alone. The deep web and its 'darknets' are a new battleground for those who want to uphold the right to privacy online, and those who feel that rights need to be sacrificed for the safety of society. The deep web is also the new frontier for those who want to rival Google in the field of search." The melodrama is tempered, though: "The deep web isn’t half as strange or sinister as it sounds. In computer-science speak, it refers to those portions of the web that, for whatever reason, have been invisible to conventional search engines such as Google.

Read more: Slashdot

Posted via email from jasper22's posterous

Programming the Commodore 64: the Definitive Guide

|
Back in 1985 it was possible to understand the whole computer, from the hardware up through device drivers and the kernel through to the high-level language that came burned into the ROMs (even if it was only Microsoft BASIC). The Reinvigorated Programmer revisits R. C. West's classic and exhaustive book Programming the Commodore 64  and laments the decline of that sort of comprehensive Deep Knowing.

Read more: Slashdot
Official site: Programming the Commodore 64

Posted via email from jasper22's posterous

Spiders on drugs

|