Funny piece of spamfail I received today.

Funny piece of spamfail I received today.

I’ve encountered a few scams before, but never like the one I encountered yesterday – a live chat with a scammer on Facebook. I got a chat from an old friend I hadn’t spoken to in years who said he had been robbed at gun point and wanted to know if I could wire £800 through Western Union. I knew something was up right away when he wrote “Thank goodness I found you online”.
Instead of getting rid of the guy, I figured maybe I could nab him online somehow. I tried to keep him going as long as possible, messing with him a bit and trying to get him to click a link in order to get his IP address. After that didn’t work, I called Western Union with my fraudster still on chat, but the fraud department told me they’re “not the police” and there was nothing they could do.


I’ve been messing around with xero.com online accounting service. They only accept bank imports of QIF and OFX, and my bank NatWest only exports CSV…sigh. I spent the better part of a day looking for a way to convert CSV to QIF, and couldn’t find any good solutions so I hacked one together. This is based on Jelmer Vernooij’s script that he kindly posted to his blog.
I’ve been an active user of open source software since RedHat 7.3, but this is the first time I’ve open sourced any of my code. Better late than never. Drink it in!
#!/usr/bin/python
# Very simple converter from NatWest Bankline .csv files to
# QIF files for use by (among others) gnucash.
#
# Written by Jelmer Vernooij <jelmer@samba.org>, 2007
# Modified by Jason Trost <trostmail@gmail.com>, 2009
#
# Usage python bankline_csv2qif.py < input.csv > output.qif
import csv, sys
lookup_dict = {
'AMD' : 'Amendments History',
'BAC' : 'Automated Credit',
'BOE' : 'Bill of Exchange',
'EBP' : 'Bill Payment',
'MGT' : 'Bonds & Guarantees',
'BAE' : 'Branch Acc Entry',
'LST' : 'Bulk Entry',
'CRD' : 'Card Pymnt or Cash',
'TLR' : 'Card Pymnt or Cash',
'POS' : 'Point of Sale (Card Transaction)',
'ATM' : 'Cash Withdrawal',
'CHP' : 'CHAPS Transfer',
'CHG' : 'Charges',
'CHQ' : 'Cheque',
'CCD' : 'Cheque at Despatch',
'CAE' : 'Cheque Collection',
'CCB' : 'Cheque Collection',
'CND' : 'Cheque Negotiation',
'BCA' : 'Clean Acceptance',
'CNA' : 'Clean Cheque Neg',
'BCR' : 'Clean Reimburse',
'C/R' : 'Credit',
'D/R' : 'Debit',
'D/D' : 'Direct Debit',
'DIV' : 'Dividend',
'DCR' : 'Documentary Credit',
'ECA' : 'eurocheque',
'ECD' : 'eurocheque',
'EBP' : 'Electronic Payment',
'MEC' : 'Export Credits',
'DFT' : 'Foreign Draft',
'BGT' : 'Guarantees',
'MIC' : 'Import Credits',
'ITM' : 'Incoming CHAPS',
'IP1' : 'Inland Payments',
'IP2' : 'Inland Payments',
'IP3' : 'Inland Payments',
'IP4' : 'Inland Payments',
'IP5' : 'Inland Payments',
'IPB' : 'Inland Payments',
'INT' : 'Interest',
'ITL' : 'International Transfer',
'MIB' : 'Inward Bills',
'ICP' : 'Inward Ccy Pymt',
'ISP' : 'Inward Stg Pymt',
'LST' : 'Supplementary List',
'LVP' : 'Low Value Payment',
'MKD' : 'Market Deal',
'MFD' : 'Maturing Fwd Deal',
'LON' : 'New Loan',
'NDC' : 'No Dividend C/foil',
'BCO' : 'Non Mkt Close Out',
'NVD' : 'Novated Deal',
'OTR' : 'OnLine Transaction',
'MOB' : 'Outward Bills',
'RTF' : 'Relay Transfer',
'ADV' : 'Separate Advice',
'STL' : 'Settlement',
'S/O' : 'Standing Order',
'TFP' : 'Trade Finance Product',
'TFR' : 'Transfer',
'U/D' : 'Unpaid Direct Debit',
'SDE' : 'Urgent Euro Tfr',
'100' : 'MT100',
'101' : 'MT101',
'103' : 'MT103',
'200' : 'MT200',
'201' : 'MT201',
'202' : 'MT202',
'203' : 'MT203'
}
rows = csv.reader(sys.stdin)
header = rows.next()
assert header == ['Sort Code', 'Account Number', 'Account Alias',
'Account Short Name', 'Currency', 'Account Type',
'BIC', 'Bank Name','Branch Name','Date',
'Narrative #1', 'Narrative #2', 'Narrative #3',
'Narrative #4', 'Narrative #5', 'Type', 'Debit',
'Credit']
print '!Type:Bank\n'
for l in rows:
print "D%s" % l[9] # date
if l[16]:
print 'T%s' % l[16] # amount
else:
print 'T%s' % l[17] # amount
print 'P%s -- %s' % (l[10], l[11]) # Payee field
print 'M%s ; %s ; %s ; %s ; %s ; %s ; %s' % \
(l[10], l[11], l[12], l[13], l[14], l[15], \
lookup_dict.get(l[15], 'No lookup')) # payee / description
print 'L' #%s' % l[7]
print '^\n' # end transaction
Who needs to run a gambling website when you can get paid generating the traffic??
From: http://www.casinoaffiliateprograms.com/learningcenter/basics/so-you-want-to-become-an-affiliate.php
The easiest way to enter the gambling industry is to become a casino affiliate. A casino affiliate is someone who gets paid a commission for the traffic they send to a casino. As a casino affiliate you can earn 25-60% of a player’s losses. That means, that if you send a casino say, 100 players, who deposit $100 each, (so that’s $10,000 in total)
And they all lose their $100, you get paid anywhere between $25-60% of that $10,000.
Generally the going rate is about 30%. So you would see $3000.
What’s even sweeter is that you continue to earn a percentage of those players’ losses if they continue to play at that casino in the future.
Casino and poker websites continually battle for market share. They tend to have very similar product offerings, and the consumer is left with the option to pick up and leave and get the deposit bonus elsewhere. Giving away 25-60% of your profit to marketing is quite expensive. Because of this high customer acquisition expense, the larger gaming companies like 888.com are releasing gambling white label products to try to capture the long tail of the market.

I was surprised to read noted economist Michael Boskin’s op-ed in the WSJ and his take on the economy and the election. Basically the article states that Obama will raise taxes and push the US into recession.
In the States, phone companies offer 1-900 numbers which cost money for the caller to make. They are generally reserved for sex lines and scam artists. In the UK, they are used for customer service lines. For reasons I have yet to understand, almost every business’s customer service number and many professionals (including lawyers who charge upwards of £400/h) will only offer customers an 0845 number, which is euphemistically referred to as a non-geographical number. Aka “Special Services: Lower Rate”, “local call” and “Lo-call”. It can cost up to 25p a minute to make such a call. For example, I need to order a Letter of Introduction from my bank. They charge me £15 plus the fees to make the call. If I need to report an outage on my Virgin Broadband, they charge me to call that line (and will refund you should it be their fault, but that’s not always easy to prove). There’s a great website called Say No to 870 which will let you find the normal number to call some businesses. Here’s a good explanation of the mess: http://en.wikipedia.org/wiki/0845, http://en.wikipedia.org/wiki/0870 and http://en.wikipedia.org/wiki/Non_Geographical_Numbers.
I went to the doctors today which was my first time dealing with the British medical system. I can’t say how impressed I was with how smoothly things went. To book the appointment I had to call my local NHS outpost a week in advance. When I showed up, the reception desk had touch screen to select my birthday and then notify the doctor that I was in. The doctor himself called my name on time. I went to his office, we had a chat, he checked me out, answered my questions, wrote a prescription and out the door I went in twenty minutes. I didn’t have to fill out any paperwork. My visit was free. I don’t have to file any forms. Amazing.
There’s a post today on Perez Hilton about the Barbary Macaques monkeys being culled in Gibraltar and was mentioned on Reuters a few days ago.
I was in Gibraltar last week. Here’s a video I made about the funky monkeys:
I was walking back from Wagamama in Camden when there was some hubbub in sleepy Kentish Town. Down from the sky came the Virgin sponsored ambulance and landed in a football pitch. I checked the news for reports of what happened but nothing came up.