Skip to main content

A Dishwasher in an old kitchen

We have an old kitchen that does not have a built in dishwasher. There is an existing disposal, so from what I read on This Old House that makes it a little easier to install a built in dishwasher. However, we would still need to run a 15A breaker circuit to the kicthen. A call to Gray's appliances resulted in advice that we would need a plumber and an electrician to take care of the water and power aspects of this. However, the sales rep continued, we could consider a portable dishwasher. I had seen this, and indeed the spouse suggested this, but I wavered thinking that the capacity was smaller. The rep said that the capacity was the same as a builtin, and we only needed to hook it up to the sink and the regular power outlet.
So I looked a bit into portable dishwashers. From this page from Sears we have:
  • Modern portable dishwashers have the same capacity and cleaning power as built-in ones and cost about the same. (From my brief search, however, the cheapest builtin was about half the price of the cheapest portable)
  • The portable dishwasher adds counter top space
  • You can't really use the sink when the dishwasher is running (but if you, like us, run the dishwasher at night it's not that much of a hassle)
  • When you sell the house the buyer might expect a builtin.
All in all, I still think we will go with the built-in but we will have a higher initial cost, because we will have to have electrical and plumbing installed. From a quick call around to Appliance stores it turnes out that they just sell, deliver and maybe hook up the appliance. Initially I thought I would have to get an electrician and a plumber separately for the hookups but I found a Kitchen Remodeller who will do this for us.

UPDATE: We went with the regular sized builtin dishwasher (not an 18" apartment sized one, or an under sink one) and we are very glad. The 18" would have been annoyingly small. It cost $800 for the electrical, plumbing and adjustment to the cabinets.

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