Skip navigation
Help

elegant solution

warning: Creating default object from empty value in /var/www/vhosts/sayforward.com/subdomains/recorder/httpdocs/modules/taxonomy/taxonomy.pages.inc on line 33.

via puu.sh

Before Google co-founder Sergey Brin started the work that would make him famous, he tried to remake the business of pizza delivery. In a Solve for X talk recently posted online, he describes coming up with what seemed like an elegant solution to ordering food: find the publicly posted fax numbers for restaurants, then build an online form and write a script that faxes it as an order. But his plan was derailed by the fact that while his local pizza place had a fax machine, it was quite reasonably being ignored. "The challenge of a problem, or the importance, isn't really that related to how likely you are to achieve it," he says. Of course, even in a talk about the value of failure, his plan failed exceptionally quickly: it luckily took...

Continue reading…

0
Your rating: None

tokyo hotel

Visitors to Japan are often struck by its clean streets and efficient transport, so it might not be such a surprise to see the country come up with an elegant solution to the messy problem of demolition. The Taisei Ecological Reproduction System (Tecorep) is designed to safely bring down buildings over 100 meters (328 feet) high, and involves bringing cranes inside the building to take apart each floor.

Temporary columns are used to prop up the roof, and are progressively lowered by jacks — the effect makes it look like the building is being constructed in reverse, coming down step by step. The technique has been used on the 139-meter (456-foot) Grand Prince Hotel Akasaka, which closed down nearly two years ago.

Continue reading…

0
Your rating: None

Piracy is a topic that comes up a lot, so I did a lot of research on Indiegames.com, TIGSource.com, email lists, blog posts, etc. I found that the answers to piracy are surprisingly simple.

0
Your rating: None

The high-resolution web is coming. Photo: Ariel Zambelich/Wired

Given enough time, all simple, already solved problems of the web eventually rear their ugly heads again.

Remember when limited bandwidth was a huge problem? Then bandwidth was infinite. Now it’s a problem again. And that means serving up images is once again a complex problem with no elegant solution. Its seems simple. Websites should serve the right image to the right screen, high-resolution images to high-resolution devices and low res to the rest. But of course it’s not that simple. Factors like bandwidth as well as screen size and orientation complicate the matter considerably.

Arguably the best solution right now is to send low-res images to every device. Sure, your images might look terrible on high-res screens, but at least you aren’t wasting people’s time or worse, costing them money.

While that’s the safest solution for now, the web doesn’t get better if no one takes any risks. Fortunately, until some standard or best practice emerges, we’ll likely continue to see developers pushing the boundaries and discovering new ways to handle the seemingly simple task of serving the appropriate image to the appropriate device.

The latest image cleverness we’ve seen is Adam Bradley’s Foresight.js. Foresight.js is designed to make it easy to serve up high-resolution images to devices like the new iPad, but what sets foresight.js apart from half a dozen other solutions that do the same thing is that it not only checks for a hi-res screen, but also checks to see if the device currently has a fast enough network connection for larger images. If, and only if, your visitor has both a device capable of displaying high-res images and a network connection fast enough to handle the larger file size, are larger images served.

Part of what makes Foresight.js appealing is its use of the proposed CSS image-set() function, one possible solution to the problem of serving up the right image at the right time. The image-set() function, which works in WebKit nightly builds and is under consideration by the W3C, looks like this:

myselector {
    background: image-set(url(foo-lowres.png) 1x, url(foo-highres.png) 2x) center;
}

Foresight.js takes the image-set() proposal and uses an ingenious hack to make it work in other browsers: the font-family property. Yes, it sounds crazy. But it works and remains technically valid CSS because font-family allows for arbitrary strings (to handle font names). That means browsers have no problem with a rule like this:

myselector {
    font-family: ' image-set( url(/images/foo.png), url(/images/foo_2x.png) 2x high-bandwidth ) ';
}

It’s a hack to be sure, but it’s our favorite kind of hack: clever and functional. Because browsers successfully parse the font-family rule (even if they can’t apply it) the value is added to the DOM and JavaScript has no problem accessing it, which is exactly what foresight.js does.

For more on foresight.js, head over to the GitHub page which as links to plenty of examples uses and copious documentation on the script’s many tricks. Also be sure to read through Bradley’s Challenges for High Resolution Images, which offers some background on foresight.js and the design decisions he made.

0
Your rating: None

Get your microscope out
If the devil is in the details then EA’s city-running sim, cunningly called Sim City, is writhing on a bed, doing naughty things with a religious symbol and being doused in holy water. Ugh! It just turned its head 360 degrees! It is wickedly detailed, thanks to an engine that shows off exactly what the simulation is up to. A building like a power plant is not just a stack of boxes, but it contains the resources like coal and workers to create electricity. The effects and animations you’ll see on the unit are tied into how the unit simulates what’s going in and what’s coming out, so the pollution spouting from the chimney is represented accurately according to the game’s logic. Clicking in garages into a fire station will make it a more efficient station: a station with a few more garages in the model will actually run according to how you’ve built it. Everything you see is a one-to-one representation of what the simulation is doing. The video is below.
(more…)

4
Your rating: None Average: 4 (1 vote)