Posts

Some Observations on Marketing, Intellectual Property Protection, and the "Optimal Price Point"

Recently I caved in to incessant badgering and the family went down to Epcot for the day. We live in the Orlando area so it's only about an hour's drive. It turned out to be a fantastic day, although I can tell you that 6 hours of walking in the late May Florida sun will give you two additional presents: 1) A sunburn, and 2) Tired Feet! While we were there, the kid got his photo taken by a "cast" photographer and his lovely aide at one of the UK country exhibit stores, sponsored by Disney and Kodak. Now this is kinda unique, the photog hands you a color card with a web address and a unique ID on the back of the card. You sign up, log in and - bang! there are your photos. The site is written in ASP.NET, by the way. Now of course, you and I as developers will instantly right-click to attempt to download the little boogers, but they have disabled the context menu with some script. And, they want $12.95 each for a 5X7 print, which I thought was quite excessive, considerin...

FeedSearchGator Up and Running!

FeedSearchGator is my newest creation based on the fact that there are now literally dozen of search engines that return results as RSS. What FeedSearchGator does, very simply, is to take your search query that you put on the QueryString, send it out to currently eleven (11) different engines on a threadpool asynchronously, aggregate the results, remove duplicate links, and return a single RSS feed containing up to several hundreds search results that you can subscribe to in your RSS Feed reader. The engines are: feedster.com, search.news.yahoo.com, beta.search.msn.com/news/, moreover.com, blogdigger.com, waypath.com, blogpulse.com, rocketnews (news), rocketnews (blogs) , newsisfree.com,and daypop.com. I am giving my custom threadpool a 20 second WaitAll timeout since occasionally, one or two of these seach engines take a long time to return results (a very long time, too long to wait for a page). I'm still refining this, but it is fully operational and I'm open to ideas (in...

Good News for SQLite Afficionados

Robert Simpson, an "early adopter" of the SQLite database and the .NET Framework 2.0 platform, has his first release of ADO.NET Provider 2.0 for SQLite up on SourceForge. Not only did it compile for me with BETA 2 right out of the box, he's really outdone himself. This thing supports user-defined functions, and the ProviderFactory model as well: To Quote: Features: DbProviderFactory support, just add the XML below at the machine.config and/or app.config level. Full support for ATTACH'ed databases.  Exposed as Catalogs in the schema.  When cloning a connection, all attached databases are automatically re-attached to the new connection. DbConnection.GetSchema(...) support includes the MetaDataCollections , DataSourceInformation , Columns , Tables , Views , Catalogs and Indexes keywords. Enhanced DbDataReader.GetSchemaTable() functionality returns catalog, namespace and detailed schema information ...

Quotations Page and RSS Feed Up!

Over the last few years, I"ve built up a database of quotations from famous and some not so famous entities, built from a variety of sources (yup - even Dexter Dotnetsky is in there!). My database now has over 43,000 quotations from nearly 8,000 authors organized by over 1,300 subjects. Up until now, I really haven't done anything with it but now that ASP.NET 2.0 is coming and I have my ASP.NET 2.0 "playground" site , myidentityplus.com , I've got a neat place to put my experiments. I have a random "Quote of the Day", which is available as an RSS Feed as well, and you can search the database by Author, Subject, or even by a word or phrase to be found within the quotation body. This page is written in ASP.NET 2.0. There is also a link to submit a quote for consideration in the database. You can Check out the quotations page here : It doesn't have a MasterPage yet but everything seems to be working correctly, so try it out. The Daily Quotation feed i...

When this came out, I was . . .

Tonite we watched Divorce, Italian Style , Pietro Germi's hilarious 1961 satire of Italian marital conventions that recently was issued on DVD. Ferdinando Cefalu, a handsome Sicilian nobleman (Marcello Mastroianni), longs to marry his beautiful young cousin Angela. There's only one problem: he's already married, and at that time you could not get a divorce in Italy. Living in a society that forgives crimes of passion, Ferdinando devises a plan. He plots to prove his wife an adulteress, after which he can kill her and marry his cousin with impunity. As one would expect, there are twists and turns, and a surprise ending. I swear, even though you are reading the English subtitles and listening to the Italian- only audio, you do not even notice that this movie is (gasp!) in black and white! Hollywood, what happened? You used to be able to put out movies of this quality. Too bad.

Intellisense on Steroids in ASP.NET 2.0

Image
Whoa! I'm working on some neat ScriptCallback stuff with a database of quotations I've been working with in Visual Studio.NET 2005, and I just noticed this. When you have client script in ASP.NET 2.0, and you need to debug it (even if it's dynamically generated script from the Page.ClientScript object), you get some really cool new Intellisense on it. This picture is debugging Client - side javascript, folks: -- by the way, if you are wondering why any of the script callback demos you've seen for ASP.NET 2.0 don't work, its because the GetCallbackEventReference method got moved into the Page.ClientScript class. So, Page.GetCallbackEventReference(this,"arg", "ReceiveServerData", "context"); now needs to be: Page.ClientScript.GetCallbackEventReference(this,"arg", "ReceiveServerData", "context"); If you are interested in working with script callbacks for ASP.NET 2.0 in a strongly-typed fashion, and would like...

VB.NET vs C# Debacle Rages On

There are a few "givens" that one must consider and accept when dealing with this obviously sensitive issue. First is that you aren't going to make case-sensitivity go away. It's built into too many languages, operating systems and standards. XML, UNIX, C++, and of course C# just to name a few. If you write VB.NET code you may wish to consider that fact, especially if you anticipate that programmers using other languages are going to be using the classes you write. Personally, I find case sensitivity to be a good thing. It forces me to think a bit more and serves as an additional check on writing quality CLS-Compliant code. Think of it as the "literary approach": If you are the kind of individual who -- through either laziness or lack of education -- can't spell, use proper English grammar, capitalize words correctly, and you do things in your language such as use the word "loose" when you really mean "lose", then probably VB.NET woul...

Dr. Dotnetsky must have gone to the movies too...

Image
I just got an email from Dexter Dotnetsky again. He says he's getting ready to do another rant on eggheadcafe.com (heh - that is, if we let him post it). He sent the photo below:

fil i bus ter != debate;

n. The use of obstructionist tactics, especially prolonged speechmaking, for the purpose of delaying legislative action. An instance of the use of this delaying tactic. An adventurer who engages in a private military action in a foreign country. --Term used to designate obstructionist tactics in legislative assemblies (who knows-- maybe even in .NET assemblies). It has particular reference to the U.S. Senate, where the tradition of unlimited debate is very strong. What's particularly interesting is the origin of the word: In the 17th cent. the term was applied to buccaneers who plundered the Spanish colonies in the New World. In the 19th cent. the word was used more in reference to adventurers who organized and led, under private initiative, armed expeditions into countries with which the country from which they set out was at peace. Complications between the governments involved were likely to result. There was a series of filibustering expeditions from the United States against C...

Xenophobic email attacks use mutiple NonDelivery messages as vehicle for D.O.S.

[Subtitle: "Invasion of the Zombie PC's"] Nearly a year ago , Joe Wein correctly predicted that if this security hole was not corrected, it would lead to huge abuse. And, wasn't he ever right! What is happening is this: Sober.G / Sober.H requests copies of its mails to be sent to 40 additional made-up addresses at a time and since most of these are invalid, whoever has his email address abused by Sober may end up with bounces (Non-Delivery Notifications, NDN). The email servers are mindlessly "doing their job" - and actually creating this flood of multiple DOS (Denial of Service) attacks. I quote Mr. Wein: "A combination of generating multiple bounces for a large number of invalid carbon copy addresses and attaching the complete original mail is dangerous. Unless such issues are addressed soon and on virtually all vulnerable mail servers, sooner or later someone will abuse this well-documented gaping security hole." This is an excellent exampl...