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

SourceForge attacked, resets 2 million account passwords to protect users

| Tuesday, February 1, 2011
Within the past three days, open-source community and project hosting network SourceForge has been attacked, its operations team detecting a targeted attack at the sites developer infrasctructure.

As a result of the attack several SourceForge.net servers were exploited, leading the team to shut them down to safeguard user accounts, software projects and protect other services operated by the network. The shutdown has meant that its CVS Hosting, ViewVC (web based code browsing), New Release upload capability and Interactive Shell services were switched off, preventing any further compromise.

Read more: TNW Industry

Posted via email from Jasper-net

Yahoo confirmed culprit in Windows Phone data usage overages

|
Last week, I tore apart Windows Phone feedback packets to determine the feature’s role in the Windows Phone 7 data usage saga. I didn’t find anything of significant worry there, so I moved onto the next suspected culprit in the list: Yahoo.

Sniffing out IMAP packets to and from a Windows Phone isn’t as straight forward as it sounds. Microsoft’s IMAP4 implementation is very aware of the STARTTLS extension emitted by IMAP servers and switches to encrypted communication as soon as its detected, kinking the sniffing operation. (Worse, there’s no official UI for forcing clear-text communication.) To workaround this, I wrote a quick nodejs script to strip IMAP connections of the STARTTLS bit and passed them on to their destination.

What I discovered was shocking, although not surprising. Yahoo’s IMAP server (winmo.imap.mail.yahoo.com) does not respond to FETCH requests correctly. For example, one of the FETCH commands issued after tapping the refresh button looks like this:

FETCH 1:10 (UID FLAGS BODY.PEEK[HEADER.FIELDS (MESSAGE-ID)])

In plain English, this command reads: “Please fetch me the UID, flags, and message-id for messages 1-10 inclusive.” A typical response (AIM in this case) would look something like this:

* 1 FETCH (UID 258 BODY[HEADER.FIELDS (MESSAGE-ID)] {81}
Message-Id: [contoso194089-0-1475496219-3-11262342655328369@CONTOSO.COM]
FLAGS (XAOL-RECEIVED XAOL-GOOD XAOL-GOODCHECK-DONE XAOL-CERTIFIED-MAIL XAOL-BILLPAY-MAIL $hasEmbedded))
...
OK FETCH completed

X-YMAIL-UMID: 1_1231_AH9SAiosajdifsLGYp8
Delivered-To: rafael@withinwindows.com
Received: by 0.0.0.0 with SMTP id b14cs36932vcd;
       Wed, 24 Nov 2010 09:48:20 -0800 (PST)
[snipped]
Received-SPF: pass (google.com: domain of bxp60spbgycisj582h2kt@contoso.com designates 0.0.0.0 as permitted sender) client-ip=0.0.0.0;
DomainKey-Status: good (test mode)
Authentication-Results: mx.contoso.com; spf=pass (contoso.com: domain of bxp60spbgycisj582h2kt@contoso.com designates 0.0.0.0 as permitted sender) smtp.mail=bxp60spbgycisj582h2kt5hjwxuss6f@contoso.com; domainkeys=pass (test mode) header.From=dummy@contoso.com
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws;
 s=200505; d=email.contoso.com;
 b=[snipped]+CKirfbuapQiU=;
h=Date:Message-ID:List-Unsubscribe:From:To:Subject:MIME-Version:Reply-To:Content-type;
Date: Wed, 24 Nov 2010 17:48:39 -0000
Message-ID: [bxp60spbgychw1axh2kt.7412145937.3427@MTA915.CONTOSO.COM]
List-Unsubscribe: [mailto:rm-0bxp60spbgychw1axh2kt@EMAIL.CONTOSO.COM]
From: "Contoso" [dummy@EMAIL.CONTOSO.COM]
To: rafael@withinwindows.com
Subject: This is a test message
MIME-Version: 1.0
Reply-To: "Contoso" [dummy@EMAIL.CONTOSO.COM]
Content-type: multipart/alternative; boundary="=bxp60spbgychw1axh2kt5hjwxuss6f"
...
OK FETCH completed

Now, that may not look like much but sandwich the extra bytes with encryption and multiply the size of each chunk by the number of emails in your inbox (or folder)... yeah. Scary. Yahoo is sending ~25 times as much data as it needs to.

Read more: Within Windows

Posted via email from Jasper-net

Update Expression Encoder 4 with GPU acceleration!

|
Expression Encoder 4 Pro is a streamlined video production tool that enables you to focus your time and energy on enhancing, encoding and delivering your on-demand or live video content at higher quality with less effort. Expression Encoder Pro supports IIS Smooth Streaming, a technology that dynamically adjusts playback rates and quality, and today is the most affordable IIS Live Smooth Streaming solution on the market, delivering hardware performance for a software price.  It allows you to publish H.264 or VC-1 content, broadcast live events, and capture screencasts of any length.

Today’s release of the Expression Encoder 4 Service Pack 1 (SP1) can accelerate the encoding process and radically increase the number of streams your PC is capable of delivering through support for NVIDIA CUDA-accelerated GPUs.  To help you achieve the highest quality results, two new resources are available. Our latest whitepaper includes step-by-step guidelines and best practices on GPU encoding with Expression Encoder Pro to help you maximize your video performance, and a separate report providing comparisons of recommended PC configurations and associated performance numbers will enable you to make informed hardware choices.

Read more: Silverlight Team
Read more: MS Download

Posted via email from Jasper-net

DirectShow Filters Development Part 1: Video Rendering with Direct2D

|
Introduction

This article is about DirectShow development in general and filters development in detail. I decided to share the knowledge and experience in this area so there will be a simple tutorial for developers who wish to write their own filters and can't find enough references on the web. I assume you have a basic knowledge of DirectShow graph management and C++/COM programming. All source code samples are using Visual Studio 2010 on Windows 7, and you have to install Windows SDK for Windows 7 and .NET Framework 4.

The strength of an API is measured not only by its capabilities but also by its extensibility model, and when talking about extensibility - DirectShow really shines: you can extend the framework by building its basic structure blocks called filters. Each filter is actually a C++ object with one or more nested objects called pins which are responsible for connections with other filters and data delivery between them.

Most of the time, you will be using existing filters as there are a plethora of them installed already on your OS, and you can download a lot of free filters from here. However, there are times when you need to do something unusual, and when working in a startup company with a low budget, it is not possible to buy what you need. So one day I found myself struggling with filters development...

DirectShow filters come in three flavors:

  1. Source filters – responsible for generating media samples and pushing them to downstream filters in the graph. Source filters themselves are divided into three groups:
  1. Filesource filters – filters which are responsible for parsing media files, reading media samples, and pushing them to appropriate output pins dealing with video, audio, text, or data.
  2. Capturesource filters – filters that are usually bound to some external device like webcam or video acquisition card, and responsible for generating media samples at a constant rate and pushing them to output pins.
  3. Livesource filters - filters that get video samples at an unspecified pace from the network stream or external function calls and push them downstream.
  • Transform filters – probably the vast majority of DirectShow filters which are responsible for en/decoding, de/multiplexing, parsing, and splitting media streams.  There are two kinds of transform filters:
    1. In place transformation – filters that perform some action on the media sample and deliver it to the output pin without any buffer copy.
    2. Transformation filters which receive a media sample, perform some action, and save its output in another media sample which is pushed down stream.
  • Renderer filters – filters that act as a "final station" for the media samples, and responsible for either sending the sample to the network, saving it to a file, or showing it on screen.  

  • Renderer filters

    Renderer filters are the most easy to implement, simply by inheriting the DirectShow base class and overriding some method calls, so I decided to start this series of articles with rendering filters.

    Filter development prerequisites

    After installing the Windows SDK, you have to build the baseclasses solution located in C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses in both Debug and Release configurations. After successful build, you will have the strmbasd.lib library in the Debug folder and strmbase.lib in the Release folder.

    Read more: Codeproject

    Posted via email from Jasper-net

    7 things to consider when choosing a cloud-ready platform

    |
    Putting applications in the cloud offers the promise of reduced costs, flexibility, accessibility, not to mention the possibility to dramatically improve the way your IT works. But to reap all these benefits, you need to make the correct decisions when defining your cloud strategy - especially when it comes to your choice of development platform.

    And if you deal with custom enterprise applications, more likely than not you'll have to choose a cloudy-ready platform to develop, build, test, and deploy them.

    Here are 7 things you should take into account before picking your brand new cloud-ready platform:

    1. Avoid lock-in - Code and Data: Your code and data are part of your competitive advantage. You must own them. Make sure that, if the need arises, you can smoothly and safely transfer your code and data away from your cloud provider with minimal business interruption.
    2. Easy to move between on-premise and cloud: What's departmental and on-premise today, may need to be global tomorrow. What's currently published on the cloud may become regulated and required to move on-premise the day after. Having the flexibility to easily move back and forth between the cloud and on-premise is a big plus.
    3. Easy to scale horizontally: One of the big advantages of the cloud is that it allows you to grow your data-center as you need. The platform you use needs to be able to take advantage of this flexibility.
    4. Lifecycle support - ready for fast change: It's not just about running applications in the cloud; your choice of platform needs to support the full lifecycle. You need to be able to develop, test, and change your application really fast.
    5. Easy, fast & safe to deploy: This is part of the lifecycle, but it's important enough to have it's own bullet! In order for you to be as fast as your business demands, you need to be able to deploy your app quickly and often. And you need to know that, should something go wrong, you can quickly revert back to a previous instance.
    6. Easy to integrate: Integration will always be a big part of custom application development. You need to make sure the platform you pick integrates easily with your apps running on premise, with your cloud apps, or with off-the-shelf packages. 

    Read more: About Agility

    Posted via email from Jasper-net

    IIS 6: Setting up SSL - Overview

    |
    Many years ago I wrote a series of instructions that used dozens of screenshots in order to show my coworkers how to set up and enable Secure Sockets Layer (SSL) communications in IIS 5, which I eventually turned into a blog series on one of my personal blog sites. A few years later I wrote a sequel to that series of instructions for my coworkers, and I wanted to turn that into a series of walkthroughs in the IIS.net website. Sometime ago I proposed the idea to Pete Harris, who was in charge of IIS.net at the time, but then I changed jobs and we scrapped the idea. We followed up on the idea a short time ago, but we just couldn't find a place where it made sense to host it on IIS.net, so Pete suggested that I turn it into another blog series. With that in mind, over a series of several blog entries I will show how to configure SSL on IIS 6.

    Note: This first post will leverage a lot of the content from the overview that I wrote for my IIS 5 blog series, but subsequent posts will reflect the changes in IIS 6.

    Much like IIS 5, setting up SSL on IIS 6 is pretty simple. SSL is a Public Key/Private Key technology, and setting up SSL is essentially obtaining a Public Key from a trusted organization. The basic process for working with SSL is reduced to the following actions:

    1. Creating a Certificate Request
    2. Obtaining a Certificate from a Certificate Authority
    3. Installing the Certificate
    While not necessary, installing certificate services on your computer is helpful when troubleshooting SSL issues, and I'll discuss that later in this blog series.

    Creating a Certificate Request
    This is a series of steps that need to be performed on the web server, and they differ widely depending on the server and version. A web administrator is required to enter information about their organization, their locality, etc. This information will be used to validate the requester.

    Obtaining a Certificate from a Certificate Authority
    This is when a web administrator submits their request for a certificate to a Certificate Authority (CA), which is a trusted organization like VeriSign or Thawte. For a list of trusted organizations, see the following section in Internet Explorer.

    Posted via email from Jasper-net

    New RSS Feed address

    | Monday, January 31, 2011

    New Android Exploit Discovered To Steal Data

    |
    A researcher at North Carolina State University has discovered yet another Android Browser exploit that affects the new Android 2.3 (Gingerbread) and previous versions. Slashdot recently covered a previous browser exploit that affected all versions of the Android Browser, but was patched in 2.3. Xuxian Jiang writes 'our finding here is that the patch contained in Android 2.3 is not an ultimate fix and can still be bypassed. We have a proof-of-concept exploit with a stock Nexus S phone and are able to successfully exploit the vulnerability to steal potentially personal information from the phone.' The exploit is capable of reading and writing files from an Android's sdcard or system partition as well as uploading user data over the internet

    Read more: Slashdot

    Posted via email from Jasper-net

    PS3 firmware 3.56 hacked in less than a day, Sony's lawyers look confused (update)

    |
    Sony's taken some strong steps against PS3 cracking in the past week -- not only has it taken to the courts and won a temporary restraining order against Geohot and fail0verflow for cracking the console, but it also released firmware 3.56, which locked things down again. Unfortunately, that restraining order doesn't mean anyone else has to stop a-crackin', and wouldn't you know it: 3.56 was cracked open in less than a day by KaKaRoToKS, who was behind one of the first 3.55 custom firmwares. Now that the 3.56 signing keys are out, we'd guess updated custom firmware is soon to come -- and we'd bet Sony's lawsuit will just inspire an entirely new wave of people to jailbreak once those hit the scene. Way to put that genie back in the bottle, Sony.

    Update: We're hearing that new custom firmware isn't on the table quite yet, because Sony changed most of the locks, and is reportedly actually storing the all-important ECDSA private key with random-number cryptography this time around.

    Read more: Engadget

    Posted via email from Jasper-net

    Citadel

    |
    fetch.php?w=320&h=240&media=screenshot-webcit-tasks-2007dec16.png

    Citadel is a turnkey open-source solution for email and collaboration. One simple installation delivers a multitude of powerful features, including:

    • email
    • calendaring/scheduling
    • address books
    • bulletin boards
    • mailing list server
    • instant messaging
    • wiki
    • multiple domain support
    • a powerful web interface

    Read more: Citadel

    Posted via email from Jasper-net

    Kaspersky Source Code Leaked to BitTorrent

    |
    A Russian website CNews claims that the popular Kaspersky Antivirus source code has been leaked to web and available via torrents and file sharing sites that was stolen by a former employee of Kaspersky Lab who sentenced to three years jail for intellectual property theft.

    According to CNews, the complete source weighing 182MB in a RAR archive uploaded to a free file hosting site by Unknown. The archive contains a collection of files with code written in C++ tool in Visual C, and assembly files and has already been download 2071 times.

    Kaspersky Lab confirms that the incident poses no threat to safety of users of products, solutions and services company, explaining that the stolen code refers to an outdated product line. The leaked code was from a beta version of Kaspersky Internet Security 8 and Kaspersky is currently offering version 11 of their Internet Security suite, so I think Kaspersky anti-virus users should not worry about the security but this incident totally ruins Kaspersky's reputation.

    Read more: WinMarix

    Posted via email from Jasper-net

    Open-source Challenge To Exchange Gains Steam

    |
    ox_pack_he_new.jpg

    An open-source, cloud-based e-mail alternative to Microsoft Exchange called Open-Xchange has signed up two new service providers and predicts it will have 40 million users by the end of 2011. Based in Germany, Open-Xchange has tripled its user base from 8 million to 24 million paid seats since 2008, with the help of three dozen service providers including 1&1 Internet, among the world's largest Web hosting companies. Microsoft is still the 800-pound gorilla, with a worldwide install base of 301 million mailboxes in 2010, expected to reach 470 million by 2014. But Open-Xchange is luring numerous service providers who are wary of Microsoft's attempts to compete against its own partners by selling hosted e-mail services directly to its customers.

    Read more: Slashdot
    Read more: Openchange

    Posted via email from Jasper-net

    עידן חדש לסטארטאפים בישראל – הכירו את Venturegeeks

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

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

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

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

    Venturegeeks –  Turning every adventure into a venture

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

    המטרה שלנו ב-Venturegeeks, היא לאפשר לאותם היזמים להתרכז ברעיון ובמוצר ולספק להם סביבה יזמית תומכת. כדי לעשות את זה, אנחנו נשקיע ביזמים מימון ראשוני בגובה של עד 20,000 דולר על-מנת לספק את הצרכים שלהם בשלב המוקדם שבו הם נמצאים. מימון הראשוני, יחד עם הייעוץ השירותים המשלימים שיסופקו לחברות בתוכנית על-ידי השותפים שלנו, יאפשרו ליזמים להתמקד במה שהם יודעים לעשות הכי טוב – בפיתוח הרעיון שלהם.

    Read more: newsGeek

    Posted via email from Jasper-net

    Guide to building .NET projects using Hudson

    |
    In this guide I'm going to show how to set up a C# project on the Continuous integration server Hudson. I've been using Hudson on .NET projects since september and it works really well. I'm going to use Media Portal as the example project.

    The below goals will be solved in this guide:

    • Get the source code from the Subversion repository
    • Link change logs to the repository browser using ViewVC
    • Build the project using MBuild
    • Run the tests using NUnit and display the results together with a trend graph
    • Publish artifacts from the build (nightly builds)
    • Run FxCop on an assembly and display warnings (linked with source code) and a trend graph
    • Search the source code for TODO, FIXME comments and display the open tasks with links to the source code

    Initial downloads
    The following files are needed besides Java (at least 1.5). Get the latest version of all files and notice that the Hudson file has the extension .war and plugins .hpi. This guide assumes that MSBuild, NUnit and FxCop are already installed and working.

    Hudson server application (download)
    MSBuild plugin (download)
    NUnit plugin (download)
    Violations plugin (FxCop support among other such as Simian, CPD, PMD and PyLint) (download)
    Open Tasks plugin (download)

    Installation steps

    I'm going to install Hudson into c:\Program Files\Hudson.
    1. Copy the hudson.war file to c:\Program Files\Hudson
    2. Start Hudson through "java -DHUDSON_HOME=data -jar hudson.war". Verify that you can access Hudson through http://localhost:8080
    3. Copy the plugins to c:\Program Files\Hudson\data\plugins
    4. Stop Hudson by pressing Ctrl+C in the command prompt where you started Hudson.
    5. Start Hudson again and you should be set to go.

    Hudson system configuration

    Follow the following steps to configure the tools that Hudson will use in building MediaPortal.

    Go to the System configuration at http://localhost:8080/configure.
    MSBuild Builder - Set the path to the MSBuild tool to C:\Windows\Microsoft.NET\Framework\v2.0.50727\msbuild.exe


    MediaPortal job configuration

    Click the "New job" link at the home page.
    Enter the name "MediaPortal", check the "Build a free-style software project" and press OK.

    cs-create.png

    Posted via email from Jasper-net

    Tutorials for Making Your Website Mobile Friendly

    |
    Mobiles have become a necessity in our lives and are being used worldwide. Today’s phone set has the capability to browse the web, listen to songs, watch videos or even download any required information. This is the main reason why many companies have considered rebuilding their sites to make them mobile compatible.

    With the introduction of iPhone there has been a massive demand of mobile web services. Today we present to you 25 tutorials and articles to help you understand and develop sites for achieving mobile presence on websites:

    How to Create a Mobile Site
    This article shows you the way of creating a mobile site that is good for old cellphones and stunning for iPhones:

    article.jpg

    How to Make Your Portfolio iPhone-Compatible
    A tutorial focusing mainly on making portfoilio sites mobile friendly so that visitors can enjoy artwork even on their cells:


    portfoilo.jpg

    Read more: noupe

    Posted via email from Jasper-net

    Five Must Antivirus Mobile Security Software for Smartphones

    |
    Mobile phones have become so important in our lives that sometimes it’s really hard to realize the role a mobile phone plays in our everyday activities. Mobiles have become so popular because of their incredible features like they are mobile, and handy. Moreover the convenience of getting connected with everyone anytime especially in case of any emergency makes this device very special in today’s life. But unfortunately this technology also couldn’t remain away from getting effected from viruses. Currently, mobile phone malwares are very few in existence than computer malware and they are less complicated and poses comparatively lower risk than computer malware. But there are more chances that mobile phones viruses will become more common in the future and it is therefore prudent for mobile phone users to take some safety measures.

    Here are 5 best antivirus software’s that you can take to reduce the risk of your phone getting infected.

    1)F-Secure Mobile Security

    F-Secure is designed exclusively with business applications in mind. It is easy to use and delivers protection without need for unnecessary user involvement. It stops malicious, unwanted, harmful, or possibly dangerous packets. It is considered to be a complete security software package that consists of anti –spyware, anti-virus, and a remote control anti-theft feature for the safety of the mobiles. It protects your information by keeping the virus away from interfering with your device.

    2)AVG Antivirus

    AVG Mobile Security is specifically available for Android. It comes with the wonderful anti-virus and SMS anti-spam features that give protection to your mobile against all unwanted messages and advertising. Comprehensive system settings, planning and scanning exceptions which are considered as Advanced functions are also included in this antivirus. The interesting thing of this antivirus is that the whole device gets scanned and virus is removed in just one click.

    3)Kaspersky Mobile Security

    It is a complete protection package for the Smartphone. And it is considered as one of the most popular antivirus software today which is used by millions of people worldwide. It keeps your mobile life truly private like no one will be able to see your contacts and communications history if he has stolen your phone. In addition to that GPS will also help you out in searching your stolen phone. It will also ensure you that you will get SMSs and calls only from those contacts you want to. So basically you can enjoy your private and safe mobile life.

    Read more: TheSoftHelp

    Posted via email from Jasper-net

    Visual Studio Code Metrics PowerTool 10

    |
    Overview
    The Code Metrics PowerTool is a command line utility that calculates code metrics for your managed code and saves them to an XML file. This tool enables teams to collect and report code metrics as part of their build process. The code metrics calculated are:
    • Maintainability Index
    • Cyclomatic Complexity
    • Depth of Inheritance
    • Class Coupling
    • Lines Of Code (LOC)

    Read more: MS Download

    Posted via email from Jasper-net

    .NET Tools that I would never want to part with..

    |
    Microsoft is a mammoth company and ever so often the release tools and free things that I would never be without on my system… Here are a list of them in no particular order.. Do you spend your days writing tests?  if so this next one is for you..

    Spec Explorer
    Features & Benefits

    Spec Explorer 2010 is a tool that extends Visual Studio for modeling software behavior, analyzing that behavior by graphical visualization, model checking, and generating standalone test code from models. Behavior is modeled in two ways: by writing rules in C# (with dynamic data-defined state spaces) and by defining model scenarios as action patterns in a regular-expression style.

    One of Spec Explorer’s major features is the ability to compose models written in these two styles. This technique enables users to slice out test cases from large state machines to achieve test purposes by defining relevant scenarios, thus tackling the notorious state-space explosion problem that is so pervasive in model-based testing. Spec Explorer also supports combinatorial interaction testing with a rich set of features.

    image.axd?picture=image_thumb_191.png

    Probabilistic Programming got you down ? Try Infer.Net
    Infer.NET is a framework for running Bayesian inference in graphical models. It can also be used for probabilistic programming as shown in the video above.

    Infer.NET can solve many different kinds of machine learning problems, from standard problems like classification or clustering through to customized solutions to domain-specific problems. Infer.NET is currently being used in a wide variety of areas including information retrieval, bioinformatics, epidemiology, vision, and others.

    Here’s a short example quoted  from Mr. Winn found at

    http://research.microsoft.com/en-us/um/cambridge/projects/infernet/docs/A%20simple%20example.aspx

    “Here is an example of using Infer.NET to work out the probability of getting both heads when tossing two fair coins.

    Read more: XAML Refugees Design Blog XAML

    Posted via email from Jasper-net

    How debuggers work: Part 2 – Breakpoints

    |
    This is the second part in a series of articles on how debuggers work. Make sure you read the first part before this one.

    In this part
    I’m going to demonstrate how breakpoints are implemented in a debugger. Breakpoints are one of the two main pillars of debugging – the other being able to inspect values in the debugged process’s memory. We’ve already seen a preview of the other pillar in part 1 of the series, but breakpoints still remain mysterious. By the end of this article, they won’t be.

    Software interrupts
    To implement breakpoints on the x86 architecture, software interrupts (also known as "traps") are used. Before we get deep into the details, I want to explain the concept of interrupts and traps in general.

    A CPU has a single stream of execution, working through instructions one by one [1]. To handle asynchronous events like IO and hardware timers, CPUs use interrupts. A hardware interrupt is usually a dedicated electrical signal to which a special "response circuitry" is attached. This circuitry notices an activation of the interrupt and makes the CPU stop its current execution, save its state, and jump to a predefined address where a handler routine for the interrupt is located. When the handler finishes its work, the CPU resumes execution from where it stopped.

    Software interrupts are similar in principle but a bit different in practice. CPUs support special instructions that allow the software to simulate an interrupt. When such an instruction is executed, the CPU treats it like an interrupt – stops its normal flow of execution, saves its state and jumps to a handler routine. Such "traps" allow many of the wonders of modern OSes (task scheduling, virtual memory, memory protection, debugging) to be implemented efficiently.

    Some programming errors (such as division by 0) are also treated by the CPU as traps, and are frequently referred to as "exceptions". Here the line between hardware and software blurs, since it’s hard to say whether such exceptions are really hardware interrupts or software interrupts. But I’ve digressed too far away from the main topic, so it’s time to get back to breakpoints.

    int 3 in theory
    Having written the previous section, I can now simply say that breakpoints are implemented on the CPU by a special trap called int 3. int is x86 jargon for "trap instruction" – a call to a predefined interrupt handler. x86 supports the int instruction with a 8-bit operand specifying the number of the interrupt that occurred, so in theory 256 traps are supported. The first 32 are reserved by the CPU for itself, and number 3 is the one we’re interested in here – it’s called "trap to debugger".

    Without further ado, I’ll quote from the bible itself [2]:

    The INT 3 instruction generates a special one byte opcode (CC) that is intended for calling the debug exception handler. (This one byte form is valuable because it can be used to replace the first byte of any instruction with a breakpoint, including other one byte instructions, without over-writing other code).

    The part in parens is important, but it’s still too early to explain it. We’ll come back to it later in this article.

    int 3 in practice
    Yes, knowing the theory behind things is great, OK, but what does this really mean? How do we use int 3 to implement breakpoints? Or to paraphrase common programming Q&A jargon – Plz show me the codes!

    In practice, this is really very simple. Once your process executes the int 3 instruction, the OS stops it [3]. On Linux (which is what we’re concerned with in this article) it then sends the process a signal – SIGTRAP.


    Read more: Eli Bendersky web site

    Posted via email from Jasper-net

    RocketSVN fly's to freedom. RocketSVN Server/RocketSVN for VS now free (as in free) and open sourced too!

    |
    image%5B13%5D.png?imgmax=800

    I’m excited to announce that we have decided to make both RocketSVN Server (Subversion Server for Windows) and RocketSVN for VS (SVN add-in for VS) 100% free. Indefinitely. For unlimited users

    While we have been doing great additions to both open source projects (Ankh and Subversion), we decided it was important not to charge for the work we’ve done. We’re also happy to make the RocketSVN Server source code available on Google Code: http://code.google.com/p/rocket-svn-server/

    Read more: Greg's Cool [Insert Clever Name] of the Day
    Read more: RocketSVN Server and RocketSVN for VS Now Free

    Posted via email from Jasper-net