Excavation was due to be completed today, but due to the thunderstorms we had yesterday, the powder-dry clay has turned into a sticky, muddy mess! Way too wet for the excavators to work in. Hopefully we'll have some dry weather for the next few days and they can come back next week.
Looks like the retaining wall won't be finished in time for Christmas.
I decided to take the plunge and ordered Caller ID on our home telephone this week. It costs $6/month which is not that cheap considering you just get a bit of extra data with each call, but I think with the savings we are making with using VoIP for virtually all of our phone calls it will be a useful addition.
Telstra have a deal that for the same price, you can actually choose two services, so as well Caller ID (or Calling Number Display as Telstra call it), I ordered a T1000C rental phone. This phone can display the Caller ID information, and also has the advantage of not requiring external power (unlike our existing cordless phone), so in the event of a power failure or flat battery we will still be able to make and receive calls.
The only configuration change I needed to make to my Sipura 3000 was to change the ring-tone back to a more conventional Australian ring. Without that, the telephone was losing the Caller ID info after the first ring.
I'm starting to get my head around some of the new features of .NET 2.0. One that I'm finding quite useful is the generated TableAdapters that are part of the new DataSet designer.
One situation I've just come across is the idea of having a "CREATED" and "MODIFIED" column for all tables to assist in auditing. By default, the code generated for the TableAdapter will try to insert and update these columns. But we want these columns to be only modified by triggers inside the database itself! So how to you modify the TableAdapter to read but not update these special columns?
It turns out you can right-click on the TableAdapter heading to modify it's properties, including the InsertCommand and UpdateCommand.
Another way you can extend the TableAdapter is through partial classes.
We’ve got this problem where a few of us are trying to create new ASP.NET applications on our development server, and are getting the the following error message:
Microsoft Development Environment
The Web was created successfully, but an error occurred when trying to configure the application root for this Web.
Web projects may not operate correctly without an application root. The returned error was: Active Directory
Services cannot find the web server. A possible cause for this is an incompatibility between versions of Internet
Information Server (IIS) on the client and the server. The usual cause for this error is creating Web projects on a
Windows 2000 or newer server from a Windows NT 4.0 client.
You can manually configure the application root using the Internet Services Manager.
Microsoft Development Environment
Unable to set the permissions on the 'bin' folder to restrict browse access. Active Directory Services cannot find the
web server. A possible cause for this is an incompatibility between versions of Internet Information Server (IIS) on
the client and the server. The usual cause for this error is creating Web projects on a Windows 2000 or newer server
from a Windows NT 4.0 client.
You can manually restrict browse access to this folder using the Internet Services Manager.
The workaround that we’re using (adapted from
https://support.microsoft.com/en-us/help/320451 - broken link) is to set Visual Studio.NET to default to use FrontPage Server Extensions. Once a project is created, you can then change it back to use File Share access.
Here's an interesting idea - setting up special methods in your ASP.NET page class to assist in generating URLS to that page. Versions for Visual Studio.NET 2003 and 2005.
PageMethods takes care of your URLs. It proposes a solution to define structured URLs for each of your pages, as well as a clean and simple way to call them.
The idea is based on strict page inputs and declarative parameter binding. With PageMethods, each page exposes a set of methods that represent the different ways to call the page.
All you have to do to start benefiting from sharp URLs is to add methods to your pages, and mark these methods with attributes provided by PageMethods.