I've been playing with FFmpeg over the last year to encode video files for Flash. I've mainly experimented with my golf swing and created a little app to compare each frame of my swing to a pro's. This helps me identify all my many flaws and easily visualize what I'm doing wrong. I'll post more on the video encoding process later, but wanted to focus on extracting frames from video files.
I'm still struggling with all the many parameters FFmpeg has to offer. Right now there are easily over 100 and using them in the right combination can be tricky. I recently figured out how to pull the first frame from a video file, resize it, and save it to PNG. Not too exciting but I'm really hoping to get JPG extraction working with the ability to extract a frame at any point in time. I know FFmpeg supports it....just need to find out the right combo to make it work. The problem with PNG is that filesizes can get rather large for photos. Take the following photo for example:

this size comes out to about 186kB at 320x240. The command to make this magic happen is:
ffmpeg -i swing.avi -vcodec png -vframes 1 -an -f rawvideo -s 320x240 swing1.png
I won't go into detail about the parameters listed above and if you want more details then click here. Needless to say, if this were a JPG file we'd be looking at less than 30kB at 80% compression, which would look just as good. Overall I've been highly impressed with FFmpeg and what it does for video encoding, especially FLV. I'll post more on my video ventures in the future.
I probably spend about 5 hours a week reading blogs and about the same writing. I'd love to spend more writing, but my time has been pretty limited with work and a few projects. At any rate, I found the link below highly interesting and I wish someone could run the same type of numbers for the amount of time we spend on spam!!!
Pretty insane, huh?!?
Everyone has their opinion on this one so here's mine. I love HTML email when I'm not dealing with spam or someone spoofing that they're ebay or PayPal and trying to grab my account information. Then there's always the people who write malicious scripts hoping that I'll open the email and let them run. These are very serious threats for those who aren't sure how to protect themselves.
I get HTML emails all the time from Barnes & Noble, eBags, Audible, Macromedia, Sun, etc. To me, seeing a well designed newsletter or product update is worth its weight in gold. These are like nice ads in a magazine that grab my attention and make me click through to learn more. I'll take this any day over a plain text email given the sender knows what they're doing. There are several instances where companies abuse the use of HTML and embed crazy objects and animations directly in the email....this is overkill.
The last point I'd like to make is that support for HTML email has grown tremendously over the last 10 years. This past weekend I designed an HTML newsletter for PolkaDachs and was astounded to find out that all of the major email providers (Gmail, Hotmail, and Yahoo Mail) support it. Most of the major email clients support it as well and it's just a matter of whether the user has it enabled or not. It's always good practice to put a link at the top of the email that directs them to an on-line version of the email. Needless to say we've come a long way from the early days of the web.
I'm definitely thankful and blessed with great family, friends, co-workers, and colleagues. But this isn't about them....today I'm extremely thankful for my job and the fact that I don't have this one.
I've spent a lot of time lately transitioning from ColdFusion to Ruby on Rails. I love CF, but I've been looking for a change of pace and RoR provides numerous features that make it extremely attractive. One of the reasons I started using CF was the fact that everything was simple and tag based. You could quickly crank out applications with minimal amounts of code. RoR has gone leaps and bounds towards minimizing the amount of code you have to write. I won't go into details as there are numerous articles on the web about rails scaffolding.
A perfect example of minimal code is a task that I used to perform often in CF. I would check to see that a record exists in the database and then alert the user of its existence. This would be useful when making sure that a book title or username is unique. If you've done this in CF you've probably done the following:
[cfquery name="check"]
select count(*) as total from users where username='#form.username#';
[/cfquery]
[cfif check.total gt 0]
tell the user the username already exists
[/cfif]
In RoR this is as simple as placing the following statement in your model:
validates_uniqueness_of :username
and that's it! RoR has some pretty incredible validation routines and also note that it's more of a natural language syntax than CF. It will be interesting to see if any of the tag/scripting languages will inherit any of what RoR brings to the table.
If you're looking for something for mom or grandma then consider these stocking stuffers. I have to plug Jamie's site every now and then because it helps her search engine ratings and will hopefully help drive traffic to her site.
Plus she lets me do all the design which I enjoy since most of my days are spent writing code. I've begun to realize that I get much more enjoyment out of doing design, but sometimes you gotta do what pays the bills.
I've been helping a good friend of mine get his blog site up and running. When most of us think of blogs we think about technology, politics, and business.....but what about shoes? Bill has jumped on the blog bandwagon and realizes the potential of how it can help get his name out there, help his business, and serve as a creative outlet.
Let me introduce Bill's Designer Shoe Blog. Given the enormous size of the shoe market, there's definitely all sorts of demand for this type of content. If you're one that's interested in the right shoe color for the given season then this is your blog. Stay tuned for great shoe content and I'm looking forward to subscribing to Bill's RSS feed.
Oh yeah, one last note. It's interesting to see more and more businesses getting on the blog bandwagon and I think this will be a necessity for businesses to stay on top of their game. Remember when you would search for a business on-line, but weren't able to find them? That's a no-no nowadays and I think the same will be true for blogs in the not so distant future.
I find inspiration in my wife, daughter, friends, family, co-workers and even myself. I'm on a constant mission to find inspiration and fulfillment in my life as well as my work. At any rate, a co-worker pointed me to a Steve Jobs commencement speech for Stanford University:
http://www.wiredatom.com/jobs_stanford_speech/
I've always had the utmost respect for Steve Jobs and his creativity, but this speech has taken this to a whole new level. Jobs talks about connecting the dots, love and loss, and death. I wouldn't consider it a truly uplifting speech as much as the raw facts and that we all gotta "find what we love". I completely agree, but have never thought of it in his context. I hope you enjoy and that it provides some sort of inspiration in your life.
Okay Google, you officially have competition. I've never considered MSN Virtual Earth much of a threat to Google Maps. After playing around with Yahoo's Mapping Beta I was impressed with the richness and functionality of their Flash implementation.
Google has definitely set the standard for mapping applications and everyone has given tremendous credit to AJAX. Rightfully so. But let me say that Flash has been capable of providing this type of functionality for a long time now and I'm glad to see Yahoo embrace the technology. It's long overdue and I would be suprised if Google didn't release a Flash version of their API. It will be interesting to see if Microsoft joins the Flash camp. I find that a little hard to believe since they're supposedly working on the Flash killer. I'm biased towards Flash but all I can say to that is whatever, I've been hearing this crazy talk for about 5 years now.
Back to Yahoo Maps Beta, it's neat and you can see elements of both Google (drag pan) and MSN (pixelated zoom), but they could do SO MUCH MORE to leverage Flash. I'm sure there was a rush to get this out the door. Now that "Web 2.0" companies can rollout releases amost daily it will be interesting to see what functionality crops up in the coming weeks. Somebody's got to leverage Flash video and push via XMLSocket!
The last (and biggest) point I'd like to make is there are API's to support Flash and Flex developers. Check out some of the examples and I'm sure you'll be impressed.
I downloaded the Flex API, which was nicely packed in an SWC file, and played around with it for a bit. Let me say that I'm highly impressed with the ease of development. I was able to bang out the map below in about 10 minutes. At any rate, I'm excited about the potential here and we're going to start seeing some amazing things crop up in the coming weeks.
From here on out I will honor World Usability Day and take the day off work (November 3rd). Every year I pledge to improve the usability of the software I write and not design somethign just because it's "cool". Yes coolness plays an important role in design, but I want to make it simple, functional, AND cool. Kinda like peeing on a fly.