Skip to main content

Mr. Cheng and the Insurance salesmen

Starting some time in the first week of June I began to receive calls every five minutes, during working hours, on my prepaid cellphone. These numbers where not in my phonebook. Sometimes when I would pick up the phone would simply be disconnected. Most of the time, however, the caller would ask for Mr. Cheng.

Upon asking I would be informed that a Mr. Cheng had filled out an online form for insurance information and they were calling back about that.

Of course a cynical guy like me thinks, that's a shady story. I highly doubt that a Mr. Cheng would fillout at least 20 online forms with my cellphone number for them to contact me.

I think it is more likely this is some kind of dodgy move to get around the do not call list legalities.

I have filed a complaint with the FTC, but here is a list of the shady phone numbers so you can add them to your blocklist if you so wish.

Calling these numbers goes straight to voicemail and they are all insurance companies whom I will not name and give free publicity for. I would not buy insurance from them either.

360 474 3298
954 332 1713
615 776 1490
866 329 3468
240 308 7005
831 515 8394
754 223 9752
954 623 6599
503 457 1826
925 627 8350
323 761 2612
347 756 5059



Comments

Popular posts from this blog

A note on Python's __exit__() and errors

Python's context managers are a very neat way of handling code that needs a teardown once you are done. Python objects have do have a destructor method ( __del__ ) called right before the last instance of the object is about to be destroyed. You can do a teardown there. However there is a lot of fine print to the __del__ method. A cleaner way of doing tear-downs is through Python's context manager , manifested as the with keyword. class CrushMe: def __init__(self): self.f = open('test.txt', 'w') def foo(self, a, b): self.f.write(str(a - b)) def __enter__(self): return self def __exit__(self, exc_type, exc_val, exc_tb): self.f.close() return True with CrushMe() as c: c.foo(2, 3) One thing that is important, and that got me just now, is error handling. I made the mistake of ignoring all those 'junk' arguments ( exc_type, exc_val, exc_tb ). I just skimmed the docs and what popped out is that you need to return True or...

Store numpy arrays in sqlite

Use numpy.getbuffer (or sqlite3.Binary ) in combination with numpy.frombuffer to lug numpy data in and out of the sqlite3 database: import sqlite3, numpy r1d = numpy.random.randn(10) con = sqlite3.connect(':memory:') con.execute("CREATE TABLE eye(id INTEGER PRIMARY KEY, desc TEXT, data BLOB)") con.execute("INSERT INTO eye(desc,data) VALUES(?,?)", ("1d", sqlite3.Binary(r1d))) con.execute("INSERT INTO eye(desc,data) VALUES(?,?)", ("1d", numpy.getbuffer(r1d))) res = con.execute("SELECT * FROM eye").fetchall() con.close() #res -> #[(1, u'1d', <read-write buffer ptr 0x10371b220, size 80 at 0x10371b1e0>), # (2, u'1d', <read-write buffer ptr 0x10371b190, size 80 at 0x10371b150>)] print r1d - numpy.frombuffer(res[0][2]) #->[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] print r1d - numpy.frombuffer(res[1][2]) #->[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] Note that for work where data ty...