Its very simple, free and SEO Friendly. Submit Now....
Thursday, February 26, 2009
Review: ASP.NET 3.5 AJAX Unleashed
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
[Full post continued here...]...Full Article.
Cloud Computing, Windows Azure and .NET
[Full post continued here...]...Full Article.
Sync and Sharing for Applications - Live Framework
[Full post continued here...]...Full Article.
Script# Programming in the Large
[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
[Full post continued here...]...Full Article.
Year End Reading for 2008
[Full post continued here...]...Full Article.
Reading: Designing for the Social 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
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.
Tuesday, February 17, 2009
Using Objects Instead of Enumerations
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.
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
- 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.
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.
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.
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
Archives
-
▼
2009
(498)
-
▼
February
(111)
- Review: ASP.NET 3.5 AJAX Unleashed
- Using Expression Builders in ASP.NET
- Weekend Humor: Features and Complexity
- Cloud Computing, Windows Azure and .NET
- Sync and Sharing for Applications - Live Framework
- Script# Programming in the Large
- C# 4.0, Dynamic Programming and JSON
- More Fun with C# 4.0 - Dynamic REST Service Calls
- Silverlight.FX Effects in Depth
- RESTful Live Search Service
- In-Place Editing for Silverlight using Styles and ...
- MVC Controllers and Forms Authentication
- Fluent Animations in Silverlight
- Year End Reading for 2008
- Reading: Designing for the Social Web
- DomainDataSource Server Control: LINQ + Code Gener...
- ASP.NET MVC Contact Manager Sample Application
- What's the Best Way to Format a Title for a Blog P...
- Creating and Consuming Syndication Feeds in ASP.NE...
- Windows 7 Beta Product Key
- New and Updated ASP.NET MVC Tutorials
- An Extensive Examination of LINQ: Extension Method...
- References are not addresses
- IronRuby ASP.NET MVC With Filters
- Need a Pep Talk? Need a Team System?
- Installing the ASP to ASP.NET Migration Assistant ...
- Using Objects Instead of Enumerations
- Interesting - Steve Ballmer at Mobile World Congress
- The Functional Language Gateway Drug
- Tour de Flex Hits the Ground Running
- The Four C's of Community
- It's Always Six O'Clock
- Enabling Search Engine Safe URLs with Apache and h...
- Embarking on a New Project?
- Boris Johnson's Wiff Waff
- Using Ant with Eclipse
- Let's not Dilly-Dally: ColdFusion has its Merits
- Adobe's LiveCycle Powered by Amazon's Cloud
- Secure Your Application - PCI DSS Specifications
- Blogs are the Most Important Innovation of the 21s...
- Jaffa bugs
- How much do you care about blog tags?
- November 19th: London .NET User Group, Push LINQ!
- Copenhagen C# talk videos now up
- The Snippy Reflector add-in
- List of talks now up on C# in Depth site
- Redesigning System.Object/java.lang.Object
- Value types and parameterless constructors
- New version of Data Structures and Algorithms book...
- You don't have to use query expressions to use LINQ
- Horrible grotty hack: returning an anonymous type ...
- Stack Overflow Reputation Tool now online
- Stack Overflow reputation and being a micro-celebrity
- Quick rant: why isn't there an Exception(string, p...
- Designing LINQ operators
- RFID: What I really want it for
- Benchmarking made easy
- Programming is hard
- For vs Foreach on arrays and lists
- Benchmarking: designing an API with unusual goals
- Default script and style language
- The mail that got lost
- Checklist for high quality websites part 1
- Method for retrieving movie posters
- ASP.NET application lockdown on IIS 7
- Checklist for high quality websites part 2
- The WebOptimizer class
- WebForms or MVC? What about the third option?
- Moonlight 1.0 Release
- Moonlight 1.0 Release
- Webcast Session: Best Practices for web developmen...
- Webcast Session: Best Practices for web developmen...
- ASP.NET Dynamic Data Wizard Preview – My Virtual T...
- ASP.NET Dynamic Data Wizard Preview – My Virtual T...
- An Extensive Examination of LINQ: An Introduction ...
- Keyboard Thoughts
- Silverlight and the 2009 Presidential Inauguration
- ASP.NET MVC 1.0 Release Candidate Now Available
- Standard Type Casting and "as" Operator Conversions
- Enabling Drilldown on (SSRS) Reporting Services 20...
- Building Web Sites with Telerik RadControls - Part 1
- Client-Side Development Made Easy
- SharePoint Customization Tricks - Part 1
- CodeSnip: Adding a ToolTip for Each List Item
- Building a Custom ASP.NET Ajax Enabled Grid Using ...
- Review: SQL Server 2008 for Developers
- Introducing Microsoft Velocity
- Book Review: Pro Silverlight 2 in C# 2008
- Creating a "What I'm Reading" Widget
- RedirectButton - Redirect Users With the Click of ...
- Periodically Updating the Screen and Web Page Titl...
- DomainDataSource Server Control: LINQ + Code Gener...
- AppDev learning now online - Complete library for ...
- Create Dynamic Web Applications with ASP.NET 3.5 AJAX
- ASP.NET MVC Release Candidate 1 Available Now
- Microsoft Web Platform Installer Release to Web (R...
- Introducing the WCF Rest Starter Kit
- .NET StockTrader Sample Application
- Building a BabyCam
- New T-SQL 2008 Syntax
-
▼
February
(111)