Skip to main content

What to look for on a tour

A random list of objective things to pay attention to when looking at a house. This is completely different from how the home looks. Now, we are emotional creatures: even if the house is beat up, out of code and a fire hazard we might fall in love with it. You should do what you feel, since you only live once, but it is good to know all the warts of the house, since you'll be the one writing the checks and standing in knee deep water with a pair of waders.
  • When was it built? If it was built in the 1900 beware of lead paint. If it was built in the 1960s there may be lead paint in the trim and the outside. If paint is peeling in scales, be careful. It it is very recent (2000s) is it built well enough? Can you find out anything about the company that built the house?
  • Is it copper wiring or aluminum wiring? Some houses built in the 1960-1970s had aluminum wiring. This by itself is not a problem, but mixing copper and aluminum can lead to a fire hazard. Look into COPALUM for ways to interface safely with aluminum wire.
  • Fuses or circuit breakers? Insurance sometimes makes noises about fuse boxes.
  • Is the plumbing lead, cast iron or PVC? A home inspector will be able to identify this. PVS is the modern piping of choice. Cast iron has  along life. Lead is dicey, especially for the intake pipes, which means you'll have to use a filter on the tap for drinking water.
  • If the heating is oil, has the furnace been serviced yearly? What is the state of the oil tank? Is there gas service?
  • When was the roof last replaced? A roofer or a home inspector may be able to give a guess as to the condition of the roof.
  • Are the down spouts from the roof draining far enough from the foundation? Downspouts should go about 3' away from the foundation
  • Is there efflorescence (white chalky stains) on the foundation? That is an indication of water seepage into the basement.
  • Are there tree branches hanging over the roof - that will lead to leaves in the gutter and you have to clean them out more often.
  • Poke your head into the attic, just to get a feel for the hidden part of the house. Does it smell damp? Moldy?
  • Follow the home inspector around and ask questions. It will be a very educational experience. If the home inspector does not like that get a new home inspector.
  • If there are plants very close to the foundation consider moving them further out enough that a person can get between them and the foundation. I really like using plants to cover the ugly concrete of a foundation. Some plants have shallow root systems and those are good for the foundation.

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...