Tuesday, July 22, 2008

Recently I had to make an .mdb file accessible for download after authentication and couldn't allow a direct link to the file. We had written a similar handler for .xls and others (.csv, etc...) - we sent back a few headers to set the file name and the mime type and then server.transfer'd to stream out the binary file.

Turns out that IIS maps .mdb files to the aspnet_isapi.dll executable by default (in fact on the server we were testing it was also mapped to a perl interpreter... go figure) , making server.transfer cough. We were receiving the following error when trying to do the transfer:

System.Web.HttpException: Error executing child request for /{ourdirectory}/{ourfilename}.mdb

[HttpException (0x80004005): Error executing child request for /{ourdirectory}/{ourfilename}.]
   System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) +2672379
   System.Web.HttpServerUtility.Execute(String path, TextWriter writer, Boolean preserveForm) +819
   System.Web.HttpServerUtility.Transfer(String path, Boolean preserveForm) +57
   System.Web.HttpServerUtility.Transfer(String path) +35
   {mycontrol}.Page_Load(Object sender, EventArgs e) in {path to my control file}.cs:33
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
   System.Web.UI.Control.OnLoad(EventArgs e) +99
   System.Web.UI.Control.LoadRecursive() +50
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627

One of the options that we found was to simply remove the mapping in IIS, but then I ran into the problem of not being able to remove the mapping from the ASP.NET Development Server (at least in a way I could figure out easily). So, option 2 presented itself and we found it to be the best solution for both situations. Simply add the following in the <httpHandlers> section of your web.config:

<remove verb="*" path="*.mdb" />

If you don't have an httpHandlers section of your web.config, it goes in as a subsection of <system.web>

<system.web>
<!-- ... other stuff .. -->
<httpHandlers>
<remove verb="*" path="*.mdb" />
</httpHandlers>
<!-- ... other stuff ... -->
</system.web>

No more problems with code like the following:

Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + myFileName);
Response.Flush();
Server.Transfer(baseVirtualPath + myFileName);

No my dev environment using Asp.Net Development Server had the same settings that the IIS 6 app had, so I could test and debug properly.

Some helpful links that helped me solve the problem:

http://www.eggheadcafe.com/software/aspnet/29460604/iis-6-wont-serve-mdb-fil.aspx
http://forums.asp.net/p/1022569/1393806.aspx

posted on 7/22/2008 4:38:33 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Monday, July 14, 2008

    I recently developed an application using Linq to Sql against SQL Express for my development environment. Initially, I was under the impression that it would be running in a SQL 2K5 production environment, but at my first deliverable discovered that I was going to have to port back to SQL 2000 prior to delivery.

    I thought at first that the only real changes I would have to make is reducing my varchar(max) types to the 2K5 upper limit and continue on, but discovered some pretty severe limitations to using Linq To SQL against SQL 2000.

    To access my LTS objects and methods, I wrapped everything up into a data layer that returned either single enties or IQueryable for multiple result sets, this in turn was consumed by my business layer which generally converted to lists or something that made a little more since to the presentation. On my port back, IQueryable seems to be where I ran into the problems. I was running into errors like the following:

    Local sequence cannot be used in LINQ to SQL implementation of query operators except the Contains() operator.

    Cannot translate expression to SQL for this server version.Translation would contain an expression of type Text, NText or Image in a SELECT DISTINCT clause

    Cannot translate expression to SQL for this server version

    Using SQL 2000 as the back-end doesn't allow me to do complex queries when the results contain nText or binary data as the derived sql makes extensive use of DISTINCT. Against SQL Express I had become accustomed to chaining together multiple IQueryable methods and then calling my datacontext to execute a single method. Now, I found myself having to make use of .ToList in virtually every complex query that involved a table at any join level that contained a BLOB. Lots and lots of junk across the wire...

    I still don't have a workable solution to allowing IQueryable to be replacement for collections and am in the process of combining methods anywhere that IQueryable no longer makes sense which is tedious and hopefully will be rendered unnecessary.

    That was a lot of lead up to what I really wanted to post - The limitations of SQL Server Express...

    For ages (at least several months), I have been developing against SQL Express and find it easy to use, light weight and very capable. However, I had never before considered the possibility that SQL Express could be a viable dbms, especially in a production environment. My application is complex, but not huge.

    The limitations of SQL Express are simply resource limits and not functional limits. As long as my db is smaller than 4GB in size (if I manage my log files well, there is no reason it shouldn't be) and doesn't require more than 1 CPU and 1 GB of RAM, SQL Express should be a fully capable and possibly even desirable alternative to the enterprise editions of even SQL 2005. These are not hardware limits, but resource limits constrained by the application itself. This means that SQL Express could probably live nicely on a web server and that the db service, out of the box, wouldn't grab an excessive share of resources.

    Using SQL Express would help me to avoid extensive re-writes and would allow the client to install without any additional software purchases. I covet any feedback on your experiences using SQL Express in a production environment and any feedback in general about this post.

    In addition, here are some links I found useful to finding the source of my problem in the first place:

    H

    posted on 7/14/2008 1:53:44 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Wednesday, April 09, 2008

    This makes absolutely no sense whatsoever... I am trying to get my head around how the NRLC considers a voting record that is consistent to be a voting record that is truly pro-life. IMHO - A stance on embryonic stem cell research similar to McCain, reveals the heart of his true stance on the sanctity of life. Spineless sellouts - this has nothing to do with sanctity of life and everything to do with politics.

    The National Right to Life Committee (NRLC), the nation’s largest and most influential pro-life organization, has announced the “unanimous” decision by its board of directors to back Republican presidential hopeful John McCain.

    Prominent Pro-Life Group Backs McCain | Christianpost.com

    posted on 4/9/2008 11:40:29 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Wednesday, March 12, 2008

    This list is from here: 101 Useful Resources for Online Entrepreneurs, but I have removed all the links that aren't free and republished. I will also add more as I find them. It is a terrific list of resources for the those starting or operating business. As I read through the list, it was difficult to figure out from the descriptions which ones were free, so I edited the list and crossed out the ones that aren't. Enjoy. Please visit the original link above as well, as I would hate to be accused of link jacking... just wanted to make the list more usable and it was a real pain to sort through them all - trying to save you the trouble.

    Communications/VOIP

    1. Skype - Free calls over the internet to other people on Skype for as long as you like.
    2. Vonage - Leading provider of VoIP internet broadband telephone services.
    3. Gizmo - Low cost international calling and free calls to users on Yahoo Messenger, Google Talk, Windows Live users and SIP networks.
    4. Vonics Digital - Plans start at $12.99 per month lowest price available in the market.
    5. VoipBuster - Free program that uses the latest technology to bring free and high-quality voice communications to people all over the world.

    Data Backup

    1. Mozy - Industry-leading solution for online backup.
    2.
    Intronis - Online backup solution with remote computer data backup software.
    3.
    Carbonite - Unlimited online backup for one flat fee.
    4.
    Data Deposit Box - Your source for online backup, and secure online data backup.
    5.
    Athena Backup - Automatically backup your home computer files with Athena Backup.
    6.
    Data Protection Services - Secure online backup services, free trial!

    1. I couldn't find any of these for free... But GDrive works pretty well and also - which is not to be confused with the GDrive project from Google, which will blow most of these out of the water.
    2. Micro$oft SkyDrive looks promising too.

    Invoicing

    1. Bamboo Invoice - Simple, Open Source, Online Invoicing.
    2. FreshBooks - Online invoicing and time tracking service. - Limited number for free
    3. Transcepta - Electronic invoicing solution.
    4. Blinksale - The easiest way to send invoices online. - Free, but you only get three invoices per month in that version
    5. InterlinQ Solutions - Providing a daily job report, time sheets, job tracking, construction reports and mobile billing.
    6. Bill My Clients - Easy way to create and send invoices and bills to your clients. - Not free, but reasonable considering they actually send by postal mail.
    7. Billing Orchard - Online electronic billing software application.
    8. 2nd Site - Secure invoicing service w/ online invoice payment & online employee timesheets. - 3 Invoices per month for free

    Financial Management and Accounting

    1. Intacct - Delivers ERP software as a service to small and midsize companies.
    2.
    QuickBooks Online - Accounting Solutions for professionals and businesses.
    3. Xero - Slash the hours you spend every week on accounting administration. - Can try for free, but have to pay to setup a live company

    Time Management and Project Management

    1. Google Calendar - Free online shareable calendar service.
    2. Vitalist - Web based task manager designed to work with Getting Things Done (GTD). - Free to 10 projects
    3. Backpack - Personal and small business information management, intranet, and to do list organizer. - Free for 2 users
    4. Basecamp - Web-based tool that lets you manage and track projects. - Free for 1 project
    5. Goplan - Online project management app. - Free for 2 projects
    6. Copper Project - Project Management Software.
    7. Side Job Track - Web-based job tracking, invoicing, reporting & project management software.

    Contact Manager

    1. Big Contacts - Web Based Contact Manager for 2 to 2000 People. - Free to 100 contacts
    2. Highrise - Shared contact manager. - Free for 2 users
    3. BatchBook - Easy-to-use contact management system. - 1 user - 200 contacts
    4. Relenta CRM - Small business CRM software. - 1user - 250 contacts
    5. Oprius - Sales and Contact Management Software for Independent Sales Consultants.
    6. PipelineDeals - CRM made simple - $15/User/Month. - Says it's free, but I think it actually will cancel after 30 days.

    Hiring Freelancers

    1. Elance - Outsourcing to Freelancers. - Post for Free
    2. Guru - Free service helps you find freelancers, get free quotes, and get your project done.
    3. SmarterWork - Top small business services marketplace. -
    4. Contracted Work - Work Jobs Freelance Search.
    5. oDesk - Global service marketplace for small and medium sized businesses.
    6. Get A Freelancer - Freelance programmers and web designers.
    7. BizReef - Online Services platform.

    Online Reputation Management Tools

    1. claimID - Free, easy way to manage your online identity.
    2. Google Alerts - Email updates of the latest relevant Google results.
    3. Yahoo Alerts - Free, personalized notification service.
    4. Technorati - Real-time search for user-generated media.
    5. FindMeOn - Manage your circles of friends, family, colleagues and others.
    6. myOpenID - Secure OpenID provider.

    Accepting Payment

    1. PayPal - World renowned.
    2. Google Checkout - Google’s way to send and receive money.
    3. Neteller - Online payment solutions.
    4. Moneybookers - Cheaper way to send and receive money worldwide.
    5. iKobo - Pick up your money at over 1000000 Visa ATMs.
    6. CheckFree - Provides financial electronic commerce services.

    Shopping Carts

    1. Zen Cart - Free, user-friendly, open source shopping cart system.
    2. osCommerce - Free online shop program.
    3. AgoraCart - Free shopping cart.
    4. OpenCart - Open source PHP-based online shopping cart system.
    5. Ubercart - Open source e-commerce suite.
    6. X-Cart - Shopping cart software & PHP ecommerce solutions.
    7. NetSuite - Integrated web-based business software suite.
    8. ZNode - ASP.NET shopping cart.
    9. Fortune3 - Ecommerce Shopping cart software.
    10. Network Solutions - Robust, customizable Ecommerce online shopping cart software.
    11.
    Kick Start Cart - Business professionally over the Internet.
    12. Secure Delivery - The best digital download management site on the net! - Free for 1 product

    Social Networking

    1. PartnerUp - Find business partners, opportunities to get involved in businesses.
    2. Cofoundr - Cofoundr is a private community for entrepreneurs.
    3. Fast Pitch Networking - Business Networking Social Network for Business Professionals.
    4. Killer Startups - Reviewing new startups.
    5. Konnects - Business technology focus groups and networking events.
    6. LinkedIn - Strengthens and extends your existing network of trusted contacts.
    7. Ryze - Business Networking.
    8. StartupNation - Provides real-world business advice to people who want to start a business.
    9. Startupping - Community resource created for Internet entrepreneurs.
    10. UpSpring - Business networking.
    11. Ziggs - White pages and free people search for professionals.

    Finding Funding

    1. GoBigNetwork - Angel investor network/venture capital.
    3. Find That Money - Formidable presence in consumer finance. - Free for very limited trial
    4. Venture Deal - Venture capital database.
    5.
    American Capital Advance - Fast Business Loans.
    6. Financing: Where to Find It

    CPC Revenue - Many in the CPC and CPM section are based on your site traffic volume, etc... but after signup and approval, they all seem to be free from the content publisher standpoint.

    1. Google AdSense - Google’s CPC Network.
    2. Yahoo! Publisher Network - Yahoo’s CPC Network.
    3. ABC Search - Get paid per click by ABC.
    4. AdBrite - Webmasters can buy and sell text ads based on their site’s topic area.
    5. Chitika - The leading merchandising network for bloggers.
    6. Bidvertiser - Pay per click advertising.
    7. Kanoodle - Distributes results to a large network of other search engines and search box providers.
    8. Clicksor - Effective online advertising technology.
    9. Kontera - Advertiser and Publisher Solutions.

    CPM Revenue

    1. ADSDAQ - A new advertising exchange.
    2. ValueClick Media - One of the largest and most effective online advertising networks.
    3. AdDynamix - Full-spectrum interactive provider delivering ad management.
    4. Morning Falls - Online advertising solutions to advertisers and publishers worldwide.
    5. CPX Interactive - Online ad network.
    6. BurstMedia - Internet advertising network.
    7. Casale Media - World’s fastest growing provider of online media solutions.
    8. Tribal Fusion - Focused on high quality sites with targeted content and significant reach.
    9. BrightRoll - Video advertising.
    10. Adtegrity - Internet Advertising Solutions.

     

    posted on 3/12/2008 8:08:53 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [7]
  • Blog reactions
  •  Thursday, February 28, 2008

    Appalachian State University Alum, economist and author Stephen J Dubner has been listed by Forbes as one of only a handful of profiled Business Visionaries.

    Stephen J. Dubner grew up in a rural area outside Albany, New York in a town called Duanesburg, as the youngest of eight children in a devout Roman Catholic family. His parents, Paul and Veronica Dubner, had converted to Catholicism from Judaism, the faith, ironically, that Dubner turned to as an adult [1]. His first published work was in the American children's magazine Highlights for Children.

    Dubner received a scholarship from Appalachian State University in North Carolina, and graduated in 1984. At Appalachian he formed a band, "The Right Profile," which was signed to Arista Records. In 1988, he stopped playing music to focus more on writing, going on to receive an MFA in Writing from Columbia University (1990), where he also taught in the English Department.

    Dubner currently resides in New York City with his wife, Ellen Binder, and two children. (from wiki)

    Business Visionaries - Forbes.com

    posted on 2/28/2008 9:50:02 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
  • Blog reactions
  •  Tuesday, February 26, 2008

    Just created my ChatBack GTalk badge. I'll publish it to the sidebar shortly, but just wanted to go ahead and publish it in a post to see how it works.

     

    Source: Create a Google Talk chatback badge

    posted on 2/26/2008 8:52:08 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
  • Blog reactions
  •  Wednesday, January 30, 2008

    This is one of the best new ideas that I've seen recently. The premise is that you vote on the outcome of current news events (with virtual currency). It's fun way to read current news, but could turn into a real productivity killer.

    Hubdub - Home

    posted on 1/30/2008 5:14:32 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
  • Blog reactions
  •  Monday, August 13, 2007

    I just finished reading a disturbing article in Time magazine with the following statistic: 

    Large urban churches have been accepting credit cards for several years, tapping into the Generation P (for Plastic) aversion to carrying cash. Pastors like to tell jokes about parishioners collecting Frequent Flier points on the way to heaven. A recent Dallas Morning News poll found that 55% of 200 local churches accept credit and/or debit cards.

    I feel quite certain that God doesn't need money that bad. I understand that there is a growing aversion to carrying money, but there is also a growing aversion to paying off debt. I don't personally believe that, from a Biblical perspective, alcohol use in moderation is a sin.  I also don't believe that the managed use of credit cards is a sin. I do believe that it would be a sin for me to offer churchgoers an open bar next to the foyer Starbucks (although I'm sure it would be a very effective way to grow a church) - not because it is in itself sinful, but because even if I contributed to a single person's alcoholism, it would be evil. I have a feeling that at least some of the 55% of 200 local churches have at least someone with terrible credit card debt. If the church is in receipt of that money, are they also responsible for the usury that is the 20%+ APR?

    The article itself had to do with ATM's in the lobby, with which I don't necessarily have a problem. At least not the same problem that I have with donations on credit. I do question why a church would feel it necessary to make it easier for someone to give. If giving to a their church is a responsibility of a believer in Christ, then what would be the need make it easier to do. Part of the growth the we experience spiritually in our giving is the fact that it is a discipline. It is something that we do even though it might not be that easy.

    I would assume as well that many of these churches who are trying to make it easier to give are also preaching a message of prosperity that says, "if you are faithful in your giving, God with be faithful in providing your abundance." Wrong.

    God IS faithful. Giving is my responsibility.

    Just because I give to a church, my condition is not necessarily going to improve. I give to a church because the God who has changed my position (death to life) has told my heart to do so. If I give my offering to him at 22.5% interest, I have a pretty good feeling that my abundant prosperity is going to be at least 22.5% lower (compounded) than if I had paid cash.

    The ATM in the Church Lobby - TIME

    posted on 8/13/2007 5:33:35 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Saturday, July 07, 2007

    I had a problem on one of our home pc's tonight where Spoolsv.exe was pegging the CPU at 100% usage. I couldn't find any knowledgebase articles concerning it and a Google query only turned up safe-file results.

    I ended up discovering that the problem was in the MS Office Document Image Writer spool. There was a job (apparently from almost a year ago) stuck in the queue at 67% complete. I canceled the job and everything has returned to normal. Go figure. I have been unable to find any information on Tojans or Virii that cause such behavior, so I am chalking it up to a quirk... and going to bed.

    Technorati Tags: , , ,

    del.icio.us Tags: , , ,

    posted on 7/7/2007 12:53:00 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Thursday, May 31, 2007

     Just read on the GPC Press Release site that Google is starting work on a new open source platform enabling all of its online apps to have offline capabilities. Sounds intriguing.

    Google Gears marks an important step in the evolution of web applications because it addresses a major user concern: availability of data and applications when there’s no Internet connection available, or when a connection is slow or unreliable. As application developers and users alike want to do more on the web—whether it’s email or CRM or photo editing—enhancements that make the browser environment itself more powerful are increasingly important.

    Source: Google Press Center: Press Release

    You can access Google Gears here.

     

    Technorati Tags: - - - - - - - -

    posted on 5/31/2007 12:46:31 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Wednesday, May 30, 2007

    Microsoft has just announced Surface. Just at first glance, this appears to be something that could change everything. I am curious about a couple of things. 1) Will it really be cost effective enough that we will be able to have a coffee table (See the Power video) that sorts our pictures and 2) How in the world is this going to run on top of Vistazilla?

    If they could really do that bar trick with the bubbles and stuff... dang. Pretty impressive.

    Link to Microsoft Surface

    Technorati Tags: - - - - - - - - -

    posted on 5/30/2007 1:11:04 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Monday, May 28, 2007

    Lego is the world's most reputable company: 

    For the eighth year, Reputation Institute, a New York City-based consultancy and research firm, conducted a study to find the answer. This year's winner is LEGO. Yes, LEGO, the 70-year-old Danish toy manufacturer, scored No. 1 out of 600 companies worldwide.

    Source: Development Crossing: The world’s most reputable companies

     

    Technorati Tags: - - - - -

    posted on 5/28/2007 6:13:29 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Sunday, May 27, 2007

     DotNetSlackers has a great introduction to hand coding XAML applications. Detailed but simple, it allowed me to grasp some of the basic concepts and actually get started coding in just a few minutes.

    XAML is a language for .NET 3.0 which is responsible for forms and its elements. It is a so called markup language like HTML. Unfortunately there is no GUI tool that helps you code with XAML at the moment and that probably will not change until Microsoft releases the first Service Pack for Visual Studio 2007. So you got plenty of time to learn the basics of XAML without any shiny Wizards and GUIs. Ready? Alright.

    Source: Introduction to XAML Part 1

     

    Technorati Tags: - - - -

    posted on 5/27/2007 1:11:37 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Friday, May 18, 2007

    I found myself talking to another guy the other day about diamonds and remembered a story listing 10 good reasons just to go with a simple gold band. I went to my bookmarks (three computers later, hallelujah for del.icio.us) and found the link but it was dead. I had to dig a little more, but finally found the list here. I am also copying it below for future reference. 

    (2/14/02)

    By Liz Stanton, CPE Staff Economist

    1. You've Been Psychologically Conditioned To Want a Diamond
    The diamond engagement ring is a 63-year-old invention of N.W.Ayer advertising agency. The De Beers diamond cartel contracted N.W.Ayer to create a demand for what are, essentially, useless hunks of rock.

    2. Diamonds are Priced Well Above Their Value
    The De Beers cartel has systematically held diamond prices at levels far greater than their abundance would generate under anything even remotely resembling perfect competition. All diamonds not already under its control are bought by the cartel, and then the De Beers cartel carefully managed world diamond supply in order to keep prices steadily high.

    3. Diamonds Have No Resale or Investment Value
    Any diamond that you buy or receive will indeed be yours forever: De Beers’ advertising deliberately brain-washed women not to sell; the steady price is a tool to prevent speculation in diamonds; and no dealer will buy a diamond from you. You can only sell it at a diamond purchasing center or a pawn shop where you will receive a tiny fraction of its original "value."

    4. Diamond Miners are Disproportionately Exposed to HIV/AIDS
    Many diamond mining camps enforce all-male, no-family rules. Men contract HIV/AIDS from camp sex-workers, while women married to miners have no access to employment, no income outside of their husbands and no bargaining power for negotiating safe sex, and thus are at extremely high risk of contracting HIV.

    5. Open-Pit Diamond Mines Pose Environmental Threats
    Diamond mines are open pits where salts, heavy minerals, organisms, oil, and chemicals from mining equipment freely leach into ground-water, endangering people in nearby mining camps and villages, as well as downstream plants and animals.

    6. Diamond Mine-Owners Violate Indigenous People's Rights
    Diamond mines in Australia, Canada, India and many countries in Africa are situated on lands traditionally associated with indigenous peoples. Many of these communities have been displaced, while others remain, often at great cost to their health, livelihoods and traditional cultures.

    7. Slave Laborers Cut and Polish Diamonds
    More than one-half of the world's diamonds are processed in India where many of the cutters and polishers are bonded child laborers. Bonded children work to pay off the debts of their relatives, often unsuccessfully. When they reach adulthood their debt is passed on to their younger siblings or to their own children.

    8. Conflict Diamonds Fund Civil Wars in Africa
    There is no reliable way to insure that your diamond was not mined or stolen by government or rebel military forces in order to finance civil conflict. Conflict diamonds are traded either for guns or for cash to pay and feed soldiers.

    9. Diamond Wars are Fought Using Child Warriors
    Many diamond producing governments and rebel forces use children as soldiers, laborers in military camps, and sex slaves. Child soldiers are given drugs to overcome their fear and reluctance to participate in atrocities.

    10. Small Arms Trade is Intimately Related to Diamond Smuggling
    Illicit diamonds inflame the clandestine trade of small arms. There are 500 million small arms in the world today which are used to kill 500,000 people annually, the vast majority of whom are non-combatants.

    References:

    Collier, Paul, "Economic Causes of Civil Conflict and Their Implications for Policy," World Bank, June 15, 2000.

    Epstein, Edward Jay, "Have You Ever Tried to Sell a Diamond?", The Atlantic Monthly, February 1982. http://www.theatlantic.com/issues/82feb/8202diamond1.htm

    Global Witness, "Conflict Diamonds: Possibilities for the Identification, Certification and Control of Diamonds," A Briefing Document, June 2000, http://www.globalwitness.org/text/campaigns/diamonds/reports.html

    Human Rights Watch/Asia, "The Small Hands of Slavery: Bonded Child Labor In India," Human Rights Watch Children's Rights Project, http://www.hrw.org/reports/1996/India3.htm .

    Human Rights Watch, "Children’s Rights: Stop the Use of Child Soldiers;" http://www.hrw.org/campaigns/crp/index.htm .

    Kerlin, Katherine "Diamonds Aren’t Forever: Environmental Degradation and Civil War in the Gem Trade," The Environment Magazine, http://www.emagazine.com/september-october_2001/0901gl_consumer.html .

    Le Billon, Philippe, "Angola’s Political Economy of War: The Role of Oil and Diamonds, 1975-2000," African Affairs, (2001), 100, p.55-80.

    Mines and Communities, "The Mining Curse: The roles of mining in ‘underdeveloped’ economies," Minewatch Asia Pacific/Nostromo Briefing Paper, February 1999, http://www.minesandcommunities.org/Country/curse.htm .

    Other Facets, Number 1, April 2001; Number 2, June 2001; Number 3, October 2001, http://www.partnershipafricacanada.org/hsdp/of.html .

    © 2002 Center for Popular Economics

    Source: 10 Reasons Why You Should Never Buy Diamonds | Perpetual Draft

     

    Technorati Tags: - - - - - - -

    posted on 5/18/2007 9:49:57 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Thursday, April 26, 2007

    I've decided to Twitter. I haven't invited anyone yet, because I want to get the feel of it first - however, Twitter is almost impossible to get the feel of without a considerable number of friends/followers... a quandary.

    I would love to Twitter up a little more organically, so if you are a twitter user, please check out my profile: Link to Twitter / Widescreen

    posted on 4/26/2007 2:03:34 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Thursday, April 05, 2007
    I've been playing around with Meebo.com since a laptop crash a few days ago and I'm sold. The interface is light and easy, it has integrated sounds and right click actions. It's total free and it has a really need little script generator to create widgets (not what I would consider a widget in the web2.0 sense, but still pretty cool).

    With the widget I can place the code on my web site in order to IM with site visitors in real time. No more LiveAssistant for $20 a month...


    posted on 4/5/2007 1:45:56 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Friday, June 09, 2006

    I guess that the Church of Scientology is trying to broaden their reach a little bit. Let the Days of Thunder jokes begin.

    From Sports Illustrated:

    The Church of Scientology, the religion for which actor Tom Cruise crusades, will attempt to spread its "Ignite Your Potential" message into auto racing through sponsorship of a race car in one of NASCAR's lowest levels.

    Kenton Gray, a 35-year-old Californian, will attempt to make the field for a late model race Saturday night at Irwindale (Calif.) Speedway. His No. 27 Ford Taurus will be sponsored by Bridge Publications, which publishes Scientology founder L. Ron Hubbard's bestseller "Dianetics."

    The hood of the car will say "Dianetics" on it, along with a volcano to mimic the book cover.

    posted on 6/9/2006 3:54:00 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [2]
  • Blog reactions
  •  Wednesday, June 07, 2006

    Finally. Although, I am not sure what part of “NO” leaves room for “Perhaps”.

    In a hint that Google could adjust its stance in China in the future, he added: "Perhaps now the principled approach makes more sense." – Sergey Brin

    The biggest problem that I have with Google attempting to alter their stance now is that they stood so hard for their stance in the first place. Does anyone else get the feeling that it is still just about the $$?

    Speaking in Beijing at the time, Eric Schmidt, Google's chief executive, said: "We believe that the decision that we made to follow the law in China was absolutely the right one."

    It also makes me wonder why money would drive unprincipled business endeavours for a company whose core business makes billions. The Times (UK) wrote an article ripping Google’s attempts to excel outside of it’s core search business. It is evident that Google desires to expand beyond the search. They’ve got the cash to allow these infants (Gmail, Google Finance, Google News, Writely, Spreadsheet) to mature, so why do anything that would risk your integrity and consistency (not to mention the trust and respect of your base)?

    posted on 6/7/2006 1:09:34 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Saturday, May 27, 2006

    This ridiculous little flash app is a complete waste of time. Don’t say I didn’t warn you.

    posted on 5/27/2006 2:13:07 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [4]
  • Blog reactions
  • Peter Bromberg has posted a good DataGrid implementation using AJAX, Anthem.Net and c#. I am planning attempt a similar DG implementation as a DotNetNuke module using the DNN ClientAPI in the next couple of weeks and will post my results.

     

    posted on 5/27/2006 2:02:50 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Wednesday, May 24, 2006

    I love it.

    GoogleReader

    posted on 5/24/2006 3:27:36 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [1]
  • Blog reactions
  •  Monday, May 22, 2006

    I came across a Dugg link on fixing the problem with MFA (Made for Adsense) pages in Google and how they were polluting search results and hindering fair value in the AdWords system. I decided to go ahead and quickly run up a DotNetNuke AdSense hosting system to try to implement some of what the article was describing.

    I have added the my first stab at it over here and it took a little under an hour using DotNetNuke. I’ll post my results in the next few days. My only real concern is that I at least make back the $20 that I put into it – if that works out then I am all for this kind of civil disobedience. :-).

    H

    From the article:

    This tutorial will definitely increase the number of MFA web sites as well as our previous research on Digg.com attention grabbing words increased the number of stories with "amazing", "digg", "revealed" words. When the number of MFA web sites will reach the critical mass, Google will turn on its immune system.

    posted on 5/22/2006 2:19:18 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [1]
  • Blog reactions
  •  Friday, May 19, 2006

    I just came across a horrifying story claiming that the Iranian parliament is attempting to pass legislation that would require Jews and Christians (non-Muslims) to wear identification (yellow strips of cloth for Jews, Red badges for Christians, and blue cloth for Zoroastrians).

    The article was Dugg and there is plenty of commental speculation that it may be inaccurate – in which case, I will go ahead and pull this down. However, I was able to find substantiation from:

    UPI and The Jerusalem Post and Wizbang (it must be true  )

    Human rights groups are raising alarms over a new law passed by the Iranian parliament that would require the country's Jews and Christians to wear coloured badges to identify them and other religious minorities as non-Muslims.

    posted on 5/19/2006 12:55:08 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
  • Blog reactions
  •  Thursday, March 09, 2006

    I had a hard time at first wrapping my head around the purpose of the new Origami initiative from Microsoft. That was until BetaNews posted that Sling media would be developing for the Origami and it all began to make sense.

    I tunnelled over to Channel 9 and took a gander at the Origami first look – love the stand BTW – and it is all becoming clearer now.

    Sling Media to Develop for 'Origami' PC:

    Not far behind Thursday's announcement of the Ultra-Mobile PC by Microsoft, Sling Media said it would begin offering a customised version of its SlingPlayer software for the platform. The company says it sees the new market as an ideal solution for portable entertainment.

    [Via BetaNews.Com]

    Tag: Origami Microsoft Mobile

    posted on 3/9/2006 2:30:35 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
  • Blog reactions
  • Chris Breisch posted these great how to links for .NET developers.

    How Tos for .NET:

    A great set of “HOWTO”’s from the p&p group at Microsoft.  They cover quite a bit of territory:

    [Via Chris Breisch]
    posted on 3/9/2006 1:10:39 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
  • Blog reactions
  •  Thursday, February 23, 2006

    I just took a look at the new Google Page Creator Beta. The html editor implementation is top notch and it appears, at least from the help section, that publishing pages using Google page creator ensures that your content is spidered within a few hours – instead of a few days, weeks or months.

    4. Will the pages I create show up in search engine results?
    The pages you create can be crawled by Google within a few hours of publication. Other search engines may also index your pages as they periodically crawl the internet.

    5. Will Google give preferential treatment to web pages created with Google Page Creator in Google search results?
    No, we won't. Web pages created using Google Page Creator will never receive any preferential treatment of any kind in Google search results.

    You are allowed up to 100 MB of storage for images, but there is some chatter about a restrictive TOS. I haven’t had a chance to comb through it yet, but will try to post more if I find anything.

    The only thing that I can really find in their TOS that is the least bit restrictive is the following:

    By submitting, posting or displaying Content on or through Google services which are intended to be available to the general public, you grant Google a worldwide, non-exclusive, royalty-free license to reproduce, adapt and publish such Content on Google services solely for the purpose of displaying, distributing and promoting Google services. This license terminates when such Content is removed from the Google service to which you originally submitted. Google reserves the right to syndicate Content submitted, posted or displayed by you on or through Google services and use that Content in connection with any of the services offered by Google.  Google furthermore reserves the right to refuse to accept, post, display or transmit any Content in its sole discretion.

    Which doesn’t seem any more restrictive than any other free web hosting (or even blog hosting) TOS agreement around. In fact, I expected that my site would at least have some contextual advertising, given Google’s business model, but so far I haven’t seen a bit. There is this in the TOS regarding advertising:

    Some Google services are supported by advertising revenue and may display advertisements and promotions on the service. The manner, mode and extent of advertising by Google on its services are subject to change. You agree that Google shall not be responsible or liable for any loss or damage of any sort incurred by you as a result of any such dealings or as the result of the presence of such advertisers on Google services.

    So potentially there will be advertising on the web sites. If there is adsense displayed, I wonder if it will be credited to my own adsense account?

    One more potential pitfall. The domain name used for the page is gmailaccountname.googlepages.com – IMHO, I would think that this would give harvesters easy access to gmail account names. This may not be a big deal considering that 1) Google has AWESOME spam filtering and 2) somehow or another they get my email address anyway.

    Via Digg – Google releases new Page Creator

    "Google Page Creator is a free online tool that makes it easy for anyone to create and publish useful, attractive web pages in just minutes." Looks good to me!

    posted on 2/23/2006 5:23:00 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
  • Blog reactions
  •  Wednesday, February 15, 2006

    Leslie Sanford has written a framework and tutorial on implementing State Machines in .Net. She provides an solid and well written set of base classes for implementing your own state machine in your applications.

    A .NET State Machine Toolkit - Part I - The Code Project - C# Programming (update link)

    This is the first of three articles about my .NET State Machine Toolkit. This article will cover the classes that make up the core of the toolkit as well as how to create a simple, flat state machine. Part II will cover creating hierarchical state machines as well as some of the more advanced features. Part III will cover code generation as well as creating state machines with XML. Special thanks to Marc Clifton for suggesting how I could break up my article into several parts. I had been struggling with this, and his suggestion made things clear