Louis and Elizabeth Woerner House

The Louis and Elizabeth Woerner House is a historic house in Portland, Oregon, United States. It was designed by Prairie School architect William Gray Purcell in 1922 and completed in early 1923. Located in the Alameda neighborhood in Northeast Portland, the house was added to the National Register of Historic Places (NRHP) in 2005.[2]

Louis and Elizabeth Woerner House
The home in 2009
Location2815 NE Alameda St, Portland, Oregon
Coordinates45°33′01.6″N 122°38′15.8″W
AreaLess than one acre
Built1922 (1922)
ArchitectWilliam Gray Purcell
Architectural styleBungalow/Craftsman
NRHP reference No.05000516[1]
Added to NRHPJune 1, 2005

History

The house was built for Louis and Elizabeth Woerner. Louis Woerner was vice president of the Western Cooperage Company at the time the house plans were commissioned. The two-and-one-half story house is in the Arts and Crafts style, also known as American Craftsman. It has an asymmetric plan, with several steeply pitched gables visible from each side. The Woerner family lived in the house until it was sold in 1951. It then passed through several owners, each preserving the original character of the house. No major renovations to its footprint have been made since it was constructed, the most significant changes were an interior remodel of the kitchen and updates to the bathrooms.[2]

The house is a locally significant example of Arts and Crafts architecture, but its primary historical significance derives from its noted Minneapolis architect, William Gray Purcell. Purcell was active in Oregon from 1919 until 1930, when an advanced case of tuberculosis forced him to seek a warmer, drier climate in California. During his stay in Oregon, he designed and marketed standardized plans for homes intended for families of modest means. The Woerner house is one of five upscale custom houses he designed in the Portland area in 1920-1924. The Woerner house is the most visible, due to its location atop a small rise on a large lot.[2]

gollark: - Checks if the available-items list already contains the item needed. If so, just return that.- If not, checks for recipes to do what is wanted- If one exists, iterate over them (not sure what to *do* with them)- If none exists, we can't do anything, so just return no tasks, no costs and no outputs.
gollark: ```rusttype Items = HashMap<ItemType, u32>;fn quantity(items: &Items, desired: &ItemType) -> u32 { if let Some(available_quantity) = items.get(desired) { *available_quantity } else { 0 }}fn contains(items: &Items, desired: &Item) -> bool { quantity(items, &to_item_type(desired)) >= desired.quantity}fn satisfies(available: &Items, desired: &Items) -> bool { for (typ, desired_quantity) in desired.iter() { if quantity(available, typ) < *desired_quantity { return false } } true}fn to_map(is: &Vec<Item>) -> Items { let out = HashMap::new(); for i in is.iter() { out.entry(to_item_type_clone(i)) .and_modify(|e| { *e += 1 }) .or_insert(0); } out}fn one_item(i: Item) -> Items { let out = HashMap::new(); out.insert(to_item_type(&i), i.quantity); out}#[derive(Debug, Deserialize, PartialEq, Eq, Serialize, Clone)]pub struct CraftingResult { pub tasks: Vec<Recipe>, pub costs: Items, pub outputs: Items}fn solve(desired: Item, available: Items, recipes: &MultiMap<ItemType, Recipe>) -> CraftingResult { if contains(&available, &desired) { // If our available items list already contains the desired item, yay, we can just do nothing return CraftingResult { tasks: vec![], costs: one_item(desired), outputs: one_item(desired) } } if let Some(recipes) = recipes.get_vec(&to_item_type(&desired)) { for recipe in recipes.iter() { let result = solve() // ??? } } else { CraftingResult { tasks: vec![], costs: HashMap::new(), outputs: HashMap::new() } }}```My code, or at least part of it.
gollark: That is NOT THE HARD PART.
gollark: (I'm still confused though)
gollark: People have already given helpful suggestions how to, soo...

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.