Wednesday, October 28, 2009

DotNetNuke, Google Search History, News RSS, SEO

Thinking about SEO I know that an important part of it is generating unique content.
Well I don't have much time to write content(apart from this 15 mins break)

So do I generate any content at all?

Yes my Google Search History!

So I found information of Google search history features and realized that the you can get a RSS feed of google search history here:

https://www.google.com/history/?output=rss

But you have to log in with your gmail account to view this page.

So after a day struggling to build a custom module with authentication to Google I remembered that a basic DNN News/RSS module has a option to specify a username/password. So i tried it out an PUFF it worked.

Here is an example for published search history on my site.

I think it would be cool to expand this with a suggested result for the search.

Flex Outsourcing

Tuesday, June 30, 2009

Elance admission test

Here are the questions that i failed on:

Topic : Elance U Course – Find Work
1. How can you ask the client questions before submitting a proposal? Find the correct answer
a. This is impossible
b. Use the Public Messages forum
c. Verify your credentials
d. Take a skills test
Correct Answer: b


Topic : Elance U Course – Manage the Work
2. Why are milestones important? Find the correct answer
a. Outline the schedule and the work to be done
b. Define the payment schedule
c. Help keep the project on schedule
d. All of the above
Correct Answer: d


Topic : Elance U Course – Get Paid
3. What page lists your current account balance along with all transaction history? Find the correct answer
a. "Status Reports" under the "Manage" tab
b. The Water Cooler
c. "Account Activity" under "Get Paid"
d. The Inbox
Correct Answer: c

Hope it helps,

I passed with 88 that's just bad

Tuesday, March 24, 2009

list find predicate delegate .net

Here is an example how to use delegate to use for custom searching thru generic list

List<employee> ListEmployes = new List<employee>();
string strFirstName = "Mark";

Employee employeeResult = objListSomeClass.Find(delegate(Employee employee )
{
return employee.Name==strFirstName ;
}

capitalize first letter word C#

Just a quickie not this can be really helpful for displaying string properly.

string strSomething="PLEASE CAPITALIZE THE FIRST LETTER OF EVERY WORD"
or
string strSomething="please capitalize the first letter of every word"

System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(strSomething.ToLower())

the result
"Please Capitalize The First Letter Of Every Word"

DotNetNuke Custom Module Development

Tuesday, February 24, 2009

Gmail not working 502 Server Error

Tuesday February 24 2009

When tried to login to my gmail account i got this:

Server Error
The server encountered a temporary error and could not complete your request.

Please try again in 30 seconds.

Do we trust too much in cloud computing?
Most of us do not have backup of their gmail account just imagine what would happen if you lose it.

I think Google should enable a easy backup of all the gmail archive and even if we have to pay for it. Doing it via SMTP is just too slow and unreliable.

SOLUTION: You can always try to get your mail using POP, if its urgent

Configure your POP client - http://mail.google.com/support/bin/answer.py?answer=12103

but you probably should have done this first
Enabling POP - http://mail.google.com/support/bin/answer.py?hl=en&answer=13273

God(Google) help us!!!

Thursday, February 19, 2009

ASP.NET parse HTML string HtmlDocument

Here is a quick tutorial that shows how a string containing HTML can be parsed and navigated using HtmlDocument object.
You must use this namespace for HtmlBrowser and HtmlDocument objects

namespace System.Windows.Forms

First lets say you have a flat HTML in a string variable like this

string strHTML = "[some raw html]";
WebBrowser browser = new WebBrowser();
browser.ScriptErrorsSuppressed = true;
HtmlDocument htmlDocument = browser.Document.OpenNew(true);
htmlDocument.Write(strHTML);

I recommend to set ScriptErrorsSuppressed=true; to avoid possible JS problems while loading HTML.

Once you HtmlDocument object is ready you have these functions (similar to JavaScript) on your disposal:

htmlDocument.GetElementById(string id)
htmlDocument.GetElementsByTagName(string tagName)
htmlDocument.GetElementFromPoint(System.Drawing.Point point)

All these methods returns ether HtmlElement or HtmlElementCollection and here are useful methods for parsing thru elements

htmlElement.Parent

htmlElement.NextSibling

htmlElement.FirstChild

htmlElement.InnerHtml

htmlElement.InnerText

htmlElement.Children

htmlElement.GetElementsByTagName(string tagName)

As you can see this is exactly same as JavaScript DOM model so anybody that has experience with working with DOM will be right at home.

It would be nice to have something like JQuery server side to parse the document, if you know about a better way of parsing or a library dedicated to it fell free to add a comment?

Monday, February 16, 2009

DotNetNuke Professional, is it still opensource?

What does this mean? ... Purchase DotNetNuke
What about open source?
How will this affect future releases of DotNetNuke?
Should we start looking for a new open source CMS alternative for ASP.NET?

I think people of DNN joined collective paranoia and insanity of recession and started inventing new ways to get money. I'm sure this is not a good way to go. Sooner or later the community releases will become more and more buggy and we will be forced to buy the "PROFESSIONAL" version (whatever this means). At the end, my view is that DNN will become one more commercial CMS out there.

Do they want to say that the releases of DNN where unprofessional up till now?
That previous versions of DNN are just for amateurs?

Nice way of demeaning your own product.

And the fact there is no price listed on the site, but a simple contact form, means that they are probably just probing the market to see the response.

We as a community should give them our response.

Everybody that uses DNN should go to this address and give their voice about these changes
http://www.dotnetnuke.com/Home/Forms/Purchase/tabid/1241/Default.aspx

For the end of this post I leave you with this Wired article
Free! Why $0.00 Is the Future of Business