DotNetKicks Blogger integration that actually works!

I found a couple of posts describing how to embed the DotNetKicks "kick it" button into your blogger template:

However, they DON'T work! It took me a little while to figure it out, because that code was working for the people that posted it. It turns out that they were posting the code in a blog post, and they were not encoding it so that it would show up correctly for the browser.


This is the actual code that you need in your template:

<p><a expr:href='&quot;; + data:post.url + &quot;&amp;title=&quot; + data:post.title' expr:id='data:widget.instanceId + &quot;_kickit&quot;' rel='nofollow'><img alt='Submit this story to DotNetKicks' expr:src='&quot;; + data:post.url'/></a></p>

NOT this:

<p><a expr:href='"" + data:post.url + "&title=" + data:post.title' expr:id='data:widget.instanceId + "_kickit"'><img alt='Submit this story to DotNetKicks' expr:src='"" + data:post.url'/></a></p>

I tested the corrected code, and it's working great!

Frog's Brain has great instructions how to use this code:

To add the tag into your post template go to the Template tab under your Blogger accounts Customization section. Select "Edit HTML" and check the "Expand Widget Templates" check box. Scan the template until you find a line that looks something like <p><data:post.body/></p>. That is where the Blogger templating engine inserts the body of your post. I inserted my tag to appear directly below the body of my posts but you can play around with whatever position you like by using the "Preview" button. You'll have to save the template to apply the changes when you are satisfied.

Like this post? Please share it!

See a mistake? Edit this post!

Deadlines are bad, goals are good

Deadlines are a fact of life. If someone throws a football at your face, you have a certain amount of time to block it before the ball smashes into your face. Does software planning work the same way? That depends on the type of software you're writing.

On Time

If someone else is assigning your deadline, you don't really have a choice. The IRS might need that new tax software in time for the tax season, or the whole government will come crumbling down. In that case, you pretty much have to get it done no matter what. To miss the date would mean catastrophe. Features will need to be trimmed as necessary to complete the job. This type of planning is known as deadline driven scheduling.

Boy that sure sounds great! Pick a due date, and it's done! Why wouldn't everyone do that? Well, for one, it only ensures that your software goes out on time, not that it's good, or that it does what you want. Most people choose this method under the incorrect assumption that they're helping the project, when they're severely hurting quality.

The alternative method of planning a software release, is to pick your features, and calculate a release date. If you have actually made a conscious decision to make sure that your features get completed, and get completed well, the due date is actually a goal. By making it a goal, you can relax a little bit. If you're implementing a new feature and you estimate it will take 2 days, you might realize that to do it right will take an extra day. Hopefully you'll have a good project lead that can make prioritization decisions, make sure everyone stays on task, and can accurately plan in some padding for things that were not in the original design. In the end, you'll end up with a good product.

I think this page makes a good point:

"Creating software is both an art and science. It is an art because there is quite a bit of creativity involved. It is a science because it ultimately involves engineering a logical set of instructions."

It should be very obvious that creativity is impossible to schedule, and even with a good plan, good ideas are missed.

Can you have your cake an eat it too? Of course. The theme is speed, quality, and price. You can pick two. This post assumes that it's a compromise between speed and quality, on whatever fixed budget you have. If you have a virtually unlimited budget, then there would obviously be more choices available to you.

Of course, as with anything, these are simply guidelines. People haven't been writing software and perfecting software engineering for hundreds of years. We're using an evolving process, that is undoubtedly in its infancy. If you're using something that works, good for you! If you care to take the time, leave a comment and let me know what you've learned while writing software.

More reading:

Like this post? Please share it!

See a mistake? Edit this post!

ASP.NET LinkButton and SEO

A common question that comes up, is what do LinkButton's do for SEO (Search Engine Optimization)? Well, let's take a look what a LinkButton actually renders for HTML:

<a href="javascript:__doPostBack('ctl01','')">Click me!</a>

Notice that it's simply a standard hyperlink with a JavaScript call. Typically, the search engines are only going to look at your HTML. They're not going to evaluate the JavaScript. Doing so would be a big can of worms.


So basically, the LinkButton is going to be invisible to the search engines. At most, they might look at the words in the link text, and consider them as part of the rest of the content.

Remember, the purpose of the LinkButton to be a replacement for the ASP.NET Button control, but with the look of a hyperlink.

Like this post? Please share it!

See a mistake? Edit this post!

Jason Young I'm Jason Young, software engineer. This blog contains my opinions, of which my employer - Microsoft - may not share.

@ytechieGitHubLinkedInStack OverflowPersonal VLOG