I just discovered something odd concerning Yahoo Domains.
A bug in their billing software has cause many customers to not be charged for services for some considerable time despite the fact that service continued. Even though the error was theirs, when they discovered the problem, they suspended thousands of accounts that were past-due (according to their billing system) without any notice, cutting off businesses and individuals from their sites, causing loss of revenue for many of them and only restoring service after they had resolved the problems internallly. There are apparently still thousands of accounts suspended and they are working to clear the backlog.
I think that an error on their part should be met with good grace and the accounts in question remain in-service until customers could be contacted and the internal problems fixed. After-all. The problem was not the fault of the individuals who suffered.
They post this message on the main login page, Note there is no mention of the fact that the fault was all theirs...
"November 21 2003 . Reactivation of Suspended Accounts
Important note for accounts which are suspended due to past due payment: It will take 24-36 hours to reactivate your account once you provide valid payment information. Until your account is reactivated, your domain name and associated services will not function. "
Insightful, profound, generous, witty, genius; all words that might be used somewhere in this blog.
Tuesday, November 25, 2003
Thursday, November 20, 2003
Productivity shifts in visual studio.net 2003.
For many years visual basic programmers were able to crow about the fact that productivity was so much better using visual basic and using C++. Now however, C# programmers have the upper hand because visual studio provides enhancements for them that are not available to the VB programmer. For example, implementing an interface for a C# programmer is as easy as pressing the tab key. Visual basic programmer's however still have to select the interface in a drop down and then the method in another drop down which can become tedious if you have a whole lot of interfaces to implement. The same is true for event handlers.
Problems sorted. Get on with life.
The web-site is back up. I must remember to change hosting provider. I need a site with ASP+ hosting and Yahoo domains don't cut the mustard.
Wednesday, November 19, 2003
The world has gone nuts!!!
Now my web-site isn't working.
I can be contacted on bobpowell1@yahoo.com
I can be contacted on bobpowell1@yahoo.com
Tuesday, November 18, 2003
Relief.....
I got home from the cybercafe where I was trying to do my mail and run my life with a bunch of teenage kids playing quake and making a fuss and the networks back up again.
Four days without internet is like an eternity or three.
Four days without internet is like an eternity or three.
Disaster strikes
My son recently moved to another apartment and so I phoned up for him to cancel his phone account. Instead of cancelling his, the idiots at France Telecom cancelled mine because it was the one from which the call originated. I have to re-order my ISDN connection and wait for it to be set up again. You can imagine how happy i am about that!!!!
Tuesday, November 11, 2003
String manipulation of a different kind...
I saw a link to the US PBS network Nova site the other day and was enthralled by the 3 hour program on string theory. If science grips you, check it out!.
Back to blog
I've been deep in documentation, help files and installs for my consulting clients this week and all other spare time has been taken up with a marathon article on text formatting for Well Formed which I'm just finishing up for this month.
Wednesday, November 05, 2003
Bugs that were reported over a year ago still apparent in Whidbey
I've seen somebody complaining on one of the newsgroups today that a bug that was reported over year ago is still apparent in the PDC release of longhorn. I have just verified myself that there is another bug which I reported over a year ago that has not yet been fixed in the GDI+ Whidbey code. Both bugs are extremely simple defects and in the case of the one which I reported I even told them what line of code to add to fix it and yet it still malfunctions.
The two bugs in question are problem with clip rectangles that don't clip to the correct pixel and a serious memory leak in Region.GetScanRects.
The second of these errors is a serious showstopper because it means to say that you cannot use a GDI+ region to clip a directx surface because there's no way of extracting the region rectangles to hand off to the directX clipper.
The two bugs in question are problem with clip rectangles that don't clip to the correct pixel and a serious memory leak in Region.GetScanRects.
The second of these errors is a serious showstopper because it means to say that you cannot use a GDI+ region to clip a directx surface because there's no way of extracting the region rectangles to hand off to the directX clipper.
New Graphics classes for Whidbey.
The new GDI+ classes in the Whidbey alpha include classes called BufferedGraphics ans BufferedGraphicsContext.
A BufferedGraphicsContext enables you to allocate a rectangular graphics buffer, encapsulated by the BufferedGraphics class, which you can draw on using standard Graphics methods and then render at any time with a Render() method.
The following snippet shows how a buffer is allocated and drawn into. It can then be rendered at any time. In this instance I rendered it before and after painting on the graphics in the normal way.
The buffered graphics are always maintained in the allocated area.
private void Form1_Paint(object sender, PaintEventArgs e)
{
BufferedGraphicsContext c=new BufferedGraphicsContext();
BufferedGraphics bg = c.Allocate(e.Graphics,new Rectangle(10,10,200,200));
bg.Graphics.FillEllipse(Brushes.Red,0,0,300,300);
bg.Render(e.Graphics);
e.Graphics.FillEllipse(Brushes.Pink, 30, 30, 400, 20);
bg.Render(e.Graphics);
}
A BufferedGraphicsContext enables you to allocate a rectangular graphics buffer, encapsulated by the BufferedGraphics class, which you can draw on using standard Graphics methods and then render at any time with a Render() method.
The following snippet shows how a buffer is allocated and drawn into. It can then be rendered at any time. In this instance I rendered it before and after painting on the graphics in the normal way.
The buffered graphics are always maintained in the allocated area.
private void Form1_Paint(object sender, PaintEventArgs e)
{
BufferedGraphicsContext c=new BufferedGraphicsContext();
BufferedGraphics bg = c.Allocate(e.Graphics,new Rectangle(10,10,200,200));
bg.Graphics.FillEllipse(Brushes.Red,0,0,300,300);
bg.Render(e.Graphics);
e.Graphics.FillEllipse(Brushes.Pink, 30, 30, 400, 20);
bg.Render(e.Graphics);
}
Monday, November 03, 2003
Toolbox Bitmaps.
Sometimes, just sometimes, the toolbox bitmap for windows forms control can be a complete pain, especially I've noticed in VB controls. This is often true if your control needs to reside in a particular namespace.
The toolbox bitmap attribute accepts as its parameters the type of a control in the assembly from which the toolbox bitmap is to be drawn and the name of the resource which holds the toolbox bitmap. Often however, the fully qualified name of the control which includes the namespace can confuse the compiler which results in it being very difficult to find the toolbox bitmap and it seems no matter how hard you try your control is always endowed with a little gear wheel and not your carefully prepared icon.
A little trick, which I will pass on to you, is to create in your assembly a class with internal access, which I often call resfinder, which is created outside of any namespace declarations. Then, however your name spaces are arranged internally, you will always be unable to find the toolbox bitmaps in your assembly by providing the type of resfinder instead of the type of the control that you wish to provide a toolbox bitmap for.
I must remember to put this in the tips and tricks.
The toolbox bitmap attribute accepts as its parameters the type of a control in the assembly from which the toolbox bitmap is to be drawn and the name of the resource which holds the toolbox bitmap. Often however, the fully qualified name of the control which includes the namespace can confuse the compiler which results in it being very difficult to find the toolbox bitmap and it seems no matter how hard you try your control is always endowed with a little gear wheel and not your carefully prepared icon.
A little trick, which I will pass on to you, is to create in your assembly a class with internal access, which I often call resfinder, which is created outside of any namespace declarations. Then, however your name spaces are arranged internally, you will always be unable to find the toolbox bitmaps in your assembly by providing the type of resfinder instead of the type of the control that you wish to provide a toolbox bitmap for.
I must remember to put this in the tips and tricks.
Sunday, November 02, 2003
Feeling flattered, but...
Don't get me wrong, I love it when people send me their projects and ask me to help out. When I first started the GDI+ FAQ almost two years ago, I was really happy when people sent me information because it meant people were reading my site. Now, I get literally thousands of hits a day and probably ten projects zipped up with a little note saying "I've got this problem I wonder if you could help me". I look at all of them and I try to reply to all of them but to be honest, the load is getting to be a little more than I can cope with.
If you're one of those people who've send me a project and I haven't answered, please don't think you're being ignored, there's only one of me and lots and lots and lots of you!
If you're one of those people who've send me a project and I haven't answered, please don't think you're being ignored, there's only one of me and lots and lots and lots of you!
Saturday, November 01, 2003
Bilinear interpolation is much better for soft shadows.
Some time ago I published an article in GDI+ FAQ which explained how to create soft shadows for text. It took advantage of the interpolation mode used during bit blitting of images to create the fuzzy edged effect on text. Basically, the idea is that you create a memory bitmap upon which to draw all the text. This bitmap is then shrunk to half or 1/4 its original size thereby reducing its resolution. When this bitmap is copied back to the screen it's expanded again by two or four times, depending upon the original reduction, and the interpolation mode anti-aliases the edges of the text to create a fuzzy edge. I've just been using this effect in a program I designed for client and have discovered that the bilinear interpretation is far better than the bicubic. I must update the article in the GDI+ FAQ.
More on the subject of voice recognition.
I've been using this thing for about a week now and have discovered that on the one hand it's very easy to use and on the other, you have to watch it like a hawk. It's very easy to get into a dictation session and discover only too late that a fair percentage of the text entered by the voice recognition system is complete and utter rubbish. The problem is I suppose, that it's good enough to fool you into a false sense of security by transcribing most of what you say completely faithfully. I've recently written most of a 30 page help document using the voice recognition system. Certainly, it took less time to speak it than it would've taken me to type it although I spent much more time checking it than I would have normally done. The program has an annoying habit of putting in spurious capital letters and missing capital's where you need them. Punctuation can be a little clumsy and I can see only too well the voice recognition will not be a viable medium for programmers in the near to medium future. You would absolutely talk yourself to death trying to say "if (X ==five) {application.exit () ; } " you see, it's possible, to a certain extent, but it took me well over a minute to type in that unhappy if statement above using voice recognition. It might be better for VB because the VB editor takes care of camel caseing etc. for you. Maybe someone should come up with a programmers voice recognition system.
A big welcome to all new subscribers!
Last night's Halloween special offer was very successful , the Well Formed family has grown again!
I'm currently hard at work on this months issue, preparing an article on text justification.
Something I found very interesting is that around 75 percent of subscribers are C# users. To be honest I expected a few more VB readers simply because VB is supposedly that much more popular. Perhaps I don't post enough on the VB newsgroups? Although to be honest, from a personal point of view, VB is by far the inferior of the two languages. It always looks to me as though object orientation was somewhat of an afterthought, which I suppose it really was, and I find editing a VB program a clumsy and unrewarding experience.
I'm currently hard at work on this months issue, preparing an article on text justification.
Something I found very interesting is that around 75 percent of subscribers are C# users. To be honest I expected a few more VB readers simply because VB is supposedly that much more popular. Perhaps I don't post enough on the VB newsgroups? Although to be honest, from a personal point of view, VB is by far the inferior of the two languages. It always looks to me as though object orientation was somewhat of an afterthought, which I suppose it really was, and I find editing a VB program a clumsy and unrewarding experience.
Subscribe to:
Posts (Atom)