NEWS: Approved credit card offers Instant approval credit cards for people with no credit Direct line home insurance Visa credit card offers. Online instantly free credit report Boost your credit score Credit score management 50 Cent Free Ringtones Debt consolidation canada Insurance barts sexual health Credit card debt relief nonprofit Secured debt consolidation Debt consolidation for credit card and vehicle loan Cardinal principle of homeowner personal loans Insurance perspectives on sexual and reproductive health Fixed rate home equity loans Unlimited credit reports Card credit debt help save Credit report law Refinance loans Bad debt credit cards Payday loan company Tampa home equity loan Order credit report: For credit score Home equity? Bankruptcy credit card offer Credit repair Check my credit report Credit card debt consolidation information Commercial real estate loan Group health insurance california Refinance houses michigan Home loans: Clear credit report Free credit report for georgia resident. Canadian instant approval credit cards Loans instant approval credit cards Home insurance phoenix Interest free debt consolidation Auto car warranty Iowa student loan: Acceptable credit score Refinance mortgage loan home rate Reports to credit Metropolitan life insurance company Low apr balance transfer credit cards Home warranty insurance Debt consolidation organization Mortgage life insurance Free credit report georgia Health insurance mississippi Commercial loan interest rates Refinance! Vantage credit score Credit card debt remover Texas loans commercial rates Refinance auto loan bad credit, Which is the best debt settlement company Credit scores mortgage Health insurance colorado Credit card offers after bankruptcy Does my credit score Consumer credit reporting reform Credit score auto loan Insurance life whole! Online home equity loans Lone Star Ringtones, California home refinance rate california home loan mortgage Life insurance comparison! California payday loan Reporting to credit, Edmunds auto loan calculator Rolex Wrist Watch Refinance home loan Credit credit card applications Insurance sexual health quiz Credit score repair services information firstcred Sample debt settlement letter Edmunds auto loan calculator No faxing needed payday loans American home loans direct refinance rates mortgage Creditscore Automobile insurance quote? Credit cards zero balance transfer Credit cards bad credit instant approval Credit card application approved with false ssn Bad credit commercial loan Auto Insurance Online Debt reduction solution credit card: Home equity loans questions Student credit card debt statistics Obtain credit report Debt settlement attorney Best credit cards for balance transfer Credit plus score Information on teen credit card debts Cause of credit card debt among college students. Check credit report free Credit card instant application: Commercial mortgage loans Long term health care insurance in london Cheap payday loan Card consolidation credit debt payment versus? To get my credit report Understanding credit scores: Pennsylvania auto insurance Games report no credit card required We fund 24 hour commercial loans in florida 3 major credit reporting agencies. Reporting credit Whole life insurance rate: Canadian visa credit card application Best way to eliminate credit card debt Up my credit report Secured loans to increase credit score? Life insurance agencies Improving your credit score California refinance mortgage loan california refinance home Home mortgage loan refinance, Home equity rates Card credit free interest offer uk Debt consolidation service Credit report 3 in 1? Zero percent credit card offers Life insurance for elderly, Long term care insurance premium Household credit card debt! Articles on auto warranty companies Credit report repair services Long term health care insurance company ratings Instant approval for credit cards for students Annuity investor life insurance Credit report with credit score. Auto loan refinance Term life insurance online Low credit scores Professional business solutions debt settlement Card consilidation credit debt finance Credit score evaluation Credit scores for Ohio mortgage rates california home loan mortgage refinance Credit card offer low interest Instant credit approval for credit cards on line California cash out refinance california home loan mortgage News credit report without credit card Free credit score no credit card Bad credit loans california home mortgage refinance loands Debt settlement arizona Homeowners insurance quotations! Credit rating score Best credit card offer Mexican auto insurance Canadian credit score reports, Refinance michigan Credit card debt consolidation? Check credit score for free Health insurance price Credit card debt consolidate Auto Insurance Company! Debt management consolidation credit card Home insurance quote online 0 apr credit cards uk Credit repair lawyers Home loan mortgage rate refinance Individual health insurance companies Hsbc credit card application Maryland renters insurance Credit card application mbna loan low interest Student loan rates Insurance sexual health clinic sydney Insurance life Capital one auto loan Under the fair credit reporting act Paydayloan Oklahoma health insurance Used auto warranty Commercial loan broker Credit report consumer Is a good credit score, Online life insurance Balance transfer credit cards online quick approval Insurance credit report Card credit debt iowa management? Compare refinance rates Bad credit debt consolidation Whole life insurance quote online Uk credit reports online Of debt settlement Free credit report without a credit card? California home equity loans Check consolidation credit debt loan no Credit score and Fha home loans Disputing credit report Credit repair attorneys Free online credit report no trial offer Debt consolidation financing New instant approval credit cards Bad credit cards instant approval Debt downloads no credit card required First usa zero percent balance transfer credit cards How do i get a free credit report Student credit cards instant approval Online instantly law credit report repair services Payday advance loan Cash advance payday loan Card credit debt elimination total Card credit debt negotiation settlement Credit scores mean: Instant credit card approval application Credit offer card approval instant Out of credit card offers Bureau credit free report three Balance cards credit interest transfer Poor credit home loans, Instant approval credit cards for people with no credit Florida home equity loans. College student credit card debt California Car Insurance, California health insurance Student loans without credit check: Credit score meaning Montana health insurance. Countrywide home loans One credit reports: Home insurance uk Instant aproval credit cards for bad credit Group disability income insurance Home improvement loans Low interest credit cards balance transfers Online Car Insurance Home renters insurance Free online renters insurance quotes Lowering credit scores Home based credit repair business Travelers renters insurance Motorhome insurance Federal student loan payment Debt consolidation service! Mortgage life insurance High risk debt consolidation loan Cancer survivor insurance Shell credit card application. Universal life insurance Credit report with no credit card? South carolina student loan corporation Games report no credit card needed Auto loan refinancing Business credit scores Consolidating credit card debt dallas Equifax free credit report Renters insurance instant quotes Georgia loans automobile? Home equity loans for bad credit Tesco home insurance Refinance mortgage rates henry county ohio Georgia payday loan Credit reports and scores 0 apr credit card offers, Average card credit debt national What are credit scores Cash until payday loan Low interest balance transfers canada credit cards? Debt credit report no credit card needed Home equity lines of credit vs Other conventional loans. Uk credit card offer Credit bureau report, Home equity mortgage Payday quick loan Credit repair book Insurance life Credit card application instant decision Payday loan illinois Equity hawaii home loan rate Credit card bad debt uk Cell Phone Ringtones Dispute experian credit report online Washington mutual finance credit reporting Home equity calculator, Credit card application in Credit card offer comparison. Card credit debt help self uk Online credit card application instant approval Fixed rate home equity loans Debt consolidation reducing credit card debt! Credit scores analysis Negotiating credit card debt settlements? Citibank credit card application status No apr annual fee low interest credit cards, 0 credit card application Lowest auto loans Renters insurance Fair credit reporting act summary, 1 card consolidation credit debt California best refinance mortgage rate california home loan! How to improve your credit score Unsecured credit card debt settlement strategy Guaranteed auto loans Affordable Car Insurance? Bad credit loans california home mortgage refinance loands Commercial loans Insurance health sexual secrets Motor home insurance Credit reporting agencies Nj disability insurance Florida home equity loans Credit scores free Card credit debt forgiveness settlement Just credit score Commercial loans retail Auto insurance facts Get free credit report Free credit report gov Credit reports on line Renters insurance quotes American general life insurance Transunion credit reports? Aflac disability insurance Debt consolidation help! Insurance sexual health clinic toronto Auto owners insurance Credit report scores mean Cheap life insurance Free credit reporting Refinance home mortgage home equity loan, Debt consolidation mortgages Information credit report Card credit debt grant help pay Credit scores are Home loan mortgage refinance loan Fixed zero interest balance transfer credit cards, Are debt settlement companies scams disability insurance Excellent credit score The importance of accreditation during war reporting Equifax credit reports Long term health care insurance plans! Credit score and identity theft No credit card required for instant online credit report To credit reporting agencies Free fico score credit report Low interest apr credit cards Low cost payday loan Credit checks instant aproval credit cards Best term life insurances! 0 card credit introductory offer Auto insurance! Negotiate credit card debt Equifax credit reports? Best home equity loans Fair credit and reporting act Long term care health insurance rates Card credit debt elimination program Free debt settlement companies Card counseling credit debt service: Cardinal principle of homeowner personal loans Disputed items and fico credit score The fair credit reporting Credit bureau score: Instant approval no fee credit cards How to obtain a free credit report Bankruptcy credit report Increase your credit score Free credit score Quick payday loans Credit repair info Fair credit reporting act employment Good credit scores Card credit debt plan reduction Home insurance online Home insurance My credit card debt Free credit report com Free life insurance Low apr credit card offer Home insurance coverage Aflac disability insurance? Compare health insurance Credit report fico scores New home puchase bad credit home loans mortgage refinance The best credit score, Debt settlement leads Credit card debt consolidation company. Whole life insurance tips Instant approval credit cards uk Credit card debt statue of limitation 30 day payday loan Credit cards instant approval online Home loan refinance lending mortgage rate calculator Debt credit report no credit card required Low credit score mortgage Settlement settling debt with plaintiff Unsecured credit card debt settlement strategies Master card credit application Credit card debt reduction calculator. Personal health insurance Auto Trader Health insurance arkansas Who offers secured credit cards With low credit scores With low credit scores Debt settlement books software Washington mutual credit card application. Insurance sexual health program Bad credit home equity loans: Health insurance quotes Credit repair specialists? Cheap renters insurance Debt report no credit card required Commercial building loans Kansas city home insurance. Auto insurance rates Tips for paying off credit card debt Government student loan consolidation Credit card offer low interest Applications credit card Bad credit report repair Minnesota refinance mortgage loans 3 credit reports, Credit repairs Debt consolidation podcasting Unsecured credit card applications Smoker life insurance? Auto Low interest credit cards with balance transfers Long term care health insurance Consolidation debt free nonprofit Home equity loans for bad credit Eliminate credit card debt without paying erase San diego home loans Mega health insurance Insurance term long health care Free printable credit report Debt consolidation home equity loans California home loan mortgage refinance loan california Fast cash online payday loan Unsecured credit card debt: Auto Tune Up Unlimited credit reports. Canadian payday loan Line instant approval credit card offers Card credit debt help pay Credit card debt relief nonprofit! Bureau credit reports Preowned Rolex Long term care health insurance california Health insurance Cheap health insurance quote Low auto loan rates: Card consolidation credit debt pittsburgh Score federal credit union! London long term health care insurance Opting out pre screened offers increase your credit score Credit reports no Credit score for car loan My annual credit report Instant approval online credit cards Credit repair agency Credit report letters Stay on my credit report Buy health insurance Instant capital one zero interest credit card offer Illinois debt consolidation Credit card debt help Freecreditreport.com Who has the best credit card offer Idaho mortgage refinance. Credit card medical auto repo debt consolidation American modern home insurance Corporate credit card application Insurance sexual health quiz Finance report no credit card required Negotiation first usa debt settlement! Debt consolidation uk Student loans with bad credit Free credit report service Credit credit report no credit card needed. Credit debt consolidation loan Instant approval credit cards with no annual fee: New home puchase bad credit home loans mortgage refinance To improve your credit score Gb home equity No application fee credit card Student loan consolidation rates Bad credit loans auto loans home loans mortgage refinance Free credit reports in the uk Debt settlement texas Best home loan mortgage refinance Unpaid credit card debt. Unsecured credit card application online Home equity loans online Raise my credit score Raise credit score Compare debt settlement companies Free credit report online California refinance mortgage loan home equity loans home Preapproved credit card offers Card christian credit debt help Credit reports com: Home loan refinance online refinance rate home mortgage Online credit score View credit report online free Instant approval card applications credit cards Home equity loan calculator Life insurance quote Personal debt consolidation loan Fake Rolex Watch! Card consolidation credit debt keyword Providian credit card application Longterm care insurance versus medicare Freecredit report.com National credit card debt Christian debt consolidation, Zero balance transfer credit cards Indiana refinance mortgage: Colorado home mortgage refinance loan Long care term insurance health Credit report in canada Application capital card credit one secured. Consumer debt consolidation Average credit scores Maine health insurance Disability insurance fraud! Credit card offers in Personal debt consolidation loan Credit cards or debit cards instant approval Getting a credit score Auto Recall Card consolidation credit debt loan relief Auto insurance cost Credit cards with 0 on balance transfers Check credit reports Free instant approval credit cards Improve credit score Instant credit cards approval! Credit score to Automated credit reporting industry 3 in 1 credit score First premier bank credit card application Debt negotiating settlement Credit repair information, Avoiding student credit card debt Debt settlement services? Rolex Air King Credit card consolidation debt counseling Credit reports for landlords Home mortgage rate refinance california: Credit score online Of the fair credit reporting act Arizona home loans online Credit score higher Refinance auto loan Hurt my credit score Free credit repair sample letters Stop credit card offer Government home loans Debt management consolidation credit card Progressive Car Insurance Cheap renters insurance Clean up your credit report Life insurance rate quote Credit card depot and debt consolidation Starting credit repair business New york life insurance My credit score for. Annuel credit report Cash advance credit cards instant approval bad cre Free credit report and score online Mercury home insurance Interpreting credit scores Home equity loans pros and cons Card consolidation credit debt payment versus Guarenteed auto loans for bad credit Home equity loans with bad credit Refinancing home equity loans california refinance mortgage Creditcard debt elimination Inexpensive health insurance How to obtain a free credit report Allstate fair credit reporting act litigation settlement American life insurance California refinance fha home mortgage loans Credit card debt consolidate it Credit card application with instant approval Credit report score trans union Health insurance dallas, Hawaii home loans Debt settlement in gulfport ms What is long term care insurance Canadian student loan Government free credit report Burial insurance policy Best payday loan California health insurance plans Instant approval for hotel credit cards Free credit report scores Lady Rolex Instant online credit card application: Mortgage disability insurance Homeowners insurance california Discount life insurance Card credit debt help Pre approved credit card offers Credit cards online with instant approval Instant mbna low interest rate credit card offer Kiss Ringtones Card consolidation credit debt loan mortgage no Credit cards with 0 interest on balance Care insurance lead long term health insurance online Experian credit score California home loan mortgage refinance Repair my credit report: Online credit cards instant approval Group affordable health insurance california Auto Paint Metlife dental insurance. Whole life insurance rates Pay credit card debt Inexpensive health insurance Debt help with school loan and credit card Summary of your rights under the fair credit reporting Bureau credit reports! Georgia free credit report Card debt settlement, I get my credit score On line credit card applications Negotiating settlement credit card debt Home insurance policy Free credit card application Whats a good credit score for buying a house Cheap life insurance Credit free instant online report Legally repair credit Kansas home equity loan Free credit report and score Debt consolidation lead. Credit free online report score Self credit repair Instant approval credit cards fair Grants to get out of credit card debt. Mortgage broker home loan refinance Apr balance transfer credit cards: Instant online approval credit cards fleet Secured credit card offers Repair my credit rating Debt settlement tx Credit free instantly online report Auto insurance comprehensive coverage Find out my credit score Tips to lowering credit card debt Credit score help Home equity loans california refinance mortgage loan hime Florida home equity loan Texas health insurance quotes Bad credit debt consolidation home equity loans Credit reports and renting an apartment Compare auto insurance quote Instant approval credit cards for people with high balances Citibank student loan Credit report software, Hartford life and annuity insurance company Auto loan value Consolidate student loans Texas auto insurance: Three credit reports Dog health insurance Remind Ringtones Student loan consolidation calculator Sears credit card application Consolidation debt sollutions Universal life insurance quotes No balance transfer credit cards Instant approval low apr credit cards Credit and reporting Instant capital one 0 interest credit card application California auto insurance Credit score good Eliminate unsecured credit card debt, Health insurance ca Insurance promote sexual health Credit report identity theft Supplemental home insurance philadelphia: Insurance sexual health survey Credit card application immediate approval high limits Credit card debt settlement Home construction loans: Lady Rolex Watch Wells fargo home mortgage current refinance interest rates. 0 apr credit card offers Credit cards offering 0 I raise my credit score How to increase credit score Illinois auto insurance Auto insurance quote Debt and bill consolidation Loan bad credit home equity refinance mortgage Business auto loan To clean up your credit report Extended warranty auto Auto loan calculators: Refinance loan Non conforming home loans Life insurance uk Student loan. Insurance melbourne sexual health centre Free balance transfer credit cards Beacon credit score Auto loan refinance Landlord credit reports Direct student loans. How to pay off credit card debt Credit report information Credit cards no deposit bad credit instant approval Copy of my credit report Cancer insurance Annualcreditreport.com.! Compare auto insurance rates Unsecured loan for debt consolidation! Free online renters insurance quote Home mortgage credit card debt loan Credit card balance transfer offers Instant online approval unsecured credit cards Guaranteed instant approval credit cards credit Best homeowners insurance rates Cosigning credit card applications Group health insurance quotes Long term care insurance ohio Best equity home loans American credit card debt Credit repair after bankruptcy Mosquito Ringtones Debt settlement reduction Low cost life insurance Credit report scores Free home owner insurance quote Card company credit report! Whole life insurance company Apr credit card offers 580 credit score College student credit cards with instant approval? Florida home owners insurance Home equity loans Debt settlement business Health insurance individual quote? Your credit report Repair credit score Credit bureau reports Us home loan house refinance mortgage rates? California debt consolidation Card credit debt grant help pay: Insurance swinger life style Free credit report from trw? Average card college credit debt student Credit card counseling debt service Debt settlement Texas home equity loan. Online capital one zero apr credit card offer Cancer bracelet health insurance lead 0 apr on balance transfer credit cards Ringtones Life insurance quotes Free credit rating score. Home owner insurance rate Students credit card debt Low interest credit cards with no balance transfer fee Cancer insurance online quote, Bad credit home loans california refinance mortgage loan new Canadian instant approval credit cards Auto insurance quotation Refinance va loans Totally free online credit report Credit fraud reporting Insurance coverage for renters Beacon score credit report? Obtain free credit score Express credit card application Student health insurance Credit card offer with 0 on transfer Three major credit reporting agencies Debt consolidation advice blogs Instant approval credits cards no credit Home mortgage equity lowest refinance loan rates payments? Credit report fico scores Free auto insurance quotes Apartment renters insurance Best home insurance Homeowners insurance california Fixed rate home equity loan! Insurance sexual health clinic ottawa Free access to credit reports Rates for auto loans Absolutely free online credit reports! Womens Rolex Watch Equity hawaii home loan rate Student loan for college Health insurance self employed! Getting a credit score Free credit report no credit card required Alaska airline credit card application Long term care insurance policy Auto and home insurance New york disability insurance lawyer. Commercial loan application Guaranteed debt settlement Mortgage refinance Application aspen card credit California refinance mortgage loan home improvement loans Credit repair program. California health insurance individuals Instant approval credit cards2c low credit Instant approval unsecured credit cards Buy health insurance Why is your credit score is important Debt consolidation lender! Cash till payday loan North carolina health insurance. How to negotiate debt settlement Home loan refinance online refinance rate home mortgage Qualified life insurance lead Life insurance Credit score reports Advanced Auto Part Loan rates home equity loans Best refinance home mortgage loan rate credit Report no credit card Credit card debt consolidation service. Low interest transfer balance credit cards Bad credit debt consolidation home equity loans Zero percent transfer balance credit cards Raise credit scores quickly John hancock life insurance Auto insurance in nj, Credit report government Home loan mortgage refinance loan Debt consolidation non profit Life insurance quote online. Affordable california health insurance Discount homeowners insurance, Current auto loan rates Long term care insurance and american health insurance plans Newport beach home equity loan Card consilidation credit debt finance Persuade to do debt settlement Credit card debt collection laws No apr credit cards Auto insurance pa In one credit report Credit repair companies Remodeling home loans Free debt settlement! Small commercial loan Bad credit refinance loans finding a good lender Settlement of credit card debt on credit report Refinance home mortgage loans Three in one credit report Card credit debt eliminate now? How to get a free credit report California home loan mortgage refinance Insurance contraception and sexual health Uk credit card debt. Auto insurance state farm Auto car loans Bad card company credit debt Zero interest balance transfer credit cards life! Card consolidate credit debt nonprofit Online instantly bureau credit report Reporting credit card fraud Mortgage refinance Credit report self help repair Debt settlement Best home loan michigan mortgage rate refinance Ohio refinance loan, 0 apr credit cards Instant approval credit cards Federal student loan consolidation Rolex Watch For Sale: Credit report questions Guaranteed auto loans Credit card offer with 0 on transfer Insurance nhs sexual health clinic! Free credit report experian Mortgage loans refinance home loan Insurance swingers life style Transunion credit report Credit score reports Student education loans. Calculate debt settlement Check credit report equifax Florida homeowners insurance Faux Rolex Card counseling credit debt service Auto insurance in florida? Renters insurance arizona Free credit reports online Credit reporting and Composite credit report score simplifies mortgage issues. Illinois payday loan Free debt consolidation Ohio refinance mortgage loans Consolidation service debt settlement Health care insurance Life insurance rate! Stop credit card application mailers Loan til payday Home building loans Free debt consolidation quote Federal student loans Credit reports and scores New mexico payday loan Debt consolidation company Canadian credit card applications Debt settlement consolidation bankruptcy? Quick payday loan Debt settlement vs Debt consolidation Get a copy of my credit report Average american credit card debt, Credit repair tips Canadian credit cards instant approval online Mortgage loan debt consolidation refinance home improvement Bad credit report When is the right time to refinance your mortgage Credit reporting software, Renters insurance texas Credit consultants debt settlement company? Application card credit navy old Renters insurance co Credit free instant online report Homeowners insurance leads! Bad consolidation credit debt help Instant online pre approval credit cards Refinance mortgage rates hardin county ohio Florida homeowner insurance Credit score companies Online debt consolidation! Direct student loan Unsecured debt consolidation Mississippi health insurance Group health insurance, Instant online approval canadian secured credit cards No credit instant approval credit cards Online no fax payday loan Debt relief settlement 025 apr balance transfer credit cards Credit score repair Low interest credit card application Loans for less than 500 credit score Immediate credit cards balance transfer State farm home insurance Long term care health insurance texas advocates Auto warranty? Home loan mortgage refinance loan refinance rate refinance Medicare supplemental health insurance My free credit report Credit card debt counseling delaware: Health insurance in north carolina Credit reporting act litigation Debt consolidation lead Commercial loan Commercial loan wholesale Credit card debt collection Debt settlement companies Tenant credit reports Bad credit instant approval 0 balance tranfer credit cards How to improve credit scores Personal credit report canada Home auto insurance, Payday loan calculator Minnesota home loans, Renters insurance quote Online life insurance Auto extended warranty corp Refinance home equity loan refinance mortgage rate refinance, Mortgage loans refinance home equity debt consolidation Credit score mortgages Compare auto insurance prices Rates on auto loans Whole life insurance quote Compare credit cards instant approval Mobile home renters insurance Credit card application bad Credit card debt loan Balance transfer on credit cards? Credit report ratings Fake Rolex Submariner: Beat credit card debt Settlement and debt negotiation, Get credit score Debt settlement houston texas, Last to die life insurance Application card credit online secured Finance report no credit card needed Consolidate credit card debts Kiss Ringtones Georgia free credit report! Rates on auto loans Credit scores explained, Credit card bad debt And credit reporting: Payday loan personal View my credit report Credit card applications for people Home equity loan: Com home loan mortgage rate refinance Reports and credit Refinance investments Best balance transfer credit cards? Sample settlement of debt letter Free credit repair kit Credit score repair services information firstcred Credit cards instant approval credit, Free credit report for georgia resident Low apr student credit cards Statue of limitations on credit card debt Credit bureau reports Homeowners insurance in texas Home loan refinancing california refinance mortgage Debt settlement podcast Self employed health insurance Long term care insurance plan Goverment student loan consolidation Child life insurance quotes Virginia auto insurance United states government personal credit report Disputing credit reports Consumer credit reporting reform California mortgage refinancing home equity loans bad credit. Credit card application Instant approval secured credit cards? Individual health insurance quote texas Low cost health insurance Credit scores and Whole life insurance rates Yearly free credit report On line credit reports Find credit score models Online payday loan instant approval Instant personal credit report Quick payday loan? Titan auto insurance Credit report score trans union Commercial credit reports Victoria secret credit card application Homeowners insurance quotes Paying credit card debt. Nonprofit debt consolidation New mexico payday loan Credit card debt reduction Travel health insurance, Read credit reports Vanguard universal life insurance Instant approval sporting good store credit cards Kaiser permanente health insurance plans. Fixed apr credit cards Union credit reporting Debt phone no credit card needed Low interest credit card offers Instant approval 24500 00 credit cards Cash advance payday loan Washington mutual credit card offers Credit reports in Supplemental health insurance Reliable debt settlement

Posts filed under 'WB Editor'

Visual Studio Isloated Shell and Eclipse Rich Client Platform

Visual Studio 2008 isolated mode shell reminds me the Eclipse rich client platform (RCP).

The most important architectural characteristics of Eclipse is the Plug-in architecture, which has concept of Plug-ins, Extensions and Extension-Points.

Plug-ins are the smallest deployable and installable software components of Eclipse. The similar concept in VS is VSPackage. After this eveything began to be very different.

Eclipse plug-ins are pure Java libraries on Java platform.
VS Packages are .NET libraries on COM based on platform through COM interop and MPF.

Eclipse plug-ins are described in XML.
VS replies on registry. VS Packages are using pkgdef and pkgundef files and code attributes.
……

From the Visual Studio 2008 Shell offcial definition:

The Microsoft Visual Studio 2008 Shell provides a core integrated development environment (IDE) to help you build and ship specialized languages and development tools.

Looks like it is only targetting development tools, not general application platform.

What about DSL then? Bound DSL only to VS shell is really limitting the potentials of DSL.

Add comment March 9th, 2008

Controller is NOT to separate the View from the Model

I used to think controller in MVC is to separate the view and the model, until I saw this blog An Introduction to the Model-View-Controller, Model-View-Presenter, and Presentation-Abstraction-Control Patterns where Derek Greer wrote,

One common misconception about the relationship between the MVC components is that the purpose of the Controller is to separate the View from the Model. While the MVC pattern does decouple the application’s domain layer from its presentation layer, this is achieved through the Observer Pattern, not through the Controller. The Controller’s job is to mediate between the human and the application, not between the View and the Model.

While the original idea of the Presenter was seen by the Taligent team as a Controller elevated to an application level, the Dolphin team mistakenly considered it a replacement of the VisualWorks’ Application Model and maintained the Presenter as a mediating component within the triad.

  • In MVC, controller is the human to model connector (intercepts user input).
  • In Taligent MVP, the presenter is the subsystem component connector (manages application subsystems).
  • In Dolphin MVP, the presenter is the presentation to domain connector (manages access to model updates).
  • In Passive View, the presenter manages presentation logic.
  • In Supervising Controller, the presenter assists with presentation logic.

Add comment February 10th, 2008

Visual Studio can do MVP

The code beside technology is used by the visual studio designer. E.g. for each Windows Form, visual studio designer generates two partial classes, one for creating UI elements, and the other one is the place to write code. I think it is a MVP/Passive View already.

  • Windows Froms App, The SomeForm.designer.cs is the view and the SomeForm.cs is the presenter.
  • ASP.NET, the aspx/ascx is the view and the aspx.cs/ascx.cs is the presenter.
  • WPF, the xmal is the view and the xmal.cs is the presenter.

    If it Visual Studio generates an interface, ISomeForm.cs. Then have SomeForm.cs reference to this interface, instead of being partial class of the view. It is exactly MVP/Passive View. This would make unit testing easy based on ISomeForm.cs and SomeForm.cs. I would not mind if Visual Studio does this (in fact it might be something good to suggest MS to do).

    In SCSF and WCSF, there has to be another presenter class. This makes me feel it is a redundant, because presenter class ties/couples to the view. It can hardly be reused. And you have to create extra code to delegate user input/UI events to the presenter. That’s part of reasons why I am not satisfied w/ MVP in SCSF and WCSF.

    The original force of MVP is to ease unit testing. Current unit testing on the presenter is to mock interfaces of view and model. Because there is no other better method, this leaves the mocking on interfaces only one to use practically.

    What about to have a tool that generates mock object from aspx/ascx to make aspx.cs/ascx.cs unit test-able?

Add comment February 10th, 2008

ASP.NET MVC Framework is just another front controller

ASP.NET framework is already a MVC framework that allows to implement MVC.

Within ASP.NET, there is a front controller.

The controller itself is usually implemented in two parts: a handler and a hierarchy of commands. The handler has two responsibilities:

Retrieve parameters. The handler receives the HTTP Post or Get request from the Web server and retrieves relevant parameters from the request.

Select commands. The handler uses the parameters from the request first to choose the correct command and then to transfers control to the command for processing.

The commands themselves are also part of the controller. The commands represent the specific actions as described in the Command pattern [Gamma95]. Representing commands as individual objects allows the controller to interact with all commands in a generic way, as opposed to invoking specific methods on a common command class. After the command object completes the action, the command chooses which view to use to render the page.

The upcoming ASP.NET MVC framework is another front controller implementation.

ASP.NET’s default front controller truns plain http request into view state and server side events. ASP.NET AJAX extended the ASP.NET web form to support partial page render.

ASP.NET MVC replaced (not extended) the default front controller, so that there won’t be view state, nor server side event any more, in order to have SEO/REST style URL. Not sure if it is worth to trade REST style URL with view state, server side events and partial page render.

Add comment February 10th, 2008

C# Feature Presentation

Here are the slide deck and source code used in my presentation about C# features for fellow developers. Topics include:

C# feature demo: Find even number from a list of integers:

  • C# 1.x – Loop in Collection (Array)
  • C# 1.x – Delegate (Custom Delegate)
  • C# 2.0 – Iterators (yield return)
  • C# 2.0 – Delegate (Predicate<T>)
  • C# 2.0 – Anonymous Method
  • C# 3.0 – Lambda Expression
  • C# 3.0 – LINQ (Language integrated Query)
  • C# 3.0 – Extended Method

LINQ demo: Match orders with appraisers

  • Select: Default, Anonymous Class, Dictionary
  • Where: Static, Dynamic Query
  • Group: Aggregation, e.g. count
  • Join: Inner Join, Out Join, Group Join
  • Order: e.g. order by count desc

 

Add comment December 28th, 2007

Service without description is a pain

Too many debates are there about SOAP vs. REST, contract first vs. code first.

But here is my real life experience during developing WB Editor when it needs to connect web services through those famous RESTful style APIs.

First, the API documents usually have no schema definitions other than request and response XML examples.  Examples are good for human to read.  But after reading, where is the code that I can work with? I have to write code to parse those XML! - This is a pain. If there was schema, machine could generate client code stubs automatically. The nice “Add web reference” way.

Second, maybe the web service providers realized the issue mentioned above. Usually there are client libraries are also available, such as libraries for Java, for .NET, for PHP, for Python and for Javascript …. If using libraries, what is the differece between them to those C libraries ages ago? As long as the the library black box can talk to the server no needs to bother whether underneath it is HTTP, whether it is XML or binary.

I cannot imagine if in my company, when I publishing tones of web services to other departments or clients, I have to also deliver client libraries, for Java, for .NET ….

Tags: , , , , ,

Add comment June 8th, 2007

SQL CE database and ClickOnce Deployment

My default SQL CE database was deployed to ClickOnce Data Directory. If changed the database schema, ClickOnce will deploy the new database and keep the old database file (in .pre folder). Here is the psuedo code to migrate schema:

if (IsFirstRun)
{
   if (customMigrationORMergeNeeded)
   {
      string dataFolder = call the API
      // Database from V1 of the    app
      string oldDatabase = Path.Combine(dataFolder,”.pre\db1.db”);
      if (File.Exists(oldDatabase))
      {
         string newDatabase = Path.Combine(dataFolder,”db1.db”);
         //perform the task needed with old and new one
         DoPerformCustomMigrationORMergeAsNeeded();
      }
}

What about removed the program from control panel? Data are all gone.

Looks like better to copy database file to the application data folder.

Add comment May 15th, 2007

About


Add comment October 18th, 2006

SharePoint Windows Authentication

In IE: open “Tools | Internet Options -> Security”, add the SharePoint sites in “trusted sites”

In firefox: open firefox browse to about:config find “network.automatic-ntlm-auth.trused-uris” modify the value and enter in SharePoint intranet sites that you must pass your username and password to. For some site i connect to i also had to add values to: “network.negotiate-auth.delegation-uris” “network.negotiate-auth.trusted-uris”

1 comment July 20th, 2006

P&P OB CAB EntLib

ç»§ç»­ VSLive Toronto 的后续故事。 上次记录了 SQL/e,这次是关于 Daniel Cazzulino çš„发言 《Microsoft p&p ObjectBuilder》。听完这个演讲发现最近周围的事情还都发生了些关联。

首先是日前买了本书 《Head Up Design Patterns》。它的第一章就以一个引人入胜的故事介绍了设计模式的 Strategy Pattern。这个模式的好处多多,但是负作用是会产生了很多相互关联的类。如何按照合理地创建这些类,并把它们组和起来。这就引出了另外一个话题 Inversion of Control / Dependency Injection。

这几天帮女儿复习准备乐理考试,还碰到了 Interval Inversion / Triad Inversion,搞得我就很头昏。Dependency Injection å¥½åƒè¿˜å¥½ç†è§£äº›ã€‚

Daniel Cazzulino 讲的 ObjectBuilder å°±æ˜¯ä¸€ä¸ªå…·æœ‰ dependency injection 功能的轻量级对象容器*。 ObjectBuilder æ˜¯ ï¼­ï¼³ patterns & practices Composite UI Application Block ä»¥åŠ Enterprise Library 的核心部分。

这就又引到了 CAB - Composite UI Application Block。也是不久前 WB Editor 3.0 的设计已经开始了。鉴于 2.0 版本中 RAD 流毒太深**,决定应该采用个好的系统结构,正在犹豫,是否用这篇 Implement a Microsoft Word-like Object Model for Your .NET Framework Application 文章介绍的方法呢,还是用 CAB。

经过聆听 Daniel Cazzulino 的讲解,不但了解了 OB 的功能,还了解了其内部的一些机制。因此决定进一步学习了一下 CAB Hands on Lab。于是得到结论就是 WB Editor 3.0 将采用 CAB。

Daniel Cazzulino 还讲了个有用的内容,Guidance Automation Toolkit / GAT,值得再用一篇笔记介绍。
* 轻量级对象容器和 ** RAD 流毒也可以讲些故事。

Tags:

1 comment May 14th, 2006

Optimistic concurrency

During the WB Editor 2.5 testing, we found an interesting concurrency control issue. In this version, we allowed multiple program instance for ease of cross posting.

Now in multiple instance windows, user can setup blog server accounts differently. Which one is the winner?

“Last one wins” was disapproved by QA.

Maybe we need optimistic concurrency. I this case user will receive a dialog saying “another instance has modified the settings”, do you want to overwrite or discard or reload?

Another option is concurrency control with change notifications. Using FileSystemWatcher to detect changes of configuration file, but what should happen next in UI?

Tgas:     

 

Add comment May 10th, 2006

.NET 下制作 Shareware 的关键技术探讨二:非对称加密

前文描述了.NET 为 Shareware 程序开发提供了许可证检测机制,使得开发者可以集中精力到如何验证许可证。

把一个信息经由不可信任的途径传达给接受者的时候,就需要进行加密。对于信息接受者来说,则需要确认信息的来源是来自正确的,就需要进行数字签名。Shareware 程序拥有者要告诉远在用户机器上的自己的程序用户有权使用这么个信息,是要加密的。因为你不想让其他人知道这个信息是如何表达的,更不能让人家如法炮制出相同的信息。

.NET 提供了加密和数字签名等现在用在网络安全方面的技术用到 Shareware 上是绝对好的。下面是用 .NET RSACryptoServiceProvider 的一个办法。

RSA 是一种非对称加密技术 Asymmetric Cryptography,即加密用的密码和解密用的密码是分开,相互不能推演的。如果知道了解密用的密码,无法知道加密用的密码。这比对称加密安全性好,因为 Shareware 总是需要一个密码用来解注册码,用对称加密的情况下,如果被人从程序中分析到了解密的密码,有可能复制注册机。而用非对称加密,即使解密的密码泄漏,也无法做出注册机。

1、生成和保存密码

创建个新的 RSACryptoServiceProvider 对象,.NET 就随机生成了密码。
RSACryptoServiceProvider 对象可以把密码输出成 xml。

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
Console.WriteLine(rsa.ToXmlString(true));

这个 xml 是要好好保存起来的秘密。其中包含了用来做注册机的加密用的 private key 和 将来在程序中用来解密的用 public key。

<RSAKeyValue>
  <Modulus></Modulus>
  <Exponent></Exponent>
  <P></P>
  <Q></Q>
  <DP></DP>
  <DQ></DQ>
  <InverseQ></InverseQ>
  <D></D>
</RSAKeyValue>

2、注册机

根据上面的密码 xml,可以这样生成注册机所需要的 RSACryptoServiceProvider 对象。然后用数字签名的办法生成注册码。

SignData 是做数字签名。它与单纯的加密解密有区别。

如果要变成注册码是这样一句话:某人于某时某地购买了我的软件。单纯的加密后的解密你会看到这句原话(从内存里什么地方挖出来)。而用数字签名办法,解密后看不到原话,而是一个单向计算出来的 Hash 值。所以对所传送的信息多了一层保护。RSACryptoServiceProvider 提供了直接的生成数字签名和验证数字签名的方法。

private static byte[]CreateKey()
{
    byte[] digestInput = fileEncoding.GetBytes(GetRegistrationInfo());
    RSACryptoServiceProvider RSAalg= new RSACryptoServiceProvider();
    RSAalg.ImportParameters(GetPrivateKeyParam()); 
    return RSAalg.SignData(digestInput, new SHA1CryptoServiceProvider());
}

private static string GetRegistrationInfo()
{
    return GetValue(“NAME”)+GetValue(“PURCHASE_TIME”)+GetValue(“FROM”);
}

private static RSAParametersGetPrivateKeyParam()
{
    RSAParameters param = new RSAParameters(); 
    param.D= Convert.FromBase64String(“…”); 
    param.DP = Convert.FromBase64String(“…”);
    param.DQ = Convert.FromBase64String(“…”); 
    param.Q = Convert.FromBase64String(“…”); 
    param.P = Convert.FromBase64String(“…”); 
    param.Exponent= Convert.FromBase64String(“…”); 
    param.Modulus= Convert.FromBase64String(“…”); 
    param.InverseQ= Convert.FromBase64String(“…”); 
    return param;
}

从 XML 中生成 private key 来制作数字签名,需要用到全部参数:D, DP, DQ, P, Q, Exponent, Modulus, InverseQ.

3、验证数字签名

在 Shareware 程序中,从密码 xml 文件生成验证数字签名所需要的 SACryptoServiceProvider 对象,然后请用户输入他的名字、以及购买软件的时间地点。组成一个句子:某人于某时某地购买了我的软件,用 SACryptoServiceProvider 验证一下它的数字签名是否符合注册机生成注册码。

private static bool VerifyKey(byte[]digestInput, byte[] signed)

    RSACryptoServiceProviderRSAalg = new RSACryptoServiceProvider();
    RSAalg.ImportParameters(GetPublicKeyParam()); 
    return RSAalg.VerifyData(digestInput, new SHA1CryptoServiceProvider(),signed);
}

private
static RSAParametersGetPublicKeyParam()

    RSAParameters param = new RSAParameters();
    param.Exponent = Convert.FromBase64String(“…”);
    param.Modulus = Convert.FromBase64String(“…”); 
    return param;
}

从 XML 中生成 public key 来验证数字签名,只要用两个参数:Exponent, Modulus. 别人即使从你散发出去的程序本身破解得到了public key,没有其它多大用处。

当然,破解不仅仅是要得到密码。如果来个暴力破解,把你的程序反编译出来,把你的 public key 换成他的,与他自己的注册机配合的,那你不就被抢劫一空了,或者反编译出来删掉前文所述的 LicenseProvdier,或者 …….,还有很多办法。

.NET 提供的许可证监测机制,非对称加密是否能真正发挥,还得看程序本身的加扰程度。下一篇文章介绍。

Tags:

Add comment March 16th, 2005

.NET 下制作 Shareware 的关键技术探讨一:Licensing

制作 Shareware 有三个关键点:

  • 如何保护对象(程序),在创建对象的时候检测许可证 (License)。
  • 加密/解密 用户信息和注册信息。
  • 程序加扰 (obfuscate) 或者程序加密,反破解。

.NET 为前两者提供了基本支持,非常方便。这里先说检测许可证。许可证可以有通用注册码、验证用户名的注册码、验证用户机器的注册码等形式。当用户花钱购买了 Shareware 程序,Shareware 程序拥有者就会发送注册码给用户。(Share-It æœ‰åœ¨çº¿æ³¨å†Œç ç”ŸæˆåŠŸèƒ½ï¼Œä¸€æ”¶åˆ°é’±ç«‹å³è‡ªåŠ¨ç”Ÿæˆæ³¨å†Œç )。

Shareware 程序运行时要检测和验证用户是否具有有效的注册码,以决定用户是否能执行程序。

.NET 下的程序都是面向对象的,所以 .NET 在对象的创建机制上,提供了许可证检测的一个接口,Shareware 程序开发可以在此基础上加入自己的注册码验证算法。

.NET Licensing 一文介绍了许可证检测的办法:

[LicenseProviderAttribute(typeof(LicFileLicenseProvider))]
public class LicensedClass : IDisposable
{
    private License license = null;
    public LicensedClass()
    {
        license = LicenseManager.Validate(typeof(LicensedClass), this);
        Console.WriteLine(“Hello from the licensed class.”);
    }
    public void Dispose() 
    {
        if (license != null
        {
            license.Dispose();
            license = null;
        }
    }
}

有了这么个结构,程序开发可以把检测许可证交由 .NET 完成,而自己集中精力设计如何验证注册码。把上面的 LicFileLicenseProvider 换成自己的 Custom LicenseProvider。比如,不读文件而去读注册表,见:CodeGuru: Licensed Applications using the .NET Framework 。我的一些文章收藏 (RSS格式) 。

不论是从文件或者从注册表得到注册码,它包含了户是否可以运行程序的信息,而且它一定是只能 Shareware 程序拥有者说了算。因此这个信息是必须加密的。

.NET 提供了非对称加密 (Asymmetric Cryptography) 工具可以用来处理注册码。下一篇文章里继续介绍。

Add comment March 3rd, 2005

WB Editor 2 的口号

随着 WB Editor 2 的发布,它提出的口号是: Blogging is not just editing and posting. Feel the fun and the power with WB Editor 2. 

在 再议 WB Editor 插件 ä¸€æ–‡ä¸­æåˆ°äº†ä¸å°‘浏览器无法实现的功能。这里再比较一下即使浏览器也用上了 htmlarea, FreeTextBox, CuteEditor, FCKEditor ç­‰ç¼–辑器,也不能达到 WB Editor 提供的那种细致程度。

1、快速格式文本

Wiki 里面有一派观点是 WYSIWYG 是不利的,再重点在写作而不是排版的人眼里,排版打断了创作的思路。因此,Wiki 使用了 Textile 风格的排版。WB Editor 在主要支持 WYSIWYG 编辑的同时,也通过 Quick Format 插件来实现 Textile 的排版功能。 类似的功能也可以在 word 2003 里面看到。

*加粗*、 _斜体_  按快速键就变成了: 加粗、 斜体

2、处理连接 (hyperlink)

把普通文本变成超文本,加入连接的过程很是繁琐。WB Editor 有三种办法来简化它,都是浏览器不可能做到的。

  • 一是 Add link 对话框具有 Auto-Complete 的功能,就如同在 IE 地址栏里输入地址,随着输入,它从浏览历史中找出相近的 URL。
  • 二是 Textile 风格的快速格式化,能把 “WB Editor”:http://www.wbeditor,格式化成:<a href=”http://www.wbeditor.com”>WB Editor</a>。
  • 三是 Hyperlink Wizard 插件,它能识别文章中的连接,保存下来,按个快速键就能分析文章,自动加上连接。