(An open letter to Kate Brown, clarifying what computers can do regarding redistricting.) Kate, On KLCC, you said that computers can't take ethnic data into account. The US Census data has ethnic data galore in it down to the census block. ORS 188.010 specifically mandates that ethnic groups should not be split. It's easy to control for ethnicity. That was in fact one reason why I proposed it be automated -- so we can maximize all the variables, otherwise one might get overlooked. There's also a community input requirement, which can be easily implemented. If the community states that a certain area is a community that's not defined by the geographic unit membership (settlement/municipality/county/etc) details then it can be added as a membership boundary with a priority higher than, for example, county. The same can be done with ethnic groups as determined by Census data. The easy way to implement the program is to score each candidate boundary based on the criteria of how good it would be to place a boundary there, and then to place the existing boundaries on the map, and then gradually move the lines (keeping identical population counts within each area) in simulation until the boundary scores are maximized where the lines are also short, not zig-zagging around. The map improves as more simulations are run, a few thousand runs and then you can publish it and see if there are any abberations. Chances are there will be very few. If there are any, you can tweak the heuristic benchmarks. I designed and wrote the software that crunches every digitized road in the world on a hundred processor supercomputer in a matter of a few days with extensive processing, compression, and generalization. Certainly Oregon's boundaries couldn't be more complicated than that, and that project took less than a year. This also works from the standpoint of existing boundaries, as one of the criteria should be not to move the boundaries much further than they already are (my employer actually has software that does exactly this kind of line generalization as we have to stay within 5 meters of the digitized road to not throw off GPS tracks, while removing as many shape points as possible). So the program would have a curve function that disweighs the boundary lines as they move further from the existing lines (since it's maximizing for an "area", it should be a simple quadratic (squared) function on the linear distance deviation).