Furniture arranging - no worries - there's an algorithm for that.
I don't know about you, but I just put the furniture more or less where it falls. I'm just glad to have somewhere to sit down but I have to admit that I do envy other people's ability to figure out where things should go. Friends often come in, fidget a lot and then make suggestions about moving item A to position B. But I'm a computer geek. I should be able to solve the problem of furniture arrangement without human help.
Make it Home is a program, developed at UCLA and Hong Kong University, that will work out an optimal arrangement of your furniture. It makes use of a set of rules about how best to place furniture in a room. The rules include parings between items, distances that have to be left around items, orientations etc. It also takes into account the need for pathways through to be kept clear.
Starting from a "pile" of furniture selected from a library of items the program next attempts to optimize the placement of all of the items within the room according to rules. The algorithm uses is simulated annealing. This is a well known AI method that copies the way that a solid cools into a lowest, i.e. optimal, energy state. The optimization starts off at a high simulated temperature which allows items to move about a lot. Then, as the optimization proceeds, the temperature reduces and slowly the furniture solidifies into an optimal arrangement. If you watch the video you can see the "phase change" occur.
It sounds crazy but this idea it works for all sorts of problems and judging from the video it works for furniture arranging - who needs Feng Shui! Now all I need is a nice robot hooked up to the output of the program to actually do the moving...
Don't panic - Go has eliminated C only in the sense that it no longer makes use of C within its own code. Yes, with its latest release, the Google alternative to the C language finally frees itself fr [ ... ]
Facebook has open sourced a technical preview of Relay, its framework that enables declarative data fetching and updates for React applications. Relay v0.1.1 can be downloaded from GitHub togethe [ ... ]