Skip to main content


Showing posts from 2008

SQL 2005 Cyclical Forwarding

Just a quick one about a SQL 2005 message that I found; I've also found quite a few unanswered questions about it on other forums so thought it might be worth posting here. In the SQL Agent Log, this message was turning up a few times a day: [LOG] Cyclical forwarding detected for event <n>: Event source was 'YourServer' which matches the current forwarding server. The event was not forwarded The message appeared for various differrent event numbers. It turns out that Sql Server Event Forwarding was turned on, and the server was forwarding to itself. If you get this message, simply turn off event forwarding by right-clicking on SQL Server Agent and choosing Properties. Go to the Advanced section and you will see something like this: ... then simply uncheck the checkbox that says 'Forward events to a different server'. I guess this is pretty obvious, but the interesting question is how that that box get ticked in the first place? In this case,

Asus EcoBook and Used Laptops

The Asus EcoBook was paraded at various tech shows last year, and it's pretty exciting: As well as the bamboo casing, it also features other green design ideas such as a stiffened cardboard components enclosure, and recyclable plastic parts that are correctly labelled so they get recycled in the right way. Apparently its manufacture also avoids the use of harmful paints or sprays, and there is no electroplating on its circuit boards. The bamboo casing can also be laser-etched with decorative patterns (see right). To prove the systems robustness, Asus sent one up with an Everest expedition. According to , it was due to be launched sometime in June this year, but that hasn't happened yet. Its great to see an apparently genuine green laptop coming onto the market, but this might also be a good time to remember the three Rs: Reduce -> Reuse -> Recycle They are in that order for a reason - reducing resource usage is best, followed by reusing resources, followed by

The PC Decrapifier

If you buy a new PC or laptop these days, it likely to come with all kinds of unwanted junk: trail versions of antivirus, browser toolbars, CD-burners that replicate that the OS can already do by itself, and so on. There's a great little utility called The PC Decrapifier that can help clean this up. Its basically a script that searches the PC for 'crapplications' and then gives you a list of what it finds. You then choose the ones you want to get rid of, and it gets on with it for you. I tried it on a laptop recently - it worked pretty well, uninstalling a bunch of things without me having to supervise it. Norton Internet Security put up a bit of a fight and I had to click a few 'Yes, I really do want to get rid of this' buttons. But apart from that it went very smoothly. There is an option to send stats back to main site. The combined stats that have been gathered are pretty interesting - what are the most widespread crapplications , and which manufacterers are in

Server Controls, UniqueID and Master pages

Recently I was updating some ASP.NET pages for a client. They had a set of custom-built server controls that worked very happily, binding data to and from domain objects. I modified some of the ASP.NET pages so that they became Content pages that shared a common Master page. Then suddenly all the Server controls stopped working - they were not processing postbacks properly or firing events. That is, Server Controls that had worked in normal ASP.NET pages suddenly stopped working in Master-Content pages. Eventually I tracked the problem down to the overridden Render method in the Server Controls, and the id that was rendered to HTML. If you Render your Server Controls like this: protected override void Render(HtmlTextWriter output) { // . . . output.AddAttribute("id", this.ID); output.AddAttribute("name", this.ID); output.RenderBeginTag("input"); output.RenderEndTag(); // . . . } ... and the control also implements IPostBackDataH

Bug Hunter in Space

In 1987, Acorn launched the Archimedes home computer. At the time, it was the fastest desktop computer in the world, and at the time, I was fortunate enough to have one to experiment with. The Archimedes was great, but it never really took off commercially. However, it was built around the ARM processor, which Acorn had designed itself when it could not find any existing processors suitable for its 32-bit ambitions. The ARM processor was a masterpiece of simple and intuitive design, and its still around today, with most of the instruction set pretty much unchanged. In fact, you've probably got one in your pocket right now. Its design makes it process very efficiently on low energy intake, and hence it is estimated that about 98% of all mobile phones contain an ARM chip. Over 10 billion ARM chips have been shipped, and they outnumber Intel's long running x86 series of chips by a factor of about 5 to 10. I had learned programming on the BBC Model B , and when we got the A

The Internet in 1995

Recently I was clearing through a box of old stuff, and I found a copy of ".Net - The Internet Magazine" from March 1995. Seeing the magazine again reminded when I bought it - I was in my third year at University, and the only practical way I had to get onto the net was to use the Sun Sparcstations in the university lab. From what I remember of the internet in 1995, most of it was about Monty Python or Star Trek. What I found in the old magazine pretty much supported that memory. Some interesting snippets from this important historical document include: An article with the headline "Microsoft's on-line plan still waiting - The Microsoft Network is raring to go, but Windows 95 is delayed, yet again.". The article explains that Microsoft expects their on-line commercial services such as MSN to become 'as popular as TV'. MSN is planned to be an AOL-type network with proprietary content not available on the main internet. Meanwhile, the shipping date for Win

Web Services between Dot Net and Not Net

If you've only ever worked with Web Services in Dot Net, you could be forgiven for expecting it to be easy to use Web Services to interface with other platforms. In Visual Studio, it's all a bit Fisher-Price: you define your Web Methods, then add a Web Reference to the client and everything ticks along nicely. You don't even see any XML. Recently I've been working for a client getting a Dot Net Web Service to work with a third-party system build in Perl. I have now discovered there are two sorts of web services: 1) Mickey Mouse Web Services in which the client and server both run Dot Net 2) Proper, Serious Web Services in which the server runs Dot Net and the client runs Not Net (anything else). Other people in the industry seem to have noticed this too, and the current official term for Proper Serious Web Services is 'Interoperable Web Services'; that is, Web Services That Actually Operate. Other people have already written lots of advice for building I