Saturday, May 19, 2012

Future of Education

Internet is changing everything in our life. Now, everything we want to know, we can find any information at our fingertip. The changes are happening faster than ever. That also means things we learned and our skills are becoming outdated faster than ever. In future, 4 years learning period in University will be too long to equip students with skills required by the market out there. By the time they graduated, their skills will be more or less outdated.

On the other hand, we can learn almost anything in internet at our fingertip with interactive multimedia such as video, slides, interactive tutorials, etc on any subjects in Youtube, iTune, Vimeo, eBooks, Learnign app on smart devices, etc. Obviously, the habits of self-study and adoption play more and more important roles for our survival or to keep ourself useful in society.

It starts happening now that we can learn things from the best teachers in the world in anywhere at any time, of course FREE EDUCATION too.

Here is one of the best example: http://www.khanacademy.org/
Here is the discussions about future of education by game changers
http://www.eventnook.com/video/v/92/Microsoft-CEO-Summit-Innovation-in-Education
http://www.eventnook.com/video/v/90/Rethinking-Learning-with-Salman-Khan

Tuesday, December 27, 2011

oEmbed format makes content in your site easy to share

oEmbed is a format for allowing an embedded representation of a URL on third party sites.

What does it mean?
For example, if you are sharing the youtube in Facebook status, you simply copy and paste the  youtube Url and Facebook app knows how to embed it nicely with preview picture and video description.

What does it mean for developer?
You can apply it for two things.
1> If you are trying to make sharing the contents in your site easy for users to allow them to share and embed in other sites, you can implement oEmbed API service interface for others sites to consume it.
2> If you are trying to allow users to embed contents in other sites like Youtube, Flickr, etc in your site, you can consume API interface of those sites which provides the oEmbed data for you to nicely present them in your site.

To find out more:
http://www.oembed.com
http://engineering.twitter.com/2010/09/tech-behind-new-twittercom.html

Sunday, July 31, 2011

DLL missing with .RDLC ReportViewer deployment on Microsoft Azure hosting

I hit problem deploying my asp.net web app using .rdlc ReportViewer when I deployed it to azure cloud hosting.
The problem was because of the three missing dependency dlls  required by ReportViewer which doesn’t exist in Azure host Global assembly cache(GAC).
  1. Microsoft.ReportViewer.WebForms.dll 
  2. Microsoft.ReportViewer.Common.dll
  3. Microsoft.ReportViewer.ProcessingObjectModel.dll

So, make sure the ReportViewer assemblies are available locally for your application. You can do this by "Add Reference" in your project and configure them to be copied locally into bin folder (Copy Local = True).

But for the 3rd dll (Microsoft.ReportViewer.ProcessingObjectModel.dll), you will not be able to find it from assemblies list in Visual Studio add reference. You will need to browse it in C:\WINDOWS\assembly\GAC_MSIL\Microsoft.ReportViewer.ProcessingObjectModel and add reference

Here is reference I got from MSDN

Monday, November 16, 2009

Think Different

Apple "Think Different" advertising slogan! It's pretty inspiring.

Friday, October 03, 2008

ASP.NET 2.0 Membership provider

ASP.NET 2.0 membership provider have been for more than 2 years and initially, I thought it’s just a show off feature of ASP.NET 2.0 and that would not be practically useful before I explored it into detail.

From time to time, every asp.net web application requires membership, authentication, authorization, etc, it’s a waste of time that we don’t have reusable model for those even though every web application requires those functions. So, I started exploring what’s available in built in ASP.NET Microsoft model and how others people do in terms of reusable model or provider for this.

Then, I found out that ASP.NET membership is really good design even though it may not be 100% perfect. It's really customizable, robust, extendable, easily pluggable and also easier to integrate into the project without much efforts. I’m not sure whether it’s good enough for enterprise level website for millions of users but it’s pretty good enough for SME or normal web application.

This really saves 20% to 30 % of small and medium side web application development and the code is modular and reusable. I really loves it.

This can be easily integrated with Menu SiteMap navigation based on dynamic user roles, User Roles provider, Personalization and the provider can be plugged & play with custom own provider by just configuring in web.config.

Currently, I'm just using built in SqlMembershipProvider and I handle my own Users information table for extended fields of users. The drawback with this is I need to duplicate user record in my own user table whenever new record in membership table is created.

You can also create your own custom membership provider by deriving from MembershipProvider class and override methods.

Microsoft also provides the source code and it can be learned how their code is. By learning this, you can probably design better than what it has and which suits to your requirement as well.

The following links would be useful for getting started.

http://weblogs.asp.net/scottgu/archive/2006/02/24/ASP.NET-2.0-Membership_2C00_-Roles_2C00_-Forms-Authentication_2C00_-and-Security-Resources-.aspx

Providers Source code download

http://weblogs.asp.net/scottgu/archive/2006/04/13/442772.aspx

http://download.microsoft.com/download/a/b/3/ab3c284b-dc9a-473d-b7e3-33bacfcc8e98/ProviderToolkitSamples.msi

ASP.NET Provider Detail Explanation

http://msdn.microsoft.com/en-us/library/aa478948.aspx

ASP.NET Provider book

http://download.microsoft.com/download/d/d/b/ddb5a94d-b398-44b5-bbb9-a71808879d79/Microsoft%20ASP.NET%20Providers.pdf

Thursday, July 03, 2008

MasterPage.master.cs does not exist error

I got the very weird error with ASP.NET 2.0 deployment. It has been running well in my development machine. Then, I published my test WebApplication project from visual studio to make release the compiled dll so that the application can be run on server without deploying .cs source code files. But after published it, the system gave the error “MasterPage.master.cs does not exist”.

It was very weird and it tempted to me considering whether it’s because “.cs” files are also required to deploy. But if that’s was the case, what’s the point of publishing?

After a while, then I finally realised that MasterPage I created doesn’t have namespace.

After I added namespace in masterpage.master.cs file and published it again. Then, It was fine.

In ASP.NET 2.0, it seems like

- WebApplication project requires to have namespace for every class in the project if you deploy the system by publishing (.dll and aspx only).

- WebSite project, it seems doesn’t require to have namespace even though if you deploy it by publishing.

Server Error in '/WebAppTest' Application.


Parser Error

Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.

Parser Error Message: The file '/WebAppTest/MasterPage.master.cs' does not exist.

Source Error:

Line 1: <%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>

Line 2:


Source File: /LEGATOTest3/WebAppTest.master Line: 1


Version Information: Microsoft .NET Framework Version:2.0.50727.1434; ASP.NET Version:2.0.50727.1434

Wednesday, June 11, 2008

ASP.NET Menu & DataSet

I had a requirement to build dynamic configurable menu and data will be populated from database rather than web.sitemap. And also the menu must support unlimited hierarchical levels. And also this piece of code must be reusable.

My idea was to bind the menu directly with dataset but unfortunately, dataset is not inherited and implemented IHierarchicalDataSource and it throws the exception. So, I tend to do traditional way of by adding menuItem in the loop. I know this is not a good idea and there must be someone who already implmented the neater way of binding directly by tweaking the dataset as the ASP.NET Menu has been released since 2 or 3 years ago.

Just a couple minutes spending on google and found this which is neater code and better design.

http://aspalliance.com/822

By using XMLDataSource and XSLT, this support unlimited hierarchical levels and only a few line of codes and clean.

Just have a look that above link if you are looking for building dynamic menu, it's worth to look it at.

Cheers

kick it on DotNet