News

 Subscribe Add to Technorati Favorites

 

 

 

 


 

 

Search My Blog:

 

 

My Stats

  • Posts - 468
  • Comments - 242
  • Trackbacks - 265

Twitter












Tag Cloud


Recent Comments


Recent Posts


Archives


Post Categories


Blogs


Miscellanous


Noteworthy Stuff


Popular Posts


July 2005 Entries

WebHost4Life


I am considering opening an account with Webhost4life.com. Does anyone have any experience with them? Anyone have any other advice? I need a good Windows hosting company where I can be use ASPNET apps like DNN or dasBlog without any issues.

Update: I did go with Webhost4life, and they were great at the beginning.  Their support was friendly and helpful, and my site was fast.  That was then, this is now.  It seems in this short time, they have gone to absolute crap.  Their support appears to be all non-technical people in India.  After 3 or 4 days if your support issue is still open they will get an "engineer" on it (that is, apparently, someone who actually knows what ASP.Net is).  I am now receiving the worst service I have ever received from ANY webhost over the years.  I would never recommend Webhost4life for anyone, in fact I would strongly warn you against it.

Webhost4life was the biggest web hosting mistake I have made.  So much so that I am still prepaid through a couple more months, but I am moving now anyway.

posted @ Saturday, July 30, 2005 4:57 PM | Feedback (40) |


No C-SPAN podcast or RSS feed may be displayed on any website, including personal websites


Someone posted this in the Podcasters mailing list.  Thats right, C-SPAN is podcasting. Just don't link to them. From http://www.c-span.org/podcast/, at the very bottom of the page:

"No C-SPAN podcast or RSS feed may be displayed on any website, including personal websites."

posted @ Friday, July 29, 2005 1:32 PM | Feedback (0) |


Thunderbird extension for extension developers curses at you


Mitch Graw has posted a Thunderbird extension called Reloadchromezilla, which adds a "Reload Chrome" option to the Thunderbird context menus and toolbar.

Looks like John Coleman didn't like it because it contained a "swear word". A swear word in an open source Mozilla add-on? Seems like the guy could have simply modified the code rather than giving a 0 star rating for a free, open source, useful tool.

posted @ Monday, July 25, 2005 10:27 AM | Feedback (11) |


iRobot Customer Service


For Christmas, I bought my wife a Roomba Discovery. We both LOVE it. Its so convenient, and it just scoots around sucking up all the dust and puppy hair. We were shocked and amazed (and a bit embarassed) at just how much dust it did pick up! The roomba has just as much (if not more) vacuum power as a regular upright vacuum cleaner. It has no trouble with our rugs (although I hear if you have frilly rugs they can cause trouble), stairs, or furniture. It did get caught on a tshirt on the floor once - but the Roomba just realized there was a problem and shut it self off.

The robot ran great for a while, and then one day just stopped cleaning. I contacted the iRobot customer service, and with no fuss and a less than 5 minute phone call, another one is being sent to our home. Now that's service.

If you're thinking about buying a Roomba, I highly recommend it.

posted @ Friday, July 22, 2005 3:41 PM | Feedback (11) |


Automatically serve all pages in your .Net web apps using HTTP compression


You can automatically serve all pages in your .Net web apps using HTTP compression by creating a simple HTTPModule and referencing it in your web.config.  This particular implementation uses IPWorksZip ZipStream component.

To create the module, just inherit from IHttpModule. In the IHttpModule.Init function, add an event handler for context.BeginRequest. Inside this event, check the Request object to see if encoding is accepted, and if so - use the Zipstream component to create a compression stream to pass to Response.Filter. For example:

if (HttpContext.Current.Request.Headers["Accept-Encoding"].ToLower().IndexOf("deflate") > 0)
{
 nsoftware.IPWorksZip.Zipstream z = new nsoftware.IPWorksZip.Zipstream();
 z.StreamFormat = nsoftware.IPWorksZip.ZipstreamStreamFormats.sfDeflate;
    
 HttpContext.Current.Response.AppendHeader("Content-Encoding", "deflate");
 HttpContext.Current.Response.Filter = z.GetCompressionStream(HttpContext.Current.Response.Filter);
}

If the Accept-Encoding header includes "deflate" as one if its values, the client supports deflate compression. Gzip or Zlib could also be used (ZipStream supports them both) if the client specifies them in the Accept-Encoding header.

Below is a samle web.config file that you can use to incorporate this compression module. Use the text below for the entire config file, or copy just the httpModules section into an existing web.config file.

xml version="1.0"?>
<configuration>
  <system.web>
    <authentication mode="None"/>
    <httpModules>
      <add name="HttpCompressionModule" type="ipzaspx.cs.HttpCompressionModule, ipzaspx"/>
    httpModules>
 system.web>
configuration>

posted @ Friday, July 22, 2005 12:18 PM | Feedback (6) |


"Beauty and the Geek" contacts Chris Pirillo


Chris, I told ya. :) But I know you're right - Richard can't live up to your genius. I think your comparison of geek to nerd is right on.

I love how the producer said "I know you must be located in Seattle ... we're going to be in North Carolina August 9th through the 16th".

posted @ Friday, July 22, 2005 12:17 PM | Feedback (5) |


Longhorn to be named Windows Vista


Longhorn to be named "Windows Vista", and the first beta will be available soon. via Steve Smith

posted @ Friday, July 22, 2005 11:41 AM | Feedback (0) |


Winsock error 10035


Winsock error 10035 means "Resource not available" or "Operation would block". Huh?

This error happens when the winsock buffer of either the client or server side become full. Huh? Ok, let me try to describe it as plainly as possible:

Here are two situations in which you might see Winsock error 10035:

  • You're trying to send a massive amount of information through the socket, so the output buffer of the system becomes full.
  • You're trying to send data through the socket to the remotehost, but the remotehost input buffer is full (because its receiving data slower than you're sending it).

When you send data - you really send it to the TCP/IP subsystem of your machine (ie winsock). The system buffers this data (in the OutBuffer) and begins sending it to the remote host as fast as it can (which of course is only as fast as the receiver can receive it). If the OutBuffer gets filled, because you are sending data faster than the system can send it - you'll get Winsock error 10035.

For IP*Works! users, you will never have to worry about this error because the components deal with them for you automatically, with the exception of IPPort an IPDaemon, the basic level TCP client and server components. These two components are the building blocks with which you can build any TCP/IP solution, they give you complete control over everything.

In order to deal with this when using IPPort or IPDaemon, just catch the Winsock 10035 error and wait for the component's ReadyToSend event to fire (this fires when the system is able to send data again). At that time, you can continue sending your data, starting with that which failed. For example (C# - if you need help with other languages let me know), the code below will loop until the length of the data to be sent is 0. If all goes normally, this loop will only be entered once and all of the data will be sent. After a while, if the input buffer fills up, the SetDataToSend inside the loop will fail with the Winsock 10035 error. The code will wait for the ReadyToSend event (the ready boolean flag), and loop. SetDataToSend will be called again, successfully.

note:  The ReadyToSend event will only fire if none of the data was able to be sent.  So the code below has been updated to only wait for the event if BytesSent equals 0.  Otherwise, if some of the data was able to be sent, the code will loop immediately and attempt to resend the remaining data.

while (length > 0) { //this means that we have some bytes to send
     try 
     {
          ready = false;
          ipport1.SetDataToSend(TextB, offset, length);
          length -= ipport1.BytesSent;
          tbStatus.AppendText(ipport1.BytesSent.ToString() + " bytes sent." + "\r\n");
     }
     catch (nsoftware.IPWorks.IPWorksException ex1) 
     {
          if (ex1.Code == 135) //WOULDBLOCK Error
          {
               if (ipport1.BytesSent == 0) 
while (!ready) { ipport1.DoEvents(); }
               length -= ipport1.BytesSent; offset += ipport1.BytesSent;
               tbStatus.AppendText("Retrying Send..." + "\r\n"); 
          }
     }
}

posted @ Wednesday, July 20, 2005 8:52 AM | Feedback (19) |


Winsock error 10053: Part 2


Last month I mentioned winsock error 10053, "Software caused connection abort" (basically, the error means that something on the localhost caused the connection to be closed), and how it is so often caused by virus scanners. I pointed out that this is not always the case, and sometimes the problem is very difficult to troubleshoot. But don't worry, this is pretty common and it is most likely not a bug in your code, just something that needs to be considered when implementing error handling.

Besides AV software, another common cause of this error is that a remotehost stops acknowledging receipt of TCP packets. When TCP packets are sent to a remotehost, and the remotehost does not acknowledge that packet, the local socket will attempt retries - but if the remote host never responds, a 10053 error will occur.

posted @ Wednesday, July 20, 2005 7:52 AM | Feedback (16) |


Planning a day trip to outer space? Better check out Google Moon first!


Today is the 36th anniversary of the first lunar landing. Google Moon plots out Apollo landings and provides a up-close view of the moon.  Don't forget to zoom all the way in!

posted @ Wednesday, July 20, 2005 6:45 AM | Feedback (1) |


Do you like doggies?


I love dogs! Thankfully, Eo and Shellie love dogs as well. They run the doggie photo blog. Their RSS feed is here. These photos will definitely give you a smile.

posted @ Friday, July 15, 2005 6:14 PM | Feedback (0) |


Robi is using IBizEpay to implement his credit card payment solution


Robi Sen is using IBiz E-Payment Integrator to implement his credit card payment solution. He's using Paymentech's Orbital gateway, and ran into some confusion during development.

Some of the 45 gateways supported require the transaction amount to be specified in cents rather than dollars, and Robi found out the hard way that Orbital is one of these, and that Orbital also requires a BIN number. We try to document all of these minor differences between gateways. The documentation for Orbital now highlights these causes of Robi's confusion:

gwOrbital (29)
InvoiceNumber is required. The TransactionAmount must be submitted as the number of cents without a decimal point. For example, a dollar value of "1.00" would equate to "100" for this gateway. Also, to configure this gateway please note that your merchant/group Id maps to the MerchantLogin property, and your Bank Id (BIN) maps to the MerchantPassword property. The Terminal Id is defaulted to "001".

In the next version, a lot of these little items will be taken care of for you behind the scenes.

posted @ Friday, July 15, 2005 6:45 AM | Feedback (2) |


Compact framework internet development components


The .Net CF Team has posted an updated list of .Net CF applications and libraries. The list includes /n software IP*Works .Net CF. It does not include the many other .Net CF developer toolkits available from /n software, including SSl, SSH, ZIP, Secure SNMP, Quickbooks Integrator, and credit card payment components!

Here is a list of all the .Net and .Net CF toolkits available from /n software.

posted @ Thursday, July 14, 2005 6:42 PM | Feedback (0) |


Brad noticed /nsoftware's Google Adwords Web Service tutorial


Brad Snyder noticed has noticed /n software's tutorial on working with the Goodle Adwords API.

Hey Brad, its not just VB that you can consume web services with - IP*Works! is available for just about any development language you like.

posted @ Thursday, July 14, 2005 6:24 PM | Feedback (0) |


Harry Potter and the Half Blood Prince is shipping


Harry Potter and the Half Blood Prince is shipping. 1 copy will be on my doorstep by Saturday.

This book is also available in a special deluxe edition, featuring art inserts, slipcase, and more.

posted @ Thursday, July 14, 2005 4:44 PM | Feedback (0) |


Was Chris Pirillo on Beauty & The Geek?


Was Chris Pirillo on Beauty & The Geek?  Hmmm....

 

posted @ Thursday, July 14, 2005 4:01 PM | Feedback (2) |


Clear Channel: "Podcasts painful"


Billboard interview with Mark Mays, president/CEO of Clear Channel Communications. In this interview he is asked about satellite radio and podcasting being a thread to radio.

posted @ Tuesday, July 12, 2005 6:31 AM | Feedback (2) |


Podcasts good for business?


Dave Taylor says podcasts are no good for businesses because we can't effectively search them for specific content that we want to hear. That may be so, however:

  • I can't read a blog during my frequent road trips and commutes to and from work (amoung dozens of other activities, like jogging, lifting weights, or mowing the lawn).
  • Even if I had mobile connectivity, its not easy to read blogs on a mobile device. Its very easy to listen or watch podcasts on a Pocket PC or similar device no matter where I am, online or not.
  • Bloggers cannot possibly convey all that a podcaster can. Proof? Take two of the most popular podcasts, IT Conversations and the video podcast Channel 9.

    I don't really give a damn if Dave Taylor can excerpt them or not. Podcasts weren't created so that Dave Taylor could quote them. Podcasts were created to distribute audio to a wide audience in a method that gave the consumer the ability to consume the content when and where they want to. I for one have learned a great deal thanks to the work of people like Chris Pirillo, Doug Kaye, and many more not-so-recognizable names.

posted @ Monday, July 11, 2005 7:03 PM | Feedback (0) |


Wireless lcd tv



Wireless lcd tv
Originally uploaded by lmrobins.

posted @ Monday, July 11, 2005 2:48 PM | Feedback (0) |


OFX (Open Financial Exchange) is a standard for electronic exchange of financial data


OFX (Open Financial Exchange) is a standard for electronic exchange of financial data. This standard is what many software applications use to monitor and perform financial transactions right on your PC desktop.

/n software's IBiz OFX Integrator is a suite of components, which gives .Net and Java developers the power of OFX in a simple API.

Jeremy has a list of OFX FI Data. This contains an index of thousands of financial institutions, and separate xml files with the individual FI details. Before you use this data, you should of course verify the accuracy of this data by contacting your bank.

posted @ Monday, July 11, 2005 6:52 AM | Feedback (0) |


Quick screen capture utliity


Last month, Scott Hanselman posted his Ultimate Developer and Power Users Tool List. I checked out some of the things I'd not heard of before. One of these was Brian Scott's Cropper, a little .Net utility for quickly and conveniently creating screen captures. This little app is great! Brian, a suggestion: when I take a shot - how about copying the resultant file to the clipboard?

posted @ Friday, July 08, 2005 8:13 AM | Feedback (2) |


MSN Search Forces Restart


I was impressed with the MSN Search Toolbar update for tabbed browsing recently.  So when I was told there was an update available, I went ahead and said “OK“, go get it.  Installation went well, until it was complete. 

Why do they have to force a restart? Let me restart whenever I'm darn ready, please.

posted @ Thursday, July 07, 2005 11:14 AM | Feedback (0) |


MSN Messenger has a big bug!


Harish recommends MSN Messenger 7.0. No, no, no, no, no. And if you recommend AOL IM? No, no, no, no, no.

Can these two IM clients throw everything at you except the kitchen sink, or what? Good grief! Some products will get so bloated, and be completely blind to the features that are really important.

If I use MSN Messenger as my only IM client, that means I can only talk to other people who use MSN Messenger. If I want to chat with my friends who use AOL IM, I have to install that and run it as well. My Yahoo IM friends? Third client. Can you imagine if IE would only let you browse to websites that were served up by IIS, or if Firefox would only let you browse to sites that were running on Apache? That would be ridiculous! This IM lock-down is ridiculous as well.

What is the solution to it? Throw away MSN Messenger and others who dont want to play nicely. MS and AOL may not want to play nice together, but that's their problem, and they will likely pay for it. I'd be willing to wager that they already are. I know there's a huge fan base for Trillian, which supports MSN, AOL, Yahoo, and Jabber (and even more). There's the cross-platform sourceforge project GAIM, and several other good IM clients available that can let you talk to ALL your friends.

posted @ Tuesday, July 05, 2005 2:17 PM | Feedback (0) |


Vlogging is stupid, and so is this argument


I'm so sick of this argument: "Is podcasting audio only?".

Ugh. I can think of one reason why the answer to this question should be no, and that is that podcasting is a crappy name.

That said - there's no reason for multiple words to describe the same technology. Wether it be mp3 audio, wmv video (MS Channel9), jpg photos (iBod), iso images, exe updates (aka "appcasting"), or any other file type, they can all be delivered via RSS enclosures. They can all be automatically cast to a mobile device.

Yes, it would be pointless to cast these to an iPod. Who's fault is that? Apple.

Where can I cast wmv's or jpg's so I can actually use them? Windows Mobile, you say? You mean my pocket PC has Windows Media Player pre-installed on it? And it plays more than just audio? Wow! Great! This should NOT be a newsflash.

posted @ Monday, July 04, 2005 5:13 PM | Feedback (0) |


Hey Dave Winer!


Dave Winer drove through this corner of the world this weekend. Dave, I hope you get a chance for some good cookout food! Happy 4th! Please send me a copy of your OPML Outliner. I'd love to play with it.

posted @ Monday, July 04, 2005 5:04 PM | Feedback (0) |


July 4 Cookout


Good ole eastern North Carolina BBQ on the smoker (for those that don't know eastern NC bbq, its smoked pork shoulder - aka Boston Butt - pulled, with a spicy vinegar based sauce, often accompanied by a high-vinegar cole slaw), just in time for dinner. Yum, yum, yum. The pork shoulders went on the smoker at 10:30 am. After 6 1/2 hours, they only need a couple more hours to be smoked to a tasty, tender perfection. Then I'll pull it into shreds, put on a hamburger bun and top with texas pete and slaw. Mmmm. Nobody does it better than Eastern North Carolinian BBQ.

Happy Independence Day, USA!

posted @ Monday, July 04, 2005 4:53 PM | Feedback (0) |


I saw two movies this week


Saw, a slightly disturbing horror movie - actually one of the best horror flix I've seen in a while. It seems like good horror movies are few and far between, but this one is definitely worth checking out.

Hell's Angels, the Howard Hughes classic. After watching The Aviator a few weeks ago, I stuck this into my Netflix queue. Honestly I don't normally enjoy older movies, but this was really good. The acting was a bit over the top at times, which I find to be true with a lot of older films, but the story was good, and the production quality was pretty amazing given the fact that it was filmed in 1929.

posted @ Saturday, July 02, 2005 12:16 AM | Feedback (9) |


Microsoft's Podcasting Solution


Robert Scoble has called out on Channel 9 for user suggestions as to what MS should do about Podcasting, I suppose in response to iTunes. I've seen people like Rob Greenlee suggesting adding functionality to Windows Media Player. I think thats a fine suggestion - but not until they take some functionality OUT of WMP first. That thing is so over-bloated that I can hardly run it. I hardly ever run WMP because it consumes so many resources on my machine, it slows down my work.

posted @ Friday, July 01, 2005 9:42 AM | Feedback (0) |