Press "Enter" to skip to content

Month: February 2013

Techy: Setting up IPv6 on Linux Mint

On my Linux Mint 14 HP Laptop, I need connectivity to the “new” IP v6 internet – however, neither our office router (a 4 year old Draytek Vigor 2820n) or our ISP (BT Business Infinity) support IPv6: so how do I get access? Well, first of all, I’ve signed up for an account via (who provides what is called a “4to6 tunnel”) and waited for my account to be approved (it took about 3 days). I then requested a tunnel type of “Dynamic NAT-traversing IPv4 Endpoint using AYIYA” from the UK provider Goscomb and waited for that to be approved (which took about 8 minutes). Once I had the tunnel, I needed to configure my laptop. A quick “sudo apt-get install aiccu” installed the AICCU package – which is the “SixXS Automatic IPv6 Connectivity Client Utility” (it’s also available for Windows, Mac, FreeBSD and many other platforms). I then modified /etc/aiccu.conf by running “dpkg-reconfigure aiccu” which prompted me to select my Tunnel Broker (SixXS), my SixXS username (in the format WXYZ-SIXXS) and my SixXS password. It then automatically restarted aiccu for me. Finally, I needed to configure my DNS to use IPv6 resolvers. I tend to use OpenDNS for…

Google Adwords: Bullet Point recommendations

Here is a list of bullet points to keep in mind when running advertisements on Google Adwords: * Each campaign should be very specific (“cpanel web hosting”) * Use of the exact match [keyword] system will target specific keywords entered on their own * Set up separate campaign for EACH country (try not to group countries) * Multiple campaigns/adgroups with keyword specific ads and budget * Upper casing the first letter of each Adword is recommend * Using exclamation marks at end of adwords is good * Use {KeyWord: Default text} to generate headlines * Create variant adverts – sometimes with minor differences * Try and keep the number of keywords per adgroup low: Google suggest 5 good keywords, maximum of 15 keywords per adgroup * The Display URL can be “faked” (i.e. doesn’t really exist): for example * Use “Keywords->See search terms” to see exactly which search terms were triggered in that adgroup * Make sure negative keywords such as “free”, “jobs”, “careers” etc are set if not relevant * On negative keywords, DON’T do things such as “free web hosting” as it will negatively match “web” AND “hosting”! If you need to block that specific, use [free…

Geographical precision compared

Precision UK Ordnance Survey Eastings and Northings Grid Reference Degrees Decimal Degrees Data from Wikipedia Stack Exchange 111km – 1 0 decimal places 11.1km – 0.1 1 decimal place 1.1km 2 digits each/4 digits total1km square 0.01 2 decimal places 111m 3 digits each/6 digits total100m square 0.001 3 decimal places 11.1m 4 digits each/8 digits total10m square 0.0001 4 decimal places 1.1m 5 digits each/10 digits total1m square 0.00001 5 decimaal places 11cm 6 digits each/12 digits total10cm square 0.000001 6 decimal places 1.11cm 7 digits each/14 digits total1cm square 0.0000001 7 decimal places 1.11mm 8 digits each/16 digits total1mm square 0.00000001 8 decimal places

PHP: Magento: Extract orders based on tax status and payment type

When you are doing your quarterly VAT returns and inputting details of your Magento shopping cart ordersinto your accounting software (such as the brilliant Crunch system), wouldn’t it be handy to be able to get a simple list of all orders between two dates, whether tax was paid on the order or not (note: this query will NOT work if you have orders with taxable and non-taxable items) and the method of payment (if you are running the SagePaySuite, it’ll also list whether payment was made via Amex): SELECT COUNT(*) AS ordercount,SUM(nettotal) AS nettotal,SUM(taxamount) AS taxamount,taxstatus,paymenttype FROM ( SELECT sales_flat_order.increment_id AS orderid, sales_flat_order.entity_id AS internalid, sales_flat_order.base_total_paid-sales_flat_order.base_tax_amount AS nettotal, IF (sales_flat_order.base_tax_amount>0,’tax’,’untaxed’) AS taxstatus, sales_flat_order.base_tax_amount AS taxamount, IF (sales_flat_order_payment.method=’sagepayform’,IF (sagepaysuite_transaction.card_type=’AMEX’,’Amex’,’SagePay’),sales_flat_order_payment.method) AS paymenttype FROM sales_flat_order JOIN sales_flat_order_payment ON sales_flat_order_payment.parent_id=sales_flat_order.entity_id LEFT OUTER JOIN sagepaysuite_transaction ON sagepaysuite_transaction.order_id=sales_flat_order.entity_id WHERE sales_flat_order.state=’complete’ AND sales_flat_order.created_at>=’2012-11-01′ AND sales_flat_order.created_at