I sent a very unhappy email to PayPal about some stupid stuff their automated systems was doing to my account. It took a phone call to find out what address to send the email to. But despite the many difficulties I've had with them, to be fair, I must commend them that :
1) We were actually able to ring them by phone and speak with a human;
2) When we sent our complaint email to the email address we were given by phone, we actually got a reply from a human - and within only a day or two;
3) The human answering our email had clearly comprehended our complaint, and checked our account to ensure it was all fine;
Yes - PayPal automated processes have some issues - some of them pretty serious - but to be fair, I have to say that I am impressed that they listened and responded and my account is working again.
Kudos PayPal for at least doing this much...
Wednesday, January 14, 2009
Monday, January 12, 2009
Convert Adobe Illustrator files to XAML via SVG
There are lots of ways to convert Adobe Illustrator files to XAML, but for my needs, none of them were quite good enough.
The Adobe Illustrator XAML-export-plugin was mucking up some of our line art.
InkScape's built-in XAML support was mucking things up even worse. (I LOVE InkScape, but its XAML support is still not as good as hopefully it will be one day...)
XamlTune was mucking up a few things here and there as well.
Anyhow, I discovered that, for our line art, the main problem with XamlTune was its handling of thick strokes on ellipses. I fixed the XamlTune source code, submitted a patch, and now, voila, XamlTune is converting our line art perfectly! (Or at least, my eye notices no deficiencies.)
Here are the steps I'm taking:
1) Open the Adobe Illustrator file in Adobe Illustrator. (A free 30 day trial is available.)
2) Save a copy as an SVG document. (There are lots of SVG options, but at least for us, the default SVG options work fine.)
3) Use XamlTune to convert from SVG to XAML.
I doubt my patch will be integrated into the main XamlTune source in a hurry, so if you have enough technical nouse, get my patch from the XamlTune CodePlex site and enjoy the benefits. :o)
Your mileage may vary - apparently SVG to XAML conversion is not good at handling gradients, but all our line art is just simple sets of lines, paths and shapes, so that hasn't been a problem for us...
The Adobe Illustrator XAML-export-plugin was mucking up some of our line art.
InkScape's built-in XAML support was mucking things up even worse. (I LOVE InkScape, but its XAML support is still not as good as hopefully it will be one day...)
XamlTune was mucking up a few things here and there as well.
Anyhow, I discovered that, for our line art, the main problem with XamlTune was its handling of thick strokes on ellipses. I fixed the XamlTune source code, submitted a patch, and now, voila, XamlTune is converting our line art perfectly! (Or at least, my eye notices no deficiencies.)
Here are the steps I'm taking:
1) Open the Adobe Illustrator file in Adobe Illustrator. (A free 30 day trial is available.)
2) Save a copy as an SVG document. (There are lots of SVG options, but at least for us, the default SVG options work fine.)
3) Use XamlTune to convert from SVG to XAML.
I doubt my patch will be integrated into the main XamlTune source in a hurry, so if you have enough technical nouse, get my patch from the XamlTune CodePlex site and enjoy the benefits. :o)
Your mileage may vary - apparently SVG to XAML conversion is not good at handling gradients, but all our line art is just simple sets of lines, paths and shapes, so that hasn't been a problem for us...
Labels:
Adobe Illustrator,
SVG,
XAML,
XamlTune
"Cannot locate resource" in VS.NET 2008 when debugging
I downloaded XamlTune - very helpful, but a little buggy. So I turned to the VS.NET 2008 debugger. But every time I tried to run the XamlTune source code, I would get a "Cannot locate resource 'Output.xaml'" error message at runtime during app startup.
I searched and searched and found zillions of people getting the "Cannot locate resource" error message, but nothing solved the problem in this case.
By trial and error, I finally discovered that the assembly name is the culprit in this case.
The XamlTune "solution" contains a DLL called XamlTune and a separate executable by the same name.
XamlTune.dll
XamlTune.exe
In Release mode, this runs fine, and presumably, in previous versions of VS.NET, it ran fine. But in VS.NET 2008 sp1, running in Debug mode, the aforesaid error occurs.
The solution is extremely simple: Change one or other project file so that the assembly names of the two projects differ.
Clearly a bug in the VS.NET or .NET framework implementation, and it certainly wasted hours of my time today, but when you know how to solve it, everything works nicely again...
I searched and searched and found zillions of people getting the "Cannot locate resource" error message, but nothing solved the problem in this case.
By trial and error, I finally discovered that the assembly name is the culprit in this case.
The XamlTune "solution" contains a DLL called XamlTune and a separate executable by the same name.
XamlTune.dll
XamlTune.exe
In Release mode, this runs fine, and presumably, in previous versions of VS.NET, it ran fine. But in VS.NET 2008 sp1, running in Debug mode, the aforesaid error occurs.
The solution is extremely simple: Change one or other project file so that the assembly names of the two projects differ.
Clearly a bug in the VS.NET or .NET framework implementation, and it certainly wasted hours of my time today, but when you know how to solve it, everything works nicely again...
XAML stroke - inconsistent, but livable if you know the tricks...
I'm using XamlTune to convert SVG to XAML. Ellipses with thick strokes weren't converting correctly. I dug deeper, and discovered that XAML is inconsistent in its treatment of stroke placement.
For paths, the stroke is centred on the path line (as with SVG). But with ellipses and rectangles (and hence circles and squares too), XAML draws the stroke INSIDE the perimeter line. SVG is consistent - the stroke is always centred on the perimeter line.
Anyhow, I had difficulty finding info on this anywhere, so I tested my theory with some practical examples.
In XAML, create an Ellipse with e.g. a 100 pixel diameter.
<Ellipse Width="100" Height="100" Fill="Yellow" />
Then set a very wide stroke:
<Ellipse Width="100" Height="100" Fill="Yellow" StrokeThickness="50" Stroke="Blue" />
Voila! Note that the size of the circle is the same whether there is a stroke or not. Thus, XAML uses an internal stroke for ellipses.
But do the same thing in Inkscape (i.e. in SVG) and the circle gets larger as the stroke gets wider.
Since I found it hard to find anyone else commenting on the same "gotcha", I thought I'd make note of it here...
For paths, the stroke is centred on the path line (as with SVG). But with ellipses and rectangles (and hence circles and squares too), XAML draws the stroke INSIDE the perimeter line. SVG is consistent - the stroke is always centred on the perimeter line.
Anyhow, I had difficulty finding info on this anywhere, so I tested my theory with some practical examples.
In XAML, create an Ellipse with e.g. a 100 pixel diameter.
<Ellipse Width="100" Height="100" Fill="Yellow" />
Then set a very wide stroke:
<Ellipse Width="100" Height="100" Fill="Yellow" StrokeThickness="50" Stroke="Blue" />
Voila! Note that the size of the circle is the same whether there is a stroke or not. Thus, XAML uses an internal stroke for ellipses.
But do the same thing in Inkscape (i.e. in SVG) and the circle gets larger as the stroke gets wider.
Since I found it hard to find anyone else commenting on the same "gotcha", I thought I'd make note of it here...
Friday, December 5, 2008
SQL Server 2008 Express Edition
I've just installed SQL Server 2008 Express Edition.
Thought #1 : It rocks.
I found SQL Server 2005 (particularly the SQL Server 2005 Management Studio Express) to be VERY slow - you know, 10 second delay here, 10 second delay there. And btw, I'm using a very powerful machine.
None of that ridiculous stuff (so far) from SQL Server 2008 - bam! Responsive. Fast. I like.
Thought #2 : It's extremely unintuitive figuring out how to install SQL Server 2008 Management Studio Express.
SQL Server 2008 Express Edition installed with my version of .NET Studio 2008 Express. But no Management Studio. I find Management Studio particularly useful, so I wanted to install it.
Problem #1 : It's now called Management Studio Basic instead of Management Studio Express.
Problem #2 : With SQL Server 2005 Express Edition, you could download and install the Management Studio separately. Turns out that option ain't available with SQL Server 2008 Express Edition. You actually have to download a 200MB+ install package that includes both SQL Server 2008 Express Edition and the Management Studio. That's not obvious, but once you know it, ok, you can move on...
Problem #3 : When you launch this installer, it is extremely unintuitive finding how to install just the Management Studio, given that (if you're in the case I was in) you already have SQL Server 2008 Express Edition installed and just want the Management Studio to be installed.
Many many MANY thanks to these guys who wrote an article which gave me just enough information that, with a bit of trial and error, I finally managed to triumph. If you're in the same boat as me, go to Installing SQL Server Express 2008 and it shows you the things you need to know. Kudos!
Thought #1 : It rocks.
I found SQL Server 2005 (particularly the SQL Server 2005 Management Studio Express) to be VERY slow - you know, 10 second delay here, 10 second delay there. And btw, I'm using a very powerful machine.
None of that ridiculous stuff (so far) from SQL Server 2008 - bam! Responsive. Fast. I like.
Thought #2 : It's extremely unintuitive figuring out how to install SQL Server 2008 Management Studio Express.
SQL Server 2008 Express Edition installed with my version of .NET Studio 2008 Express. But no Management Studio. I find Management Studio particularly useful, so I wanted to install it.
Problem #1 : It's now called Management Studio Basic instead of Management Studio Express.
Problem #2 : With SQL Server 2005 Express Edition, you could download and install the Management Studio separately. Turns out that option ain't available with SQL Server 2008 Express Edition. You actually have to download a 200MB+ install package that includes both SQL Server 2008 Express Edition and the Management Studio. That's not obvious, but once you know it, ok, you can move on...
Problem #3 : When you launch this installer, it is extremely unintuitive finding how to install just the Management Studio, given that (if you're in the case I was in) you already have SQL Server 2008 Express Edition installed and just want the Management Studio to be installed.
Many many MANY thanks to these guys who wrote an article which gave me just enough information that, with a bit of trial and error, I finally managed to triumph. If you're in the same boat as me, go to Installing SQL Server Express 2008 and it shows you the things you need to know. Kudos!
Wednesday, December 3, 2008
PayPal - systems gone awry
Strong language warning
Hello PayPal,
I hope that the reports of abysmal/non-existent PayPal service are false, because this situation is entirely PayPal's fault, and I've heard lots of stories of PayPal screwing customers when the situation was not the customer's fault.
My wife made a purchase online using her credit card.
She does NOT and has NEVER had a PayPal account.
She did NOT log in to PayPal to make the purchase - she simply typed in her credit card number.
It so happens that she is an additional card holder for my credit card account.
It so happens that I have two PayPal accounts, and my credit card is linked to one of those accounts.
You, PayPal, decided behind the scenes to link my wife's online purchase to my PayPal account, but you have done so in a way that has broken everything.
I will go into full detail below, but the present ludicrous situation is that YOU PayPal are demanding that my wife log in to her non-existent PayPal account to restore her account access. She cannot log in to her account, because she does not have one (and has never had one). And in the meantime, my own PayPal account is disrupted, and logging in to my own PayPal account has not resolved the issue.
If you have gotten this far, thank you for taking the time to consider that it might be possible to improve the PayPal systems. (If not, then I sincerely hope you are supplanted by someone who actually acknowledges their mistakes and improves their game.)
Here is what happened :
* Early July, my wife made the purchase as previously described (from "Hallelujah Acres"), using a computer I do not use, that was not logged in to PayPal. She entered the credit card number directly.
* At around the same time, I used PayPal (on a different computer, and logging in to my PayPal account) to donate a small sum of money (around US$10) to someone else.
* Weeks later (international delivery, so it took a while), we received the goods my wife purchased (some health food).
* My wife, reviewing our credit card statement, saw a large PayPal transaction. The credit card statement read "PAYPAL *BFOBUILDING <number removed from this public copy of this email>". The number matched my PayPal account number. I knew that the only recent activity on my account was the US$10 donation. I logged in to my PayPal account, and the small donation was the only transaction visible. The bank statement said PayPal took the money, and related it to my PayPal account number, but PayPal denied knowledge of the transaction, claiming nothing had happened. I knew nothing had happened on my PayPal account, because I had not used PayPal for a very long time, except for that small donation. Accordingly, it was evident that fraud or computer error had occurred. For the first and only time in my (lengthy) credit card history, I raised a chargeback with my bank.
* On the 4th of September, my wife got a phone call out-of-the-blue from a woman in America. This woman politely asked why we had issued a chargeback. My wife was confused. My brain made a few quick connections and I suspected I knew what had happened. I took the phone from my wife and spoke with the woman. Lo-and-behold, she was from Hallelujah Acres, and the PayPal transaction we had rejected was for the health food we purchased. But how were we to know? PayPal was indicted on the bank statement, yet my PayPal account claimed ignorance. Anyhow, as soon as I realised that the transaction was valid - even though misreported by PayPal - I promised to contact my bank and undo the chargeback - which I promptly did. (I contacted my bank, asked what to do, and sent in a detailed fax re-authorising the transaction as they advised me to do.)
Whilst it was irresponsible of PayPal to put us and the vendor through this hassle (by representing to my bank that the payment came from my PayPal account, yet showing no evidence of it in my PayPal account), that is only half the story. My wife subsequently received an email from PayPal declaring that she must re-activate her account due to the recent chargeback. She never had an account.
But it goes on. I had reason to wish to use PayPal again just recently, but discovered that my own PayPal account is not working properly. Realising it was probably related to this whole stupid debacle, and having heard only bad things about PayPal's moronic support policies (or "no support" policies), I didn't even bother contacting you.
Now my wife receives a second email insisting that she must re-activate her non-existent account, and threatening account closure if she takes no action.
Based on how poorly your automated systems have performed in the past, it seems likely you will accidentally (or is that deliberately?) close my own good account too, and without warning, and without cause.
I have used PayPal in the past. The only trouble I have ever caused PayPal is by acting in good faith on information PayPal itself provided - i.e. by you not showing in my account history the transaction in question, but you simultaneously reporting to my credit card provider that the transaction in question actually did come from that selfsame account, you were clearly telling me that the transaction was in error or a fraud, and I acted in good faith on that information you provided. And now you insist on continuing to confuse and bamboozle my innocent wife by telling her to take action with her non-existent PayPal account, and you continue to frustrate myself and any vendors I might purchase from in the future by disabling my own account to some extent yet not providing me any way of re-enabling my own account.
I have joined the long list of people who have found PayPal to be a farce, a joke.
If you resolve this issue, without further ridiculous hassle or effort on the part of myself or my wife, I will be impressed. And I will blog about it to counter the voices of those who say that PayPal never cares.
But there are too many sad stories out there for me to believe that you will.
Which way will it be?
Here's hoping,
Jonathan Field
UPDATE Thu 15-Jan-2009 : PayPal replied.
Hello PayPal,
I hope that the reports of abysmal/non-existent PayPal service are false, because this situation is entirely PayPal's fault, and I've heard lots of stories of PayPal screwing customers when the situation was not the customer's fault.
My wife made a purchase online using her credit card.
She does NOT and has NEVER had a PayPal account.
She did NOT log in to PayPal to make the purchase - she simply typed in her credit card number.
It so happens that she is an additional card holder for my credit card account.
It so happens that I have two PayPal accounts, and my credit card is linked to one of those accounts.
You, PayPal, decided behind the scenes to link my wife's online purchase to my PayPal account, but you have done so in a way that has broken everything.
I will go into full detail below, but the present ludicrous situation is that YOU PayPal are demanding that my wife log in to her non-existent PayPal account to restore her account access. She cannot log in to her account, because she does not have one (and has never had one). And in the meantime, my own PayPal account is disrupted, and logging in to my own PayPal account has not resolved the issue.
If you have gotten this far, thank you for taking the time to consider that it might be possible to improve the PayPal systems. (If not, then I sincerely hope you are supplanted by someone who actually acknowledges their mistakes and improves their game.)
Here is what happened :
* Early July, my wife made the purchase as previously described (from "Hallelujah Acres"), using a computer I do not use, that was not logged in to PayPal. She entered the credit card number directly.
* At around the same time, I used PayPal (on a different computer, and logging in to my PayPal account) to donate a small sum of money (around US$10) to someone else.
* Weeks later (international delivery, so it took a while), we received the goods my wife purchased (some health food).
* My wife, reviewing our credit card statement, saw a large PayPal transaction. The credit card statement read "PAYPAL *BFOBUILDING <number removed from this public copy of this email>". The number matched my PayPal account number. I knew that the only recent activity on my account was the US$10 donation. I logged in to my PayPal account, and the small donation was the only transaction visible. The bank statement said PayPal took the money, and related it to my PayPal account number, but PayPal denied knowledge of the transaction, claiming nothing had happened. I knew nothing had happened on my PayPal account, because I had not used PayPal for a very long time, except for that small donation. Accordingly, it was evident that fraud or computer error had occurred. For the first and only time in my (lengthy) credit card history, I raised a chargeback with my bank.
* On the 4th of September, my wife got a phone call out-of-the-blue from a woman in America. This woman politely asked why we had issued a chargeback. My wife was confused. My brain made a few quick connections and I suspected I knew what had happened. I took the phone from my wife and spoke with the woman. Lo-and-behold, she was from Hallelujah Acres, and the PayPal transaction we had rejected was for the health food we purchased. But how were we to know? PayPal was indicted on the bank statement, yet my PayPal account claimed ignorance. Anyhow, as soon as I realised that the transaction was valid - even though misreported by PayPal - I promised to contact my bank and undo the chargeback - which I promptly did. (I contacted my bank, asked what to do, and sent in a detailed fax re-authorising the transaction as they advised me to do.)
Whilst it was irresponsible of PayPal to put us and the vendor through this hassle (by representing to my bank that the payment came from my PayPal account, yet showing no evidence of it in my PayPal account), that is only half the story. My wife subsequently received an email from PayPal declaring that she must re-activate her account due to the recent chargeback. She never had an account.
But it goes on. I had reason to wish to use PayPal again just recently, but discovered that my own PayPal account is not working properly. Realising it was probably related to this whole stupid debacle, and having heard only bad things about PayPal's moronic support policies (or "no support" policies), I didn't even bother contacting you.
Now my wife receives a second email insisting that she must re-activate her non-existent account, and threatening account closure if she takes no action.
Based on how poorly your automated systems have performed in the past, it seems likely you will accidentally (or is that deliberately?) close my own good account too, and without warning, and without cause.
I have used PayPal in the past. The only trouble I have ever caused PayPal is by acting in good faith on information PayPal itself provided - i.e. by you not showing in my account history the transaction in question, but you simultaneously reporting to my credit card provider that the transaction in question actually did come from that selfsame account, you were clearly telling me that the transaction was in error or a fraud, and I acted in good faith on that information you provided. And now you insist on continuing to confuse and bamboozle my innocent wife by telling her to take action with her non-existent PayPal account, and you continue to frustrate myself and any vendors I might purchase from in the future by disabling my own account to some extent yet not providing me any way of re-enabling my own account.
I have joined the long list of people who have found PayPal to be a farce, a joke.
If you resolve this issue, without further ridiculous hassle or effort on the part of myself or my wife, I will be impressed. And I will blog about it to counter the voices of those who say that PayPal never cares.
But there are too many sad stories out there for me to believe that you will.
Which way will it be?
Here's hoping,
Jonathan Field
UPDATE Thu 15-Jan-2009 : PayPal replied.
Saturday, October 6, 2007
SharePod - get MP3s off your iPod
I guess most iPod users have had the frustration of having legitimate MP3s on their iPod, losing the originals on their computer, and having no easy way to get the MP3s back.
In my case, I had an AWESOME conference on my iPod, and I had the right to give other people copies of the conference, but I misplaced my master CD with the original MP3s, and I didn't feel like spending three hours digging through my vast and relatively disorganised collections of "stuff" just to find it.
I turned to Google, as I usually do when I need help. To my dismay, there were lots of programs that claimed to do wonders for your iPod, but only a few of them, when actually tested, offered the specific feature I needed. Worse, ALL of the ones I found were commercial programs and wouldn't extract the entire length of each track. Now, given that I'm distributing this conference as a public service, and this is the only thing I wanted to get off my iPod, paying US$40 seemed ridiculously steep.
And then, somehow - hallelujah - I encountered SharePod!
It did what I needed, first time, no worries.
And it's freeware.
If I find myself using it a fair bit more in the future, I will very likely send the developer a donation. Hey - I might even send them a small $5 or $10 donation just for the help it's already been. (That's still cheap compared to the US$40 ask elsewhere.)
So if you're counting your pennies and you have a bunch of MP3s buried in your iPod and need to get them back out, SharePod comes with a five-star recommendation from yours truly.
In my case, I had an AWESOME conference on my iPod, and I had the right to give other people copies of the conference, but I misplaced my master CD with the original MP3s, and I didn't feel like spending three hours digging through my vast and relatively disorganised collections of "stuff" just to find it.
I turned to Google, as I usually do when I need help. To my dismay, there were lots of programs that claimed to do wonders for your iPod, but only a few of them, when actually tested, offered the specific feature I needed. Worse, ALL of the ones I found were commercial programs and wouldn't extract the entire length of each track. Now, given that I'm distributing this conference as a public service, and this is the only thing I wanted to get off my iPod, paying US$40 seemed ridiculously steep.
And then, somehow - hallelujah - I encountered SharePod!
It did what I needed, first time, no worries.
And it's freeware.
If I find myself using it a fair bit more in the future, I will very likely send the developer a donation. Hey - I might even send them a small $5 or $10 donation just for the help it's already been. (That's still cheap compared to the US$40 ask elsewhere.)
So if you're counting your pennies and you have a bunch of MP3s buried in your iPod and need to get them back out, SharePod comes with a five-star recommendation from yours truly.
Subscribe to:
Posts (Atom)