RE: Rant

2010-10-26 Thread Ben.Robbins
I don't think it's nonsensical to expect a sane user feedback form on a
web site for an enterprise by a large corporation like Westpac,
particularly when a major redesign/upgrade of the web site was completed
only reasonably recently. I've worked on enterprise systems myself and
to be honest I'm not really sure what you are suggesting. It seems like
you are saying that data input in one part of an enterprise system
should be able to be used in all other parts of an enterprise system
without any sort of filtering or consideration of the issues and should
automatically be considered too hard. In my experience that's how you
*create* horrible legacy systems where everything is always done the
same way out of lack of understanding of the system and fear something
will break.
 
As others have pointed out, this is a user feedback form - if it is
going to be used by other parts of the enterprise system then isn't that
what specifications and integration testing are for? At what point in
your opinion does the security issue become nonsensical? When you aren't
allowed to enter any punctuation or numbers or lower case characters or
is that still a reasonable thing to do given there are other systems in
the enterprise that are 10-20 years old?
 
Cheers,
Ben




From: ozdotnet-boun...@ozdotnet.com
[mailto:ozdotnet-boun...@ozdotnet.com] On Behalf Of Ken Schaefer
Sent: Wednesday, 27 October 2010 1:00 PM
To: ozDotNet
Subject: RE: Rant



I'm sure systems can cope - but there are a number of
challenges:

a)  System boundaries: what one system finds acceptable may
not be acceptable to another (apostrophes I'm sure we're all well aware
of)

b)  Unicode is probably something that older systems can't
cope with

c)   It wasn't that long ago that SQL injection and XSS
become hot topics - what about older GUIs written many years ago that
are used by branch staff or call centre staff. Would they be able to
cope?

 

Whilst it may be poor coding, the effort required to fix the
problem is immense. So saying "in this day and age I expect x" is a bit
nonsensical. What's so special about writing code today that makes
effort required to remediate enterprise systems just go away? Or that
makes today's code able to handle the challenges of the next 10-20
years? Nothing as far as I'm aware.

 

Cheers

Ken

 

From: ozdotnet-boun...@ozdotnet.com
[mailto:ozdotnet-boun...@ozdotnet.com] On Behalf Of Paul Gaske
Sent: Wednesday, 27 October 2010 12:29 PM
To: ozDotNet
Subject: Re: Rant

 

Oh; I dunno.  I'm thinking you're right to jump up and down.
Especially if you've got an apostrophe in your name or a hyphenated last
name.  Congratulations, you're now a security risk!

 

Seems like a bit of a fail to me.  I'm sure banking systems, no
matter how long ago written, would be able to handle hyphens or
apostrophes.  This really does sound like poor coding to me.

 

Cheers,

Paul.

On Wed, Oct 27, 2010 at 2:25 PM, Stephen Price
 wrote:

It's very easy to jump up and down about this sort of stuff when
it
doesn't work. Your email has made me pause and think about it,
and
let's be honest, this coding stuff we do is complicated. So many
variable (pardon the pun), so much can go wrong. It doesn't
always
work as intended. If it was easy then everyone would be doing
it.

I know I strive to better my coding skills continually, and even
after
years of coding I know there will still be bugs in my code. I
don't
trust my own code (possibly a good trait, apparently) and use
unit
tests etc to help improve the code quality.

It wasn't so long ago that you had to physically walk into a
bank to
do your banking. It's become mainstream so fast. I can see how
you
would jump up and down about a user having to enter their data
correctly, but I guess there has to be some validation. Is there
a
feedback section that would allow you to let them know so they
can add
it to their "to be fixed" backlog? If you don't let them know
(and no
one else does) then you get what you put up with. I often send
emails
or feedback to companies when I find issues with things. It
doesn't
always make it to the right person but at least I tried.

cheers,
Stephen


On Wed, Oct 27, 2010 at 12:10 PM, Ken Schaefer
 wrote:
> Hi,
>
>
>
> Just because a UI is now in neat HTML doesn't mean that every
backend
> system, and every other system used to access this data, can
cope.
>
>
>
> I worked on Westpac's IB upgrade project (the monitoring part)
and it's a
 

RE: Rant

2010-10-26 Thread Ben.Robbins
I did actually send another 'contact us' message with feedback after I
(finally) sent the first message. It took me 3 goes to strip out all the
'insecure' characters.

-Original Message-
From: ozdotnet-boun...@ozdotnet.com
[mailto:ozdotnet-boun...@ozdotnet.com] On Behalf Of Stephen Price
Sent: Wednesday, 27 October 2010 12:26 PM
To: ozDotNet
Subject: Re: Rant

It's very easy to jump up and down about this sort of stuff when it
doesn't work. Your email has made me pause and think about it, and
let's be honest, this coding stuff we do is complicated. So many
variable (pardon the pun), so much can go wrong. It doesn't always
work as intended. If it was easy then everyone would be doing it.

I know I strive to better my coding skills continually, and even after
years of coding I know there will still be bugs in my code. I don't
trust my own code (possibly a good trait, apparently) and use unit
tests etc to help improve the code quality.

It wasn't so long ago that you had to physically walk into a bank to
do your banking. It's become mainstream so fast. I can see how you
would jump up and down about a user having to enter their data
correctly, but I guess there has to be some validation. Is there a
feedback section that would allow you to let them know so they can add
it to their "to be fixed" backlog? If you don't let them know (and no
one else does) then you get what you put up with. I often send emails
or feedback to companies when I find issues with things. It doesn't
always make it to the right person but at least I tried.

cheers,
Stephen

On Wed, Oct 27, 2010 at 12:10 PM, Ken Schaefer 
wrote:
> Hi,
>
>
>
> Just because a UI is now in neat HTML doesn't mean that every backend
> system, and every other system used to access this data, can cope.
>
>
>
> I worked on Westpac's IB upgrade project (the monitoring part) and
it's a
> huge amount of work just to upgrade one small part of it.
>
>
>
> Cheers
>
> Ken
>
>
>
> From: ozdotnet-boun...@ozdotnet.com
[mailto:ozdotnet-boun...@ozdotnet.com]
> On Behalf Of ben.robb...@jlta.com.au
> Sent: Wednesday, 27 October 2010 9:21 AM
> To: ozdotnet@ozdotnet.com
> Subject: OT: Rant
>
>
>
> 
> I just ran into the following text on the Westpac Altitude Rewards web
site.
> I am amazed that in this day and age that the developers and/or
designers
> for a banking-related web site have just *given up* and are forcing
their
> customers to clean their data.
>
> Note that if your message does include any of the characters you get
an
> 'input error' feedback but you still have to find the offending
characters
> and clean it yourself. Unbelievable!
>
> 
>
> --
> Frequently Asked Questions about the Altitude Program and Altitude
Rewards
> website are answered in the Altitude Rewards Help Page.
>
> If you can't find an answer to your question, complete the form below
and a
> Customer Consultant will respond within 2 Business Days. Please note:
For
> security reasons the symbols : - \ $ % ' ~ # [ ] * " + = ^ cannot be
used in
> the form below. If you require further assistance please call the
Altitude
> Rewards centre on 1300 887 820.
>
> The information we collect on this form will be used to respond to
your
> query. This information will be disclosed to our Service Providers who
> respond to your query on our behalf. If you do not provide your
information
> to us, we may not be able to respond to your request. You can view our
> privacy policy at www.westpac.com.au.
>
>
>
>

This email is intended for the named recipient only.  The information it 
contains may be confidential or commercially sensitive.  If you are not the 
intended recipient you must not reproduce or distribute any part of this email, 
disclose its contents to any other party, or take any action in reliance on it. 
 If you have received this email in error, please contact the sender 
immediately and delete the message from your computer.


Re: Rant

2010-10-26 Thread Paul Gaske
a/ Original error message specifically included hypens, and apostrophes, and
for that matter "/" used in many addresses.  So I think you're extending the
argument here to some notion of an extended set of "system boundaries" which
could be anything.  Of course, with such a wide scope I'm sure you could
come up with something that won't agree with any manner of input.  For
example, piping a raw executable over a socket to a server expecting HTTP
won't go down so well.

The original post was about a certain class of ASCII characters into a
feedback form, however, and the original list contained some characters
which you're going to see in the set of characters likely to be entered into
a feedback form.  "Hi, I'm Fred." for example violates their security
requirements.  If that was a real security concern their internal systems
would fall over on every-day customer data, which IS quite ridiculous.

b/ I didn't see Unicode in the original post, your point is true in general
but isn't in the scope of the OP's post.

c/ The input should be copied to a back-end store as entered.  The
individual GUIs should be written to escape correctly whatever they are
about to display.  I don't see it as a huge problem to expect that people
wrote their systems yesterday, and write their systems today to cope with
that.  (ie: Whether it's a VT-100, OS/2, Windows, or HTML based system, is
it really so hard to expect that developers correctly encoded information
for display?)



On Wed, Oct 27, 2010 at 2:59 PM, Ken Schaefer  wrote:

> I’m sure systems can cope – but there are a number of challenges:
>
> a)  System boundaries: what one system finds acceptable may not be
> acceptable to another (apostrophes I’m sure we’re all well aware of)
>
> b)  Unicode is probably something that older systems can’t cope with
>
> c)   It wasn’t that long ago that SQL injection and XSS become hot
> topics – what about older GUIs written many years ago that are used by
> branch staff or call centre staff. Would they be able to cope?
>
>
>
> Whilst it may be poor coding, the effort required to fix the problem is
> immense. So saying “in this day and age I expect x” is a bit nonsensical.
> What’s so special about writing code today that makes effort required to
> remediate enterprise systems just go away? Or that makes today’s code able
> to handle the challenges of the next 10-20 years? Nothing as far as I’m
> aware.
>
>
>
> Cheers
>
> Ken
>
>
>
> *From:* ozdotnet-boun...@ozdotnet.com [mailto:
> ozdotnet-boun...@ozdotnet.com] *On Behalf Of *Paul Gaske
> *Sent:* Wednesday, 27 October 2010 12:29 PM
> *To:* ozDotNet
> *Subject:* Re: Rant
>
>
>
> Oh; I dunno.  I'm thinking you're right to jump up and down.  Especially if
> you've got an apostrophe in your name or a hyphenated last name.
>  Congratulations, you're now a security risk!
>
>
>
> Seems like a bit of a fail to me.  I'm sure banking systems, no matter how
> long ago written, would be able to handle hyphens or apostrophes.  This
> really does sound like poor coding to me.
>
>
>
> Cheers,
>
> Paul.
>
> On Wed, Oct 27, 2010 at 2:25 PM, Stephen Price 
> wrote:
>
> It's very easy to jump up and down about this sort of stuff when it
> doesn't work. Your email has made me pause and think about it, and
> let's be honest, this coding stuff we do is complicated. So many
> variable (pardon the pun), so much can go wrong. It doesn't always
> work as intended. If it was easy then everyone would be doing it.
>
> I know I strive to better my coding skills continually, and even after
> years of coding I know there will still be bugs in my code. I don't
> trust my own code (possibly a good trait, apparently) and use unit
> tests etc to help improve the code quality.
>
> It wasn't so long ago that you had to physically walk into a bank to
> do your banking. It's become mainstream so fast. I can see how you
> would jump up and down about a user having to enter their data
> correctly, but I guess there has to be some validation. Is there a
> feedback section that would allow you to let them know so they can add
> it to their "to be fixed" backlog? If you don't let them know (and no
> one else does) then you get what you put up with. I often send emails
> or feedback to companies when I find issues with things. It doesn't
> always make it to the right person but at least I tried.
>
> cheers,
> Stephen
>
>
> On Wed, Oct 27, 2010 at 12:10 PM, Ken Schaefer 
> wrote:
> > Hi,
> >
> >
> >
> > Just because a UI is now in neat HTML doesn’t mean that every backend
> > system, and every other system used to access this data, can cope.
> >
> >
> >
> > I worked on Westpac’s IB upgrade project (the monitoring part) and it’s a
> > huge amount of work just to upgrade one small part of it.
> >
> >
> >
> > Cheers
> >
> > Ken
> >
> >
> >
> > From: ozdotnet-boun...@ozdotnet.com [mailto:
> ozdotnet-boun...@ozdotnet.com]
> > On Behalf Of ben.robb...@jlta.com.au
> > Sent: Wednesday, 27 October 2010 9:21 AM
> > To: ozdotnet

Re: Alternative way of using too many else if's when using if?

2010-10-26 Thread Arjang Assadi
Not only the easiest but also clearest way too! Since I be working
through interfaces, the underlying classe become irrelevent, + domain
of definition and usage is kept to minimum.
I like this method the best, I derive and implement the new classes
and interfaces only in the required layer.

IFTW (Interfaces For The Win !)

Thank you Grant

Regards

Arjang

On 27 October 2010 15:51, Grant Molloy  wrote:
> Easiset way may be to create 2 new classes which implement the interface, ie 
> BookA and CustomerA.  Each of these classes would then inherit their original 
> classes, ie. Class BookA Implements IDisplayInterface and Inherits Book.
> This way you get all the props of original Book class without modifying that 
> generated object, plus the new features of interface..
>
> -original message-
> Subject: RE: Alternative way of using too many else if's when using if?
> From: Nathan Stayte 
> Date: 27/10/2010 1:33 pm
>
> Stackoverflow has an example of how to do what you want
> http://stackoverflow.com/questions/298976/c-is-there-a-better-alternative-than-this-to-switch-on-type
>
> Nathan.
>
>
>
>
> I need to do something similar to do this :
>
> if (e.Value  is Book)
>        {
>            e.Value = (e.Value as X).Title;
>
>        }
>        else if (e.Value is Customer)
>        {
>            e.Value = (e.Value as Customer).FullName;
>        }
>        else
>        {
>            e.Value = "Unknown";
>        }
> etc.
>
> in DataGridView_CellFormatting even, but it just looks plain ugly. is
> there way to do this in a more structured manner?
>
> Regards
>
> Arjang
>
>
>


RE: Rant

2010-10-26 Thread Ken Schaefer
I’m sure systems can cope – but there are a number of challenges:

a)  System boundaries: what one system finds acceptable may not be 
acceptable to another (apostrophes I’m sure we’re all well aware of)

b)  Unicode is probably something that older systems can’t cope with

c)   It wasn’t that long ago that SQL injection and XSS become hot topics – 
what about older GUIs written many years ago that are used by branch staff or 
call centre staff. Would they be able to cope?

Whilst it may be poor coding, the effort required to fix the problem is 
immense. So saying “in this day and age I expect x” is a bit nonsensical. 
What’s so special about writing code today that makes effort required to 
remediate enterprise systems just go away? Or that makes today’s code able to 
handle the challenges of the next 10-20 years? Nothing as far as I’m aware.

Cheers
Ken

From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com] On 
Behalf Of Paul Gaske
Sent: Wednesday, 27 October 2010 12:29 PM
To: ozDotNet
Subject: Re: Rant

Oh; I dunno.  I'm thinking you're right to jump up and down.  Especially if 
you've got an apostrophe in your name or a hyphenated last name.  
Congratulations, you're now a security risk!

Seems like a bit of a fail to me.  I'm sure banking systems, no matter how long 
ago written, would be able to handle hyphens or apostrophes.  This really does 
sound like poor coding to me.

Cheers,
Paul.
On Wed, Oct 27, 2010 at 2:25 PM, Stephen Price 
mailto:step...@littlevoices.com>> wrote:
It's very easy to jump up and down about this sort of stuff when it
doesn't work. Your email has made me pause and think about it, and
let's be honest, this coding stuff we do is complicated. So many
variable (pardon the pun), so much can go wrong. It doesn't always
work as intended. If it was easy then everyone would be doing it.

I know I strive to better my coding skills continually, and even after
years of coding I know there will still be bugs in my code. I don't
trust my own code (possibly a good trait, apparently) and use unit
tests etc to help improve the code quality.

It wasn't so long ago that you had to physically walk into a bank to
do your banking. It's become mainstream so fast. I can see how you
would jump up and down about a user having to enter their data
correctly, but I guess there has to be some validation. Is there a
feedback section that would allow you to let them know so they can add
it to their "to be fixed" backlog? If you don't let them know (and no
one else does) then you get what you put up with. I often send emails
or feedback to companies when I find issues with things. It doesn't
always make it to the right person but at least I tried.

cheers,
Stephen

On Wed, Oct 27, 2010 at 12:10 PM, Ken Schaefer 
mailto:k...@adopenstatic.com>> wrote:
> Hi,
>
>
>
> Just because a UI is now in neat HTML doesn’t mean that every backend
> system, and every other system used to access this data, can cope.
>
>
>
> I worked on Westpac’s IB upgrade project (the monitoring part) and it’s a
> huge amount of work just to upgrade one small part of it.
>
>
>
> Cheers
>
> Ken
>
>
>
> From: ozdotnet-boun...@ozdotnet.com 
> [mailto:ozdotnet-boun...@ozdotnet.com]
> On Behalf Of ben.robb...@jlta.com.au
> Sent: Wednesday, 27 October 2010 9:21 AM
> To: ozdotnet@ozdotnet.com
> Subject: OT: Rant
>
>
>
> 
> I just ran into the following text on the Westpac Altitude Rewards web site.
> I am amazed that in this day and age that the developers and/or designers
> for a banking-related web site have just *given up* and are forcing their
> customers to clean their data.
>
> Note that if your message does include any of the characters you get an
> 'input error' feedback but you still have to find the offending characters
> and clean it yourself. Unbelievable!
>
> 




Re: Alternative way of using too many else if's when using if?

2010-10-26 Thread Arjang Assadi
Thank you Nathan,

But extending the types and implementing an interface over them is
more appealing than switching on type (anyone remember this in OOP
history books?).
But when the types are not mine then switching like the stack over
flow article is way better than "if else if" approach.

Kind Regards

Arjang

On 27 October 2010 14:33, Nathan Stayte  wrote:
> Stackoverflow has an example of how to do what you want
> http://stackoverflow.com/questions/298976/c-is-there-a-better-alternative-than-this-to-switch-on-type
>
> Nathan.
>
>
>
>
> I need to do something similar to do this :
>
> if (e.Value  is Book)
>        {
>            e.Value = (e.Value as X).Title;
>
>        }
>        else if (e.Value is Customer)
>        {
>            e.Value = (e.Value as Customer).FullName;
>        }
>        else
>        {
>            e.Value = "Unknown";
>        }
> etc.
>
> in DataGridView_CellFormatting even, but it just looks plain ugly. is
> there way to do this in a more structured manner?
>
> Regards
>
> Arjang
>
>


RE: Alternative way of using too many else if's when using if?

2010-10-26 Thread Grant Molloy
Easiset way may be to create 2 new classes which implement the interface, ie 
BookA and CustomerA.  Each of these classes would then inherit their original 
classes, ie. Class BookA Implements IDisplayInterface and Inherits Book.
This way you get all the props of original Book class without modifying that 
generated object, plus the new features of interface..

-original message-
Subject: RE: Alternative way of using too many else if's when using if?
From: Nathan Stayte 
Date: 27/10/2010 1:33 pm

Stackoverflow has an example of how to do what you want
http://stackoverflow.com/questions/298976/c-is-there-a-better-alternative-than-this-to-switch-on-type

Nathan.




I need to do something similar to do this :

if (e.Value  is Book)
{
e.Value = (e.Value as X).Title;

}
else if (e.Value is Customer)
{
e.Value = (e.Value as Customer).FullName;
}
else
{
e.Value = "Unknown";
}
etc.

in DataGridView_CellFormatting even, but it just looks plain ugly. is
there way to do this in a more structured manner?

Regards

Arjang




Re: Rant

2010-10-26 Thread David Connors
On 27 October 2010 14:25, Stephen Price  wrote:

> Is there a
> feedback section that would allow you to let them know so they can add
> it to their "to be fixed" backlog? If you don't let them know (and no
> one else does) then you get what you put up with. I often send emails
> or feedback to companies when I find issues with things. It doesn't
> always make it to the right person but at least I tried.
>

He was filling out a contact a customer rep form and *$, %, +, - and =* are
invalid characters AND it is a bank!

what ... the ... f*ck

David.


-- 
*David Connors* | da...@codify.com | www.codify.com
Software Engineer
Codify Pty Ltd
Phone: +61 (7) 3210 6268 | Facsimile: +61 (7) 3210 6269 | Mobile: +61 417
189 363
V-Card: https://www.codify.com/cards/davidconnors
Address Info: https://www.codify.com/contact


Re: Rant

2010-10-26 Thread Paul Gaske
Oh; I dunno.  I'm thinking you're right to jump up and down.  Especially if
you've got an apostrophe in your name or a hyphenated last name.
 Congratulations, you're now a security risk!

Seems like a bit of a fail to me.  I'm sure banking systems, no matter how
long ago written, would be able to handle hyphens or apostrophes.  This
really does sound like poor coding to me.

Cheers,
Paul.

On Wed, Oct 27, 2010 at 2:25 PM, Stephen Price wrote:

> It's very easy to jump up and down about this sort of stuff when it
> doesn't work. Your email has made me pause and think about it, and
> let's be honest, this coding stuff we do is complicated. So many
> variable (pardon the pun), so much can go wrong. It doesn't always
> work as intended. If it was easy then everyone would be doing it.
>
> I know I strive to better my coding skills continually, and even after
> years of coding I know there will still be bugs in my code. I don't
> trust my own code (possibly a good trait, apparently) and use unit
> tests etc to help improve the code quality.
>
> It wasn't so long ago that you had to physically walk into a bank to
> do your banking. It's become mainstream so fast. I can see how you
> would jump up and down about a user having to enter their data
> correctly, but I guess there has to be some validation. Is there a
> feedback section that would allow you to let them know so they can add
> it to their "to be fixed" backlog? If you don't let them know (and no
> one else does) then you get what you put up with. I often send emails
> or feedback to companies when I find issues with things. It doesn't
> always make it to the right person but at least I tried.
>
> cheers,
> Stephen
>
> On Wed, Oct 27, 2010 at 12:10 PM, Ken Schaefer 
> wrote:
> > Hi,
> >
> >
> >
> > Just because a UI is now in neat HTML doesn’t mean that every backend
> > system, and every other system used to access this data, can cope.
> >
> >
> >
> > I worked on Westpac’s IB upgrade project (the monitoring part) and it’s a
> > huge amount of work just to upgrade one small part of it.
> >
> >
> >
> > Cheers
> >
> > Ken
> >
> >
> >
> > From: ozdotnet-boun...@ozdotnet.com [mailto:
> ozdotnet-boun...@ozdotnet.com]
> > On Behalf Of ben.robb...@jlta.com.au
> > Sent: Wednesday, 27 October 2010 9:21 AM
> > To: ozdotnet@ozdotnet.com
> > Subject: OT: Rant
> >
> >
> >
> > 
> > I just ran into the following text on the Westpac Altitude Rewards web
> site.
> > I am amazed that in this day and age that the developers and/or designers
> > for a banking-related web site have just *given up* and are forcing their
> > customers to clean their data.
> >
> > Note that if your message does include any of the characters you get an
> > 'input error' feedback but you still have to find the offending
> characters
> > and clean it yourself. Unbelievable!
> >
> > 
> >
> > --
> > Frequently Asked Questions about the Altitude Program and Altitude
> Rewards
> > website are answered in the Altitude Rewards Help Page.
> >
> > If you can't find an answer to your question, complete the form below and
> a
> > Customer Consultant will respond within 2 Business Days. Please note: For
> > security reasons the symbols : - \ $ % ' ~ # [ ] * " + = ^ cannot be used
> in
> > the form below. If you require further assistance please call the
> Altitude
> > Rewards centre on 1300 887 820.
> >
> > The information we collect on this form will be used to respond to your
> > query. This information will be disclosed to our Service Providers who
> > respond to your query on our behalf. If you do not provide your
> information
> > to us, we may not be able to respond to your request. You can view our
> > privacy policy at www.westpac.com.au.
> >
> >
> >
> >
>



-- 
Paul Gaske (p...@codify.com)
Software Engineer
Codify Pty Ltd - www.codify.com
Phone: +61 (7) 3210 6268 | Facsimile: +61 (7) 3210 6269 | Mobile: +61 417
026 666
Address Info: http://www.codify.com/AboutUs/ContactDetails


Re: Rant

2010-10-26 Thread Stephen Price
It's very easy to jump up and down about this sort of stuff when it
doesn't work. Your email has made me pause and think about it, and
let's be honest, this coding stuff we do is complicated. So many
variable (pardon the pun), so much can go wrong. It doesn't always
work as intended. If it was easy then everyone would be doing it.

I know I strive to better my coding skills continually, and even after
years of coding I know there will still be bugs in my code. I don't
trust my own code (possibly a good trait, apparently) and use unit
tests etc to help improve the code quality.

It wasn't so long ago that you had to physically walk into a bank to
do your banking. It's become mainstream so fast. I can see how you
would jump up and down about a user having to enter their data
correctly, but I guess there has to be some validation. Is there a
feedback section that would allow you to let them know so they can add
it to their "to be fixed" backlog? If you don't let them know (and no
one else does) then you get what you put up with. I often send emails
or feedback to companies when I find issues with things. It doesn't
always make it to the right person but at least I tried.

cheers,
Stephen

On Wed, Oct 27, 2010 at 12:10 PM, Ken Schaefer  wrote:
> Hi,
>
>
>
> Just because a UI is now in neat HTML doesn’t mean that every backend
> system, and every other system used to access this data, can cope.
>
>
>
> I worked on Westpac’s IB upgrade project (the monitoring part) and it’s a
> huge amount of work just to upgrade one small part of it.
>
>
>
> Cheers
>
> Ken
>
>
>
> From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com]
> On Behalf Of ben.robb...@jlta.com.au
> Sent: Wednesday, 27 October 2010 9:21 AM
> To: ozdotnet@ozdotnet.com
> Subject: OT: Rant
>
>
>
> 
> I just ran into the following text on the Westpac Altitude Rewards web site.
> I am amazed that in this day and age that the developers and/or designers
> for a banking-related web site have just *given up* and are forcing their
> customers to clean their data.
>
> Note that if your message does include any of the characters you get an
> 'input error' feedback but you still have to find the offending characters
> and clean it yourself. Unbelievable!
>
> 
>
> --
> Frequently Asked Questions about the Altitude Program and Altitude Rewards
> website are answered in the Altitude Rewards Help Page.
>
> If you can't find an answer to your question, complete the form below and a
> Customer Consultant will respond within 2 Business Days. Please note: For
> security reasons the symbols : - \ $ % ' ~ # [ ] * " + = ^ cannot be used in
> the form below. If you require further assistance please call the Altitude
> Rewards centre on 1300 887 820.
>
> The information we collect on this form will be used to respond to your
> query. This information will be disclosed to our Service Providers who
> respond to your query on our behalf. If you do not provide your information
> to us, we may not be able to respond to your request. You can view our
> privacy policy at www.westpac.com.au.
>
>
>
>


RE: Rant

2010-10-26 Thread Ken Schaefer
Hi,

Just because a UI is now in neat HTML doesn’t mean that every backend system, 
and every other system used to access this data, can cope.

I worked on Westpac’s IB upgrade project (the monitoring part) and it’s a huge 
amount of work just to upgrade one small part of it.

Cheers
Ken

From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com] On 
Behalf Of ben.robb...@jlta.com.au
Sent: Wednesday, 27 October 2010 9:21 AM
To: ozdotnet@ozdotnet.com
Subject: OT: Rant



I just ran into the following text on the Westpac Altitude Rewards web site. I 
am amazed that in this day and age that the developers and/or designers for a 
banking-related web site have just *given up* and are forcing their customers 
to clean their data.

Note that if your message does include any of the characters you get an 'input 
error' feedback but you still have to find the offending characters and clean 
it yourself. Unbelievable!



--
Frequently Asked Questions about the Altitude Program and Altitude Rewards 
website are answered in the Altitude Rewards Help 
Page.

If you can't find an answer to your question, complete the form below and a 
Customer Consultant will respond within 2 Business Days. Please note: For 
security reasons the symbols : - \ $ % ' ~ # [ ] * " + = ^ cannot be used in 
the form below. If you require further assistance please call the Altitude 
Rewards centre on 1300 887 820.

The information we collect on this form will be used to respond to your query. 
This information will be disclosed to our Service Providers who respond to your 
query on our behalf. If you do not provide your information to us, we may not 
be able to respond to your request. You can view our privacy policy at 
www.westpac.com.au.




RE: Alternative way of using too many else if's when using if?

2010-10-26 Thread Nathan Stayte
Stackoverflow has an example of how to do what you want
http://stackoverflow.com/questions/298976/c-is-there-a-better-alternative-than-this-to-switch-on-type

Nathan.




I need to do something similar to do this :

if (e.Value  is Book)
{
e.Value = (e.Value as X).Title;

}
else if (e.Value is Customer)
{
e.Value = (e.Value as Customer).FullName;
}
else
{
e.Value = "Unknown";
}
etc.

in DataGridView_CellFormatting even, but it just looks plain ugly. is
there way to do this in a more structured manner?

Regards

Arjang



Re: Alternative way of using too many else if's when using if?

2010-10-26 Thread Arjang Assadi
Hi Michael,

> Do you have control over the Book and Customer classes?
I guess sort of, they are POCO generated entites from Entity
FrameWork. Their code might get overridden.

Never tried implementing an interface in a partial class, but
extending the classes with Implementing an IDisplayInterface is way
preferable to "if else" or man handeling the logic manually.

Now somewhere I saw how to extend POCO entities, google will help me.

Thank  You

Regards

Arjang

> if so you can add an interface to them and then get each class to implement
> it differently:
> interface IHaveDisplayName {
>   string DisplayName { get; }
> }
> then you get:
> if(e.Value is IHaveDisplayName) e.Value =
> ((IHaveDisplayName)e.Value).DisplayName
> else e.Value = "Unknown"
> that requires some nasty type checking though. I assume e.Value is an
> object? if you're in .NET 4.0 you could use dynamic to choose a method to
> call on a separate object. Like this:
> class DisplayNameFactory
> {
>    public string GetName(object o) { return "Unknown"; }
>    public string GetName(Book book) { return book.Title; }
>    public string GetName(Customer customer) { return customer.FullName; }
> }
> then in your handler you have:
> e.Value = displayNameFactory.GetName(e.Value as dynamic);
> Probably overkill and comes with a bunch of caveats** but it still works.
>
> ** For this to work: All of the methods must have the same name and take the
> same number of args in the same order (because of the dynamic lookup). You
> should have a method that accepts an object so that if the dynamic dispatch
> fails you get something meaningful
> --
> Michael M. Minutillo
> Indiscriminate Information Sponge
> Blog: http://wolfbyte-net.blogspot.com
>
>
> On Wed, Oct 27, 2010 at 9:59 AM, Arjang Assadi 
> wrote:
>>
>> I need to do something similar to do this :
>>
>> if (e.Value  is Book)
>>        {
>>            e.Value = (e.Value as X).Title;
>>
>>        }
>>        else if (e.Value is Customer)
>>        {
>>            e.Value = (e.Value as Customer).FullName;
>>        }
>>        else
>>        {
>>            e.Value = "Unknown";
>>        }
>> etc.
>>
>> in DataGridView_CellFormatting even, but it just looks plain ugly. is
>> there way to do this in a more structured manner?
>>
>> Regards
>>
>> Arjang
>
>


Re: Alternative way of using too many else if's when using if?

2010-10-26 Thread Michael Minutillo
Do you have control over the Book and Customer classes?

if so you can add an interface to them and then get each class to implement
it differently:

interface IHaveDisplayName {
  string DisplayName { get; }
}

then you get:

if(e.Value is IHaveDisplayName) e.Value =
((IHaveDisplayName)e.Value).DisplayName
else e.Value = "Unknown"

that requires some nasty type checking though. I assume e.Value is an
object? if you're in .NET 4.0 you could use dynamic to choose a method to
call on a separate object. Like this:

class DisplayNameFactory
{
   public string GetName(object o) { return "Unknown"; }
   public string GetName(Book book) { return book.Title; }
   public string GetName(Customer customer) { return customer.FullName; }
}

then in your handler you have:

e.Value = displayNameFactory.GetName(e.Value as dynamic);

Probably overkill and comes with a bunch of caveats** but it still works.

** For this to work: All of the methods must have the same name and take the
same number of args in the same order (because of the dynamic lookup). You
should have a method that accepts an object so that if the dynamic dispatch
fails you get something meaningful

--
Michael M. Minutillo
Indiscriminate Information Sponge
Blog: http://wolfbyte-net.blogspot.com


On Wed, Oct 27, 2010 at 9:59 AM, Arjang Assadi wrote:

> I need to do something similar to do this :
>
> if (e.Value  is Book)
>{
>e.Value = (e.Value as X).Title;
>
>}
>else if (e.Value is Customer)
>{
>e.Value = (e.Value as Customer).FullName;
>}
>else
>{
>e.Value = "Unknown";
>}
> etc.
>
> in DataGridView_CellFormatting even, but it just looks plain ugly. is
> there way to do this in a more structured manner?
>
> Regards
>
> Arjang
>


Re: Alternative way of using too many else if's when using if?

2010-10-26 Thread George Zafir
Sorry, my bad, I didn't read the code properly before posting! The way you
have done it does not look too ugly to me if it makes you feel any better.

On Wed, Oct 27, 2010 at 12:19 PM, Arjang Assadi wrote:

> Hmm, no joy
>
> e.Value is cant not be happy as a expression for switch statement (
> compiler says so ).
> would have been nice though.
>
> back to hideousity.
>
> Regards
>
> Arjang
>
> On 27 October 2010 13:09, Arjang Assadi  wrote:
> > Yes and With extreme prejudice ! but didn't think it can be used
> > inplace of "is". :)
> >
> > I'll try it now.
> >
> > Thank you
> >
> > On 27 October 2010 13:06, George Zafir  wrote:
> >> Have you considered using a switch statement?
> >>
> >> On Wed, Oct 27, 2010 at 11:59 AM, Arjang Assadi <
> arjang.ass...@gmail.com>
> >> wrote:
> >>>
> >>> I need to do something similar to do this :
> >>>
> >>> if (e.Value  is Book)
> >>>{
> >>>e.Value = (e.Value as X).Title;
> >>>
> >>>}
> >>>else if (e.Value is Customer)
> >>>{
> >>>e.Value = (e.Value as Customer).FullName;
> >>>}
> >>>else
> >>>{
> >>>e.Value = "Unknown";
> >>>}
> >>> etc.
> >>>
> >>> in DataGridView_CellFormatting even, but it just looks plain ugly. is
> >>> there way to do this in a more structured manner?
> >>>
> >>> Regards
> >>>
> >>> Arjang
> >>
> >>
> >
>


Re: Alternative way of using too many else if's when using if?

2010-10-26 Thread Arjang Assadi
Hmm, no joy

e.Value is cant not be happy as a expression for switch statement (
compiler says so ).
would have been nice though.

back to hideousity.

Regards

Arjang

On 27 October 2010 13:09, Arjang Assadi  wrote:
> Yes and With extreme prejudice ! but didn't think it can be used
> inplace of "is". :)
>
> I'll try it now.
>
> Thank you
>
> On 27 October 2010 13:06, George Zafir  wrote:
>> Have you considered using a switch statement?
>>
>> On Wed, Oct 27, 2010 at 11:59 AM, Arjang Assadi 
>> wrote:
>>>
>>> I need to do something similar to do this :
>>>
>>> if (e.Value  is Book)
>>>        {
>>>            e.Value = (e.Value as X).Title;
>>>
>>>        }
>>>        else if (e.Value is Customer)
>>>        {
>>>            e.Value = (e.Value as Customer).FullName;
>>>        }
>>>        else
>>>        {
>>>            e.Value = "Unknown";
>>>        }
>>> etc.
>>>
>>> in DataGridView_CellFormatting even, but it just looks plain ugly. is
>>> there way to do this in a more structured manner?
>>>
>>> Regards
>>>
>>> Arjang
>>
>>
>


Re: Alternative way of using too many else if's when using if?

2010-10-26 Thread Arjang Assadi
Yes and With extreme prejudice ! but didn't think it can be used
inplace of "is". :)

I'll try it now.

Thank you

On 27 October 2010 13:06, George Zafir  wrote:
> Have you considered using a switch statement?
>
> On Wed, Oct 27, 2010 at 11:59 AM, Arjang Assadi 
> wrote:
>>
>> I need to do something similar to do this :
>>
>> if (e.Value  is Book)
>>        {
>>            e.Value = (e.Value as X).Title;
>>
>>        }
>>        else if (e.Value is Customer)
>>        {
>>            e.Value = (e.Value as Customer).FullName;
>>        }
>>        else
>>        {
>>            e.Value = "Unknown";
>>        }
>> etc.
>>
>> in DataGridView_CellFormatting even, but it just looks plain ugly. is
>> there way to do this in a more structured manner?
>>
>> Regards
>>
>> Arjang
>
>


Re: Alternative way of using too many else if's when using if?

2010-10-26 Thread George Zafir
Have you considered using a switch statement?

On Wed, Oct 27, 2010 at 11:59 AM, Arjang Assadi wrote:

> I need to do something similar to do this :
>
> if (e.Value  is Book)
>{
>e.Value = (e.Value as X).Title;
>
>}
>else if (e.Value is Customer)
>{
>e.Value = (e.Value as Customer).FullName;
>}
>else
>{
>e.Value = "Unknown";
>}
> etc.
>
> in DataGridView_CellFormatting even, but it just looks plain ugly. is
> there way to do this in a more structured manner?
>
> Regards
>
> Arjang
>


RE: OT: Rant

2010-10-26 Thread Nagi, Sunny
Their website is one of the main reason I closed my account with them.. someone 
please give them book on designing better UX.

Please consider the environment before printing this email
-Original Message-
From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com] On 
Behalf Of Stephen Price
Sent: Wednesday, 27 October 2010 10:00 AM
To: ozDotNet
Subject: Re: OT: Rant

I have to use chrome to use the westpac website. IE crashes (not
responding) if I go to online banking. Has done so on a number of my
machines. Not sure what causes it, and not spent the time trying to
figure it out.

On Wed, Oct 27, 2010 at 9:27 AM, David Connors  wrote:
> On 27 October 2010 11:21,  wrote:
>>
>> Frequently Asked Questions about the Altitude Program and Altitude Rewards
>> website are answered in the Altitude Rewards Help Page.
>>
>> If you can't find an answer to your question, complete the form below and
>> a Customer Consultant will respond within 2 Business Days. Please note: For
>> security reasons the symbols : - \ $ % ' ~ # [ ] * " + = ^ cannot be used in
>> the form below. If you require further assistance please call the Altitude
>> Rewards centre on 1300 887 820.
>
> In my experience, about 1% of developers 'get it' in terms of output
> encoding in web applications. The above is completely odd though.
> The other fail from Westpac is that it is constantly trying to install an
> ActiveX control every time I log on to their Internet banking site
> (something to do with the feature that allows you to consolidate all of your
> credit card balances in the one portal ... whatever). I use Chrome/FF just
> to avoid that.
> --
> David Connors | da...@codify.com | www.codify.com
> Software Engineer
> Codify Pty Ltd
> Phone: +61 (7) 3210 6268 | Facsimile: +61 (7) 3210 6269 | Mobile: +61 417
> 189 363
> V-Card: https://www.codify.com/cards/davidconnors
> Address Info: https://www.codify.com/contact
>
>



This is an email from Fujitsu Australia Limited, ABN 19 001 011 427. It is 
confidential to the ordinary user of the email address
to which it was addressed and may contain copyright and/or legally privileged 
information. No one else may read, print, store, copy
or forward all or any of it or its attachments. If you receive this email in 
error, please return to sender. Thank you.
 
If you do not wish to receive commercial email messages from Fujitsu Australia 
Limited, please email unsubscr...@au.fujitsu.com



Re: OT: Rant

2010-10-26 Thread Stephen Price
I have to use chrome to use the westpac website. IE crashes (not
responding) if I go to online banking. Has done so on a number of my
machines. Not sure what causes it, and not spent the time trying to
figure it out.

On Wed, Oct 27, 2010 at 9:27 AM, David Connors  wrote:
> On 27 October 2010 11:21,  wrote:
>>
>> Frequently Asked Questions about the Altitude Program and Altitude Rewards
>> website are answered in the Altitude Rewards Help Page.
>>
>> If you can't find an answer to your question, complete the form below and
>> a Customer Consultant will respond within 2 Business Days. Please note: For
>> security reasons the symbols : - \ $ % ' ~ # [ ] * " + = ^ cannot be used in
>> the form below. If you require further assistance please call the Altitude
>> Rewards centre on 1300 887 820.
>
> In my experience, about 1% of developers 'get it' in terms of output
> encoding in web applications. The above is completely odd though.
> The other fail from Westpac is that it is constantly trying to install an
> ActiveX control every time I log on to their Internet banking site
> (something to do with the feature that allows you to consolidate all of your
> credit card balances in the one portal ... whatever). I use Chrome/FF just
> to avoid that.
> --
> David Connors | da...@codify.com | www.codify.com
> Software Engineer
> Codify Pty Ltd
> Phone: +61 (7) 3210 6268 | Facsimile: +61 (7) 3210 6269 | Mobile: +61 417
> 189 363
> V-Card: https://www.codify.com/cards/davidconnors
> Address Info: https://www.codify.com/contact
>
>


Alternative way of using too many else if's when using if?

2010-10-26 Thread Arjang Assadi
I need to do something similar to do this :

if (e.Value  is Book)
{
e.Value = (e.Value as X).Title;

}
else if (e.Value is Customer)
{
e.Value = (e.Value as Customer).FullName;
}
else
{
e.Value = "Unknown";
}
etc.

in DataGridView_CellFormatting even, but it just looks plain ugly. is
there way to do this in a more structured manner?

Regards

Arjang


strange ASP.net error

2010-10-26 Thread Greg Kennedy
Hi all,
Has anyone ever seen an error like this before?

Inner Exception : System.IO.FileNotFoundException: Could not load file or
assembly 'App_global.asax.asfonage, Version=0.0.0.0, Culture=neutral,
PublicKeyToken=null' or one of its dependencies. The system cannot find the
file specified. File name: 'App_global.asax.asfonage, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=null'

Unfortunately I don't have many more clues than this other than
that re-uploading the the .dll fixed the problem.

Greg


Re: OT: Rant

2010-10-26 Thread David Connors
On 27 October 2010 11:21,  wrote:

>  Frequently Asked Questions about the Altitude Program and Altitude
> Rewards website are answered in the Altitude Rewards *Help 
> Page*
> .
>
> If you can't find an answer to your question, complete the form below and a
> Customer Consultant will respond within 2 Business Days.* **Please note**:
> * For security reasons the symbols* : - \ $ % ' ~ # [ ] * " + = ^* cannot
> be used in the form below. If you require further assistance please call the
> Altitude Rewards centre on 1300 887 820.
>
> In my experience, about 1% of developers 'get it' in terms of output
encoding in web applications. The above is completely odd though.

The other fail from Westpac is that it is constantly trying to install an
ActiveX control every time I log on to their Internet banking site
(something to do with the feature that allows you to consolidate all of your
credit card balances in the one portal ... whatever). I use Chrome/FF just
to avoid that.
-- 
*David Connors* | da...@codify.com | www.codify.com
Software Engineer
Codify Pty Ltd
Phone: +61 (7) 3210 6268 | Facsimile: +61 (7) 3210 6269 | Mobile: +61 417
189 363
V-Card: https://www.codify.com/cards/davidconnors
Address Info: https://www.codify.com/contact


OT: Rant

2010-10-26 Thread Ben.Robbins

I just ran into the following text on the Westpac Altitude Rewards web
site. I am amazed that in this day and age that the developers and/or
designers for a banking-related web site have just *given up* and are
forcing their customers to clean their data.

Note that if your message does include any of the characters you get an
'input error' feedback but you still have to find the offending
characters and clean it yourself. Unbelievable!


--
Frequently Asked Questions about the Altitude Program and Altitude
Rewards website are answered in the Altitude Rewards Help Page
 . 

If you can't find an answer to your question, complete the form below
and a Customer Consultant will respond within 2 Business Days. Please
note: For security reasons the symbols : - \ $ % ' ~ # [ ] * " + = ^
cannot be used in the form below. If you require further assistance
please call the Altitude Rewards centre on 1300 887 820.

The information we collect on this form will be used to respond to your
query. This information will be disclosed to our Service Providers who
respond to your query on our behalf. If you do not provide your
information to us, we may not be able to respond to your request. You
can view our privacy policy at www.westpac.com.au
 .



This email is intended for the named recipient only.  The information it 
contains may be confidential or commercially sensitive.  If you are not the 
intended recipient you must not reproduce or distribute any part of this email, 
disclose its contents to any other party, or take any action in reliance on it. 
 If you have received this email in error, please contact the sender 
immediately and delete the message from your computer.


RE: OT(ish) - Firesheep

2010-10-26 Thread Tiang Cheng
...wow, so a tool that lets you log in as someone else's facebook. Niceee

-Original Message-
From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com] On 
Behalf Of silky
Sent: Tuesday, 26 October 2010 6:03 PM
To: ozDotNet; m...@googlegroups.com
Subject: OT(ish) - Firesheep

May be of interest to some:

 http://codebutler.com/firesheep

"When logging into a website you usually start by submitting your
username and password. The server then checks to see if an account
matching this information exists and if so, replies back to you with a
"cookie" which is used by your browser for all subsequent requests.

It's extremely common for websites to protect your password by
encrypting the initial login, but surprisingly uncommon for websites
to encrypt everything else. This leaves the cookie (and the user)
vulnerable [...]"

-- 
silky

http://dnoondt.wordpress.com/

"Every morning when I wake up, I experience an exquisite joy - the joy
of being this signature."


Re: F# Help

2010-10-26 Thread silky
On Wed, Oct 27, 2010 at 12:09 AM, Tom Gao  wrote:
> Hi guys,

[...]

> At the moment the compiler is complaining that on the line
>
> let lagrangeInterpolatingPolynomial(share : List, degree,
> desiredPos) =
>
> in Lib.fs it isn’t able to find ShareEntity…

Is the problem that they are in different modules?

http://msdn.microsoft.com/en-us/library/dd233221.aspx


> Anyone have any ideas?
>
> Thank you in advance,
>
> Tom

-- 
silky

http://dnoondt.wordpress.com/

"Every morning when I wake up, I experience an exquisite joy — the joy
of being this signature."


Passing a Form as owner to System.Windows.MessageBox.Show()

2010-10-26 Thread Matt Siebert
Does anyone know if this is possible?

In Windows Forms we have IWin32Window to help with this kind of thing.  WPF
has WindowInteropHelper which can be given a Window instance to allow you to
set its parent window's handle, but MessageBox.Show() only takes a Window
instance...


F# Help

2010-10-26 Thread Tom Gao
Hi guys,

 

I need some help with F# I'm trying to convert the below C# into F#

I have one function in Lib.cs

 

public double lagrangeInterpolatingPolynomial(List
share, int degree, int desiredPos)

{

double retVal = 0;

 

for (int i = 0; i < degree; ++i)

{

double weight = 1;

 

for (int j = 0; j < degree; ++j)

{

// The i-th term has to be skipped

if (j != i)

{

weight *= (double)(desiredPos - share[j].Key) /
(share[i].Key - share[j].Key);

}

}

 

retVal += weight * share[i].Value;

}

 

return retVal;

}

 

In another file ShareEntity.cs I have the below

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace ShamirSecretSharingLibrary

{

public class ShareEntity

{   

public long Key { get; set; }

public long Value { get; set; }

}

}

 

 

 

 

 

My new F# example in Lib.fs I have 

module Lib

 

let lagrangeInterpolatingPolynomial(share : List, degree,
desiredPos) = 

let retVal = 0

for i in 0 .. degree do

let weight : double = 1.0

for j in 0 .. degree do 

if i <> j then

printfn "i not = j"

weight *= (desiredPos - share[j].Key) / (share[i].Key -
share[j].Key)

else 

None

 

In ShareEntity.fs I have

 

module ShareEntity

 

type ShareEntity = 

member this.Key with get () = ()

member this.Key with set () = ()

 

member this.Value with get () = ()

member this.Value with set () = ()

 

 

At the moment the compiler is complaining that on the line

let lagrangeInterpolatingPolynomial(share : List, degree,
desiredPos) = 

in Lib.fs it isn't able to find ShareEntity. 

 

Anyone have any ideas?

 

Thank you in advance,

Tom

 

 

 



OT(ish) - Firesheep

2010-10-26 Thread silky
May be of interest to some:

 http://codebutler.com/firesheep

"When logging into a website you usually start by submitting your
username and password. The server then checks to see if an account
matching this information exists and if so, replies back to you with a
"cookie" which is used by your browser for all subsequent requests.

It's extremely common for websites to protect your password by
encrypting the initial login, but surprisingly uncommon for websites
to encrypt everything else. This leaves the cookie (and the user)
vulnerable [...]"

-- 
silky

http://dnoondt.wordpress.com/

"Every morning when I wake up, I experience an exquisite joy — the joy
of being this signature."