A New Internet Library: Add Your Website/Blog or Suggest A Website/Blog to our Free Web Directory http://anil.myfunda.net.

Its very simple, free and SEO Friendly.
Submit Now....

Thursday, February 26, 2009

Review: ASP.NET 3.5 AJAX Unleashed

Do you want to learn ASP.NET 3.5 AJAX quickly? If yes, Robert Foster's book is waiting for you at various online stores, but why not you spend some time reading Anand's review of the book first? In this review, Anand examines the content of the book and provides suggestions for improvement. After going through the review, you will be in a position to judge if the book will be useful for you....Full Article.

Using Expression Builders in ASP.NET

ASP.NET offers a variety of ways to inject the results of a server-side expression (such as DateTime.Now.ToString()) into the rendered markup of an ASP.NET page. The most common way is to add a Label Web control to the page and then from the Page_Load event handler (or some other suitable event handler) assign the value to display to the Label's Text property. If you ever created web applications using ASP.NET's predecessor, classic ASP, or if you ...Full Article.

Weekend Humor: Features and Complexity

A Dilbert comic strip for some weekend humor - Scott Adams on features and complexity...
[Full post continued here...]...Full Article.

Cloud Computing, Windows Azure and .NET

New opportunities and possibilities with Cloud Computing and Windows Azure - complete with a familiar .NET development platform...
[Full post continued here...]...Full Article.

Sync and Sharing for Applications - Live Framework

Another PDC announcement - the Live Framework enables sync and sharing across devices and users and brings that new capability to your own applications...
[Full post continued here...]...Full Article.

Script# Programming in the Large

Some large-scale Ajax apps and frameworks - the Live Framework and Office 14, both announced at PDC - built using Script#...
[Full post continued here...]...Full Article.

C# 4.0, Dynamic Programming and JSON

C# 4.0 features a new dynamic keyword that allows you to mix in a bit of late-bound code in the midst of your otherwise statically typed code. This helps cleanup the string-based programming mess that is a characteristic of late-bound code. In fact, there are a number of scenarios that would benefit from dynamic typing in my opinion in addition to interop with other dynamic code (such as Silverlight talking to the DOM or a .NET app talking to Office automation APIs). For example:

More Fun with C# 4.0 - Dynamic REST Service Calls

In my last post, I blogged about the upcoming C# 4.0 dynamic feature and using it to work with JSON data in a more natural late-bound manner. I also alluded to where I was heading with the idea - issuing calls to REST services through a dynamic interface.

Specifically, I was thinking of being able to have a dynamic object represent a proxy to a REST service, and having its encapsulated late-binding behavior turn method calls into actu...Full Article.

Silverlight.FX Effects in Depth

I blogged about effects and transitions for Silverlight in the past - the first time on declaratively attaching some simple effect behaviors and the second time on using effect-enabled higher-level controls. I got comments asking more details on how this...Full Article.

RESTful Live Search Service

Earlier today, Live Search released a simple REST and JSON-based API for performing search with full flexibility for developers in terms of how to use the results (code named "Silk Road"). The previous API happened to be SOAP-based. Cool (and finally)! Check out the general documentation and the InPlaceEdit behavior that you could attach to input controls to enable in-place editing experiences in HTML. I was thinking of doing the same in Silverlight using the behavior framework in Silverlight.FX that I used to demonstrate adding auto-comp...Full Article.

MVC Controllers and Forms Authentication

I've been re-implementing portions of my site (projects.nikhilk.net) using ASP.NET MVC. One of the things I had to implement was login/logout functionality.

When you create a new ASP.NET MVC Application, you get a sample AccountController that has Login/Logout actions. This controller depends on an IFormsAuthentication implementation. There is a default implementation of this interface within the sample that works against the underlying System...Full Article.

Fluent Animations in Silverlight

A fluent (jQuery-esque) API for creating Silverlight animations easily in code, built on top of Silverlight.FX, along with some early thoughts on possible integration of animations and view models.
[Full post continued here...]...Full Article.

Year End Reading for 2008

A small set of links reviewing 2008, and looking forward to 2009, from tech to news to photos, annotated with some personal comments...
[Full post continued here...]...Full Article.

Reading: Designing for the Social Web

A little bit about Designing for the Social Web - an interesting, insightful and fun read on what to keep in mind when designing social experiences on the web.
[Full post continued here...]...Full Article.

DomainDataSource Server Control: LINQ + Code Generation

We have LinqDataSource in ASP.NET. However, the fact that I have to break up my LINQ statement into individual string properties (as shown below) has bugged me ever since the feature existed.

  <asp:LinqDataSource id="ds1" runat="server" Windows 7 Beta is out for sometime now and needless to say, the reception has been excellent so far.   I personally haven't seen any beta version as stable as the Windows 7 bits and personally know many of my friends, peers who have been using it as the primary operating system despite this being in Beta.

Meanwhile, if you are getting notifications for activating the Windows Beta...Full Article.

Thursday, February 19, 2009

New and Updated ASP.NET MVC Tutorials

Learn how to use ASP.NET MVC to build an entire Movie database application from start to finish. Learn how to control how URLs are mapped to MVC controllers by creating custom routes and route constraints....Full Article.

Wednesday, February 18, 2009

An Extensive Examination of LINQ: Extension Methods, Implicitly Typed Variables, and Object Initializers

One of the more substantive additions to the .NET Framework 3.5 and C# 3.0 and Visual Basic 9 languages was LINQ, a set of classes along with language enhancements that allow developers to use a common library and SQL-like query syntax to work with common data stores. The initial article in this series, An Introduction to LINQ, provided an overview of LINQ and its core pieces: the standard query operators, the language...Full Article.

References are not addresses

I review a fair number of C# books; in all of them of course the author attempts to explain the difference between reference types and value types. Unfortunately, most of them do so by saying something like "a variable of reference type stores the address of the object". I always object to this. The last time this happened the author asked me for a more detailed explanation of why I always object, which I shall share with you now:Full Article.

IronRuby ASP.NET MVC With Filters

Last July, I blogged about an IronRuby ASP.NET MVC prototype Levi and I put together with John Lam and Jimmy Schementi of the DLR team. It was really rough around the edges (and ...Full Article.

Need a Pep Talk? Need a Team System?

Note: The ASP to ASP.NET Migration tool was designed when ASP.NET v1.0 was just out and it does most of the conversion related to the then model.  Also, there are a few known issues and it doesn't do a near to perfect conversion.  If you are starting with ASP.NET development, the latest version is ASP.NET 3.5 which is a part of Visual Studio 2008 and I believe it provides conversion from classic ASP as well.  

Full Article.

Tuesday, February 17, 2009

Using Objects Instead of Enumerations

Enumerations are a commonly used and known tool built into programming languages. They are however not the only way of doing things. In this article, Brendan outlines an alternative to using enumerations. He discusses some of the reasons why you might use an alternative and uses source code to explain how to achieve a comparable equivalent to enumerations....Full Article.

Interesting - Steve Ballmer at Mobile World Congress

I was expecting a lot more. watch for yourself..

...Full Article.

The Functional Language Gateway Drug

Alternate Title: Linq, it's not just for SQL.

I admit, I'm not very proficient with functional programming. It almost feels like a gang war at times - on one side of the tracks is Turing's crew, sporting their imperative ways. On the other side is the Church group, luring wayward souls onto their turf with the promise of c...Full Article.

Saturday, February 14, 2009

Tour de Flex Hits the Ground Running

For the seasoned Flex developer, we've been accustomed to using the Flex Component Explorer as a reference. However, this is set to change with a great new application called Tour de Flex. Tour de Flex is a desktop application, built using AIR, with the goal of providing a way to explore Flex's capabilities and resources, including the core Flex components, Adobe AIR and data integration.

For the seasoned Flex developer, we’ve been accustomed to using the Flex Component Explorer as a reference. However, this is set to change with a great new application called Tour de Flex.

Tour de Flex is a desktop application, built using AIR, with the goal of providing a way to explore Flex’s capabilities and resources, including the core Flex components, Adobe AIR and data integration.

Created by James Ward, Greg Wilson and Christophe Coenraets, Tour de Flex has three main purposes: provide non-Flex developers with an overview of what is possible; provide seasoned Flex developers with a visual reference tool; and finally, provide commercial and non-commercial Flex developers a platform to showcase their skills.

Probably the greatest feature of this application is the integration of a variety of third-party components, effects and skins. The application contains examples from the following and we are told that this list will be regularly updated when new content becomes available:

  • Acrobat.com Share
  • Amazon
  • AOL Instant Messenger
  • Cocomo
  • Ebay
  • Flickr
  • Google Language
  • Intuit Quickbase
  • Last.fm
  • Photoshop.com
  • Salesforce.com
  • Scribd
  • Smugmug
  • Twitter
  • Yahoo Weather

Below is a selection of screenshots from the application:

(Click on the images to see a larger view)

Included with the Tour de Flex project is an Eclipse plugin, built by Holly Schinsky, that provides a search interface to the 200+ examples available in the main Tour de Flex application. The plugin allows you to search by component name, tag or author and double-click any item in the results to immediately see the component in Tour de Flex.

To install the plugin, add the following URL to your Eclipse software update sites:

http://tourdeflex.adobe.com/eclipse.

Once installed, a new Tour de Flex view is available to add. The plugin has been tested with Eclipse 3.4 and with Flex Builder 3.x.

The official Tour de Flex page and install can be found on the Flex.org website.

...Full Article.

The Four C's of Community

A web community is a web site (or group of web sites) that is a virtual community. Web communities in recent times commonly take the form of a social network service, such as Facebook, Upcoming and Last.fm, an Internet forum, a group of blogs such as WordPress.com and Blogger, or another kind of social software web application.

A web community is a web site (or group of web sites) that is a virtual community. Web communities in recent times commonly take the form of a social network service, such as Facebook, Upcoming and Last.fm, an Internet forum, a group of blogs such as WordPress.com and Blogger, or another kind of social software web application.

But what makes up a web community; what makes them successful? Below I discuss the four C’s of community: Content, Context, Connectivity and Community.

Content

A current meme when organising or building a website is the catchphrase Content is King. A big shift in the web in recent years has been the way websites are constructed. Today it’s a necessity, and indeed best practice, to separate form from content. In one hand you have the compelling content, whilst in the other you have the presentation, be it in the form of HTML and CSS, Flash or RSS, amongst others.

Quality content is one way in which you can make your website stand out. It is also a great way to attract the people who are needed to form the elusive community that your brand is hoping build. When considering community initiatives, there are three questions to ask: Where will the content come from; for example community driven or syndication? Does it provide indisputable value; does it have a unique selling point (USP)? Can a regular flow of quality content be maintained? Even pre-Web 2.0 initiatives have to focus on keeping the content itself fresh and relevant.

Web accessibility and search engine optimisation are also vital, so having content completely separated from presentation means a number of assistive technologies can make better use of the content, whilst the web robots can also readily consume the information.

Context

Context means understanding how people use your website, where they are in the user-journey and serving them the right experience at the right time. Well-designed applications and functionality have great opportunities to deliver on context.

For example, FriendFeed’s iPhone version, which is simply a re-worked web interface, is perfectly designed for contextual usage on the go. Similarly, Remember The Milk updates the interface explicitly for mobile and iPhone users, whilst also syndicating the content to applications such as Google Calendar. (It is questionable whether user-agent switching is good practice, but that is a whole new blog post.) Conversely, Delicious makes no attempt at changing the user interface for iPhone or Nokia N95 users since the iPhone and N95 have full web-capabilities through their respective web browsers.

In some instances the context in which the content is displayed will require reduced functionality. For example, the Last.fm mobile site does not allow you to play music, but simply search music listings, view recommendations, events and friend listings, and edit settings. However, through its API, Last.fm is able to offer its data and platform to third party developers to aid the building of new applications and communities, thus changing its context.

Connectivity

Connectivity is the ability of a system, whether that is a web-based community or a device like the iPhone, to connect with little or no modification. In the realm of communities, the ability to easily connect to your peers is the Holy Grail of the application.

Successful communities thrive on fluid, hard-to-measure activities that are, in the purest sense, relationship-based. It’s not all about mass communications — although Twitter and YouTube are both bucking this trend — but more about the micro-interactions. Designing experiences that support thousands of micro-interactions means that the community is able to function, unhindered, almost indefinitely. Facebook lends itself expertly to micro-interactions through the user’s ‘wall’.

Companies are turning to communities as the new customer relationship management (CRM), but this requires people to mind them. Organisations such as 37Signals and WildBit very effectively use Twitter to broadcast service updates and sometimes apologies, whilst the BBC and The Guardian online use it to broadcast links to new content.

Continuity

People often don’t like change, but communities that thrive often do so though evolution to meet the needs of users. Communities need to be flexible to evolve while still providing a valuable and consistent user experience which can be sustained. Too much of a radical change will almost certainly have a detrimental impact upon visits, at least initially.

Building communities is the new marketing for a brand, whether that is through wholely-owned properties or 3rd party social media services such as Twitter, WordPress or Ning. The starting point to any community is finding a niche that is currently underserved and serving that community better than anyone else. But Brands need to know a few things before they head down the community path. The web is saturated with communities. Some are thriving, while others have come and gone. Creating a community is not like your average marketing campaign that you can ditch it is a failure. If the community is successful the four C’s of content, contect, connectivity and continuity will have to be maintained and indeed, developed.

...Full Article.

It's Always Six O'Clock

Two Italians, Eva and Franco Mattes internationally known as 0100101110101101.org and self-styled net art pranksters and hacktivists have been besieging the art world with their clever hacks and elusive digital role-plays for more than ten years.

Two Italians, Eva and Franco Mattes internationally known as 0100101110101101.org and self-styled net art pranksters and hacktivists have been besieging the art world with their clever hacks and elusive digital role-plays for more than ten years.

The two European con-artists use non-conventional communication tactics to obtain the largest visibility with minimal effort. Past works have included staging a hoax involving a completely made up artist, to ripping off the Holy See and spreading a computer virus!

In It’s Always Six O’Clock, the avatar portraits in their series Annoying Japanese Child Dinosaur are attacked by an army of toys, not the digital representations but the real deal this time. From Nintendo and Disney characters to G.I. Joe and Manga, and from medieval knights to Winnie the Pooh, they’re all performing in the theatre of pop culture. Somehow cute yet ruthlessly aggressive at times — Winnie the Pooh appears to be having his head split open — they dominate the exhibition space. In the process, fantasy and collective imagination are fusing into a dramatically charged form of ready-made sculpture.

(Click on the images to see a larger view)

You can see more of their work on their website, 0100101110101101.org.

...Full Article.

Enabling Search Engine Safe URLs with Apache and htaccess

An increasingly popular technique among websites and in particular, blogs, is the idea of making URLs search engine friendly, or safe, on the premise that doing so will help search engine optimisation. By removing the obscure query string element of a URL and replacing it with keyword rich alternatives, not only makes it more readable for a human being, but also the venerable robots that allow our page content to be found in the first place.

An increasingly popular technique among websites and in particular, blogs, is the idea of making URLs search engine friendly, or safe, on the premise that doing so will help search engine optimisation. By removing the obscure query string element of a URL and replacing it with keyword rich alternatives, not only makes it more readable for a human being, but also the venerable robots that allow our page content to be found in the first place.

For example, the following is WordPress’ default URL configuration for a post:

http://www.domain.com/?p=1635

However, buy using a URL-rewriting available in the Apache webserver, we can achieve a far better result, such as the following:

http://www.domain.com/search-engine-safe-urls

NB. It is also possible to achieve a similar result with an ISAPI rewrite for Microsoft’s IIS webserver, but this topic will not be included in this post.

To get your website working with SES URLs you need to enable both the mod_rewite module and AllowOverride directive in the Apache configuration file.

Uncomment (remove #) from the following to enable the re-write rule:

LoadModule rewrite_module modules/mod_rewrite.so

Change the AllowOverride directive from none to all

<Directory />     Options FollowSymLinks     AllowOverride all     Order deny,allow     Deny from all </Directory>   <Directory "C:/WebRoot">     # Possible values for the Options directive are "None", "All",     # or any combination of:     #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews     #     # Note that "MultiViews" must be named *explicitly* --- "Options All"     # doesn't give it to you.     #     # The Options directive is both complicated and important.  Please see     # http://httpd.apache.org/docs/2.2/mod/core.html#options     # for more information.     #     Options Indexes FollowSymLinks       #     # AllowOverride controls what directives may be placed in .htaccess files.     # It can be "All", "None", or any combination of the keywords:     #   Options FileInfo AuthConfig Limit     #     AllowOverride All       #     # Controls who can get stuff from this server.     #     Order allow,deny     Allow from all </Directory>

On Apache webservers, .htaccess (hypertext access) is the default name of directory-level configuration files. An .htaccess file is placed in a particular directory, and the directives in the .htaccess file apply to that directory, and all its subdirectories. It provides the ability to customize configuration for requests to the particular directory. In our case, enabling search engine safe (SES) URLs.

By setting the AllowOverride directive to All in effect defers configuration settings to the .htaccess file.

An example .htaccess file could include the following code to rewrite the URLs:

RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L,QSA]

Search engine friendly URLs are implemented with Rewrite engines. The rewrite engine modifies the URL based upon a number of rewrite conditions and rules.

The RewriteBase directive explicitly sets the base URL for per-directory rewrites. The RewriteCond directive defines a rule condition, so in this case handling missing files or directories. Finally, the RewriteRule directive is the real rewriting workhorse. In this example, we’re getting everything in the URI — i.e. not including the protocol (HTTP/S) and domain name — based upon a regular expression. This is then appended to the default file reference — index.php — as a back reference. The [L,QSA] refers to the rule being the last rule and append any query string parameters to the default file. It is important to note that this is all done on the server side, the user will never see the website address changing in the browser’s address bar. Furthermore, simply transposing the index.php filename with your default file name — e.g. index.cfm, default.aspx — will have the same result. Indeed, the above rewrite rules are becoming a de-facto standard for web applications.

To fully understand mod_rewrite rules above, look at the Apache mod_rewrite documentation.

Once you have your SES functionality in place on the webserver, it is then the responsibility of your application framework to understand the URL construction and handle it accordingly. Fortunately, frameworks such as ColdBox and Fusebox for ColdFusion, Zend and Symfony for PHP, all contain functionality to do this, but that is the subject of an entirely different post.

Users of web applications prefer short, neat URLs to raw query string parameters. A concise URL is easy to remember, and less time-consuming to type in. If the URL can be made to relate clearly to the content of the page, then errors are not only less likely to happen, but our good friends the search engine robots are able to draw a stronger assumption of the pages’ relevance and content.

...Full Article.

Originals Enjoy