Wednesday, March 25, 2009

SpicIE: The Simple Plug-In Creator for Internet Explorer

SpicIE is a framework which allows you easily to extend Internet Explorer 7/8 with your own plugins. SpicIE wraps/hides the IE COM extension interfaces and makes it easy to develop browser extensions in managed programming languages.

SpicIE is designed for simplicity. The initial creation of an Internet Explorer plugin with SpicIE takes only minutes until you have a runnable, debuggable code base which you can extend with your own functionality. There are lot of scenarios where browser plugins could be useful. SpicIE lets you develop your own browser functionality comfortable with minimal technical efforts.

With SpicIE you can develop your own:
IE browsing event handlers
IE toolbar buttons
IE menu entries
IE context menu entries
IE explorer bars
IE toolbars.

SpicIE is designed for managed plugin development. You can develop SpicIE plugins in any managed development language. You will have Visual Studio 2008 project templates for C# and VB.NET plugins.

SpicIE is tested with Internet Explorer 7/8. You can develop SpicIE plugins with all Visual Studio 2008 versions. SpicIE plugins can be executed by .NET 2.0, .NET 3.0, .NET 3.5.

SpicIE is published unter MICROSOFT PUBLIC LICENSE (Ms-PL).

More can be found here:

Wednesday, March 18, 2009

Microsoft Web Technologies Unveiled at MIX09

Today at MIX09, Microsoft Corp. announced a set of platform investments to help companies more efficiently and affordably engage with their customers through a rich, interactive presence on the Web. This includes the release of Microsoft Silverlight 3 Beta and Expression Blend 3 Preview, and continued progress in the cloud with updates to the Azure Services Platform. The company also pointed to strong momentum in platform adoption and demonstrated a number of solutions from key partners including Netflix Inc., Bondi Digital Publishing, and KEXP. In addition, building on the success of Silverlight during the Beijing Games, NBC Universal has again chosen Silverlight to deliver the 2010 Vancouver Olympic Winter Games on its official Web site,

The Business Imperative of a Return on Experience
Organizations that create more intuitive, more engaging experiences on the Web are able to reduce costs and increase sales. Their visitors find the information they want faster, their customers make fewer calls to support help desks, and the number of impulse purchases made by customers generated grows dramatically. The integrated and interoperable offerings from Microsoft, composed of software and services for desktop, datacenters and the cloud, help organizations deliver richer, more compelling experiences that they require both in and out of the browser, and give them enhanced “return on experience” that the current economic climate demands.

Silverlight 3 Beta Released
Silverlight 3 empowers Web developers and designers to build the best experiences for their customers through the creation of cutting-edge Web applications. Silverlight 3 helps rich Internet application (RIA) developers work faster with new graphics, animation and 3-D features, and more than 60 controls. Silverlight 3 also ushers in a new generation of high-quality and high-definition video experiences with true high-definition video in full-screen mode, with stutter-free live and on-demand video. Silverlight 3 also gives users more video format choices than ever before, including H.264, along with enhancements such as deep linking, to improve navigation in Silverlight content and automate search engine optimization (SEO) tasks. Finally, Silverlight 3 enables developers to create lightweight Web application experiences that can exist outside the browser. This enables Web sites to deliver more persistent relationships with their customers.

Microsoft also announced Expression Blend 3 Preview, designed to dramatically improve designer and developer workflow and productivity. In the MIX09 keynote address, Microsoft demonstrated SketchFlow, a new capability that allows designers to quickly prototype the flow and composition of applications. Now, for the first time, designers can easily receive annotated feedback on prototypes from stakeholders and rapidly iterate on a project from concept to completion. In addition, Expression Blend directly supports the import of Adobe Photoshop and Illustrator files (including layers and paths), integration of live preview sample data, and a comprehensive set of rich behaviors.

“In the short time since we launched Silverlight and Expression Blend, Microsoft has rapidly introduced new features and functionality that enable customers to deliver outstanding Web sites,” said Scott Guthrie, corporate vice president of the .NET Developer Platform at Microsoft. “We are working closely with the community to deliver software that helps businesses provide customer experiences on the Web that go beyond ‘good enough’ and drive real business results.”
Microsoft also announced that Soyatec, a France-based IT solutions provider and Eclipse Foundation member, is making available a community technology preview (CTP) of Eclipse Tools for Silverlight (Eclipse4SL) support for Macintosh. With this Eclipse plug-in, Mac developers can create RIAs for the Silverlight platform. This project is funded by Microsoft as part of Microsoft’s continued commitment to openness and interoperability.

Silverlight Customer Adoption
Silverlight has made significant progress since it was launched at MIX07. Hundreds of thousands of developers and designers are using Silverlight, and leading organizations such as AOL LLC, eBay Inc., BSkyB Ltd., Netflix Inc., CBS Sports Online, the European Commission,, Samsung Electronics Co. Ltd. and Yahoo! Japan are building their next-generation rich applications and media experiences using Silverlight.
“Netflix chose Silverlight because it makes a faster and more agile development environment possible, allowing Netflix to quickly deliver a superior instant watching experience to our subscribers,” said Steve Swasey, vice president of corporate communications at Netflix. “When Netflix deployed Silverlight last fall, Netflix members realized a richer experience of access and quality to instantly watch movies and TV episodes from Netflix on their PCs and, for the first time, were able to instantly watch the same content on their Intel-based Macintosh computers.”
At Microsoft, more than 200 products and Web sites are now using Silverlight, including, MSN, Live Search, Windows Live, Microsoft Office Online, Virtual Earth and the live preview release of the Silverlight-based WorldWide Telescope application.

Easier Access to Developer Tools, Platforms, and Applications
Today, Microsoft also released several components of the Microsoft Web Platform, an integrated set of tools, servers and frameworks that work seamlessly together and interoperate with popular open source applications and products that are used in the community. Included in the Microsoft Web Platform vision is the Web Platform Installer 2.0 Beta, a tool that simplifies the installation and update of Microsoft’s free Web products and other free Web components. This release allows users to download both PHP and the final release of ASP.NET MVC 1.0. Microsoft also launched the Windows Web Application Gallery, which allows developers to discover, explore and download applications and components that will help them build Web applications. Developers can submit free applications into the Gallery, offering communities, partners and independent software vendors access to millions of Windows developers worldwide for promoting their Web solutions. The Gallery includes links to popular applications such as Acquia Drupal, DotNetNuke and WordPress.

Finally, Microsoft also announced the availability of Microsoft Commerce Server 2009, which allows businesses to create improved user experiences across e-commerce channels.
Deepening Cloud Investments With the Azure Services Platform

In addition to platform investments to enable front-end experiences, enhancements to the back-end platform include updates to the Azure Services Platform. Today Microsoft announced new capabilities in Windows Azure including support for full trust to increase the level of flexibility for developers through support of native code, non-.NET language support via FastCGI, and geolocation to provide developers with the capability to host data and code across two U.S.-based datacenters; this enables customers to store data in multiple locations while helping ensure business continuity, and delivers enhanced performance benefits through reduced network latency.

Download Expression Blend 3 Preview here: 

Collection Of Puzzles For Programmers

Did you know that they have a nice collection of puzzles on less than dot? Some are harder than others so there is something for everyone. You can pic any language you want, you will see that there are solutions in Ruby, Python, Visual Basic, SQL, JavaScript, C++ and other.

Here is a partial list of what they have

Friday the Thirteenths
The goal is to identify all friday the thirteenths for a given timeframe

Regular Pentagon
Given a grid co-ordinate (x,y) as the centre point of a regular pentagon, and the sum of the length of the sides, return the co-ordinates of each point as: "Top", "MidLeft", "MidRight", "BottomLeft", "BottomRight" and the distance from the centre to each of the points.

ASCII Art Shapes
Create some ASCII art in the shortest code possible

Finding Prime Numbers
Find every prime number between 0 and 1,000,000

Calculating the Fibonacci Sequence
Calculate 'X' numbers in the Fibonacci Sequence, which is essentially adding the previous 2 occurring numbers together to make the next

split a filepath
Let's say you have the following 4 items:

C:\Documents and Settings\My Music\Amazon MP3\The Doors\Gloria.mp3

You have to split this data and also show how many folders are in the path

format bytes and add postfixes
Given a numerical input of bytes, create a function to format the output to two decimal places along with the relevant postfixes

Convert Between Roman and Arabic Numerals
Write a program to convert to (and from) roman numerals. So your program should be able to take the input of 27 and return XXVII, and take MCMLXXXI and return 1981. And of course any other values.

Find it
Given an array of 1001 elements which contains integers from 1 to 1000 inclusive. The numbers are randomly stored in the array. Only one number repeats itself
First create the array randomly and the one number randomly. But use 10 million integers plus one of course. Do this 10 times and show the times it takes to find the number and then the average time

Weekends between two dates
Write a program that will take two dates as inputs, and output the number of weekends between them.

Hello World! For Hackers
Create the most unique way of writing "Hello World" - the more fantastic, cryptic, oddball the better

Calculate the moon phase
Calculate the phase of the moon as accurately as possible.
We all know that a moon month is not as long as a normal month. It is about 29.53 days long, but that is an average and not very accurate

reverse the order of words
Given an array of characters that form a sentence, give an efficient algorithm to reverse the order of the words (not characters) in it.

Zip me up, Buttercup
Reduce the size of the text in a single transportable file. Then inflate that same file to reproduce the original string exactly (e.g. lossless compression)

Fraud Detection
The challenge is to identify falsification of data sets. Given a set of numbers of natural source (e.g. naturally occuring like credit card payments, not machine/human generated like a telephone number), the program needs to identify the probability of that data being naturally occuring vs. being falsified.

Take numbers between 1 and 100
Take numbers between 1 and 100 and do the following

if the number is a prime mark it
if the number is divisible by 5 mark it
if the number is divisible by 7 mark it
if the number is divisible by 7 and 5 mark it

A simpler calendar
Making a simple calendar, I find that all these months with a different number of days is confussing. So I would like to have a calendar with 30 days per month from now on and 12 months a year. The only problem is that It will no longer be going with the sun. The sun being a 365 day/year cycle the new calendar has 360 days/year. So I need to compensate but only by adding a 13 month at certain years. Write me a program that calculates when to add a month to keep in synch more or less

counting the money
You should give all the possible combinations to pay for the given amount of money.

knowing that you have the following currency
1 chrissiecent
2 chrissiecent
5 chrissiecent
10 chrissiecent
20 chrissiecent
50 chrissiecent
1 chrissie
2 chrissie

also give the solution with the least amount of pieces.

Beers per day
A man earns a certain amount of chrissies a month he has to pay 15% taxes and every year he has to pay 0.5% taxes more than the year before. The man's income is indexed each year by 1%. When will that man's net income be 200% of his begin income

Distance to line segment
Given the coordinates of the line segment, calculate the shortest distance to a given point. The distance that you are to calculate is represented by the red line. If the point is 'outside' the line segment, meaning, you cannot draw a perpendicular line to it, then you should return the distance from the given point to the closest end point

Keep an eye on Programmer Puzzles because every 2 weeks or so they post a new puzzle

ASP.NET MVC 1.0 has been released and is ready for download

ASP.NET MVC 1.0 has been released. A couple of day ago ASP.NET MVC Release Candidate 2 was released but this is the real deal.

You can download ASP.NET MVC 1.0 here:

ASP.NET MVC 1.0 provides a new Model-View-Controller (MVC) framework on top of the existing ASP.NET 3.5 runtime. This means that developers can take advantage of the MVC design patterns to create their Web Applications which includes the ability to achieve and maintain a clear separation of concerns (the UI or view from the business and application logic and backend data), as well as facilitate test driven development (TDD). The ASP.NET MVC framework defines a specific pattern to the Web Application folder structure and provides a controller base-class to handle and process requests for “actions”. Developers can take advantage of the specific Visual Studio 2008 MVC templates within this release to create their Web applications, which includes the ability to select a specific Unit Test structure to accompany their Web Application development.

The MVC framework is fully extensible at all points, allowing developers to create sophisticated structures that meet their needs, including for example Dependency Injection (DI) techniques, new view rendering engines or specialized controllers.

As the ASP.NET MVC framework is built on ASP.NET 3.5, developers can take advantage of many existing ASP.NET 3.5 features, such as localization, authorization, Profile etc.

System Requirements
Supported Operating Systems:
Windows Server 2003; Windows Server 2008; Windows Vista; Windows XP
.NET 3.5 SP1. Visual Studio 2008, Visual Studio 2008 SP1 or Visual Web Developer 2008 SP1 are required to use certain parts of this feature.