# Monday, June 18, 2007

Earlier I posted about pingback spam and a little tool I created to remove the spamvertised links, today I upgraded the tool from version to version So what's changed;

  • The updated version doesn't leave empty Tracking elements after removing the spamvertied entries. From the dasBlog Eventlog I suspected that too many empty Tracking elements were causing errors in the trackbackList macro.
  • An XML file is only written back if something changed in the file.

Source and executable files have been changed.

--- So how does the tool work? ---

First create a config file

RemoveSpam "C:\My Config Folder\RemoveSpam.xml" /config

Look in your dayfeedback-files for the spamvertised PermaLinks (or you may already know about them if you have Notification Settings enabled for pingback and trackback). It's the PermaLink pattern that matters:

   <TargetTitle>Today's bad start</TargetTitle>
   <RefererExcerpt />
   <TargetTitle>Today's bad start</TargetTitle>
   <RefererExcerpt />

The pattern for the second Tracking entry is already included in the default config file, so you would only have to add the pattern for the first Tracking entry. To do so, you only need to add the following XML-element in the Configs section:

<Config Pattern="*-le-informazioni.info/*" />

With the updated config file, you can now run the tool to clean all XML-files in your content folder.

RemoveSpam "C:\My Config Folder\RemoveSpam.xml" \\MyWebServer\My_dasBlogShare\content

Next is figuring out why Akismet isn't working for me.

Technorati tags: , , ,
Monday, June 18, 2007 11:13:29 AM (W. Europe Daylight Time, UTC+02:00)
# Wednesday, June 13, 2007

A little while ago Howard Dierking (MSFT, Certification Planner for developer stuff) shared his thoughts on doing exam development different. I liked the idea which aims to both lower the cost of building an exam and at the same time increase the quantity and quality of the questions. I added some feedback, so exams can be kept up to date, thus improving the quality of certification.

Wednesday, June 13, 2007 5:15:07 PM (W. Europe Daylight Time, UTC+02:00)
# Saturday, June 9, 2007

Recently I had a lot of pingback spam coming into my blog and I can tell you, it's more annoying than in your mailbox (Shift + Del and it's gone again). With dasBlog, it takes a little more effort, either via the admin interface or by deleting the spamvertised tarckings from the dayentry xml files. I even disabled trackback and pingback, temporarily!

Also I searched for solutions to this and came up with a several other affected blogs and akismet.com. With Akismet being the most promising, I tried, but spam kept coming in and Akismet was timing out (currently running dasBlog 1.9.7067.0.).

The external spam blocking service failed for pingback from http://9qk-information.info/56369818/index.html. Original exception: System.Net.WebException: The operation has timed out at System.Net.HttpWebRequest.GetRequestStream() at Subtext.Akismet.HttpClient.PostRequest(Uri url, String userAgent, Int32 timeout, String formParameters) at Subtext.Akismet.AkismetClient.SubmitComment(IComment comment, Uri url) at Subtext.Akismet.AkismetClient.CheckCommentForSpam(IComment comment) at newtelligence.DasBlog.Web.Core.AkismetSpamBlockingService.IsSpam(IFeedback feedback) at newtelligence.DasBlog.Web.Services.PingbackAPI.ping(String sourceUri, String targetUri)
while processing /ssb/PermaLink,guid,e63313c2-6f4d-434f-8a62-09f82a4b534c.aspx.

Hmm, if someone has some suggestions, I'd be happy to read your comment.


And that was about the spam coming in, I also had a nasty amount already polluting my blog. I could resign, disable *back permanently and clan manually once more... or fire up Visual Studio and write a piece of newbie/n00b code. Well the newbie pulled it off, his first useful C# program. At least, it removed the spammings from my blog.

So if you want to get rid of;

  • http://9??-free-porn.info/*
  • http://9??-information.info/*
  • or whatever disliked pattern of tracking permalinks on your dasBlog.

And you know that you try the followig stuff at your own risk and made a backup of your blog's content folder.

  • Compiled file (console application, run without parameters to see what you have to do to get it working. Then make the config file and if needed, edit it.). Requires .NET Framework 2.0.
  • Source-code (Visual Studio 2005, C#)

Disclaimer: It worked for me (dasBlog 1.9.7067.0.), it may not work for you and you use it at your own risk. However, feel free to comment with question, suggestions or other stuff.

<UPDATE date="2007-06-18">Version released, learn more here</UDPATE>

Technorati tags: , ,
Saturday, June 9, 2007 10:53:34 PM (W. Europe Daylight Time, UTC+02:00)
# Tuesday, June 5, 2007

Past weeks haven't been boring, if you look at the amount of database related news from Microsoft. And plenty of stages to let the world know it's still moving... BI ConferenceMix'07. And now TechEd.

At BI Conference, the new version of SQL Server was officially announced. At Mix'07 besides Silverlight there also were Jasper and Astoria. To see the presentations go to sessions.visitmix.com and search on the session code DEV18 for Jasper and XD006 for Astoria.

The binding word for Jasper and Astoria and Katmai is Enity Data Model. You may find several usefull video's on Channel9;

Yep, a lot of developer stuff, but it will show the importance of EDM for data driven applications and thus access to the database. Also, judging from this press release, one of SQL Server 2008 main delivery goals is accessibility of data.

With TechEd started, there is also more and more info about Katmai, including this recorded webcast. Like expected, a lot of Entity Framework (includes EDM) here. Other very noteworthy additions; spatial data types (demo with Virtual Earth), policy based management, data  and backup compression, resource governor and a FILESTREAM data type. FILESTREAM is about storing metadata in SQL Server and the file itself on the file system, while maintaining a relation between them (including for BACKUP/RESTORE, I imagine something like with Full-Text Indexes on SQL Server 2005). Sounds like WinFS, doesn't it?

Also the first CTP's are out, based on the Developer Edition. Download the x86 and/or x64 versions here, after having registered. 

Tuesday, June 5, 2007 6:55:06 PM (W. Europe Daylight Time, UTC+02:00)
# Thursday, May 31, 2007

New Windows Live Writer is here, at least so I read. All I found was lots of complaints about installer errors and the advertised link points to a general live.com landing site. It first looked to me like the beta-refresh was pulled and would be refreshed, that is, until I found this article. A guy from New-Zealand had to use one of his servers in the US to download the software, couldn't get to it directly... well I don't have a server in the US, so I can't get to it indirectly. 


LiveSide, WLW-Weblog, Where is the beta-refresh


Thanx to tibby for pointing to this url g.msn.com/4SAWLWENUS/WriterMSI in the comment, you can download the us-en version there if you get the useless landing page.


Thursday, May 31, 2007 9:44:58 AM (W. Europe Daylight Time, UTC+02:00)
# Wednesday, May 30, 2007

...on your Windows Server 2008 upgrade certification. If you have MCSA or MCSE for Windows Server 2003 and want to continue the spree, click this link.

Wednesday, May 30, 2007 10:42:38 PM (W. Europe Daylight Time, UTC+02:00)
# Thursday, May 24, 2007

Yesterday I attended the MCP Live Meeting "Protecting the Integrity of Microsoft Certifications". There were actually two sessions (I attended the first). The "thing" that basically led to the Live Meeting is the Non-Disclosure Agreement (you know, those legal ramblings you have to agree to when you sit the exam).

The LM focused on the content of the NDA and Microsoft's efforts to protect the integrity of the exams and thereby its certifications. Naturally a lot of questions about TestKing were envisioned by the MS-people, so they included an update on the TestKing-case.

Also noteworthy was that the independent organizations co-hosting the LM (CertGuard and Mitch Garvis) provided some pointers as to why to certify and if certification would be of use to you. By the way, CertGuard is a site that may help you with a lot of questions regarding certification integrity, not just Microsoft. So if you have a question on materials or policies, you might want to click the banner below.

CertGuard: The StrongHold For Excellence In IT Certification and Exam Security

As for the rest of the LM, I'll keep an eye on Trika's blog to see when the recording and transcript are posted (and update this post).

<update date="2007-05-25">

Trika posted a summary and the link to the recording.


But I had some extra reasons to attend;

First was the recent inclusion of simulations in MCTS exam 70-431. Lots of people were caught by surprise by the (all of a sudden heavily scored) simulations. The simulations on the exams, also referred to as Performance Based Testing, provide a more real world opportunity of testing the skills of the candidate. Besides testing the skills, it also battles just learning the answers to known questions (braindumps). The downside was, that a lot of people weren't prepared and failed the exam (undoubtedly a lot of them for the right reasons; not knowing the product). Still Microsoft could have been more clear and open about the simulations (they do provide some info, tucked away on the learning-site). In the LM, Microsoft made it clear it is their desire to include simulations in all MCTS exams and other exams where applicable. So make sure you prepare and know the product.

My second reason was if I could find out how the NDA affects me as a Microsoft Certified Trainer. For one part the role of the trainer is to guide the students in their learning path, often towards a certification. Also, a trainer is required to pass the exams for the technology the trainer delivers courses. That makes the trainer knowledgeable on the exam, but to what extent does (s)he also disclose when preparing the students? To me this is where business models, my professional role and the exam NDA might conflict.

Thursday, May 24, 2007 6:05:22 PM (W. Europe Daylight Time, UTC+02:00)
# Monday, May 14, 2007

Today I upgraded to the latest daily build (1.9.7067.0) for dasBlog. Went quite smooth, just did a compare between the old and new folders using WinMerge, copied the newer files and fire up the blog. Opening the blog (now on 1.9.7067.0) was very slow. A little later, I also experienced errors when hitting the config section. However after reviewing the site.config file, again piece of cake with WinMerge, both the error and the performance issue were gone.

Monday, May 14, 2007 3:06:08 PM (W. Europe Daylight Time, UTC+02:00)
# Friday, May 11, 2007

About 2 months ago I wrote that trackbacks didn't work from dasBlog... but I learned *backs do. But it toke a while to notice, here's what happened. Oh, let's clarify first, *backs are TrackBacks and PingBacks. Essentially you want to achieve the same thing with both, get a link on the (blog)page you reffer to.

I'm running my blog on a Windows Small Business Server 2003 R2, with ISA Server 2004. Also I had the blog configured to automatically ping the available servers using the XML-RPC Ping Interface. When I checked dasBlogs Eventlog after a couple of posts, it was filled with error messages like;

CookComputing.XmlRpc.XmlRpcServerException: Forbidden ( The ISA Server denied the specified Uniform Resource Locator (URL). )
at CookComputing.XmlRpc.XmlRpcClientProtocol.ReadResponse(XmlRpcRequest req, WebResponse webResp, Stream respStm, Type returnType)
at CookComputing.XmlRpc.XmlRpcClientProtocol.Invoke(Object clientObj, String methodName, Object[] parameters)
at CookComputing.XmlRpc.XmlRpcClientProtocol.Invoke(String MethodName, Object[] Parameters)
at newtelligence.DasBlog.Runtime.Proxies.WeblogUpdatesClientProxy.Ping(String weblogName, String weblogUrl)
at newtelligence.DasBlog.Runtime.BlogDataServiceXml.PingWeblogsWorker(Object argument)
while processing PingWeblogsWorker, pinging Yahoo.

So the configuration of the ISA Server was preventing the IIS Application Pool of reaching out to the world. Well, a little tweaking of the ISA config and the next posts' event resulted in... another error. Only this time the message wasn't saying ISA Server was in denial. The other end just didn't seem listening;

System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: A socket operation was attempted to an unreachable host
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.GetRequestStream()
at CookComputing.XmlRpc.XmlRpcClientProtocol.Invoke(Object clientObj, String methodName, Object[] parameters)
at CookComputing.XmlRpc.XmlRpcClientProtocol.Invoke(String MethodName, Object[] Parameters)
at newtelligence.DasBlog.Runtime.Proxies.WeblogUpdatesClientProxy.Ping(String weblogName, String weblogUrl)
at newtelligence.DasBlog.Runtime.BlogDataServiceXml.PingWeblogsWorker(Object argument)
while processing PingWeblogsWorker, pinging Yahoo.

I also noticed that "normal" url (the ones I linked in my posts) were pinged, with much the same (= NO) result.

/* As above */
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.GetResponse()
at newtelligence.DasBlog.Runtime.BlogDataServiceXml.PingbackWorker(Object argument)
while processing PingbackWorker, auto-discovery of:

After that I left it be and didn't worry about TB and PB anymore. However, today I found a refferal in the activity log from lostcausegeek.blogspot.com, so I got curious again. I did nothing besides including a link to one of the posts, turns out something did work after all. Now back to the errors, so far I assume I'm looking at pingbacks (look here for a comparision on the *backs). In the end, it will pretty much come down to the blog service and the blog configuration, wether it works (or not).

Trackbacks, I think, is a different story with dasBlog and/or WindowsLiveWriter.


Technorati tags: , ,
dasBlog | ReSQueL | SBS
Friday, May 11, 2007 1:09:51 AM (W. Europe Daylight Time, UTC+02:00)
# Monday, May 7, 2007

Yep, the revisions are out. Today I checked the Microsoft Learning site for the 2779 and 2780. The 2779afinal.mspx page was redirected to the 2779bfinal.mspx. Same thing for the course 2780. Both courses are now 5 instead of 3 days!

  • What's changed on the 2779b;
    • Module 5 2779a is split in two, one about data integrity with constraints and one about data integrity based on triggers and XML schemas
    • Module 8 2779a is split in two, stored procedures and functions now have their own modules
  • New content on 2779b;
    • Module on transactions and locks
    • Module on Notification Services

What's changed on the 2780b? If you look at the syllabus, you would be tempted to say nothing. But when you look inside, content is rewritten (and improved) like I mentioned for Cryptography. Also, there are no extra modules, but since it needed over 4 days to properly teach the old course, there was no need for extra content anyway.

Also be advised that Microsoft Learning is working on an Instructor Led Training for 2778 (currently only available as eLearning). I'll keep you posted on that one as well.

When you compare the course offerings to the exam 70-431, I'm missing content on the HTTP-Endpoints in 2779b. Therefor I will add a module on HTTP-Endpoints for my deliveries of the 2779.

Monday, May 7, 2007 2:55:11 PM (W. Europe Daylight Time, UTC+02:00)