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

You Can Now Buy Up to 16 Terabytes of Storage from Google

| Friday, February 4, 2011
Yesterday we told you how Google Docs is inching closer to being the mythical "Gdrive." Today Google announced that users can now buy up to 16 terabytes of storage for $4,096.00 per year. The storage can be used with Gmail, Picasa Web Albums and Google Docs. Those that don't need quite that much can choose from cheaper options:

20 GB ($5.00 per year)
80 GB ($20.00 per year)
200 GB ($50.00 per year)
400 GB ($100.00 per year)
1 TB ($256.00 per year)
2 TB ($512.00 per year)
4 TB ($1,024.00 per year)
8 TB ($2,048.00 per year)
16 TB ($4,096.00 per year)

Sixteen terabytes may seem like an insane amount, but consider the benefit this will provide to media professionals who work with large video and audio files or architects and engineers working with 3D modeling software. However, there is still a limit of one gigabyte per file.

Read more: ReadWrite web

Posted via email from Jasper-net

גוגל מגייסת מפתחי אפליקציות לאנדרואיד

| Thursday, February 3, 2011
גוגל רצינית לגבי צמצום פער האפליקציות מול אפל. היא כל כך רצינית, שהיא החליטה לגייס מפתחי אפליקציות לאנדרואיד. גיוס האנשים הנוספים מתבצע במקביל להסבה של חלק מאנשי גוגל לעבוד על פרויקט האפליקציות הגדול של גוגל.

התחרות בין גוגל לאפל
התחרות הניטשת בימים אלה בין גוגל לאפל נסובה סביב התחרות על השוק הסלולרי. אפל, מפתחת האייפון, אחראית לחומרה ולמערכת ההפעלה של האייפון. במקביל, כדי לוודא שיש לה שליטה רמה על כל הנעשה בעולם האייפונים, היא שולטת בצורה דראקונית על כל האפליקציות אשר ניתנות להורדה דרך חנות האפליקציות שלה.

כל אפליקציה שמגישים לאפל לצורך הוספתה לאפסטור, צריכה לעבור מסכת אישורים. אם היא לא עוברת אותם, היא לא תיכנס לחנות, אפילו אם המתכנתים רוצים לספק אותה בחינם לכל דורש. אבל זה לא מסתיים ברגע שהתקבלתם. אפליקציה שכבר קיבלה אישור, עדיין יכולה למצוא את עצמה בעתיד במצב בו נשלל ממנה הרישיון של אפל, והיא מורדת מהחנות הוירטואלית.

אפל גם סוגרת על המפתחים מהצד השני, מצד הפיתוח. כדי לפתח אפליקציות ל-iOS צריך מחשב אפל (או למען הדיוק macOS), רישיון מפתח, ואת תוכנת הפיתוח הייעודית של אפל ליישומי אייפון (ישנם אפשרויות אחרות לפתח יישומי Web למכשירים של אפל, אך אנו מתייחסים לאפליקציות רגילות). את כל אלה, למעט הראשון, ניתן לרכוש בלעדית מאפל. לגבי המחשב, ניתן לבנות Hackintosh המריץ מערכת הפעלה חוקית שנרכשה מאפל, וכך אפשר להתגבר על הצורך ברכישת מקבוק או מחשב תפוחי אחר.

אפליקציות מתחרות
לאפל יש היסטוריה של הסרת אפליקציות של גוגל, או אי אישורן מלכתחילה. החברה ספגה ביקורת על כך, ובסופו של דבר, החזירה אותן. ע"ע אפליקצית ה-Google Voice של גוגל, שחזרה לאחרונה לחנות לאחר הורדה מתוקשרת.

חנות האפליקציות של אפל מובילה כיום על פני חנות האפליקציות של מכשירי האנדרואיד, על אף העובדה שחנות האפליקציות של גוגל מצמצמת את הפער בצעדי ענק ולאחרונה החלו להופיע סימנים המעידים על מהפכה קרובה בתחום. היות וכבר בסוף 2010 נמכרו יותר מכשירים המריצים אנדרואיד מאשר מכשירי אייפון, תפוצת מערכת ההפעלה הסלולרית של גוגל הופכת את פיתוח האפליקציות עבורה לכדאית הרבה יותר מבעבר.

Read more: NeewsGeek

Posted via email from Jasper-net

Turn off your PC and BitTorrent from a Linux console with rTorrent

|
This week's series of tips is all about downloading files via BitTorrent. We'll highlight ways in which to torrent more efficiently, obtain higher download speeds, and generally make the whole process easier. For more tech tips, check our Tips index.

Only noobs BitTorrent from their main Windows or Mac computer! Torrenting uses a lot of system resources and can significantly slow down your computer if you have a few torrents open. Additionally, you don't want to upload lots of data while you play games, or while other people in the house are using the Internet -- and really, leaving your computer on over night to download torrents is rather uneconomical.

The best solution, short of getting a VPS and doing your torrenting remotely, is to install a headless Linux or BSD box and control all of your torrents via the text-only console. Now, this isn't a guide on how to set up your own Linux box (there are hundreds of them online, just search) -- but basically any old, unused computer will do. Ideally you want it to be headless (i.e. without a monitor), so that you can put it under the stairs and so that it draws as little power as possible. If you can't choose a distro, Ubuntu Desktop is just fine.

Once you have a Linux box, log in via SSH and install rTorrent, which is by far the best console-based BitTorrent client -- and there are packages for every popular distro. Next, transfer some torrent files onto the Linux box: you can transfer them from your PC using FTP or SFTP (with Filezilla), or download them directly, via the console, with wget.

Read more: DownloadSquad

Posted via email from Jasper-net

How to Transfer Files Between Your PC and Android Phone Wirelessly

|
Mounting your Android phone to transfer files is fast and efficient, but nothing beats the convenience of a wireless file transfer. Today, we’ll show you how to transfer files between Android and your computer without a USB cable.

What You’ll Need
Before we go into the details, you need to install several applications on your Android phone:

  • ES File Explorer is an excellent file manager for Android. It comes with a built in search function, image viewer, and most importantly a LAN browser that we’ll use to transfer files to our computer through Wifi.
  • swiFTP is a lightweight FTP server that lets you transfer multiple files from Windows, Linux, or Mac through a secure FTP connection.
Both of them are available for free from the market, and they both worked in our HTC Desire HD when we tested them in our rooted and non-rooted phone.

Enabling FTP Access to Your Phone
Once installed, swiFTP is available from the application screen.

Swoftp-app-screen1.png

Read more: How-to-geek

Posted via email from Jasper-net

יצירת אפליקציה ל-Ovi Store / מדריך

|
אני לא יודע מה הגורם הפסיכולוגי שמוביל אותי פעם אחר פעם לסלוד מהגדולים ביותר, אבל, כמו שאמרתי – אני סולד מהגדולים ביותר. אני לא שונא אותם, אני לא מייחל לנפילה שלהם אבל באופן אוטומאטי אני עובר לצד של האנדדוגז, אלו שכביכול נמצאים בעמדה של נחיתות.

המקרה הכי בולט בעיני היום הם חברות כגון נוקיה, שמאבדת את השליטה בשוק הסלולרי, ומיקרוסופט, שכשלה בניסיונה לייצר מכשירים סלולרים (קין), בניסיונה לתפוס נתח שוק מכובד בין מערכות ההפעלה הסלולריות (וינדוז 7 מובייל, מעניין באמת לאן זה יתפתח) וגם בניסיון שלה לשלוט בשוק נגני ה MP3 (זון Zune).

אי לכך ובהתאם לזאת אני מתייצב לימין האנדרדוגז ומפרסם את המדריך ליצירת אפליקציה לשוק האפליקציות של נוקיה, ה OVI Store, אם אתם רוצים לראות את האתר או את הבלוג שלכם במכשירי סלולר של נוקיה זה המדריך הסודי אותו חיפשתם. בואו נתחיל:

1. הפעילו את הדפדפן שלכם (שכבר פועל כי אתם קוראים את השורות האלו. מצטער, אני פשוט אוהב להתחכם).

2. כנסו לקישור הבא.

3. נרשמים: זהו טופס הרישום, לא מורכב ולא מסובך. אני מאמין (או לפחות מקווה שאתם, כקוראים של הבלוג שלי) תצליחו למלא אותו בכוחות עצמכם. אני מאמין בכם. אחרי שתקבלו מייל אישור מנוקיה תוכלו להמשיך לשלבים הבאים:

sign-300x239.jpg

Read more: NeewsGeek

Posted via email from Jasper-net

Julia Meets HTML5

|
Google labs has created a demo web page where fractals combine with HTML5 to give a fully interactive viewer that uses nothing but JavaScript and as many cores as you care to offer it and not a plug-in in sight

Read more: Slashdot
Read more: Google

Posted via email from Jasper-net

Managed Windows API

|
A collection of .NET components that wrap PInvoke calls to access native API by managed code.

What is "Managed Windows API" good for?

The Problem

If you want use Windows functionality in a .NET application which is not covered by the .NET framework (there is no "managed API" available for it), you usually have to use PInvoke, an interface that allows to invoke raw API functions from C# and VB.NET.

However, this is quite cumbersome. pinvoke.net does a great job in helping you to get the correct PInvoke declaration, but still you have to do lots of error-checking and ensure that you did not forget to handle all the corner cases. When accessing PInvoke declarations directly, this may lead to low-level code spread all over your apllication.

To avoid that, you usually write your own C# classes or .NET components to wrap all PInvoke stuff and provide the caller with a nice, high-level interface for the low-level API (that uses enums for enumerated values, reports errors by throwing exceptions, etc.)

However, if every developer does this for every API he uses, lots of time and energy is wasted for reinventing the wheel.

The solution

"Managed Windows API" is a collection of C# components that wrap Windows API functionality. It contains those features the author needed for his C# development, but if you have components yourself you want to share, please submit them so that this project can grow.

Are there example programs available?

Yes and no. You might have a look at the Managed Windows API Tools. Started as a collection of ManagedWinapi samples, the Managed Winapi tools evolved into a toolbox of lots of small but useful tools that solve their specific task well. They can still be used as reference for how to use ManagedWinapi, but their functionality may make it hard to find the relevant code parts quickly.

Read more: Managed Windows API

Posted via email from Jasper-net

'Holographic' Honeycomb theme for Google Chrome now available

|
honey.jpg

Roman Nurik has done it again. Nurik created the Android theme for Google Chrome, which has long been one of the most popular entries in the Chrome Extensions Gallery. Now he's released the next logical progression, a 'holographic' Honeycomb theme.

Read more: DownloadSquad

Posted via email from Jasper-net

Transfer MS Access Database To MySQL In 4 Simple Steps

|
Transferring database from one system to another is always a headache regardless of how big or small the migration scale is. Therefore, database managers, generally, look out for a simple tool which can perform export and import operations with all the variations involved. If you’re planning to migrate data from Access to MySql, you’d probably have a lot methods in mind to port databases. Before implementing any of them, try MS Access to MySQL. It is an ingeniously simple utility to quickly port Access database to user-defined MySql database.  While it supports a wide range of database formats, including, MDB, MDE, ACCDB, and ACCDE, it shows MySql database hierarchy to choose the destination database path. Furthermore, password protected (encrypted) databases can also be exported on the fly without having to decrypt them.

It allows two transfer modes – Direct transfer and Dump file creation. In direct transfer mode, you need to enter the host address, port, DB username and password along with DB name where data has to be directly ported, optionally, you can choose a local location to create SQL dump file for importing it later.


It has a simple wizard with 3-4 steps for transferring data. In the first step specify source database, second step refers to choosing transfer type. Depending upon the type, it will ask you to choose options in latter steps. In direct transfer mode, enter the all required information for establishing connection, specify DB name, and pick out the storage engine.

ss_destinationdatabase_thumb.png

Read more: Addictive Tips

Posted via email from Jasper-net

Gimp Paint Studio expands GIMP with new brushes, presets

|
Looking for a way to expand GIMP's default toolset? Have a look at Gimp Paint Studio, a Creative Commons-licensed set of brushes and tool presets that add a wide range of new artistic options to your painter's toolbox. While GPS itself is a fantastic and functional add-on for GIMP, its creators hope that it also provides a spark to encourage others to experiment with the open source photo app's extensibility features.

Read more: DownloadSquad

Posted via email from Jasper-net

Google Tried To Buy Path For $100+ Million. Path Said No.

|
77256v1-max-250x250.jpg

Yesterday we reported on Path’s new $8.5 million venture round, led by Kleiner Perkins and Index Ventures. I was curious about the valuation and pulled on a couple of threads. What unraveled was a stunning story about a startup that almost ran out of cash, a rebuffed $100+ million buyout offer from Google, and, finally, a new round of financing.

Path is still very small, with just “hundreds of thousands” of users, said the company yesterday. It’s a private mobile network limited to just 50 friends, which makes viral spreading difficult. But we’re also hearing that 20% of active users are using it daily – a Zynga-like engagement rate that is a sign that at least some people really connect with Path.

In early December Path had a signed term sheet with Kleiner Perkins and Index. At that point Google made a move, eventually offering $100 million for the company plus an earnout of $25 million to be paid over four years. Taking that Google offer would seem to most people like a no brainer. And for founders like Dustin Mierau, who haven’t had liquidity events, a life changing experience.

Read more: Techcrunch

Posted via email from Jasper-net

Five Ways the Android-Powered Google Tablet Is Better than the iPad

|
The iPad is easily the best tablet you can buy right now, but that's changing. Google showed off their upcoming tablets today, casting a spotlight on the iPad's shortcomings. Here are the Android features we wish we had on our iPads.

A Helpful, Simple, and Non-Intrusive Notification System

500x_android-home-screen.jpg

The Android vs. iOS fight isn't relegated to cellphones anymore. Google's tablet-focused Android operating system is introducing several great new features to Android-based tablets that we like considerably more than their feature-counterparts on the iPad. The notification system in iOS has always been nothing more than a series of pop-ups and long an annoyance of its users. This has been an issue on the iPhone, but it's particularly frustrating on a tablet where there's so much more space to make use of less-intrusive options. Android's new built-in notifications are extremely useful and stay out of your way. Music controls are easily brought up from the bottom of the screen and don't require the double-click of the home button and an additional swipe just to pause or change songs. When you receive a message in Android, you get a nice little message that fades in at the bottom of the screen to let you know without any additional interruption. On the iPad, all notifications come through the same pop-ups that not only interrupt what you're doing but can sometimes cause so much of an interruption that it'll cause you to lose a game you're playing, lose your position in a web video, or cause a few unintended typos.

True, Useful Multitasking
A Better Home Screen
A (Better) Camera App

Read more: Lifehacker

Posted via email from Jasper-net

The Google Art Project Makes Masterpieces Accessible to All

|
200px-Venus_von_Willendorf_01-thumb-200x376-41617.jpg

Gone are the days of jet-setting to galleries in Manhattan, Florence, London, or Madrid. As of yesterday, all you need to become a museum maven is an Internet connection. Google Art Project, the brainchild of a small group of art-happy Google employees, brings the Street View technology of Google Earth and Google Maps inside 17 museums around the world. The roster includes The Uffizi, the Tate Britain, The Met, MoMA, and the Van Gogh Museum.

The Google Art Project collection, as a whole, consists of 1,000 works of art by more than 400 artists, and this is only the beginning. Google hopes to add more museums and works of art to its virtual dossier soon.

As I explored the project I couldn't help but recall my first college art history class, "A Survey of Art History." In the class, which was, by the way, far from a survey, and more of a sketch, we covered centuries of art in just over three months. Do I remember specifics about any single work of art? Of course not (with the exception of the fertility statue, Venus of Willendorf, for obvious reasons). Venus of Willendorf aside, the only other memory I carried with me at semester's end was my professor's tagline about every famous work of art: "You couldn't possibly understand until you see it firsthand." I remember thinking to myself, "If I couldn't possibly understand artwork in Williamsburg, Virginia, then why am I here?"

Read more: The Atlantic
Read more: Google Art

Posted via email from Jasper-net

Dell Releases Ubuntu-Powered Cloud Servers

|
Dell has released two servers for the U.S. market that have been customized to run Ubuntu-based cloud services. The company has outfitted its PowerEdge C2100 and C6100 servers with Canonical's Ubuntu Enterprise Cloud (UEC), an implementation of the Eucalyptus private cloud software that runs on the Ubuntu Server Edition operating system

Read more: Slashdot

Posted via email from Jasper-net

5 Fresh And Best Free PSD Website Templates

|

CodeIgniter

|
CodeIgniter is a powerful PHP framework with a very small footprint, built for PHP coders who need a simple and elegant toolkit to create full-featured web applications. If you're a developer who lives in the real world of shared hosting accounts and clients with deadlines, and if you're tired of ponderously large and thoroughly undocumented frameworks


Read more: CodeIgniter

Posted via email from Jasper-net

Deploying Silverlight with WCF Services

|
So I know that this topic is nothing new, however, this is still one of the most common deployment issues that people ask me about.  That being the case, I decided to add a post on the topic to demonstrate my approach.

I love the work the Silverlight team has put in to generating client stubs for web services.  It was not that long ago that I was having to write out all of those stubs and I’m glad to be done with it. However, there is one piece of the puzzle that seams to be missing from the solution: smooth deployment of the Silverlight application and the WCF services.

Setting up Our Project
To get started on the topic, let’s begin by setting up a project so we can look at what is going on under the hood.

Start by creating a new “Siverlight Application” in Visual Studio 2010.  When creating the project, make sure you have the following two options set: “Host the Silverlight applcation in a new Web site” and do not check the “Enable WCF RIA Services”.

image_thumb.png

Read more: .NET Rocker

Posted via email from Jasper-net

Pretty Slick Real-time Traffic Monitoring with LiveStats & Trends

|
GoSquared thinks monitoring your website’s traffic should be simple, fun & enlightening. So they have built LiveStats and Trends, which are beautiful and powerful, yet easy to use web application for monitoring your traffic.
LiveStats shows you what’s happening on your website right now. It shows you your top content based on how many people are currently reading it. LiveStats finds all the stats you could need about your visitors. Find out which browser, and which operating system your visitors are using. Know their location down to city level. You can even find out whether your visitors have Adobe Flash installed, and the resolution of their computer screen. All in real-time – while your visitors are still online.

livestats.jpg

Read more: WebAppers

Posted via email from Jasper-net

SVN (subversion) for windows tip

|
For those of you who use SVN (subversion) for windows and TortoiseSVN as your 100% free source control solution with a Microsoft visual studio environment I have a small tip that may save you some time.

When you want to commit in code you get all the files that were modified, added or deleted.
As you compile a project, many output files that are not truly source control files are created. These include the bin, obj, debug, and release files.

For example, when I added a new project and wanted to commit it in I got the following:

As you can see, although not marked by default, I got irrelevant files which I will encounter over and over again each time I will want to commit in code or check for modifications.
One option you have to is to right click the irrelevant files and then add them to your ignore list.
The problem with this - is that each time something changes in your project files or your TortoiseSVN settings were lost for some reason (finally got that new fancy laptop the boss promised you...) you'll have to do this again.

Instead, you have the very nice option to go to your source code repository main root, right click somewhere inside the folder and then click on the TortoiseSVN --> Properties sub menu item .
Then you will get the following screen:

PropertiesScreen3.jpg

Read more: Benjamin Bondi

Posted via email from Jasper-net

XNA 4.0 Content Compiler

|
Project Description
XNA 4.0 Content Compiler Compile to .xnb your texture files, audio files and SpriteFont files without adding to the Content project.
Very Usefull in tools to create content for a game.

Compile (All supported by XNA):
Image Files: *.bmp, *.jpg, *.png, *.tga, *.dds;
Audio Files: *.wav, *.mp3, *.wma;
SpriteFont Files: *.spritefont;

With the source Code, just add more file types(Like .X or .fbx) and compile it !!

Read more: Codeplex

Posted via email from Jasper-net

IT Salary Levels: Staffers vs. Superstars

|
38) Operations Analyst

Current Mean Salary:

2010: $59,897 // 2011: $61,915

Change: 3.37%

“Superstar” Benchmark 4th Quartile Salary:

2010: $80,297 // 2011: $84,888

Change: 5.72%

IT Job Description: The Operations Analyst is responsible for providing technical guidance for planning, directing and monitoring data processing operations. The Analyst analyzes proposed and actual projects in terms of equipment and personnel costs; plans and recommends machine modifications and additional equipment to increase the capacity of the system; monitors and allocates direct access storage device (DASD) space. The Analyst reports to the Senior Operations Analyst.

39) Personal Computer Specialist

Current Mean Salary:

2010: $49,432 // 2011: $50,881

Change: 2.93%

“Superstar” Benchmark 4th Quartile Salary:

2010: $68,173 // 2011: $70,608

Change: 3.57%

IT Job Description: The Personal Computer Specialist is responsible for the overall coordination, control and maintenance of Personal Computers within the enterprise to insure compatibility and integration with enterprise strategies.

40) Production Control Analyst

Current Mean Salary:

2010: $63,212 // 2011: $63,214

Change: 0.00%

“Superstar” Benchmark 4th Quartile Salary:

2010: $70,350 // 2011: $70,374

Change: 0.03%

IT Job Description: The Production Control Analyst’s principle responsibility is reviewing documentation for the operations production environment. The analyst maintains the enterprise computer job schedules, entailing job setup, report distribution, and screening user requests. The Production Control Analyst reports to the Senior Production Control Analyst and Production Services Supervisor.

41) Programmer/Analyst

Current Mean Salary:

2010: $71,256 // 2011: $74,055

Change: 3.93%

“Superstar” Benchmark 4th Quartile Salary:

2010: $132,094 // 2011: $141,439

Change: 7.07%

IT Job Description: The Programmer/Analyst develops procedures for the solution of well-defined, routine business problems. The Programmer/Analyst converts these procedures into applications and programs required for computer solutions.

42) Senior Network Specialist

Read more: Datamation

Posted via email from Jasper-net

TSQL Challenge 48 - Parse and evaluate Arithmetic Expressions using TSQL

|
The primary goal of this challenge is to demonstrate the power of Recursive CTEs introduced in SQL Server 2005. Recursive CTEs allow you to implement almost any algorithm in a single TSQL statement. This challenge is to parse and evaluate arithmetic expressions using TSQL.

Source Data

id expr x0 dx points --- --------- ---- ----- ------ 1 1+2*(4+x) 0 0.1 4 2 x^2/2 0 0.1 4 3 x^x 0 10 4

Expected Results

expr x value --------- ------ -------------------------- 1+2*(4+x) 0 9 1+2*(4+x) 0.1 9.2 1+2*(4+x) 0.2 9.4 1+2*(4+x) 0.3 9.6 x^2/2 0 0 x^2/2 0.1 0.005 x^2/2 0.2 0.02 x^2/2 0.3 0.045 x^x 0 1 x^x 10 10000000000 x^x 20 1.048576E+26 x^x 30 2.05891132094649E+44

Notes

“expr” could be any valid expression using single digit constants, the single variable x, the operators + - * / ^ and possibly parentheses
“x0” is the starting position on the x-axis
“dx” is the increment for each value
“points” is the number of values to generate which will be greater than zero
The result should be sorted by expr, x
All calculations should be done using full float precision and number range. The display of numbers in the value column should be in the format generated by a float(53) data type.

Read more: Beyond Relational

Posted via email from Jasper-net

Code Analysis using VS.Net 2010

|
The Code Analysis tool is available as part of Visual Studio. When we enable code analysis, our code is validated against the rule defined in Microsft FxCop (current version is 1.36). FxCop is a free code analysis tool from Microsoft available for a long time and now it is integrated within Visual Studio in the form of Code Analysis option which is available. There are many design rules, coding conventions, security, usage guidelines and localization rules defined in the form of rules and we can run our code through all these rules.

To understand this, lets dig into this. I have created a sample project called SampleCATest which has just one method. When I build this code, I get zero warnings and errors.

Now, under project settings, go to Code Analysis tab.

I am enabling Code Analysis, ignoring code analysis rules for generated code and using Microsoft Minimum recommended rules.

fig2.gif

Read more: C# Corner

Posted via email from Jasper-net

CLR Managed Debugger (mdbg) Sample 4.0

|
Overview
The CLR Managed Debugger sample illustrates how to build a managed debugger using the included managed wrappers for the CLR Debugging Services APIs (ICorDebug).

Read more: MS Download

Posted via email from Jasper-net

Ready... cancel... wait for it! (part 1)

|
One of the cardinal rules of the OVERLAPPED structure is the OVERLAPPED structure must remain valid until the I/O completes. The reason is that the OVERLAPPED structure is manipulated by address rather than by value.

The word complete here has a specific technical meaning. It doesn't mean "must remain valid until you are no longer interested in the result of the I/O." It means that the structure must remain valid until the I/O subsystem has signaled that the I/O operation is finally over, that there is nothing left to do, it has passed on: You have an ex-I/O operation.

Note that an I/O operation can complete successfully, or it can complete unsuccessfully. Completion is not the same as success.

A common mistake when performing overlapped I/O is issuing a cancel and immediately freeing the OVERLAPPED structure. For example:

// this code is wrong
HANDLE h = ...; // handle to file opened as FILE_FLAG_OVERLAPPED
OVERLAPPED o;
BYTE buffer[1024];
InitializeOverlapped(&o); // creates the event etc
if (ReadFile(h, buffer, sizeof(buffer), NULL, &o) ||
    GetLastError() == ERROR_IO_PENDING) {
 if (WaitForSingleObject(o.hEvent, 1000) != WAIT_OBJECT_0) {
  // took longer than 1 second - cancel it and give up
  CancelIo(h);
  return WAIT_TIMEOUT;
 }
 ... use the results ...
}
...
The bug here is that after calling Cancel­Io, the function returns without waiting for the Read­File to complete. Returning from the function implicitly frees the automatic variable o. When the Read­File finally completes, the I/O system is now writing to stack memory that has been freed and is probably being reused by another function. The result is impossible to debug: First of all, it's a race condition between your code and the I/O subsystem, and breaking into the debugger doesn't stop the I/O subsystem. If you step through the code, you don't see the corruption, because the I/O completes while you're broken into the debugger.

Read more: The old new thing

Posted via email from Jasper-net

Intercepting calls to COM interfaces

|
Contents

1.       Introduction
2.       Some basic concepts of COM
3.       Practical example
3.1.    Approach #1: Proxy object
3.2.    Approach #2: Vtable patching
4.       Conclusions
5.       References

Introduction  

In this article I’m going to describe how to implement COM interface hooks. COM hooks have something in common with the user-mode API hooks (both in goals and in methods), but there are also some significant differences due to the features of COM technology. I’m going to show two the most often used approaches to the problem, emphasizing advantages and disadvantages of each one. The code sample is simplified as much as possible, so we can concentrate on the most important parts of the problem.

Some basic concepts of COM

Before we start with intercepting calls to COM objects, I’d like to mention some underlying concepts of COM technology. If you know this stuff well, you can just skip this boring theory and move straight to the practical part.

All COM classes implement one or several interfaces. All the interfaces must be derived from IUnknown. It’s used for reference counting and obtaining pointers to other interfaces implemented by an object. Every interface has a globally unique interface identifier - IID. Clients use interface pointers to call all methods of COM objects.

This feature makes COM components independent on binary level. It means if a COM server is changed it doesn’t require its clients to be recompiled (as long as the new version of the server provides the same interfaces). It is even possible to replace COM server with your own implementation.

vtable.png

Read more: Codeproject

Posted via email from Jasper-net

Google: Bing Is Cheating, Copying Our Search Results

|
Google has run a sting operation that it says proves Bing has been watching what people search for on Google, the sites they select from Google’s results, then uses that information to improve Bing’s own search listings. Bing doesn’t deny this.

As a result of the apparent monitoring, Bing’s relevancy is potentially improving (or getting worse) on the back of Google’s own work. Google likens it to the digital equivalent of Bing leaning over during an exam and copying off of Google’s test.

“I’ve spent my career in pursuit of a good search engine,” says Amit Singhal, a Google Fellow who oversees the search engine’s ranking algorithm. “I’ve got no problem with a competitor developing an innovative algorithm. But copying is not innovation, in my book.”

Bing doesn’t deny Google’s claim. Indeed, the statement that Stefan Weitz, director of Microsoft’s Bing search engine, emailed me yesterday as I worked on this article seems to confirm the allegation:

As you might imagine, we use multiple signals and approaches when we think about ranking, but like the rest of the players in this industry, we’re not going to go deep and detailed in how we do it. Clearly, the overarching goal is to do a better job determining the intent of the search, so we can guess at the best and most relevant answer to a given query.
Opt-in programs like the [Bing] toolbar help us with clickstream data, one of many input signals we and other search engines use to help rank sites. This “Google experiment” seems like a hack to confuse and manipulate some of these signals.

Read more: search engine land

Posted via email from Jasper-net

KDE 4.6 Has Arrived, with Many Enhancements for Users and Developers

|
The KDE community has announced the arrival of its latest set of releases, including major updates to the KDE Plasma workspaces, KDE Applications and the KDE Platform. KDE remains one of the most popular desktop environments, and the new releases bring a raft of new features. The KDE team has supplied an info page that details some of the additions and bug fixes. Here are some of the enhancements.
KDE Plasma Workspaces now feature a new Activities system, designed to make it simpler to associate applications with particular activities such as work or home tasks. KWin, the Plasma workspace window manager, also has a new scripting core, and the workspaces also have a number of  visual enhancements. Do you work on a netbook? Plasma Netbook is optimized for mobile computing devices and has a number of speed enhancements. There is also a touchscreen interface. For more details read the KDE Plasma Workspaces 4.6 announcement.
As is typical upon new releases of KDE, there are many new enhancements to applications. These include improved routing capabilities in KDE’s virtual globe, Marble, and advanced filtering and searching use of file metadata in the KDE file manager. Dolphin also has enhanced faceted browsing. The KDE Games collection also has many additions and the image viewer Gwenview and screenshot program KSnapshot now have the ability to instantly share images to a number of popular social networking sites. There is a rundown of these additions in the KDE Applications 4.6 announcement.

Read more: OSTATIC

Posted via email from Jasper-net

10 Git Version Control Utilities to Make You More Effective

|
I'm one of many developers who really enjoy using the Git version control system. A Git Groupie, if you will. It's one of those software projects that just feels right practically from the very first commit. If you're also a "committed" Git user (get it?), you're probably always looking for ways to more effectively manage your repositories. If so, check out the 10 Git utilities introduced in this article.

1. Use Git on Windows with TortoiseGit
The tortoise has somehow become synonymous with running open source version control projects on Windows, thanks to a long line of namesake projects traced back to the 2000 release of TortoiseCVS (a Windows-based CVS client). Over the years several sibling projects were created for interfacing with other popular version control solutions, including TortoiseSVN and TortoiseHg. In late 2008 TortoiseGit became the latest addition to the series, providing Windows users with an impressively well-integrated Git client.

TortoiseGit depends upon Git for Windows, so be sure to install it before installing TortoiseGit. See the TortoiseGit website for all of the installation and configuration details.

2. Browsing Repositories with gitk
If you'd like to view repository changes using a convenient graphical interface, check out gitk. Gitk is a repository browser that makes it easy to review and search a project's commit history. Figure 1 presents a screenshot of the gitk file-browsing window opened to one of my forthcoming books.

gitk.png

Read more: developer.com

Posted via email from Jasper-net

Social Media Analytics Research Toolkit – version 2.0.5

|
I've just released version 2.0.5 of SMART@znmeb as a result of some comments on the gallery page. There are no functionality changes, although as part of the build process, the openSUSE packages are the latest available. There were two comments.

  1. One user was having difficulty loading the appliance in VMware Player. So I have replaced the Open Virtualization Format (OVF) version of the appliance with a standard VMware / VirtualBox / KVM "vmdk" version.
  2. Another user wanted to know if the appliance would run in Amazon EC2. I don't have an Amazon EC2 account, but SUSE Studio is capable of building Amazon EC2 appliances, so I built one. If you have an Amazon EC2 account and would like to try the appliance out there, please send me a tweet or an email if you have any luck, good or bad, with it.
For some reason, the changes involved in the build seem to have created an error condition building the LiveDVD version (.iso file.) I'll check back with the SUSE Studio mailing list on that, but meanwhile

Read more: Borasky Research Journal

Posted via email from Jasper-net

Дополнение MediaWiki для Office Word 2007 и 2010

|
Сегодня мне необходимо было сделать несколько страничек в MediaWiki, так как в ней мы ведем всю нашу документацию.

Но сколько бы я с ней не работал, все время забываю ее синтаксис, особенно для таблиц. Во всяком случае быстрее и проще мне работать в Microsoft Office. Недолго думая решил поискать конвертор из doc формата в формат MediaWiki.

Как оказалось, на этот случай у Microsoft уже есть готовое решение - «Microsoft Office Word Add-in For MediaWiki», которое позволяет сохранять созданные файлы с форматом MediaWiki.

Ну что же, для начала попробуем скачать данное дополнение и посмотрим, что оно может.

Первое, что необходимо, это скачать и установить данный пакет. Скачать его можно вот по этой ссылке (MediaWiki Add-in from Microsoft).

Установка не вызывает особых сложностей  и после неё, если мы в документе нажмем «Сохранить как», то в выпадающем списке можно будет видеть «Сохранить как  MediaWiki (*.txt)».

saveasmediawiki.png
Read more: MS Download

Posted via email from Jasper-net

Third-Party Support for Visual Studio Coded UI Testing

|
If you have been using Visual Studio 2010 and Microsoft Test Manager for automated UI testing, you may have experienced some issues with building the Coded UI tests if your application is using third-party components.  It has been quite frustrating having been to several customer sites over the past year and running into this issue.  My suggestion for anyone that has run into these issues is to open a support case with the component vendor and request that they add the necessary accessibility support to their component vendors.  This will allow each of them to track the interest for this type of support in their products and then also provide a way to inform you whenever it is supported.

There doesn’t seem to be a definitive list of the third-party controls that do or don’t support Coded UI testing at the moment.  I have attempted to gather all of the information to provide a one-stop shop for this support.  I’ll include links to updates, add-ons, etc. as I receive them.

Read more: Ed Squared

Posted via email from Jasper-net

תוסף לצפייה בפורמט H.264 ב- Chrome על Windows

|
גוגל הודיעה לאחרונה שתפסיק לתמוך בפורמט H.264 בדפדפן כרום. פורמט ה- H.264 הינו תקן נפוץ מאד באינטרנט ואתרים רבים המציגים סרטונים ב- HTML5 משתמשים בו. תקן זה מאפשר למשתמשים להעלות לרשת האינטרנט כל סרטון שצולם במצלמת וידאו ולנגן אותו בדפדפן בכל מערכת הפעלה או התקן בעל תמיכה ב- H.264, למשל PC אשר מותקנת בו מערכת הפעלה Windows 7.

היום, כחלק מעבודת האינטראופרביליות במיקרוסופט, החברה משחררת את Windows Media Player HTML5 Extension for Chrome, תוסף לכרום שבעזרתו משתמשי Windows 7 יוכלו לנגן סרטי וידאו מקודדים ב H.264 בתוך דפי HTML5 על ידי שימוש ביכולות הנמצאות ב- Windows 7.

ניתן להוריד את התוסף כאן.

רק לפני כחודש שחררה מיקרוסופט תוסף דומה לפיירפוקס המאפשר הצגת סרטים בפורמט H.264 בסביבת Windows.


Read more: קוד פתוח במיקרוסופט

Posted via email from Jasper-net

Task Parallel Library 1 of n

|
I have just started work on what will be a 6 part series of articles on an in depth look into using the .NET 4 Task Parallel Library (TPL).

I have just published the 1st part in this series of article which is available using this link:

http://www.codeproject.com/KB/cs/TPL1.aspx

This article covers the following topics:

  • Comparing Threads and Tasks
  • Starting Tasks
  • Handling Exceptions With Tasks
  • Cancelling Tasks
  • UI Synchronization Using Tasks
I hope it has something there for you, and i hope you read the rest of the articles when I get them up.

Read more: sachabarber.net

Posted via email from Jasper-net

Incorrect C++ compiler behavior in Visual Studio

| Wednesday, February 2, 2011
As most C++ programmers know, an object that has been constructed via the new expression must be destroyed by calling delete. The delete-expression invokes the object’s destructor which in turn is responsible for clean up tasks. For instance, here’s some sample code that shows object creation, and then freeing it up via delete:

Foo *pF = new Foo();
// Do some work
delete pF;

The C++ Specification for delete has this to say:

The delete-expression operator destroys a most derived object (1.8) or array created by a new-expression.

delete-expression:
::opt delete cast-expression
::opt delete [ ] cast-expression

The first alternative is for non-array objects, and the second is for arrays. The operand shall have a pointer type, or a class type having a single conversion function (12.3.2) to a pointer type. The result has type void. (emphasis mine)

So, given that the delete expression has the return type void, what do you think the C++ compiler should do when it sees the following code:

Foo *pF = new Foo();
// Do some work
delete delete pF;

Read more: .NET Zone

Posted via email from Jasper-net

Latest Windows 7 “How Do I” videos series now live!

|
Increase your productivity and knowledge of Windows 7 with the help of the latest series of Windows 7 “How Do I?” videos.  These short 10- to 15-minute videos focus on specific tasks and show you how to accomplish them step-by-step. Check back often or subscribe to the RSS feed to be notified when new videos are added every week.  Get started with one of the latest videos below:

(more...)

Posted via email from Jasper-net

מדריך WCF מאת שלמה גולדברג

|
שלמה גולדברג  פרסם לאחרונה מדריך מקצועי  בן 10 פרקים למי שרוצה ללמוד לפתח ב- WCF. 
המדריך כתוב בצורה מקצועית וקלה להבנה עם צילומי מסך, הסברים ועוד.

למי שלא יודע מה זה WCF, לפני שנתחיל נעשה יישור קו קטן, WCF זה ראשי תיבות של Wndows Communication Foundation, הרבה לפני ש - WCF הגיע לאוויר העולם יכולנו לכתוב אפליקציות מבוזרות - כלומר - אפליקציות שבצד אחד יש לקוח ובצד שני יש שרת והם מתקשרים ביניהם, התקשורת התבצעה במגוון דרכים , הפופולרית היא כמובן WebService אבל יש עוד הרבה דרכים כמו Remoting ואחרים, כמובן שבכל צורת תקשורת צריך לבחור את הפרוטוקול ולכל צורת תקשורת יש את היתרונות והחסרונות שלה, החל מניהול תהליכים עד לעניני Security.


Read more: בלוג MSDN ישראל

Posted via email from Jasper-net

CLRProfiler V4 Released

|
CLRProfiler V4 is now publicly available.  You may download from here:

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=be2d842b-fdce-4600-8d32-a3cf74fda5e1

This is of interest both to folks who want a free profiler to diagnose memory issues with their managed apps, and for folks who author profilers of their own, and would like to look at source code of a real-world example of a profiler.

If you just want to run it…
Then the following new features will be of interest to you:

  • CLRProfiler V4 allows you to profile managed code that uses .NET 2.0, 3.0, 3.5, or 4.0.  However, you must always have .NET 4.0 installed on your box in order to use CLRProfiler V4, as CLRProfiler itself contains managed code that depends on .NET 4.0
  • CLRProfiler V4 can target Silverlight 4 web apps.
  • CLRProfiler V4 may be used to attach to and detach from live processes, to generate heap graphs.  (Note:  This feature requires the process to be running .NET 4.0, does not work against Silverlight, and does not allow gathering allocation call stacks.)
  • CLRProfiler V4 understands in-process side-by-side CLR instances, and can allow you to pick which CLR instance from a given process to profile.
If you want to write a profiler…

Then you may look through the source code for examples of all the above features, including how to target Silverlight, use the attach / detach API, and how to implement the “pick-one” approach for in-process side-by-side CLR instances.

Read more: David Broman's CLR Profiling API Blog

Posted via email from Jasper-net

SQL Server Appliance Base Monitoring Management Pack

|
Overview
The SQL Server Appliance Base Management Pack helps you manage your SQL Server Appliances by discovering different types of SQL Server Appliances in your network and distinguishing them from other Windows Servers.

Feature Summary
The following features are new in this release of the SQL Server Appliance Base Management Pack:
Discover and navigate all the types of SQL Server Appliance units.
Provide two state views: with Appliance Units and with contained servers.
Provide alert view which focus user on SQL Appliance monitoring problems

Release History
2/1/2011 - Original English release, version 1.0.3.0

Read more: MS Download

Posted via email from Jasper-net

Why and How Netflix Adopted NoSQL Databases

| Tuesday, February 1, 2011
Netflix Director of Cloud and Systems Infrastructure Yury Izrailevsky explains how and why Netflix migrated some of its systems to NoSQL. "In the distributed world governed by Eric Brewer's CAP theorem , high availability (a.k.a. better customer experience) usually trumps strong consistency," he writes. " There is little room for vertical scalability or single points of failure."

Netflix uses three NoSQL tools: SimpleDB, HBase and Cassandra. "The reason why we use multiple NoSQL solutions is because each one is best suited for a specific set of use cases," Izrailevsky writes. He writes that the learning curve has been steep and re-architecting the company's systems has been difficult but "the scalability, availability and performance advantages of the NoSQL persistence model are evident and are paying for themselves already, and will be central to our long-term cloud strategy."

SimpleDB
It's nice to see some real-world use of SimpleDB. In Izrailevsky's words:

Amazon SimpleDB was a natural choice for a number of our use cases as we moved into AWS cloud. SimpleDB is highly durable, with writes automatically replicated across availability zones within a region. It also features some really handy query and data format features beyond a simple key/value interface, such as multiple attributes per row key, batch operations, consistent reads, etc.
Netflix's Siddharth "Sid" Anand published a white paper on the company's use of SimpleDB, as well as a blog post on the subject.

HBase
Netflix uses HBase because it's deeply integrated with Hadoop. Izrailevsky writes that the biggest advantage in using HBase is the ability to "combine real-time HBase queries with batch map-reduce Hadoop jobs, using HDFS as a shared storage platform." He notes, however, that with HBase the company does have to sacrifise some availability for consistency.

Cassandra
Netflix uses Cassandra for its scalability and lack of single points of failure and for cross-regional deployments. " In effect, a single global Cassandra cluster can simultaneously service applications and asynchronously replicate data across multiple geographic locations."

Izrailevsky writes:

Unlike a distributed database solution using e.g. MySQL or even SimpleDB, Cassandra (like HBase) can scale horizontally and dynamically by adding more servers, without the need to re-shard - or reboot, for that matter. In fact, Cassandra seeks to avoid vertical scalability limits and bottlenecks of any sort: there are no dedicated name nodes (all cluster nodes can serve as such), no practical architectural limitations on data sizes, row/column counts, etc.
He also makes special mention of Cassandra's data model, which offers flexible model representations beyond the typical key-value lookup model.

Read more: ReadWrite Hack

Posted via email from Jasper-net

Parallel Nsight 1.51

|
Parallel_Nsight_Box_Small.png

Parallel Nsight Professional Edition is now available for all Visual Studio 2008 and 2010 developers, free of charge. NVIDIA is now offering the full Parallel Nsight Pro feature set at no cost, as we historically have done with CUDA and our other development tools, so that a broader range of developers can take advantage of the full benefits of this popular parallel computing development tool.  Parallel Nsight support will continue via the Parallel Nsight forums, and Professional developers are encouraged to sign up for NVIDIA’s Registered Developer Program, which provides priority access to new software, bug management tools, invitations to members-only developer webinars and other development resources.

Simply register your name and email address and follow the steps below to acquire

Read more: nVidia Parallel Nsight 1.51

Posted via email from Jasper-net

Java and C# Comparison

|
This is a quick reference guide to highlight some key syntactical differences between Java and C#.
This is not a complete overview of either language. Hope you find this useful!
Also see VB.NET and C# Comparison.

Posted via email from Jasper-net

DispatcherFrame. Look in-Depth

|
Introduction

Have you ever wondered what DispatcherFrame exactly is? This article will explain it to you  

DispatcherFrame. Look in-Depth

I think that most all of you heard about DispatcherFrame. Let’s try to understand what is it and where it can be used? MSDN said: “Represent an execution loop in the Dispatcher”. Not enough info to understand and use it as I think. Also, there is example of very usefull procedure, but also, not obvious to understand. Here is it:

[SecurityPermissionAttribute(SecurityAction.Demand, Flags = SecurityPermissionFlag.UnmanagedCode)]
public void DoEvents()
{  
 DispatcherFrame frame = new DispatcherFrame();  
 Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background,    
    new DispatcherOperationCallback(ExitFrame),
 frame);  
 Dispatcher.PushFrame(frame);
}

public object ExitFrame(object f)
{
 ((DispatcherFrame)f).Continue = false;
 return null;
}
 
This procedure is DoEvents. As you can guess from it’s title – it force events to be performed. So, let’s understand DispatcherFrame and how this method works.
Let’s start with Dispatcher class. I think everybody who works with WPF knows what it is. It is a class that works with UI thread in WPF. It contains queue of items that should be performed. I hope that everybody knows about Dispatcher and I don’t need to describe it in details.

Read more: Codeproject

Posted via email from Jasper-net

Using the AutoCompleteBox

|
The auto-complete box is a mix of a normal text box that allows the user to type in arbitrary text, and the drop-down list feature of a combo box that provides a fixed set of entries the user can select from. You're most likely using a control like this every day; for example, search engines like Bing and other web sites use these controls to provide a list of suggestions you can pick from without having to finish typing the full term, or they even provide a list of terms you entered previously to make repeated entries more comfortable for you.

The fact that the list of entries is filtered on the fly as the user types into the text box makes picking an entry from a large list possible very quickly. Even if users only remember parts of an entry name they can reduce the number of potential candidates dramatically by typing just a few characters. This is significantly different from other controls that only scroll to entries that start with what you type in, for example. In this article we'll see how the auto-complete box works and what options it offers; and although most people associate the control with string values only, we'll see that it's capable of handling far more than that and that it can work with any kind of data with little effort.

As always, you can download the complete source code at the end of the article. It contains all of the following samples as individual projects.

Basic usage
For the simplest scenario, you only need to provide the auto-complete box with an items source and process changes of the SelectedItem property either through data binding or by handling the SelectionChanged event. The source items do not necessarily need to be strings like in the following example. The control will automatically call the ToString() method on the items to create the text entries for the drop-down list, so if your data items override this method and a string representation is sufficient, you don't need to do anything else to get a working result. Alternatively, you can also hint the auto-complete box at what property shall be used for the string representation, as we'll see in a moment.

Read more: SilverlightShow

Posted via email from Jasper-net

Getting an invalid cross-thread exception in Silverlight?

|
Image this: you’re working on a Silverlight application, using the MVVM pattern, and you want to do something with the result of an async request (for example, you’re fetching persons, and you want to add them to a list in your VM when the operation completes).  Something like this:

PersonServiceReference.PersonServiceClient client =
new PersonServiceReference.PersonServiceClient();
         
client.LoadPersonsCompleted += (s, a) =>
{
   if (a.Error == null)
   {
       AllPersons = new ObservableCollection<Person>(a.Result);
    }
};
client.LoadPersonsAsync();

However, when you do this, you get an “invalid cross-thread exception” (if AllPersons is bound to a list in your UI).  What does this mean?  Simply put, you’re trying to access the UI thread (as the list you’re manipulating is bound to something in your UI), but you’re doing this from another thread: the thread on which your async operation runs.

Luckily, this is pretty easy to solve: invoke the Dispatcher as such and you’ll get rid of above exception:

Dispatcher.BeginInvoke(() =>
{
// your code
});

Read more: kevin dockx / icecream

Posted via email from Jasper-net

Interface-based programming, Runtime class discovery, Dynamic class loading from DLL

|
Introduction

Interface-based programming is a well-known paradigm that has been around for a long time and it is a core technology behind frameworks such as COM or CORBA.

Interface-based programming (IBP) defines the application as a collection of independent modules which plug into each other via interface. Modules can be unplugged, replaced, or upgraded, without the need of compromising the contents of other modules. This reduces the complexity of the system and greatly increases maintainability at a later development cycles.

IBP is convenient. It is convenient when each module of a larger application must be developed by different teams. Even with the different versions of compilers and compilers in whole. You will be able to create flavors of your application like Basic, Standard, or Enterprise with the same core binary code base. When you publish your interface to a larger developer community, they can start creating additions to your software with ease thus further enhancing its market value. It’s just one big bang for a buck any way you look at it.

What I will describe in this article is COM-like mechanism without the COM baggage. You may find this article interesting if you:
·         Must develop and maintain application in C++
·         You do not need language interoperability with higher languages like VB/C# etc.
·         You want the interface-based modularity just like COM but do not want the peculiarities and baggage of COM to come along with it.

What you will gain vs. COM is:
·         No need for messy registration of modules
·         You are not limited to base IUnknown class
·         You do not have to return HRESULT from every operation
·         Encapsulation at binary level

In order to achieve these goals your core application must be able to:
·         Discover classes during runtime
·         Dynamically load unknown classes that are not exported  from DLL
·         Enable discovered classes to pass events back to application or among each other

Delete the discovered classes and unload the DLL when no longer needed


Background

What I have discovered over time is that the COM is awkward for simple things.

Runtime class discovery

When your main application wants something done it knows which interface can do the job. Interface is nothing more but a class of pure virtual functions with no implementation and no data members.  Because the interface is a singular entity and the implementation of that interface can be a plural entity, invoking application must know one more piece of information about that interface. This 2nd piece of information is the implementation identity, or commonly known as GUID (globally unique identifier). It is possible to use the string names instead but it’s not a good idea. You want an id that collides with other ids every say other 10,000 years. 128 bit GUID should do the trick.


Read more: Codeproject

Posted via email from Jasper-net

Can you downgrade from SQL Enterprise to SQL Standard?

|
Question: Can a TFS 2010 Team Project Collection (TPC) on SQL Server 2008 Enterprise be down converted to SQL Server Standard 2008 edition?

Answer: This is covered in the 2010 Upgrade guide post.

The script is: exec prc_EnablePrefixCompression @online = 0, @disable = 1

(answer provided by Ed Holloway)

Read more: Buck Hodges

Posted via email from Jasper-net

Unshakable dev finishes 8-year engine project

|
Newly-released Maratis engine is free and open-source
A lone game developer has finally accomplished an 8-year project to develop an open-source game engine.
The Maratis engine was created by one person, Anaël Seghezzi, who says his creation is “a powerful and visual game development tool designed for artists and developers”.
He claims the engine has been tested to work properly on Windows, Mac and IPhone, and “can be used on virtually every platform”.
Despite the extraordinary personal endeavour, Seghezzi has kept the Maratis engine free and open-source. It uses a simple Lua scripting language, and developers can have full access to the engine in C++.

Read more: Develop
Read more: Maratis 3D

Posted via email from Jasper-net

Microsoft Security Advisory: Vulnerability in MHTML could allow information disclosure

|
Microsoft has released a Microsoft security advisory about this issue for IT professionals. The security advisory contains additional security-related information. To view the security advisory, visit the following Microsoft website:

http://www.microsoft.com/technet/security/advisory/2501696.mspx

To have us fix this problem for you, go to the "Fix it for me" section.

Read more: MS Support

Posted via email from Jasper-net

An Overview of Cryptography

|
Gary C. Kessler
9 November 2010
(Original version: May 1998)

CONTENTS

1. INTRODUCTION
2. THE PURPOSE OF CRYPTOGRAPHY
3. TYPES OF CRYPTOGRAPHIC ALGORITHMS
3.1. Secret Key Cryptography
3.2. Public-Key Cryptography
3.3. Hash Functions
3.4. Why Three Encryption Techniques?
3.5. The Significance of Key Length
4. TRUST MODELS
4.1. PGP Web of Trust
4.2. Kerberos
4.3. Public Key Certificates and Certification Authorities
4.4. Summary
5. CRYPTOGRAPHIC ALGORITHMS IN ACTION
5.1. Password Protection
5.2. Some of the Finer Details of Diffie-Hellman Key Exchange
5.3. Some of the Finer Details of RSA Public-Key Cryptography
5.4. Some of the Finer Details of DES, Breaking DES, and DES Variants
5.5. Pretty Good Privacy (PGP)
5.6. IP Security (IPsec) Protocol
5.7. The SSL "Family" of Secure Transaction Protocols for the World Wide Web
5.8. Elliptic Curve Cryptography
5.9. The Advanced Encryption Standard and Rijndael
5.10. Cisco's Stream Cipher
6. CONCLUSION... OF SORTS
7. REFERENCES AND FURTHER READING
A. SOME MATH NOTES
A.1. The Exclusive-OR (XOR) Function
A.2. The modulo Function
ABOUT THE AUTHOR


Read more: An Overview of Cryptography

Posted via email from Jasper-net

7 Tools to Have by Your Side When Web Designing

|
We all have our favorite tools open by our sides when we begin bringing a new creation to life. Now we are not talking about having Photoshop or Fireworks open as those are on most of our lists, instead, we are talking about some great hidden gems you may have not discovered yet. With that said, we dive straight into seven great tools to have by your side when web designing.

CSSedit

cssedit.png

Macrabbit is a great company developing some awesome software for the OSX platform, one of their greater pieces has to be CSSedit. CSSedit is a quick and easy to use software specifically designed for style sheet development. As you enter your code and wonder whether some properties and elements or selectors validate, CSSedit allows you to do just that right from the software itself bringing in validation errors to you directly from W3C’s validation service, what we all use.

960 Grid System

gridsystem.png

Many designers we have spoken with swear by the 960 Grid System and how easy it is to use, and how it increases on productivity. The 960 Grid System is a tool providing a grid with a basic 12 and 16-column layout of 960 pixels of real estate. Bottom line is, it is a prebuilt grid ready for you to slap your stuff on without the hassle of creating and validating the CSS for columns and containers, you may need to create. While the CSS or HTML it generates for you is clean and pristine, it does have a drawback being that its selector-naming scheme is a bit bothersome to work with, but it generally should not be an issue knowing that it can save you hours of work.

Markup

markup.png

Taking notes, highlighting certain parts of a design that need improvement; they both seem like what we sometimes do to get our ideas or opinions across on a design. This method is definitely useful but highlighting, circling, or writing a note across a design usually requires an image editing program like Photoshop to do. However, Markup does exactly that right from your browser without the need to install it; just drag their icon into your bookmarks toolbar and you can be drawing and leaving notes on websites immediately, and you can be able to save them and share them instantly without hassle. We personally just recently discovered Markup, and it is definitely something we use to share our ideas instantly.


Read more: BoxieDesigner

Posted via email from Jasper-net

Automatically Showing ToolTips on a Trimmed TextBlock (Silverlight + WPF)

|
Both WPF and Silverlight have a property TextTrimming=”WordEllipsis”, which trims the text that a TextBlock displays based on the available width. This blog post describes a simple method for automatically showing the full text as a tooltip whenever the text is trimmed. This is presented as an attached behaviour and works in both WPF and Silverlight

A few weeks ago I blogged about a Silverlight solution for automatically adding tooltips when a TextBlock Text is trimmed and renders an ellipsis. I found a decent looking WPF solutions on the web and linked it in my article, however, based on the comments to my previous blog post, it looks like the WPF solution didn’t work too well, failing to respect font size etc… In this blog post I have updated my solution to be cross-platform, working on WPF and Silverlight.

To briefly recap, my solution for automatically adding tooltips to trimmed text relies on the slightly odd behaviour of the TextBlock where its ActualWidth is reported as the width of the text without trimming:

TextTrimming.png

Read more: ScottLogic

Posted via email from Jasper-net

Controlling the XSS Filter

|
Internet Explorer 8 included a novel new feature to help prevent reflected cross-site scripting attacks, known as the XSS Filter. This filter runs by default in the Internet, Trusted, and Restricted security zones. Local Intranet zone pages may opt-in to the protection using the same header:

X-XSS-Protection: 1

If a cross-site scripting attack is detected, Internet Explorer 8 and 9 will attempt to make the smallest possible modification to the returned web page in order to block the attack. Here’s an example. In most cases, the modification is to change one or more characters in the returned page into the hash character (“#”) breaking any script that may have been reflected from the outbound HTTP request.

Pages that have been secured against XSS via server-side logic may opt-out of this protection using a HTTP response header:

X-XSS-Protection: 0

In March of 2010, we added to IE8 support for a new token in the X-XSS-Protection header, mode=block.

X-XSS-Protection: 1; mode=block

When this token is present, if a potential XSS Reflection attack is detected, Internet Explorer will prevent rendering of the page. Instead of attempting to sanitize the page to surgically remove the XSS attack, IE will render only “#”.

Read more: EricLaw's IEInternals

Posted via email from Jasper-net

Online Credit Card Transaction in ASP.NET Using PayPal Payflow Pro

|
Introduction

To do an online credit card transaction in ASP.NET using PayPal Payflow Pro, you’ll need to set up a Payflow Pro online payment gateway account at PayPal.com, download and install .NET SKD for Payflow Pro, and create an ASP.NET application that sends a transaction request to and receives a transaction response from Payflow Pro.

Payflow Pro Online Payment Gateway Account

At the time of writing this article, the account creation link is: https://registration.paypal.com/welcomePage.do?producttype=C2&country=US&mode=try. PayPal documentation indicates that a testing account can be created, which can then be activated as a production account if needed. Upon the completion of an account setup, you’ll have four user parameters as login credentials to access the account, as shown in the table below.

Read more: Codeproject

Posted via email from Jasper-net

Hudson becomes Jenkins

|
The short version of this story is that another open source project has forked from Oracle to achieve a level of freedom. In a recent vote the developers of Hudson polled 214 to 14 to rename the project and create a new fork called Jenkins. However, the real story is just a little below the surface and it involves trademarks and a cunning plan.

We have all been speculating for around a year now on what Oracle's intentions are towards the open source projects it inherited from Sun. It has been fairly obvious to most that Oracle intended to make money from its open sources assets but exactly how and exactly what this means has been unclear.
There also have been plenty of examples of dissatisfaction with Oracle - the OpenOffice fork to become LibreOffice, the loss of OpenSolaris, the walkout of Apache from the JCP and so on. But until now there has been little of Oracle actually moving to make money out of open source.

The situation with Hudson is quite different. It is the first, but probably not the last attempt, that Oracle has made to take commercial control of an open source project.  Oracle has tried to present the situation as it if was all perfectly reasonable.
It doesn't really matter what the software does but in case you are interested it is a continuous integration tool used with source control systems like CVS, Git and so on. The key fact is that Hudson was started as a "hobby" project by Kohsuke Kawaguchi while at Sun which promptly sponsored it and trademarked the name. And it is the trademark which gives Oracle the extra power.
By controlling the trademark Oracle can dictate what happens under the Hudson name - down to specifying what can or cannot be called Hudson. Basically what Oracle said to the developers working on the project was that they could add to the Hudson core and still call the result Hudson but if they were to change the code in the core then they could not.
Notice that Oracle hasn't the power to stop anyone from reusing the open source code - just what they call the end result.

Read more: I Programmer
Read more: Jenkins

Posted via email from Jasper-net

Apache ServiceMix

|
Apache ServiceMix is a runtime container for service-oriented architecture components, web services or legacy system connectivity services. It is one of the most mature, open-source implementations of an enterprise service bus and an Apache top-level project.

In this article we will take a look at what ServiceMix is and how it can be put to use.

Web Site: http://servicemix.apache.org

Version discussed: Apache ServiceMix 3.3, FUSE ESB 3.4

License & Pricing: Open Source with commercial support and packaging by FuseSource

Support: User mailing list, developer mailing list, Internet Relay Chat, FuseSource forums. Only the book "Open-Source ESBs in Action" by Manning is currently available.

Introduction

Before directly starting to discuss what Apache ServiceMix can be used for, a general understanding of the enterprise service bus acronym should be given. Since it is not a framework suited for everyday usage like Spring, the general context of its application is important.

Enterprise Service Bus (ESB) principle

Apache ServiceMix is an implementation of an enterprise service bus in the Java programming language.

In a typical enterprise environment, there are several applications installed. Most probably they are from different vendors and offer very diverse interfaces. The corporate IT commonly faces two challenges these days:

Exchange of data between different systems
Creation of new functionality by combining existing function block from these applications
In the past, these issues were tackled by proprietary product suites, which often were highly specialized and not able to cover a wide range of corporations' needs.

The development and adoption of web service technology is thought to solve these issues, as a common transport and description format now exists. Nonetheless, this needs to be provided, implemented and supported by the applications. Also, a single call often is not sufficient, but routing and combination logic needs to be employed, as well. To simplify these tasks, Gartner came up with the idea of an infrastructure component, which uses a harmonized way of exchanging data (messages) and provided such reusable core functionality.

This component should not only exchange messages but also incorporate the ability to route messages from one component to another component. These requirements were bundled into the term "enterprise service bus" (ESB). In contrast to enterprise application integration (EAI), the ESB concept goes beyond the mere connectivity and data exchange principles and focuses on reuse. By exposing application functionality to an ESB, new applications can be built that leverage data and services already created. These are then called "composite applications", as they can be thought off as a meta-level, creating applications from applications, instead of components or frameworks. This functionality can also be leveraged without using an enterprise service bus, but for the typical everyday challenges, a bus greatly simplifies things, since it is prepackaged with components and standard functionality.

Java Business Integration (JBI)

To standardize the ESB concept, the Java Community Process (JCP) came up with the JBI standard, short for Java Business Integration. It describes all components, which can be found in the ESB concept, matched to Java terminology and interfaces.

servicemix.gif

Read more: Methods & Tool

Posted via email from Jasper-net

Skelta

|
Skelta enterprise-wide Business Process Management (BPM) workflow software solutions are for small to large-sized businesses worldwide. Skelta is a brand offering of the Operations Management Division of Invensys.

Skelta BPM is a BPM workflow software that is built on today's cutting-edge Microsoft .NET, XML, and Web services technologies. Skelta software enables business users and developers to design and deploy BPM workflow applications using tools with which they are already familiar. In addition, Skelta software enables businesses to leverage on their existing investments in Microsoft technologies such as InfoPath, BizTalk Server, and SharePoint. Skelta software integrates with Microsoft's InfoPath, the leading new form designing tool in the market, to create open and interoperable XML-based forms for human interface with little or no coding. It can use Microsoft's BizTalk Server, one of the leading business integration infrastructure tools, as the integration backbone. It works with Microsoft's SharePoint technologies portal for tasks and document management.

Read more: Skelta

Project Description
Smart Skelta Utilies will provide utilties like Visual Studio 2008 Skelta Starter Kit(Project Templates and Project Item Templates),Code Snippets for Skelta Components,Skleta Attachment Extracter Web based Logger,Skelta Server utility and others for skelta based development.

This Starter kit contains two Project Templates and thirty Item Templates.
Project Templates
1) Skelta Web Application(creating skelta web application)
2) Skelta Library(creating Skelta addins,custom activities and SOA)

Item Template
All thirty Item templates are exposed in above two project types for various purpose.

Read more: Codeplex

Posted via email from Jasper-net

C#/.NET Little Pitfalls: The Dangers of Casting Boxed Values

|
Starting a new series to parallel the Little Wonders series.  In this series, I will examine some of the small pitfalls that can occasionally trip up developers.

Introduction: Of Casts and Conversions

What happens when we try to assign from an int and a double and vice-versa?

double pi = 3.14;
int theAnswer = 42;

// implicit widening conversion, compiles!
double doubleAnswer = theAnswer;
 
// implicit narrowing conversion, compiler error!
int intPi = pi;

As you can see from the comments above, a conversion from a value type where there is no potential data loss is can be done with an implicit conversion.  However, when converting from one value type to another may result in a loss of data, you must make the conversion explicit so the compiler knows you accept this risk.

That is why the conversion from double to int will not compile with an implicit conversion, we can make the conversion explicit by adding a cast:

// explicit narrowing conversion using a cast, compiler
// succeeds, but results may have data loss:
int intPi = (int)pi;

So for value types, the conversions (implicit and explicit) both convert the original value to a new value of the given type.  With widening and narrowing references, however, this is not the case.

Converting reference types is a bit different from converting value types.  First of all when you perform a widening or narrowing you don’t really convert the instance of the object, you just convert the reference itself to the wider or narrower reference type, but both the original and new reference type both refer back to the same object.

Read more: James Michael Hare

Posted via email from Jasper-net

Comparison of Text Templates and Code DOM

|
In this post I would to present a basic text template, and show how it could be easier to generate code using text templates than with the code DOM.


A text template is a document with special escape sequences to indicate where variable portions of text should be inserted.  The escape sequences can also be more complex by having code to generate the text that is to be included.  This is quite useful in the dynamic generation of web pages but it can also be applied to other types of text documents.  In particular, the ability to enable automatic generation of code could ease the burden of repetitive coding tasks.

Why not use the Code DOM?

You may be thinking that .Net framework already has a way to generate code files, the code DOM (System.CodeDOM).  It even can render in more than one language. Why not use it?
The code DOM is a .Net API that allows you to build an object model that represents your code, and gives you the ability to either compile it directly to a binary or generate source code as output. This is very powerful, and there are cases where the code DOM is useful, but there are cases where use of text templates is better.

I would like to illustrate that it could take you more time, and more code, to generate the code DOM equivalent of some existing code than creating a text template.  As an example, let’s take the common hello world console application shown below as a starting point:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace HelloWorld
{
   class Program
   {
       static void Main(string[] args)
       {
           Console.WriteLine("Hello world!");
       }
   }
}


To generate these 15 lines of code, it requires 73 lines of code to generate those lines from the code DOM. The generation code is shown below:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.CodeDom;
using System.CodeDom.Compiler;
using System.IO;
using Microsoft.CSharp;

namespace MakeHelloWorld
{
   class Program
   {
       static void Main(string[] args)
       {
           CodeCompileUnit unit = new CodeCompileUnit();

           CodeNamespace ns = new CodeNamespace("HelloWorld");
           unit.Namespaces.Add(ns);

           // Using directives
           ns.Imports.Add(new CodeNamespaceImport("System"));
           ns.Imports.Add(new CodeNamespaceImport("System.Collections.Generic"));
           ns.Imports.Add(new CodeNamespaceImport("System.Linq"));
           ns.Imports.Add(new CodeNamespaceImport("System.Text"));

           // Add class Program
           CodeTypeDeclaration myClass = new  CodeTypeDeclaration("Program");

           myClass.IsClass = true;
         
           // Add Main method
           CodeMemberMethod method = new CodeMemberMethod();
           method.Name = "Main";
           method.Attributes = MemberAttributes.Static;

           CodeParameterDeclarationExpression param =
               new CodeParameterDeclarationExpression(typeof(string[]), "args");

           method.Parameters.Add(param);


Read more: Developers' Hangout Blog

Posted via email from Jasper-net