mikedopp.net

doppNet
posts - 56, comments - 8, trackbacks - 1

Monday, February 04, 2008

mikedopp.net phase out.

mikedopp.net as you know is my answer to a development blog. Since last week when I was given the chance to start blogging on weblogs.asp.net/mikedopp. I have been debating keeping the site up or moving it over. I have decided it was a good run and I will be moving over to weblogs.asp.net/mikedopp and getting rid of mikedopp.net.

posted @ Monday, February 04, 2008 8:55 AM | Feedback (0) | Filed Under [ Links General ]

Wednesday, January 30, 2008

I am going to MIX08

Joe Beat me to the post. I am going to be in Las Vegas Nevada for MIX08 This year listening to Steve Balmer. I will be pulling my hair out getting all 5 projects in test before I step on the plane however It will be awesome.

Thanks,

  Steve and John

mix•ti•fy [micks-tuh-fahy]

— verb (used with object), -fied, -fy•ing. blings_9_25_d

1. to share with everyone you know the coolness that is MIX08!

2. to download the latest and greatest MIX stuff by checking back here often!

— Related forms mix•ti•fi•ca•tion, noun mix•ti•fied•ly, adverb mix•ti•fi•er, noun mix•ti•fy•ing•ly, adverb

— Synonyms

1. amaze, innovate, create, iterate.

posted @ Wednesday, January 30, 2008 1:20 AM | Feedback (0) | Filed Under [ Links ASP.NET (Web Development) General ]

Wednesday, January 23, 2008

Weblogs.asp.net/mikedopp

Today is a great day. I was accepted as a member of the elite weblogs.asp.net community. I am now truly a Microsoft asp.net web geek.

Thanks to microsoft and to joe stagner.

posted @ Wednesday, January 23, 2008 9:43 AM | Feedback (0) | Filed Under [ Links ASP.NET (Web Development) General ]

Monday, January 21, 2008

MSSQL 2000 Tip of the day

So I get this email.

I forgot/lost the sa password. What to do?

So I scrub the google database. Looking for an answer:

Source

Forgot or lost your sa password? Don't worry, there is a way out.

Login to the SQL Server computer as the Administrator of that computer. Open Query Analyzer and connect to SQL Server using Windows NT authentication. Run sp_password as show below to reset the sa password:

sp_password @new = 'will_never_forget_again', @loginame = 'sa'

posted @ Monday, January 21, 2008 8:13 AM | Feedback (0) | Filed Under [ Links Database ASP.NET (Web Development) General ]

Thursday, January 17, 2008

.NET Framework Released Today.

Developers, Developers, Developers! Your source code is now public. At least the .NET framework. Woot! According to Scott Gutherie Microsofts ASP.net Guru.

The Available source code will include:

  • .NET Base Class Libraries (including System, System.CodeDom, System.Collections, System.ComponentModel, System.Diagnostics, System.Drawing, System.Globalization, System.IO, System.Net, System.Reflection, System.Runtime, System.Security, System.Text, System.Threading, etc).
  • ASP.NET (System.Web, System.Web.Extensions)
  • Windows Forms (System.Windows.Forms)
  • Windows Presentation Foundation (System.Windows)
  • ADO.NET and XML (System.Data and System.Xml)

VS 2008 will download both the symbols and source files on demand from the MSDN reference servers as you debug throughout the framework code. However the source code will be available for download shortly for you know documentation purposes.

Reference License

The .NET Framework source is being released under a read-only reference license. When we announced that we were releasing the source back in October, some people had concerns about the potential impact of their viewing the source. To help clarify and address these concerns, we made a small change to the license to specifically call out that the license does not apply to users developing software for a non-Windows platform that has “the same or substantially the same features or functionality” as the .NET Framework. If the software you are developing is for Windows platforms, you can look at the code, even if that software has "the same or substantially the same features or functionality" as the .NET Framework.

This is a huge(giant) leap for microsoft as their code or frameworks have all previously been closed source.

posted @ Thursday, January 17, 2008 9:46 AM | Feedback (0) | Filed Under [ Links ASP.NET (Web Development) General ]

Friday, January 11, 2008

ASP.Net Deployment Tip.

When your ASP.net App has been deployed make sure you turn off debugging.

Flip the bit from:

<compilation debug="true">

to:

<compilation debug="false">

A little speed and performance enhancement.

Enjoy!

posted @ Friday, January 11, 2008 8:45 AM | Feedback (0) |

Thursday, January 10, 2008

QA DeathMatch

 

Recently the web development team has been Testing the crap out of our latest greatest app set for release any day now. As Evil as QA is this makes it fun. Enjoy!

Recently seen on:blog.slickedit.com

 

"If you’re familiar with Quake, or pretty much any other FPS, then you know about the deathmatch. It’s my single favorite type of game and, in it’s own way, is really therapeutic when the stress of development, or testing, gets you down. A lot of the other developers I worked with at one point also loved to deathmatch and we used to play during lunch. When testing time came around, we found a way to make it fun… QA Deathmatch.

Here are the rules for QA Deathmatch:

  1. Scoring works on a point system: the points correspond to your company’s severity levels for bugs. If you find a bug, you score that bug’s severity level in damage. The person who owns that bug sustains that many points of damage. If your severity level goes in reverse order, then you score ([max severity] - [bug severity] + 1) per bug. For instance, assume your company has a severity level of 1 for critical bugs, and 5 for cosmetic bugs. If you find a bug with a severity of 2, then you score (5 - 2 + 1) or 4 points of damage and the bug’s owner sustains 4 points of damage.
  2. Damage can be recovered: by fixing a bug that caused the damage. When a bug is fixed, you reduce your damage sustained by the point total for that bug. However, the person who found the bug does not reduce their damage total.
  3. All features are fair game: there are points to be won everywhere in the code base, don’t limit yourself. The more you try all of the features, the more chance you have of scoring big.
  4. First to find a bug gets the points: If you find a bug that’s already been logged, you score nothing.

All players have three running stats:

  • Damage delivered: The sum of the bug scores found by you.
  • Damage sustained: The sum of the scores of the bugs found by other players against your features.
  • Damage recovered: The sum of the damage reduced by you by fixing bugs.

At the end of each day, the point totals are taken and five medals of honor are awarded:

  • Sniper medal: The person who delivered the most damage
  • Stealth medal: The person who sustained the least damage
  • Tactics medal: The person who had the best delivered:sustained ratio
  • Medic medal: The person who recovered the most damage
  • Commander medal: The person with the greatest overall score as calculated by [delivered - sustained + recovered].

The point of all of this is that it makes testing fun. It gives you motivation to find bugs, fix bugs and make your features as solid as you can. It’s amazing what winning one or two medals at the end of the day can do to make you feel great about going into testing for another day. And if you think winning a medal is motivating, wait until you lose a medal to someone else.

Another great thing that QA deathmatch encourages is getting everyone to test all aspects of the system. Too often, developers only test their features and don’t go outside that box. However, there are bugs to be found everywhere, and when you are in scoring mode, you’ll take the time to check out all the new features to see what you can break to score big. It’s also a great facade for getting competitive about finding bugs. Nobody likes the guy that finds a lot of bugs in their features, and even fewer like to be that guy. It’s easy to feel bad about finding a lot of bugs. You’re essentially adding work to other people’s plates. But in QA deathmatch, you are playing a role and it’s a great way to detach personal feeling from the process.

There are other variations of the game too:

  1. Team play: Development is split into two or more teams, divided by feature sets. Point totals are not by individual, but by team.
  2. Capture the flag: Just like team play, but instead of end-of-day totals, points are calculated when bugs are found or fixed. Instead of medals, flags are used that can be stolen by any team at any time. It feels great to find or fix a bug, then be able to steal a flag from another team.
  3. Mercenaries: Testers that aren’t involved in fixing bugs are mercenaries. They may not participate on a team or get any of the normal medals. Instead, a special Mercenary award is given to the one who scores the most damage in a day.

Again, the whole point is to make testing fun. All you need is a whiteboard, a calculator and some gadgets to be used as medals. Of course, you can always add to the game by printing a bunch of these then taping one to a developer’s cube with the bug number and severity penciled in whenever a bug is found. It can only be removed when the bug is fixed. The possibilities for expansion are endless.

QA is a painful process and some days, when 8+ hours of QA work lay ahead of you, it’s just hard to get out of bed in the morning. Don’t let boring work be boring. Not only will you have more fun during the day, but I can guarantee that when you turn QA into a competitive deathmatch, the quality of the final product going out the door will be better than if you are finding and fixing bugs for the sake of quality alone. Happy sniping!"

posted @ Thursday, January 10, 2008 8:40 AM | Feedback (0) | Filed Under [ ASP.NET (Web Development) General ]

Wednesday, December 05, 2007

Multiple Database support in SubSonic

So I finally convinced the rest of the developers and database admins to use subsonic and all the fast sweet love that comes with it. However I ran into a snag when trying to setup multiple databases using subsonic. Maybe I should clarify:

<SubSonicService Default"">
<providers>
<clear/>
<add name="DefaultDB" type="SubSonic.SqlDataProvider, SubSonic" connectionStringName="ConnectionString" generatedNamespace="DefaultDB"/>
<add name="DefaultDB2" type="SubSonic.SqlDataProvider, SubSonic" connectionStringName="ConnectionString" generatedNamespace="DefaultDB2"/>
</providers>
</SubSonicService>

It simply doesn't like more than one.

I have been sifting through all the forums for answers and having issues finding some answers.

Anyone know better than this? Let me know.

 

***Update:

So after a few weeks of serious digging into subsonic I found I was wrong about the multiple database setup. Have a look:Subsonic Without a Website

Don't let the name fool you it is very much for websites and all other .net apps. Enjoy.

posted @ Wednesday, December 05, 2007 9:06 AM | Feedback (0) |

Ping Servers for your blog

Here is a list of ping servers for your blog:

Special thanks to joelevi for most of these.

Let me know if you have more...

http://www.joelevi.com
http://www.technorati.com
http://www.digg.com
http://rpc.technorati.com/rpc/ping
http://rpc.pingomatic.com/
http://api.feedster.com/ping
http://api.moreover.com/RPC2
http://api.my.yahoo.com/RPC2
http://xping.pubsub.com/ping/
http://ping.blo.gs/
http://ping.feedburner.com
http://ping.syndic8.com/xmlrpc.php
http://ping.weblogalot.com/rpc.php
http://rpc.blogrolling.com/pinger/
http://rpc.icerocket.com:10080/
http://rpc.newsgator.com/
http://rpc.weblogs.com/RPC2
http://topicexchange.com/RPC2
http://www.blogdigger.com/RPC2
http://www.blogstreet.com/xrbin/xmlrpc.cgi
http://www.newsisfree.com/RPCCloud
http://ping.weblogs.se/
http://blogmatcher.com/u.php
http://coreblog.org/ping/
http://www.blogpeople.net/servlet/weblogUpdates
http://bulkfeeds.net/rpc
http://trackback.bakeinu.jp/bakeping.php
http://ping.myblog.jp
http://ping.bitacoras.com
http://ping.bloggers.jp/rpc/
http://ping.blogmura.jp/rpc/
http://xmlrpc.blogg.de
http://1470.net/api/ping
http://bblog.com/ping.php
http://blog.goo.ne.jp/XMLRPC
http://api.feedster.com/ping.php
http://api.moreover.com/ping
http://api.my.yahoo.com/rss/ping
http://bitacoras.net/ping
http://blogdb.jp/xmlrpc
http://mod-pubsub.org/kn_apps/blogchatt
https://phobos.apple.com/WebObjects/MZFinance.woa/wa/pingPodcast
http://ping.amagle.com/
http://ping.cocolog-nifty.com/xmlrpc
http://pinger.blogflux.com/rpc/
http://ping.exblog.jp/xmlrpc
http://pingqueue.com/rpc/
http://ping.blogg.de/
http://ping.rootblog.com/rpc.php
http://rcs.datashed.net/RPC2/
http://rpc.blogbuzzmachine.com/RPC2
http://rpc.britblog.com/
http://rpc.tailrank.com/feedburner/RPC2
http://rpc.wpkeys.com/
http://services.newsgator.com/ngws/xmlrpcping.aspx
http://signup.alerts.msn.com/alerts-PREP/submitPingExtended.doz
http://www.a2b.cc/setloc/bp.a2b
http://www.bitacoles.net/ping.php
http://www.blogoole.com/ping/
http://www.blogoon.net/ping/
http://www.blogroots.com/tb_populi.blog?id=1
http://www.blogshares.com/rpc.php
http://www.blogsnow.com/ping
http://www.holycowdude.com/rpc/ping/
http://www.lasermemory.com/lsrpc/
http://www.imblogs.net/ping/
http://www.mod-pubsub.org/kn_apps/blogchatter/ping.php
http://www.newsisfree.com/xmlrpctest.php
http://www.popdex.com/addsite.php
http://www.snipsnap.org/RPC2
http://www.weblogues.com/RPC/
http://bulkfeeds.net
http://thingamablog.sourceforge.net/ping.php
http://pingoat.com/goat/RPC2
http://xmlrpc.blogg.de/
http://zing.zingfast.com
http://blogbot.dk/io/xml-rpc.php
http://www.catapings.com/ping.php
http://effbot.org/rpc/ping.cgi
http://rpc.wpkeys.com
http://rpc.britblog.com
http://ping.fakapster.com/rpc
http://pinger.blogflux.com/rpc
http://blogsearch.google.com/ping/RPC2
http://rpc.icerocket.com:10080
http://rpc.pingomatic.com
http://blogupdate.org/ping/
http://www.feedsky.com/api/RPC2
http://bitacoras.net/ping/
http://rcs.datashed.net/RPC2 euro.weblogs.com
http://www.bitacoles.net/notificacio.php
http://ping.blogoon.net/
http://www.weblogues.com/ping/
http://blo.gs/ping.php
http://www.weblogalot.com/Ping/
http://www.packetmonster.net/xmlrpc.php
http://blogsearch.google.com/ping
http://www.blogupdate.org/ping/
http://blogupdate.org/sverige/ping/
http://rcs.datashed.net/RPC2
http://ping.feeds.yahoo.com/RPC2/
http://www.syndic8.com/xmlrpc.php
http://pingoat.com/
http://www.mod-pubsub.org/ping.php
http://www.weblogues.com/RPC
http://www.mikedopp.com
http://blogsearch.google.com/ping/RPC2
http://rpc.icerocket.com:10080/
http://ping.feedburner.com
http://rpc.pingomatic.com/RPC2
http://rpc.technorati.com/rpc/ping
http://rpc.odiogo.com/ping/
http://ping.weblogalot.com/rpc.php
http://services.newsgator.com/ngws/xmlrpcping.aspx
http://api.my.yahoo.com/RPC2
http://api.feedster.com/ping
http://www.bloglines.com/ping

posted @ Wednesday, December 05, 2007 5:37 AM | Feedback (0) |

Thursday, November 15, 2007

Ajaxify your FreeTextBox control

Thanks to: senyl @ Freetextbox

This code will allow you to ajaxify your FreeTextBox control(wysiwyg)

public class ContentManagementBasePage : System.Web.UI.Page
{
 
protected void Page_Load(object sender, EventArgs e)
{
 
if (!Page.IsPostBack)
{
Page.ClientScript.RegisterClientScriptInclude("FTB-FreeTextBox", VirtualPathUtility.MakeRelative(Request.Path, "~/scripts/FTB-FreeTextBox.js"));
Page.ClientScript.RegisterClientScriptInclude("FTB-Utility", VirtualPathUtility.MakeRelative(Request.Path, "~/scripts/FTB-Utility.js"));
Page.ClientScript.RegisterClientScriptInclude("FTB-Toolbars", VirtualPathUtility.MakeRelative(Request.Path, "~/scripts/FTB-ToolbarItems.js"));
Page.ClientScript.RegisterClientScriptInclude("FTB-ImageGallery", VirtualPathUtility.MakeRelative(Request.Path, "~/scripts/FTB-ImageGallery.js"));
Page.ClientScript.RegisterClientScriptInclude("FTB-Pro", VirtualPathUtility.MakeRelative(Request.Path, "~/scripts/FTB-Pro.js"));
}
}
 
public new void RegisterOnSubmitStatement(string key, string script)
{
ScriptManager.RegisterOnSubmitStatement(this, typeof(Page), key, script);
}
 
[Obsolete]
public override void RegisterStartupScript(string key, string script)
{
string newScript = script.Replace("FTB_AddEvent(window,'load',function () {", "").Replace("});", "");
ScriptManager.RegisterStartupScript(this, typeof(Page), key, newScript, false);
}
}

posted @ Thursday, November 15, 2007 9:23 AM | Feedback (0) |

Powered by: