Fixing The Blogger.com JS-error "Access Denied" Feb 27, 2010

If you host your blog at blogspot, you are experiencing a javascript error "access denied" for the last 48 hours. Lots of people are reporting this bug, but it's still not fixed. A temporary fix is:

<script type='text/javascript'>
window.onerror = function() { return true; }
</script>



Edit your template HTML and paste this code somewhere inside the <head> tag.

UPD: Please note this fix does not "solve" the actual problem, it just hides the annoying error message. We still have to wait for Google to fix this.

Twitter best practices for small business owners

I saw a lot of posts on the BoS forum where people don't "get" Twitter and the way they can they benefit from having a Twitter account for their mISV/startup. Here are some best practices based on how we use Twitter at Jitbit:

1) Post your feeds to Twitter. Jitbit has its news feed, blog feed and "latest releases" feed published to Twitter. We use Twitterfeed for this, but in the process of moving to Feedburner since they also started offering this feature.

2) Install a Twitter-client. We use Twirl for our PCs and Tweetie on the iPhones. Twitter clients are great because they act like IM-software: as soon as someone mentions your product, or you, or some search-term you are interested in, or retweets you, or sends you a direct message or a reply - you get an alert in your system tray. Instantly. This is just great.

3) Don't forget to add one or more twitter-searches to your twitter-client. And configure these searches to appear in the updates list along with the posts from people you follow.

One of our customers was really amazed how fast this works. He twitted about our Helpdesk software and we got back to him within 7 minutes to help him with his issues (of course we were lucky to be in the same time zone, it wouldn't work that fast if you and your customer are on different sides of the Atlantic, but anyway - imagine how great this is for the customer even if you answer in a couple of hours).

4) Use Google Reader. I already blogged about tracking your product mentions using Google Reader and sharing interesting posts on Twitter.

We had Downtime Today

The short version: Jitbit's email-sending server was down for more than 5 hours. This was due to a technical error. We screwed up. I apologize to all the affected users, sorry for all the inconvenience caused. All unsent order confirmations and license information were resent manually. Most of the support cases you sent us - have reached us, but some may have been lost.

The long version: .NET framework has a bug that they have been promising to fix for 3 years now. The bug is - the .NET Framework's SmtpClient class never closes its connection to the SMTP-server. After hours of email-intensive work your server has thousands of open TCP-connections to the email server. That leads to another problem called "too many open connections" causing your server to response slowly. The workaround is to lower the idle timeout for the connection so it closes automatically. But the workaround sometimes does not work if the timeout is configured BEFORE you set up a host for the SmtpObject...

Anyway. Our server has stopped sending out email notifications. We have not tested the "workaround" before deploying it to our server.

Now Patrick McKenzie has a great list of standard industry responses to outages:
  1. "Outage? What outage?"

  2. "Please see our status page, which we’ve conveniently located in electronic Siberia."

  3. "ATTENTION ALL USERS! 0.7% of you were affected by some very serious sounding things yesterday! Please be worried unnecessarily even if you weren’t affected, and swamp our support line, who we will provide no effective tools to tell you whether you’ve been affected or not!"

We admit the error and apologize to you. Sorry. We screwed up. But we're still here to help in case you need us.

Paid Review Sites Experience Feb 17, 2010

ReviewMe.com

Pros: Has a lot of blogs registered. Works nice when you pick a blog yourself.

Cons: Totally sucks when you create a "campaign" (a proposal for bloggers) and let bloggers pick it. After you create a "proposal", there's no chance to approve a blogger before reviewing your product. Any blogger who meets the criteria will do. My criteria was - Google-PR 3 and "3 stars" rating at least. All I got was a couple of robotic posts in some China-hosted splogs for almost a $100.

PayPerPost.com

Pros: Nice and easy UI

Cons: Errors on the website. And really bad support. I got a bunch JS-errors in IE8 when trying to add funds to my account. I got a number of "unsecure content" warnings from both IE8 and FF (you know, the ones that popup when you mix "http" and "https"). After reviewing their support forum, I found that I'm by far not the only one having this issue. And when I submitted my issue to this forum all I got was moderation and deletion of my messages. Duh.

Looking forward to try SponsoredReviews.com, updates to come.

PS. We still offer a free copy of Macro Recorder for a blog review, learn more.

Google Maps Made My Day: How To Get to Honolulu by Car Feb 15, 2010

Ever wondered how to get to Hawaii without spending a penny on airlines? Ask Google Maps!



Now look at the directions. This is awesome.

Fav4.Org - Your Browser Homepage Feb 14, 2010



http://fav4.org/ - is a new startup with an amazing & simple idea: it's your browser's homepage. That's it.

The default view offers Facebook, Flickr, Twitter and Gmail, but you can click the "site settings" link at the bottom and add/remove your most used sites from the list.

P.S. I still prefer to have Google.com as my homepage, but the idea is great.

Tips For Your Blog Feb 12, 2010

Choose your niche. Don't write "everything for everyone". Choose your topic. Choose your audience. Its always frustrating to see a "photos from my recent trip to the country" post on a blog from a marketing guru. Unless the author is a celebrity.

Link to your own posts. This is great for new readers to see what your blog is about.

Tag your posts via Delicious. It's easy to add a button "add to delicious" into any modern browser.

Have a "recent posts" list. Having a "most popular posts" list is also a good idea.

Link to other blogs. Bloggers are crazy about their stats. They will find your link via http-referers and check your blog. And even link you back in some cases.

Post interviews. Find an authoritative person in your niche and ask him for an interview.

Add a copyright footer to your RSS feed with a link to your blog. Let your RSS feed produce links for you.

Post updates to Twitter.

Optimizing SQL Commands Concatenation in .NET Feb 11, 2010

Another post for ASP.NET developers reading this blog. If you think these posts do not belong here, please leave a comment, and I'll consider moving my development articles to a separate blog.
Here's a free optimization tip. Suppose you concatenate your SQL-command like this (don't mind the SQL-text it's just an example) :

sqlCmd.CommandText =
"SELECT hdIssues.PublishToKB, hdIssues.UserID, " +
"Issues.IssueDate,Issues.Priority, " +
"Status.Name AS Status, " +
"Users.UserName, Users.email, " +
"Performers.UserName, " +
"FROM Issues " +
"JOIN Status ON Issues.StatusID = Status.StatusID " +
"JOIN Users Users_1 ON Issues.UserID = Users_1.UserID " +
"JOIN Cats ON Issues.CategoryID = Cats.CategoryID " +
"LEFT JOIN Users ON Users.UserID = Issues.ToUserID " +
" WHERE hdIssues.InstanceID=" + Instance.GetID();


Now stop doing this and do that:

sqlCmd.CommandText =
@"SELECT Issues.PublishToKB, Issues.UserID,
Issues.IssueDate,Issues.Priority,
Status.Name AS Status,
Users.UserName, Users.email,
Users_1.UserName,
FROM hdIssues
JOIN hdStatus ON hdIssues.StatusID = Status.StatusID
JOIN hdUsers Users_1 ON hdIssues.UserID = Users_1.UserID
JOIN Cats ON Issues.CategoryID = Cats.CategoryID
LEFT JOIN Users ON hdUsers.UserID = hdIssues.ToUserID
WHERE hdIssues.InstanceID="
+ Instance.GetID();


See the difference? It's the magic @" opening quotes. That saves you 11 string concatenations still leaving your SQL-code readable.

Slow matrix photo Feb 6, 2010

If you take a photo of a spinning coin you can get this:



The coin is absolutely straight. But the camera reads it's matrix line-by-line, which produces the effect - while a line is read, the coin has time to turn on a slight angle.

via habr

"X items remaining" in IE with Flash Feb 5, 2010

Another post for web-developers reading this blog. If you think these posts do not belong here, please leave a comment, and I'll consider moving my development articles to a separate blog.

If your page has one or more Flash-objects on it, you may face this strange IE behaviour: the page loads completely, but there's still a message "X items remaining" in the browser's status bar, with the "in progress" status shown.

The solution is simple - remove the "classid" attribute from your object, remove the "id" attribute, remove the "bgcolor" and the "quality" parameters... Actually, remove all the unnecessary info, keeping your flash-code as simple as possible:

<object width="550" height="400">
<param name="movie" value="somefilename.swf">
<embed src="somefilename.swf" width="550" height="400">
</embed>
</object>


Blog Archive