September 3rd, 2008 — posts
When I set out to learn a new programming language, I usually take baby steps:
- Read as much as possible about the language
- Find the experts online and see what they’re saying/doing
- Find and work through beginner tutorials
- Come up with an idea to build something on my own
It usually takes a good 3 months or so before I get to that last step.
I didn’t get that luxury with AS3. A few weeks ago, I started watching the AS3 tutorials at Lynda.com. I had been assigned to rebuild The Miami Herald’s 60 Seconds project.
The current project is written in AS2. All the bits and pieces are internal. My mission was to rebuild it in AS3 and make it load information from an XML file so that it could be updated easily.
I started out with a series of classes: one to load the XML, one to parse it, one to define the thumbnails, etc. These classes were refined and rewritten until I got the thumbnails to load into the screen, much as they do in the original version.
It’s taken me 3 weeks to get that far. Google is my best friend. The next few steps:
- fix interface so that when more videos are added, the screen will scroll left and right to show the additional videos
- clicking on a thumbnail will go to large version of video with description etc, pulled from XML
- add commenting, feedback and rating functionality
Right now, I can’t even begin to figure out how that’s going to get done. But it will, and I’ll learn a lot from the experience.
Check my Del.icio.us bookmarks for AS3 resources.
July 22nd, 2008 — posts
In May announced its intention to build an Application Programming Interface for its data. MediaBistro quoted Aron Pilhofer:
The goal, according to Aron Pilhofer, editor of interactive news, is to “make the NYT programmable. Everything we produce should be organized data.”
More details, if they can be called that:
Once the API is complete, the Times’ internal developers will use it to build platforms to organize all the structured data such as events listings, restaurants reviews, recipes, etc. They will offer a key to programmers, developers and others who are interested in mashing-up various data sets on the site. “The plan is definitely to open [the code] up,” Frons said. “How far we don’t know.”
I haven’t heard anything since then, although the article mentioned that something would be ready “in a matter of weeks.”
Today I spent some time reading the API documentation for National Public Radio.
That’s right, NPR has an API. (mmm, I love my alphabet soup.)
NPR’s API provides a flexible, powerful way to access your favorite NPR content, including audio from most NPR programs dating back to 1995 as well as text, images and other web-only content from NPR and NPR member stations. This archive consists of over 250,000 stories that are grouped into more than 5,000 different aggregations.
You can get results from Topics, Music Genres, Programs, Bios, Music Artists, Columns and Series in XML, RSS, MediaRSS, JSON, and Atom or through HTML and JavaScript widgets.
Now, I’m a bit of an NPR junkie, so I’m thinking of ways to access all this information for my personal use. And I can see how it could be useful as an internal product for NPR.
But how would another news organization use this? Oh wait, they can’t:
The API is for personal, non-commercial use, or for noncommercial online use by a nonprofit corporation which is exempt from federal income taxes under Section 501(c)(3) of the Internal Revenue Code.
This one doesn’t make sense either:
Content from the API must be used for non-promotional, internet-based purposes only. Uses can include desktop gadgets, blog posts and widgets, but must not include e-newsletters.
And way down at the bottom of the page is a huge block of text describing excluded content. Boooo.
Check out these blog posts from Inside NPR.org, where they explain some of their decisions.
I think this was a great first step, but if you’re gonna jump on the bandwagon, make sure you don’t miss and land on the hitch.

Further, really understand what purpose this bandwagon has. If you’re going to free your data, free it! Let people and news organizations use it (always with a link back) for all kinds of crazy things. Remember kids, sharing is caring!
July 21st, 2008 — posts
A week ago, I was assigned the task of building the story package for a series on mortgage fraud. This had been in the works at The Miami Herald for quite some time, and the investigative team was finally ready.
When we found out that Congress was working on legislation relevant to the series, the package was fast-tracked. I had one week to build this thing.
It launched yesterday morning and if I do say so myself, it’s wicked cool. We have profiles and documentation for 4 major offenders, a flash graphic, a couple of static graphics, a slide show and a video, in addition to all the stories.

I even got a credit line in the footer!
I learned a lot about coding fast - quick and dirty sounds good, but it pays to take just a few extra minutes to do it right. It was also a good team experience. It’s so much harder to put things together when no one know what anyone else is doing, it almost justifies meetings! (Except that’s why we have instant messenger and Twitter.)
And guys, I forgive you the millions of revisions and changes. Everything turned out great.
Check out how they did the story.
So what’s next? I have a bunch of different projects on my plate, but I’ll give you a few hints: Video, Flash, ActionScript 3, XML, Twitter, database, Django, Python. Not another word! You can’t drag it out of me!
July 7th, 2008 — posts
Ever since I made my relationship with journalism official - I finally committed on paper as a junior in college - I’ve been trolling JournalismJobs.com. That obsession only grew when I graduated 2 months ago.
I keep an eye out for opportunities for myself and people I know, but also for trends: what skills are wanted, what kinds of jobs are open, where papers are hiring.
The first two things I noticed were that the average years of experience desired had gone up, and there were more upper-echelon jobs open. Years of experience went from 2-3 to 5-and-up over the past year or so. Just out of college, that’s not good news for me. I also see a lot more ____ Editor jobs - not counting the ubiquitous “Web” or “online” editor position (usually a cut-and-paste job!) - and sports writing positions. Why are there so many sports positions open when that’s one of the most popular beats in the newsroom?
More interesting than the job titles are the job descriptions. Lists of skills and vague descriptions of expected duties tell us almost as much about the state of journalism as the recent spate of layoffs.
My favorite job description is the search for “computer jesus”. These are the job descriptions that list 100 programming languages plus multimedia skills. Yea, right. Am I running the entire news site and producing content all by myself?
Then there’s the “we don’t know what we want you to do but we’re supposed to hire an online person” job description. This one, from The Times-News in Idaho, actually made me want to cry:
Must have visual design skills and be knowledgeable on Internet concepts and the latest developments on the Web. Must be proficient in PHP, HTML, Javascript, XML, Macromedia Flash, Dreamweaver and Photoshop. Writing skills are a plus. (emphasis added)
Writing skills are a plus? Are you serious? Hiring a journalist - you’re doing it wrong.
I realize that a lot of these are written by people who really don’t know enough to narrow down what they want. And I’m not trying to put those people down. But between this post on putting together a Web team and this one on journalism job salaries, I thought there was a place for a little something on the chaotic state of journalism job descriptions.
April 23rd, 2008 — posts
For the last month or so I’ve been taking a really in-depth look at the Google Maps API. Partly out of my own curiosity, and partly as an individual project for the online capstone course at UF.
I’ve learned some really cool things along the way. How to work with information flowing between a viewer and the server, for instance. I’ve also learned more about javascript and PHP.
One bad thing though: Google Maps tend to fail when you need to plot more than 200 locations. Ken Schwencke and I found this out when we tried to plot over 800 Gainesville restaurants with their inspection reports from an XML file. We’re still looking for a solution. (We’ve basically parsed a CSV file with python and gotten it to feed into an XML file which is being fed into the map…now I’m hungry.)
We wanted to integrate restaurant reviews using the Yelp API, but the requests are restricted to only 20 businesses, so we’re working on our own review backend.
For my class project, I’m building a map with multiple layers, like crime, alcohol licenses, and restaurant inspections, that can be toggled to show only the information a viewer wants to see. Or all of it at once. It’ll be on a small scale, just as a proof of concept. But still pretty cool.
June 14th, 2007 — posts
Last year, productivity blog Lifehacker declared that MSN Autos had the best gas price comparison.
So what makes MSN so great? First, they use the Oil Price Information system which contains more data in almost real time compared to volunteer “spotter” based sites like GasBuddy.com. Second the gas prices at MSN were listed in order from least to most expensive, were the most expansive (in personal tests), and included an interactive map, as well.
I just got my driver’s license and a car, so now I care about finding the cheapest gas in town. I haven’t seen any further comparisons or analysis, so I’ll let that stand.
Which brings me to Local Gas Prices, a gadget for your Google homepage that uses MSN Autos to find the cheapest gas in your area. Granted, I still have to plug the addresses into Google Maps, but at least I can get an at-a-glance idea at how many hours I need to work this week.
This is definitely not the most exciting thing to come my way this week. But I stuck around for a while because I love finding ways to use information that’s already online. Why should I have to build a whole new database when I can yank from someone else’s? (Let’s not get started on the legal aspects of this, that’s a whole different blog post.) I’d love to see a newspaper Web site build something like this (maybe even a Facebook app?) and do it well: on a map.
February 9th, 2007 — posts
I got a shiny new camera today, and tested it out on my way home from work.
This album is powered by
BubbleShare
Then I decided to test out this Web app. Not too shabby. I like the zoom effect, but could do without the bounce.