Photoshop Layer Mask Implemented with CSS Custom Filters

My last post talked about how you can create a Photoshop-like soft blur effect with built-in filters.  As I started reading more about how you would actually create that soft blur effect in Photoshop though, I realized that often you don’t want the soft blur to apply to people’s faces. … Continue reading

Adobe CFF Font Rasterizer Contributed to FreeType

Yesterday, Adobe, in cooperation with Google, announced that the Adobe CFF rasterizer has been contributed FreeType.  If you’re a font geek, this is fantastic news.  If not, you might be thinking to yourself, “CFF is what again? Why is this important?”. In a nutshell, modern outline fonts use two formats, TrueType and CFF.  A … Continue reading

Hey, You Got Your Web Platform Docs in my Brackets!

I was recently talking to Adam Lehman, product manager for Brackets, about ways I could potentially help contribute to the product, perhaps by writing an extension or two.  I wanted to learn how to write a Brackets extension, but I also wanted my efforts to go into something people would find useful, … Continue reading

Controlling Reveal.js Presentations with an Apple Remote

Lately I’ve been building all of my presentations with Reveal.js. It’s great to be able to talk about all the latest HTML5 technologies all the while using HTML5 to drive very compelling presentations.  Where possible, I can demonstrate new technology right in the presentation itself. The one thing I hadn’t been … Continue reading

Offline Viewing of YouTube Videos

Lately we’ve been starting to create an Adobe TechLive YouTube channel so people can view the recordings for the various TechLive sessions. You can find that channel here: http://www.youtube.com/user/AdobeTechLive. Sometimes though, you want to watch a YouTube video offline, perhaps while you’re sitting on a train with spotty Wifi coverage. … Continue reading

Building Data-Driven Web Applications with WordPress (WordPress App Design part 3)

In the last post in this series, we built a REST interface to our server data, which consists of Events and Venues. The REST interface provides the functionality to perform all the necessary CRUD (Create, Read, Update and Delete) operations from a client (e.g. a browser or Curl from a … Continue reading

Twitter Boostrap Typeahead Tutorial

Twitter Bootstrap provides an autocomplete/typeahead component which is very easy to use, but is a bit tricky to use (in my humble opinion) when you are working with anything more than a simple String array as your source of autocomplete options. Related Posts: Twitter Bootstrap typeahead.js with underscore.js Templating – … Continue reading

CSS FilterLab Detailed Walkthrough

I’ve created a video below as a detailed walkthrough of the Adobe CSS FilterLab, from installation, to configuring & developing custom shaders, to collaborating with others on filter development. Before FilterLab, I used to describe custom shader development as essentially ‘programming in the dark’. No debug statements, no tracing, no nothing. … Continue reading