Drink from Concrete & Glass

25togo Concrete Tumbler

Concrete + glass tumbler from 25togo. On sale at Charles & Marie.

CITY RAIN concrete glass is made of high water-absorption concrete with idea of wet street and glass window, the ingenious combination of two kinds of hard materials – glass and concrete with low contrast gray and simple lines presents a unique taste for the glass.

The process of making concrete product is a work needed a lot of patience and carefulness. It consumes time and energy to take care of products even when the products have already finished. From the beginning of making molds and accurately calculating the percentage of admixture, to the end of keeping the cement wet, the procedure is longer than a week and not to mention that all the processes are made by hand.

Hat tip @k.

Big Words Indeed

Putting Big Words to work at Julie & Trammel’s:

City Museum

The St. Louis City Museum is a giant multi-story jungle gym for kids and adults with claustrophobic mazes, chutes and stairs, wire tunnels arching 50 feet off the ground, a ferris wheel and a school bus hanging off the roof of the building.

People are wed there, and people live there.

The space is constructed—perhaps grown—like a epiphyte on an old St. Louis building, entirely from reclaimed pieces of the city. It has an authenticity that transcends its entertainment value—I hope to visit every time I am in this city.

Exporting a Vox Blog

Sunday project!

Export a Vox blog to MTIF (Movable Type Import Format), along with some CSS to style it.

Requires Python, httplib2, Feed Parser and Beautiful Soup.

Augmented Reality: NYC Subway

CSS Images, Sprites, and iPhone WebKit

A few months ago, I was helping a friend troubleshoot an odd iPhone-related visual error on Hunch. The right side of the buttons weren’t lining up vertically with the top or bottom of the rest of the button. Oddly, the problem only manifested itself when viewing the site at certain zoom levels (non-quantized, to be specific). Pinching in/out or zooming into specific parts of the page made the buttons render correctly.

We’d used a similar technique on Domainr, so were curious to see if there was a way to address it cleanly.

It appeared that WebKit for iPhone uses mipmaps to render minimized background images. This makes sense—it has fast texturemapping hardware, and OS X / Quartz has been using OpenGL to render 2D graphics for some time.

The combination of hardware texture filtering of mipmapped background images with (then) imprecise texture coordinates were causing the artifacts we’d been seeing (recent related changes in WebKit).

Domainr’s buttons are styled using a sliding-door technique with a single CSS sprite background image. By this time we were starting to test against Safari 4.0 and Firefox 3.5, which also demonstrated similar visual errors when using their full-page zoom features.

The solution ended up being simple:

Vertically align the left and right background images for the button in the sprite.

It’s a palliative fix, but works. We were able to keep the single sprite image, and not introduce iPhone-specific CSS or hack WebKit. In the end, there were other benefits to the fix. Despite redundant image data, aligning the background slices eased the process of updating the sprite image for new button variations.

Two Quotes

Two friends of mine, both engineers, in separate occasions in the past week:

@rk: “Software is a hypothesis.”

@nk: “The GPL dictated behavior, whereas the authors of the MIT license merely prescribed it, having faith it would succeed on its inherent benefits.”

OpenID, and making glue

This originally was a response to a message posted by Chris Messina to the OpenID mailing list.

Since the original conversation that spawned OpenID, I’ve observed the rise of real identity versus obscuring it behind a [nonsensical] username @ someservice.com.

The fact is, the OpenID non-pattern has overwhelmingly ignored in favor of standard email + password signup. Hearteningly, the user experience of registration has been largely normalized. There are observable and copyable best practices here, that require neither a spec nor educating the user.

Basically, OpenID—as it is now—is irrelevant.

There were major lessons learned, but they were social rather than technical. The original problem that OpenID was conceived to solve has been supplanted by services like Disqus, Intense Debate and TypePad Connect.

The non-problem that OpenID [2] was intended to solve was putting a user in charge of how (and if) their identity online was centralized.

I say non-problem because it was already solved. Most people overwhelmingly didn’t care, and the people who did—knew how to set up multiple email addresses or use different usernames/passwords.

If email was invented today, it’s not to hard to imagine that we’d grant permission for a service to send us email using a mechanism similar to OAuth. Communicating with someone (or thing) via their preferred channel is just another ACL.

So OpenID won—not because it was the solution, but because it helped us understand the fundamental interaction problems that previous auth systems failed to address.

We didn’t build a better horse, but we did make some good glue.

WWSD?

WWSD? T-Shirt

It was all Caterina’s idea.

PDFail

Earlier this evening, I received an NDA from a potential client. They’re a big company, so it came with some understandably bulletproof language, and was signed by an exec in their legal department (via a pasted-in scan of their signature).

The instructions that accompanied the NDA said I should sign and print two copies, mail one, and fax or email a copy back to them.

We don’t have a fax machine, let alone a landline, so we typically just paste in our signatures, create a PDF and send it back. Unfortunately, it wasn’t that simple. Fortunately, Adobe’s silly PDF protection was felled quickly by the OS X Print command.

  • Attempt to open original NDA from client in Adobe Illustrator.
  • Fail because of PDF password protection.
  • Open original NDA in Preview.
  • Print, and Save PDF from within Preview.
  • Open printed PDF in Adobe Illustrator.
  • Fail because of character-set mangling.
  • Open printed PDF in Preview.
  • Save As generic PDF-X3 or whatever.
  • Open exported PDF in Adobe Illustrator.
  • Fail because of charset mangling.
  • Smoke cigarette, complain, drink whisky, etc.
  • Create new multipage document in Adobe Illustrator.
  • Use the Place command to put each page of exported PDF into new document.
  • Copy & paste in signature from signature PDF.
  • Save as PDF.

Success!