Friday, October 19, 2012

Burned by Checkout by Amazon Code Update

I was using Amazon's sample php library for doing inline Checkout By Amazon, and after submitting a Contract Charge was now getting an unreadable XML document (in fact it was blank, Curl returns a http status code of 0 and nothing else on the failure unless you turn on debugging). After drilling down into code for quite a while I discovered Curl was failing on verifying the host of the SSL connection. So if you happen to have transplanted the code into your app, make sure Curl can find the ca-bundle.crt file that is in the root of the newly provided code. I changed CheckoutByAmazon/Service/Client.php to reference the bundle by a more predictable path in my own app. I wish there had been a changelog in the new code...

Saturday, September 15, 2012

Optimize a PDF with large images that do not need to be reprinted exactly.

gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -sOutputFile=<newfile.pdf> <infile.pdf>

Tuesday, September 4, 2012

Pink Lightning Spotify Icon

This icon which resembles a pink lightning bolt on a rectangle or torn paper signifies that this track is local on your computer, but the file has DRM, so Spotify is playing a matching track from its libary instead.

Thursday, August 23, 2012

Cloudfuse on CentOS6

A cloudfuse binary for mounting cloudfiles from cent/rhel 6 x86_64. There seems to be a problem with the system 7.19 library of libcurl. This statically links libcurl-7.18.2 into the binary to avoid system conflicts.

Original project is located at: https://github.com/redbo. md5sum on this is: 4bed2eeb1343b0d6a58b1e11377455c4

Here is my version: Cloudfuse Module

Tuesday, August 21, 2012

Export Order Email Addresses From Magento w/Ruby

You need to setup a web services user beforehand for this to work. Install the Savon gem, and get your endpoint url and credentials. This uses the SOAP v2 interface on Magento.
requre  'rubygems'
require 'savon'
client = Savon::Client.new "https://<Your Endpoint>"

res = client.request :login do 
 soap.body = {:username => '<your soap user>', :apiKey => '<your key>'}
end
session = res[:login_response][:login_return]
res2 = client.request :salesOrderList do
 soap.body = {:session=>session}
end
b = res2[:sales_order_list_response][:result][:item]
b.each do |ord|
 puts ord[:order_id] + ":" + ord[:customer_email]
end

Monday, November 21, 2011

Things you need for SSL (EV) Extended Validation Certificates - godaddy

First, make sure you have the FINAL host name that you are securing. www.somehost.com and somehost.com are equivalent, but www2.somehost.com and somehost.com are NOT. For an EV cert you will need to do this once for every host you wish to get a cert for. For this reason you cannot get a wildcard EV cert.

If your business entity has a data trail (think info-usa type stuff) then you are probably golden. Otherwise you need:

A Requestor (probably you)
A Request Approver (someone at the company that can be verified)
An Approver (someone at the compnay that can be verified)

They can all be the same person and many times will be.

The CA will need your business registration #, city, and state. (your HQ address might be different than this, they need the info where you registered)

If the CA cannot find enough information in public records to validate your contacts, you will need to have their accountant (CPA) send a letter stating they represent the company and its contact info (mailing and telephone) along with contact info for the person who will be your Request Approver/Approver. Make sure all the addresses match up. This letter could also come from legal counsel who is registered with the state Bar association of the state your company is incorporated in.

In general if you make a typo in anything but the certificate request info, the CA can correct it after you initially request.

Wednesday, October 5, 2011

Coldfusion 9 not sending connection string to MySQL 4/5 datasource. (zeroDateTimeBehavior)

I was unable to get Coldfusion 9 server to take the usual fix for the following:

java.sql.SQLException: Cannot convert value '0000-00-00 00:00:00' from column 20
to TIMESTAMP.

which is to put:

zeroDateTimeBehavior=convertToNull

in the data source connection options. This method fixed the problem in all previous versions of ColdFusion.

My workaround was to add a 'Custom' data source and add all the normal JDBC variables and add the zertoDateTimeBehavior option to the actual URL instead of letting ColdFusion 9 try to do it.