Safari using HTML 5 for MP3s

Filed under: Apple | No Comments »

I just noticed that the latest Safari (at least on Snow Leopard) is loading MP3 files natively through HTML5. When you go directly to an MP3 file it shows a player widget that I hadn’t seen before and if you inspect the element it contains the new <video> tag. Pretty neat!

It would have been great if the widget included a download option (even Save is disabled), but option-clicking on the link works well enough.

Snow Leopard HTML 5 and Safari

Christopher Kimball on the Internet, Gourmet

Filed under: Food | No Comments »

Chris Kimball memorialized Gourmet in a NY Times op-ed and had a striking point towards the end:

Google “broccoli casserole” and make the first recipe you find. I guarantee it will be disappointing. The world needs fewer opinions and more thoughtful expertise — the kind that comes from real experience, the hard-won blood-on-the-floor kind. I like my reporters, my pilots, my pundits, my doctors, my teachers and my cooking instructors to have graduated from the school of hard knocks.

He’s right. Not that Gourmet was the only publication who could publish a good recipe, but in the age of everyone being an expert quality has suffered. The first hit for broccoli casserole includes brozen broccoli, canned soup, a pound of cheese and a package of Ritz crackers. No thanks.

I subscribe to Kimball’s wonderful Cook’s Illustrated website and you should too.

Work for free. Serious candidates only.

Filed under: Rant | No Comments »

As seen on Craigslist:

Seeking iPhone Application Developer ASAP. Project details will be provided upon acceptance. MUST be willing to sign a Non-Disclosure contract as this is a SERIOUS project. Payment will be deferred as percentage of profits as this will be an on-going project. Please reply with relevant experience, credits, and contact information. Please not that we are NOT accepting bids at this time as we are looking for a long-term developer.

It’s refreshing to see a project that is so SERIOUS that they are unwilling to pay for labor. At least it’s an ongoing project, because free work doesn’t come around often.

Update: Another gem from later in the day. I’d love to see who replies to these sort of things… Full text with emphasis added:

I am a senior in college looking for a great web programmer with amazing vision. I need ONLY PEOPLE IN THE TAMPA BAY AREA! This project requires regular meetings and so you would need to be in the vicinity. I have an amazing idea for a website and I am offering NO PAY but PART OWNERSHIP of the site in return for your work, which if it is a success can be lucrative. Think facebook or myspace value. If you are someone that has the drive and patience to build this site, please contact me. I need someone with experience in PHP and database programming. I will do the advertising explain my concept to you provided you sign a non-disclosure form and we will go from there. This site can be done in a month tops with hard work…Facebook was built in a week for crying out loud.

So, if you have ever wanted to start something of your own this is the time. Nothing ventured, Nothing gained.

PHP class to write CSV files

Filed under: PHP,Web/Tech | 2 Comments

After coming across invalid CSV export files from QuickPayPro I did a bit of searching and found that PHP surprisingly does not have a function to output CSV to the browser. PHP has a function for everything, I would have lost money on this bet. PHP 5 introduced fputcsv() which outputs CSV data to a file, but there’s no support for simply outputting to the browser. Additionally fputcsv() is weak and requires you to wrap your values with quotes yourself.

As this comes up from time to time and I’m sure not just for me, I put together a class that solves both of these problems. I may update it one day to add support for writing to files, but for now it’s just to send CSV data right to the browser. There’s an optional method to make the data an attachment with a custom name. Usage is a piece of cake, especially if your data is already organized in an array of associative arrays:

$data = array(array("one","two","three"), array(4,5,6));
$csv = new CSV_Writer($data);

The client will be prompted to download a file called “test.csv” that has properly escaped CSV data. The full class is below.
Read more

The most uninstalled applications

Filed under: Web/Tech | No Comments »

With help from Google Suggestions, here are the most uninstalled applications. I would have guessed many of these, but there are some surprises (Firefox?!).

  1. Internet Explorer 8
  2. Internet Explorer 7
  3. Personal Antivirus (this is what’s behind those fake “you’re computer is infected” popups and is extortion-malware)
  4. McAfee
  5. Yahoo! Toolbar
  6. Norton
  7. iTunes
  8. Windows Live Messenger
  9. FireFox
  10. Flash Player

I have kept track of internet trends before–most recently to find that the most popular question was “What is Twitter?”.

Uninstalling PDF Services (AKA Yojimbo, Evernote, Paperless and Journler)

Filed under: Apple | 3 Comments

I recently went through and tried lots of Getting Things Done type applications and after deleting the losers noticed I still had options to Print to PDF to these now deleted apps. It’s a great feature if you’re using the app, but has zero use after the app is gone. Mac apps are pretty good about being able to get rid of by dumping the .app package, but not perfect. A little investigating gave the answer–these are called PDF Services and are easily deletable. Simply check your user library for a folder called PDF Services (~/Library/PDF Services) and delete the offenders. I dumped “Save PDF to Journler” and the rest and all was well:


PDF Services before deleting


PDF Services after deleting

QuickPayPro is awful

Filed under: Rant | 4 Comments

A new day, a new amazing awful eCommerce CRM known as QuickPayPro. I was tasked with moving customer data out of QuickPayPro for general awfulness and was pleasantly surprised with a very visible “export” feature. Easy I thought.

My first hint that this was going to suck was the form to select date bounds for export data…

QuickPayPro export sucks

Exactly what I wanted–two ways to choose 2009 and an ability to export data from the future! No sorting to boot.

QuickPayPro’s actual export data is a simple CSV format which would be great, but they break one of only a handful of real rules in CSV files–escaping data with contained commas (all it takes is wrapping it in quotes). Address is just one field in their sytem, so for all the records that have something like “123 Main St, Suite X” the contained comma starts a new column and that record will be one column longer than the rest. Bush league.

To top it all off, the export file is riddled with duplicates. The web interface shows X contacts and the export file contains 2X. Joy.

What a load. If you want to move your business off of QuickPayPro let me know. If they can’t master the very basics of CSV they shouldn’t be handling your revenue.

George Sodini’s deranged suicide journal

Filed under: News | No Comments »

George Sodini plotted a suicide rampage for nearly a year and unfortunately carried out his plan yesterday. Sodini was a .NET programmer by trade and according to his writings was a very lonely man who felt anger because women didn’t want to have sex with him (he hadn’t gotten laid since 1990–one hell of a drought). He documented his rage and posted it hidden on his website, to read the page you needed to know the date of his death. The last posting in his suicide journal was the day before his massacre.

His website has been taken down thanks to a surge in requests (despite being around since 2000, his website had no incoming links and was hosted on a shared account). What he did was inexcusable, but what he wrote is still worth reading. I have archived his journal in its original form (I saved the HTML file when I first accessed it as these things have a way of disappearing).

There’s an included comment on the page that is especially depressing:

At the gym I saw a woman I like. I see her at the park and ride sometimes, so she isn’t a stranger. Occationaly she makes good eye contact and smiles, etc. She is maybe 40ish, and attractive to me. I made brief conversation to her and a younger woman she was with today. To get a friend like her (and for night time action) I would cancel this plan, or put on hold, at least for a while.

If you’re suicidal please talk to someone, no matter what you think there are people out there that will listen.

Good luck with that Associated Press

Filed under: funny | No Comments »

Hard to believe the suits at the Associated Press don’t have a competent web developer they can bounce questions off of. Their big new idea is impossible and laughably misguided:

Each article — and, in the future, each picture and video — would go out with what The A.P. called a digital “wrapper,” data invisible to the ordinary consumer that is intended, among other things, to maximize its ranking in Internet searches. The software would also send signals back to The A.P., letting it track use of the article across the Web.

They will apparently attempt to use this vaporware to send invoices to search engines and bloggers for using their headlines. Good luck with that boys. I wonder how much they spent developing this solution.

More Google Suggestion analysis

Filed under: Web/Tech | No Comments »

My What is Twitter piece last week was interesting enough to spur more research. Google Suggestions are quite interesting and is great way to take the internet’s pulse.

Most one-letter suggestions (A, B, C, etc) are for specific companies or services. A = Amazon, B = Best Buy, C = craigslist, G = Gmail. A decent number of these–J = JC Penny, K = Kohls, L = Lowes–are not large online brands, which is surprising.

I’ve known for a while that a lot of people use Google as sort of a universal address bar. They type in a web address and hit search and then hit the top result. I’m not sure why this is so popular, but a certain percentage of people seem to not know you can type in your own address. This is especially popular with real estate searchers apparently, the top suggestion for R is “”. Zillow’s audience is somewhat savvier and decides to just search for Zillow.

The most striking example is one of the suggestions for W is “”. Think about that.

Some other results that surprised me include (these were all found by searching the first letter and looking at suggestions):

Overall it seems a lot of people are searching for things that don’t need to be searched for. Curious.