March 8, 2011
Few ways to improve Visual Studio Performance.
1. Switch off Auto Recovery. Tools > Options > Environment > Auto Recovery
2. Show empty environment at start up. Tools > Options > Environment > Start up
3. Disable HTML Validations. Tools > Text Editor > HTML > Validation (clear Show Errors check box)
4. Switch off Animate environment tools. Tools > Environment > General
5. Turn off Track changes. Tools > Text Editor ( clear Track Changes check box)
6. Uninstall startup plugins. (if you install any)
7. For C#, disable Navigation bar. Tools > Text Editor > C# (clear Navigation bar check box)
8. Set HTML Designer to Source View. Tools > HTML Designer
9. Start Visual Studio from Command prompt. Start > Run > then type “devenv”
February 18, 2011
2 Week Challenge
So I decided to start a 2 week challenge. I wanted to keep it short and simple initially, and then to come with more difficult and interesting challenges as I progress. Let see how it goes.
You can also start your own challenge for 2 weeks—if not for a month. For example learning a new programming language or learn to play guitar would be interesting.
December 30, 2010
API Design
December 22, 2010
How to manage your Code Repository
All so often I get this question -- how do I manage my code repository. So thought of writing a small post which might help someone.
I use code.google.com to manage all my projects. The projects I host in code.google.com are my personal projects and I really don’t mind sharing it with public. I use SVN as my source control system. For developers who do not want public access to their source code can use GITHUB paid version which is as similar to code.google.com.
Following is my main Project folder hierarchy;
APPLE
---- IPHONE
---- IPAD
---- MAC
---- EXTENSIONS
---- APP_ENGINE
MICROSOFT
---- XWT
---- ASP.NET
---- WPF
---- WIN
All of the above projects source are managed by code.google.com. Since I develop for both Apple and Microsoft; I have to use both Mac and Windows OS also three different Development IDE’s -- Visual Studio, XCode and Eclipse.
I use Ankh SVN plugh-in and Tortoise SVN for Visual Studio which is pretty awesome. For XCode and Eclipse I use Versions. All of the above folders are sync with my DropBox private folder, so that even if I don’t have my development PC--I can still continue my work from any PC. Also I have mirrored my local Project folder to a Portable HD. The following diagram will show you the overall setup.
I use Mozy.com for my weekly project backups, so my Projects are well secured from any disaster. I have pretty much the same setup for my other stuff as well. For example, Artworks, Video projects, Scanned docs and so forth.
The main idea behind this setup is to continue my work regardless of where I am. And by mirroring my code with multiple sources guarantee my code safety.
Hope this helps!
December 16, 2010
Software Design Principles & Patterns
December 15, 2010
Gmail – the best example for iteration perfection
But today, Gmail is probably the best Web Application on the internet. Throughout the years Google engineers made the Gmail perfect by adding features— at least every month.
As developers, we typically experience the “Add More Features” syndrome. Rather than releasing to the market quickly we keep adding and adding more features to our app, eventually we loose the interest and the product was never released.
Release your app quickly to the market and also release features more often. Through development and release iterations makes your app perfect overtime.
December 8, 2010
iTunes Connect holiday shutdown
iTunes Connect will be temporarily shut down from Thursday, December 23 to Tuesday, December 28 for the winter holidays. Access will resume on Wednesday, December 29.
During this shutdown, iTunes Connect will be unavailable. In addition, app releases and pricing changes which are scheduled to take place during the shutdown will be handled as follows:
All releases will not appear in the App Store until Wednesday, December 29. This includes apps scheduled to appear on the App Store for the first time as well as updates to existing apps.
Pricing changes will cause the app to become unavailable for purchase until Wednesday, December 29, at which point the app will become available at the new price. Please check to ensure you have not scheduled any price changes during this time.
Transformation
But in the past few years’ things have changed immensely. People are connected to internet than ever before—we are in the process of transforming to a new technology era.
What does this mean ;
To Users :
People are connected to their loved ones than ever before—Social Networking. They were able to access their personal data such as photos from anywhere in the world. Their productivity software is no longer limited to their desktop PC.
To Developers :
Developers have huge opportunities through various platforms. They no longer have to waste time on marketing or distributing their software. Apple App store, Windows marketplace, Google App Engine & Chrome App store reaches millions of user’s everyday.
November 29, 2010
The important of the Web browser
November 25, 2010
Get Color from Hex values in Silverlight
public static Color GetColor(string htmlColor) {
return Color.FromArgb(255,
Convert.ToByte(htmlColor.Substring(1, 2), 16),
Convert.ToByte(htmlColor.Substring(3, 2), 16),
Convert.ToByte(htmlColor.Substring(5, 2), 16)
);
}
November 22, 2010
November 18, 2010
Anywhere, anytime on any device – documents
But this post isn’t about Social Network. It’s about taking your documents online or to the cloud, where you can access them from anywhere, anytime on any device. This is the first in a series of posts on how to take your personal computer to the cloud, such as photos, videos, projects, emails etc.
Generally I use four computing devices;
- Office PC
- Home PC
- Personal Notebook
- Mobile (iPhone)
- Download and install Dropbox(http://www.dropbox.com) in your Home, Office and Personal computers. Also download Dropbox for iPhone.
- Download and install OffiSync (http://www.offisync.com) in your Home, Office and Personal computers.
- Register for Google account (if you don’t have any), this is to use Google docs for your documents.
- Create document repository in DropBox’s Private folder—this is where you save your documents.
- Create MS word document and enter some text.
- Save the document in DropBox’s Private folder.
- Also save the same document to Google docs using OffiSync MS Word plug-in.
- Now change your computers and browse the relevant folders and your document has been synced with all the computers (Office, Home and Personal).
- Open Google docs in your iPhone and you can now edit the same document while you are travelling.
- More importantly you can access the same document from anywhere—you only required a computer with Internet access.
November 17, 2010
Using Predicate to filter NSMutableArray
NSMutableArray *list = |
[NSMutableArray arrayWithObjects:@"Mark", @"Balmer", @"Bill", @"Steve", nil]; |
NSPredicate *listBPredicate = [NSPredicate predicateWithFormat:@"SELF beginswith[c] 'b'"]; |
NSArray *namesBeginB = [list filteredArrayUsingPredicate:listBPredicate];
|
listBPredicate will return names which starts in "b" and listContainsPredicate will return all the names which has letter "e".
November 15, 2010
How to save User preferences in iPhone app
To save whether user prefers sounds on or off in your application you can do it as the following code block.
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"soundsOn"];
And to retrieve the sounds preferences value;
October 30, 2010
iPhone keeps vibrating and no response
Solution:
Press and hold Lock and Home key for few seconds to reset.
Reason:
I have no idea why this happend.
October 27, 2010
Gmail like User message control in ASP.NET
MessageControl is an ASP.NET control which let you create user message like Gmail Application.
October 22, 2010
PageManager control
http://www.codeproject.com/KB/webforms/aspnet-pagemanager.aspx
October 20, 2010
jQuery 1.4.3 released
- CSS Module Rewrite – Entire CSS Module has been re-written for extensibilit. You can write custom CSS plug-in now to extend the .css() and .animate() functions.
- Data – There are some enhancement on this area as well. HTML 5 data-attributes, JavaScript object and Events are included in those enhancements.
- Traversing - The performance of nearly all the major traversal methods has been drastically improved. For example .closest(), .filter() (and as a result, .is()), and .find() have all been greatly improved.
- Ajax - A few new Ajax features have added. This should be advantage for plugin authors.
- Events - A convenient shortcut for binding a function that does nothing but return false (preventing the default action and stopping the event bubbling).
- Effects - All animate methods now support easing. A new property that exposes the rate at which all effects fire (in milliseconds – defaults to 13) also added.
October 15, 2010
Extensible-Web Toolkit(XWT) RC1 released
How to create Chrome Notifications
Chrome supports Webkitnotifications and Google has done a great job with their notifications for Gmail. This example shoes how to create a recurring notification using JavaScript timer and webkitnotification object.
In order to create a notification the user must first allow notification in their browser. Click on “Allow notification” button in the ASP.NET sample and the permission will be granted.
Following code block will show you how simple is to create a notification object and show it on browser.
notify = window.webkitNotifications.createNotification('iconUrl', 'Extensible-web latest article', 'http://www.extensible-web.com');
notify.show();
Download the full source code.
September 29, 2010
SEO Starter Guide
Download the Google's SEO guide here
August 13, 2010
How to use Subversion with Eclipse
http://www.ibm.com/developerworks/opensource/library/os-ecl-subversion/
July 27, 2010
How to downgrade VS Solution
1. First backup the
2. Open
3. Modify the Format Version and the Visual Studio edition (i.e. 2008 or 2005) as shown in the following screen capture.
July 25, 2010
Read Sri Lanka news using this Chrome extension
Get the extension from here:
https://chrome.google.com/extensions/detail/dipjohabhjlfockkahobnnppadhfibah?hl=en
July 15, 2010
DataReader vs DataSet
Use DataReader For read-only data. For example, to bind custom object collection the ideal option is the DataReader. It is much faster than the DataSet.
Use DataSet to work on disconnected data. For example, to perform CRUD operations in disconnect like mode use DataSets.
I have written a performance test app for DataReader and DataSet. Download the code. Also I have written/discussed about the DataSets and Custom Collections half decade ago--http://www.ludmal.net/2005/05/datasets-vs-collections.html
Also download the Microsoft Application Architecture Guide.
http://apparchguide.codeplex.com/
Handling keypress event using jQuery
Handling keypress event using jQuery is fairly easy. Download the sample code.
July 13, 2010
missing sentinel in function call
If you're getting "missing sentinel in function call" error while compiling objective-c code, check whether you terminate the array with nil at the end of the array declaration.
feelings = [[NSArray alloc]initWithObjects: @"awesome",@"sad", @"happy","confused",@"angry", nil];
July 6, 2010
Using JQuery in your ASP.NET application.
July 1, 2010
Extensible Web - New Blog for Faster Web Apps
Finally I decided to create a new blog for tools, tips and tutorials about web application performance and optimizing. Hopefully this blog will help web developers and web masters to fine tune and optimize their web applications.
P.S. I will be cross posting the Extensible Web posts with this blog.
May 19, 2010
GWT & Script#
April 28, 2010
ASP.NET 4 - New Features
Microsoft has released their latest version of ASP.NET 4 and obviously the focus also into faster and SEO friendly web. I have collected all the important new features and compiled into a simple article which was published on Simple-Talk. Have a look at it and send me your comments.
I'm working on a small booklet with comprehensive instructions to speed up your web applications and also developing a simple web toolkit which will help developers to easily integrate jQuery into their ASP.NET web applications. Both of them will be released soon, so stay tuned.
April 14, 2010
Create your own story
April 13, 2010
March 15, 2010
March 11, 2010
Is Google too powerful ?
How we eat, dress and work determines our quality of life. Similarly, how we use internet too will determine our behavior and the quality of life. Internet can be considered as a third generation utility—considering 1st Gen is Air/Fire/Water and 2nd Gen is Electricity. Living without Internet is almost inevitable. At least 80% of the internet users are using Google search. This ultimately gave them massive amount of valuable data. What do they do with it—Google is analyzing the entire world. They want to know everything about us.
This can be too much power to a singular source—Google. They were able to generate reports in minutes if not in hours almost on any activity in the world. . For example have look at this flu trend worldwide. I spent 2/3 of my time on internet, and Google can easily generate a report on my behavior for the past 7-8 years—in-fact they can say which time period I’ve been most productive and vice versa. However, analyzing a single person’s behavior could be less important to them when they can analyze data for a entire country.
Is Google too powerful ?
March 10, 2010
The Fine Line
Recently I’ve been thinking about the purpose of life and read some books from Dr.Deepak Chopra. I might be too young to evaluate the process of life but for the past 30 years I have gained an immense amount of experience. I’m a quick learner in nature, and I guess that helped me to judge and evaluate the life at least to some extent.
Most of us look at our past sheepishly. But it is never too late to identify, correct and move on. Life is a process—we should optimize the process as we move on. I’ve been analyzing my own activity in the past, positive or negative is secondary however. So I came up with the following diagram. A person’s activity is directly proportional to the outcome, regardless of its negative or positive behavior. For example more active people get frequent outcomes in life, and less active people get less outcomes. But we all need to find the fine line, although it’s arguable in some cases. These ideas are not representing any religion believes or teachings. It is merely an effort to understand the process of life and to optimize it so that we all can live it to the fullest.
For people who think this is irrelevant or just a waste of time—please ignore, but for others please find the following references. What is exciting in life if you do not explore.
Reference:
The seven spiritual laws of success
Life After death: the burden of proof.
Quantum healing: exploring the frontiers of mind/body medicine
February 18, 2010
Google Buzz
February 10, 2010
Why Unrealistic Goals are better than Realistic Goals?
It is first quarter of the year and goal setting is imminent for most of us. Most people tend to set the possible and realistic goals for the whole year. Why not setting Unrealistic goals quarterly—sounds impossible?
The importance of goal setting is always considered as a successful strategy for personal development. Accomplishments of goals are arguable and should discuss in separate thread however. This is a merely an effort to illustrate which is more important—Realistic Goals or Unrealistic Goals. Realistic goals settings can be seen as a major culprit to unleash your ability. Even though it is viable for some cases but for most cases it can be a killer of your ability or capability. How many times we have achieved something which we never thought of possible—there are plenty of examples for me personally. We must stretch, expand or broaden our ability to accomplish things. The only way to do is to set unrealistic goals. Achieving 70% of the unrealistic/impossible goals are far better than achieving 100% of the realistic goals. Moreover setting goals for a shorter period of time seems to be more efficient than a longer period. There is a high probability of forgetting or ignoring goals which are set for longer period of time. More importantly we should expect amazing results by achieving goals and not just “results”. Also, don’t forget to reward yourself once you achieve a certain goal.
We are only limited by our thoughts—by keeping this in mind start your own goal setting now, but make it unrealistic/impossible and for short period of time.
January 27, 2010
Dictionary - Google extensions
I found this Google extension very useful – Google Dictionary
Update your Google chrome to get extensions and bookmark sync.
In addition to blogging, I've been also using twitter for quick technology updates. Follow me if you are interested. www.twitter.com/ludmal
January 26, 2010
Windows 7
January 19, 2010
Power of Intention
Intention – an anticipated outcome that is intended or that guides your planned actions. This is the general meaning of the Intention. But for most of us intention is just another word. While we live a mediocre life we tend to forget what is the actual meaning of Intent or Intention. We are limited by our thoughts and our intentions.
Intention is all around us, it is just like gravity. Thanks to Sir Isaac Newton we know that the gravity exists, but what about Intention – the following example will give you a simple idea about the intention.
Have you ever tried to recall a name or place? The harder you try to recall the name the farther it goes away. Once you give up the try and after some time just out of the blue you will remember the name or the place you tried to recall earlier; that is the power of intension. We need use the intention to fulfill our desires. To see the power of intention try to do the following exercise.
Write down a specific goal you want to achieve, and then carry that paper with you all the time. Read it at least three to four times a day, especially before Meditation or Prayer. Also read it as soon as you wake up in the morning. When you pray or meditate you create intentions – nevertheless the power of Meditation and Prayer has to be discussed in a separate post. By reading your goal frequently, you create an intention. And another powerful yet very difficult thing to do is to relinquish your attachment to the outcome. What does this means – you intent to achieve a certain goal, but you release your attachment to the outcome. Just like the name or place recalling example, let the universe handle your intention; therefore don’t worry about the outcome. When you worry about the outcome, you create stress & anxiety. Trust the power of the universe; believe that everything in this world is as it should be.
When the time is right your intentions will be fulfilled. If it is not, then surrender to the outcome. Eventually, everything will be as it should be.
January 18, 2010
What happens if Google shut down their operations in China?
Don’t be evil – informal Google’s company motto. Despite the massive Internet user base in China Google has warned them, that they will stop all of their operations in China. What does this mean to Chinese users? No Google search, no Gmail, no Google Apps and None of the other Google applications. It is like “No Internet” for me at all . At least 90% of my Internet time I spend on Google products. I use Gmail, Google Reader, Google docs, Google Apps, Google Analytics and Google News to name few. So without Google I have nothing to do on the Internet except following my friends on Facebook.
Google as a company evolved immensely in a very short period of time. Their products are very useful and neat. I personally benefits enormously from their products and it is true for most of the Internet users worldwide. China will surely have a considerable impact on their economic growth if Google decided to stop their operations. As an emerging nation China should not be isolated from the rest of the world (Internet World). For me personally, I can't imagine Internet without Google.
Read more
January 7, 2010
Kevin Skinner
It’s amazing how people achieve their dreams with determination. This guy really amazed me and I’m sure he does the same to everyone else. What others think about you is none of your business. Kevin Skinner – Winner of America’s Got Talent.
Microsoft Ajax and Jquery
Microsoft Ajax framework is the best choice for me when I build quick web applications, particularly for intranets. But for public web sites, especially when you want to make the site super fast, then the MS Ajax is not the wisest choice. Recently, I decide to use Jquery instead of MS Ajax for one of my personal web sites. And the website shows a significant performance improvement.
Following is the outcome of my research on the response time and the downloaded data size by using MS Ajax and Jquery. By using Jquery I was able to reduce the size by 50% of the downloaded data. Have a look at the following screen captures. I used Firefox’s firebug for the analysis.
Response with Microsoft Ajax
Response with Jquery
Please visit for more reference - http://docs.jquery.com/Ajax
Hope this helps!
www.twitter.com/ludmal – Follow me on twitter for quick updates on technology, life and much more
December 29, 2009
Why waste time on Project management ?
Recently I came across some of the blog posts regards to Software Project management. It seems like Project Management is another project to Project Managers but so often they claim that they never able to do a accurate schedule or a budget, so the question arise − “Why do Project Management?”.
I’ve been working in Software Industry for the past 9 years and I have never seen a successful Project Manager although I’ve seen plenty of good technical people. I must admit that I have observed some of the successful projects are handled without a proper project plan, or should I say without a “Project Manager”. For a successful software project, the key factor is its technical people and I really don’t believe that’s anything to do with the Project plan or the Project Manager. How did Google products succeed ? Why did Windows Vista failed ? Was it because of the Project Managers or Project Plans? I doubt. In software, it’s a well known factor that the requirements change. Neither the Stake Holders nor the Project Managers are fully aware of the business requirement at the initial stage. So the next question − “What’s Agile ?”
Agile – one of the frequently used terms in the Project management these days. Agile is defined as to keep things simple and to move quicker. Two-thirds of the development time is wasted by the Project Managers for various meetings and requirement explanations. I strongly disagree the fact that every project needs a “Project Plan”, a simple plan would do for most of the projects. We need to understand the scale of the project while keeping the things simple. I don’t intend to talk about massive projects like in NASA or the other major companies, no doubt that they need Project Managers. But for 30-40 developer projects who would need to waste time & money just to create a larger scale project plan ?, A good technical leader is capable of doing the job. At last what matters is the outcome of the project, not how we manage the project. All my thoughts are based on the Software Development and this might not be true for other industries like Construction & Manufacture which are far more matured. Software development still on its way for a strong blue-print unlike Building construction, .
No offense meant to Project Managers, but comments are welcome − After all, Project Management is their Job.
www.twitter.com/ludmal - I've been using twitter for quick updates, Technology & cool stuff, please follow me if you're interested.
December 28, 2009
Know the font by uploading the image
I found this site very useful while searching for some fonts. You can upload an image and know the font.
December 16, 2009
Google Wave future
I was anxiously waited for Google wave invitation from its initial preview release. When I finally got one, I wasn't really impressed with it. The only thing interested to me was the UI. Though they mentioned that the email system is outdated they must have been realized by now how hard is to kill the old email system.-- "Email" is the mostly used feature in Internet followed by "Search". I'm not criticizing it, but I feel Wave is too early. However, it's future is still a mystery.
December 9, 2009
Microsoft vs Google
This is interesting.. I just did a search in google trends. www.google.com/trends
Scale is based on the average worldwide traffic of microsoft company/google company in all years. Learn more
microsoft company, google company
Google Chrome extensions
Recently I've installed some of the Google Chrome extensions and I love It! specially the extensions like Google Tasks, Reader, Gmail & Chrome Touch. I personally like Google chrome because of its simplicity and performance.
In order to install chrome extensions, you must install chrome developer version. This isn't a very stable version but I haven't seen any bugs yet.
1. Installing Chrome Developer Version
a. Download and install the Chrome developer channel from the following location.
http://www.google.com/chrome/eula.html?extra=betachannel
b. Then click on the "About Google Chrome" window, once it's fully updated, restart the browser. You're now running Chrome Developer version.
2. Installing Chrome Extensions.
At this point, all set to install the Chrome extensions. You can download the extensions from the following site. Just follow the installation instructions and are you're done.
http://www.chromeextensions.org
You can even check out the installed extensions by selecting Tools > Extensions as shown in the following screen capture.
Few cool Chrome Extensions:
http://www.chromeextensions.org/alerts-updates/gmail-checker/
http://www.chromeextensions.org/alerts-updates/google-reader-checker/
http://www.chromeextensions.org/appearance-functioning/chrometouch/
http://www.chromeextensions.org/appearance-functioning/smoothscroll/
http://www.chromeextensions.org/utilities/google-notepad/
Hope this helps!
www.twitter.com/ludmal - I've been using twitter for quick updates on Technology stuff, please follow me if you're interested.
November 24, 2009
Text engraved effect using css
November 16, 2009
Google Wave Invitations!
Got some google wave invites, If anybody interested please send me an email (ludmal@gmail.com).
October 7, 2009
Choosing a Smart Password
There has been a wave of phishing attacks on Hotmail and Gmail recently. Following tips are useful when choosing a strong password. (from Gmail blog)
http://gmailblog.blogspot.com/2009/10/choosing-smart-password.html
September 30, 2009
Twitter to update your facebook status.
It’s easy. Goto http://apps.facebook.com/twitter/ , add the application to your facebook. Click on the link “Want Twitter to update your Facebook status? ”, That's it!
September 29, 2009
Fix bugs before writing any new code
Most of the developers like to develop new features rather than fixing bugs. We tend to postpone bug fixing and eager to start developing new features. In general, it’s easy to fix a bug right away than fixing it later. The reasons are -- code is fresh in our minds than to fix it later, we might have forgotten the code if we keep it for later. Hence going through the code again is time consuming. Moreover, having lots of bugs is definitely not a healthier approach. Another reason is, it’s hard to predict the time to fix a bug, but easy for a new feature. To keep your project schedule always inline and accurate fix bugs right away before start developing another new feature.
August 26, 2009
July 31, 2009
Be Consistent
June 1, 2009
I love google Chrome, but where is google Toolbar ?
I love google chrome for its simplicity and fast browsing. But still couldn't figure out how to use google toolbar. All of my bookmarks are in google, any idea on how to use google bookmarks in Chrome ?
May 24, 2009
May 23, 2009
Dropthings -- 2GB Free space
Keep your frequently used files in one place and access it from anywhere -- 2GB free space on http://www.getdropbox.com/
April 11, 2009
April 6, 2009
www.aspnetr.com - .net related Articles
If you are looking for a simple and quick solution for your programming problems please visit, www.aspnetr.com , Its still in beta and will take another week for a fully functional site. The main idea behind this site is to give a spot on solution for all your .net related matters and most preferably ASP.NET.
March 26, 2009
How to get the IP Address and redirect users by country
Download the following dll to get the country by passing IP address. This is a .NET 3.5 library that retrieves the country information for an Internet Protocol version 4 (IPv4) Address, by extending the System.Net.IPAddress class.
http://www.codeplex.com/IPAddressExtensions
Then simply add the code in page load method.
if (!IsPostBack) {
IPAddress ip = IPAddress.Parse(HttpContext.Current.Request.UserHostAddress);
string country = ip.Country();
if (country.ToLower() == "india") {
Response.Redirect("~/indiahomepage.htm");
}
}
February 14, 2009
Fusion Charts
Recently I worked on a Dashboard Project which shows Sales, Invoices, ATB and DSO info. Initially I started with Dundas Charts but later we changed to a nice 3D looking charts called "Fusion Charts". Of course Dundas Charts was good enough but I was looking for a better 3D look, therefore I had to switch to Fusion charts. It was very simple but powerful and we use XML as Data Source. If you are looking for a nice 3D graphs for your project you better have look at this.
MVC
ASP.NET MVC Framework, all I can say is are we going back to where we started ? "Spaghetti code". The main idea was to separate server code from HTML in ASP.NET back in 2001. But all I can see in MVC now is code and HTML both mixed each other which reminds me of a classic asp page. Well, I still haven't got time to get into MVC but this is what I can say from the initial look. Of course there could be some reasons ... I guess I will write this in more details once I really get into MVC....
January 3, 2009
Life is so easy with Google and Apple products
Life is so easy with Google and Apple products. Almost all of my official and personal activities in daily life supports by a google or an apple product. I use gmail as my primary emailing software from last 4 years, the experience was amazing. I use Google Gmail, Tasks, Calendar, Reader, Notebook, Doc, Google sites, Chrome and Google News, almost everyday. And Apple on the other hand with IPod and ITunes. I recently bought a IPod nano and the experience was so amazing compare to the earlier IPod version.
January 2, 2009
December 29, 2008
Productivity Tips
As we are moving to a new year, we tend to look for productivity tips which help to improve our productivity. But how many people actually keep continuing? Well, it’s easy to start but hard to continue. I have tried different kind of GTD (Getting things done).
There are plenty of ways where you can manage your Things to do list. A good start would be GTD. But for me I would like to keep things simple. Some of the simple but effective productivity tips which may help you in new year :
· Maintain a simple todo list ( Gmail Tasks)
· Break tasks into small workable items.
· If a task takes 2 min to complete, do it at the same time and do not procrastinating
· Have a weekly review and clear up all the tasks.
Even If its sound so simple, it’s hard to continue. Good luck and have a productive new year!!
Some useful readings :
http://www.lifeoptimizer.org/2007/05/09/top-5-productivity-tips-most-people-know-but-do-not-do/
December 23, 2008
Merry X'mas and Happy New year
November 28, 2008
November 26, 2008
ASP.NET Charts
August 27, 2008
Generic List removing duplicates
static ListremoveDuplicates(List inputList)
{
DictionaryuniqueStore = new Dictionary ();
ListfinalList = new List ();
foreach (string currValue in inputList)
{
if (!uniqueStore.ContainsKey(currValue))
{
uniqueStore.Add(currValue, 0);
finalList.Add(currValue);
}
}
return finalList;
}
July 4, 2008
Url Rewriting in IIS 7
When there is no file extension in the url, IIS directly processing it with its own ISAPI filter rather than processing it through the ASP.NET handler. But with IIS 7, all we have to do is to add the HttpModule into the IIS web app. All the requests are process through the HttpModule. So if we request http://localhost/Products, it will go through the HttpModule, which we can easily integrate our url rewriting.
June 6, 2008
Coding Styles
May 24, 2008
April 26, 2008
Url Rewriting for SEO
April 16, 2008
Use your computer to print, scan, and fax
http://www.microsoft.com/windowsxp/using/setup/hwandprograms/printfaxscan.mspx
March 26, 2008
OpenSocial
March 12, 2008
How Google keeps our information secure
February 19, 2008
ASP.NET Futures
download futures : http://www.asp.net/downloads/futures/
January 10, 2008
.Net 3.5 Extensions Part 2
In my previous post I have talk about "what is a method extension" and "how we can use that in our development". Let’s move into more detail.
Extension has change the way we design our applications. With previous versions of .net, which didn’t supports features like multiple inheritances, but with extensions we can design our applications to meet all those functionality. So here what I’m going to show is how we can program to interfaces using method extensions.
To start with we will take simple interface class scenario. We use interface to implement multiple features to a given class. Below is example of implementing multiple inheritances on a single class using interfaces.
public interface IFlyable {
void Fly();
}
Public interface IRunnable {
void Run();
}
Public interface ISwimming {
Void Swim();
Void BreatheInWater();
}
Public class Bird: IFlyable, IRunnable, ISwimming {
Public class Animal() {
}
Public void Fly() {
//Implement flying logic
}
Public void Run() {
//Implement Running Logic
}
Public void Swim() {
//Implement Swim Logic
}
Public void BreatheInWater() {
//Implement Breathe in water logic
}
}
What if there is a another class which needs to implement the same Swim logic in ISwimming, infact lets say all the classes which implement ISwimming has the same swim logic, but BreatheInWater logic is differs. How do we achieve this?
Public class Fish: ISwimming {
Public void Swim() {
//Implement same swim logic
}
Public void BreatheInWater() {
//Implement different Breathe in water logic
}
}
We could achieve this using some of the design patterns, but here I just wanted to show how easily we can do this using method extensions. Since Swim has the same logic in every class we can see as it’s a perfect method to use as an extensions. So we can implement the Swim logic in one place. To do that we need to remove the Swim method from ISwimming interface and place that in out method extension class as below.
//Implment the same swim logic
}
Note that we have this keyword before the ISwimming interface. This tells the compiler that ISwimming type has Swim method extension. So after implement the method extensions for the ISwimming interface we could modify the code as below.
public interface IFlyable {
void Fly();
}
Public interface IRunnable {
void Run();
}
Public interface ISwimming {
Void BreatheInWater();
}
Public class Bird: IFlyable, IRunnable, ISwimming {
Public class Animal() {
}
Public void Fly() {
//Implement flying logic
}
Public void Run() {
//Implement Running Logic
}
Public void BreatheInWater() {
//Implement Breathe in water logic
}
}
Public class Fish: ISwimming {
Public void BreatheInWater() {
//Implement different Breathe in water logic
}
}
Please note that we have removed the Swim method from the interface as well as from all the implementation classes. We only wrote the Swim method in our extensions class. This makes our code cleaner and easier to write. So when ever we create an object which implements ISwimming interface we get Swim method as an extension.
So here I covered how we can easily use Method extensions in our interfaces. Hope this helps!
December 18, 2007
.Net 3.5 Extensions Part 1
What is .Net 3.5 "Extension Methods" ?
Extension allow developers to add methods to the existing class/type without wrapping or extending it. It's allow developers to add new methods to an existing CLR type such as string,integer or ICloneable. It even gives the ability to add method implementation on interfaces which I'm planning to cover in my next post.
So let us take a simple scenario and will see how we used to do it.
Requirement is to validate a string to check whether it's a number.
Old way
So here StringHelper is a class where we used to write all our validation methods to an string. So when ever we want to validate we have to call the StringHelper class. Lets see how easy we can do this with extensions.
First you have to write a static class which includes all the validation required to string. I have written IsNumber method by passing the parameter as string. Note that there is this keyword before the type. By doing this we tell the compiler to add this method to the passing parameter type(in this case "string").
so, how do we call this method ? All we have to do is to call the method we wrote in the string variable we defined. You can see there is small blue arrow showing the method is "extension". You can see how easy is to add methods to the existing types without having to call another class to do the job.
You can even write methods with more parameters, below is a simple method which return the character in a string by passing another int parameter
So as we can see here, with extensions we can easily extend the exiting classes in CLR or even our own custom classes/interfaces. In my next post I will show you how we can use the extensions with interfaces. Hope this helps.
December 14, 2007
VS 2008 with Team Suite Edittion
December 11, 2007
VS 2008
Yesterday I installed the VS Web Developer express edition and played with some cool features in New C#. Method Extension was the best so far for me. I'm planning to do a series of articles on how we can use the Extensions to design & develop and how its effects on Multiple Inheritance.
September 24, 2007
Code Snippets
How to generate a Property automatically using code snippets.
1. type prop and press the Tab key twice. And the Code for the Property will generate automatically. Use the Tab key to rename the variable names. Its that easy and simple.
links : http://www.codinghorror.com/blog/archives/000419.html
July 17, 2007
ASP.NET Training Videos
Well, this is for the developers whose unaware of these free training videos. Get them and learn...
July 9, 2007
Optimizing ASP.NET 2.0 Web Project build performance
I found this very useful topic about ASP.NET 2.0 web project build performance. I notice that there are some issues with the ASP.NET 2.0 building, specially when there are too many folders in the project. This link will helps you to bring down your building time. Credit goes to Scott Guthari. http://weblogs.asp.net/scottgu/archive/2006/09/22/Tip_2F00_Trick_3A00_-Optimizing-ASP.NET-2.0-Web-Project-Build-Performance-with-VS-2005.aspx
July 3, 2007
Google Docs
Google docs now supports folder structures with nice looking UI. And one of the cool features in docs is if we needs to upload a document we can send that document to give address to upload the document.. i.e. Ludmal-dcjvpd4d-Ahfhrwx5@prod.writely.com (this email automatically generated from google doc). I found this real easy when ever I'm sending a document to the client I can BCC to this address and save all those documents in the centralized location. try your self. http://docs.google.com/