Saturday, 21 November 2009

MSVC++ Debug Output

I've been working on a multi-threaded Audio / Video / Network based browser plug-in recently and had a few threading-related synchronization issues to deal with. Break-points in multi-threaded apps are all well and good but when you have synchronisation issues that can potentially cause a browser crash, either a file-based logger or, preferably in my case, an IDE-based log of what happened is invaluable.

I've been a big GCC/G++ user for quite some time and haven't touched MSVC in a while so I was suprised when I had a lot of trouble tracking down the function used to output Debug information to the MSVC Output console so I thought I'd post it here to help out anyone with similar problems.

The functions you want are OutputDebugStringA or OutputDebugStringW. They're in winbase.h, included from windows.h. Their use is self explanatory.

Wednesday, 4 November 2009

Information that is missing from the Adobe RTMP Specification

I've been implementing an RTMP client and server library for the past few months and assumed that if I stuck to the official specifications I couldn't go wrong. Unfortunately though the specs are a little lacking in parts. To save anyone else the mistakes I have made, heres a few pointers.

Wednesday, 28 October 2009

Obtain CSS3 compliance using JQuery? Not anytime soon.

@pukupi and @juho asked me whether it would be possible to style CSS3-compliant border-radius styles using a framework like jquery. I did a bit of digging around and discovered that the answer is unfortunately "no, you can't".

Tuesday, 27 October 2009

Who's gonna win the fight: Google or Facebook?

This seems to be the topic of today and from what I can gather, most people think Facebook is going to win out. I have to agree somewhat, but I don't think it will be as cut and dry as some are advocating.

Wednesday, 30 September 2009

Announcing www.readalongkanji.com

I haven't made a post here for a while so I thought I'd make an update on my latest creation - readalongkanji.com. The site is still in its early stages but as you can see from the screen shot its still quite functional.

My overall aim is to end up with a site through which you can get custom made news reports on topics you like at your reading level with prompts and tools on hand to get you over the occasional reading "speed bumps" you come across.

Wednesday, 16 September 2009

ffmpeg and mingw

I love ffmpeg and all it stands for. It has developed into an amazing library with support for an incredible array of file formats, codecs and protocols. It's widely known, widely used and despite its complex options, a wide variety of front-end apps make working with it a lot easier for the layman.

For developers however, ffmpeg has a few stumbling blocks that tend to get in the way. I'm no expert by any means but I thought I'd share a few things I ran into while integrating ffmpeg into a browser plugin I've been working on.

Tuesday, 1 September 2009

Getting more for your Facebook Ad Money

Customer development is a concept that I wish I had learned about earlier. To suggest that you can test your customer bases response before, and during development and release products multiple times a day with basically no money would have been unheard of only a few short years ago. Testing your market before you jump in is one of the key concepts behind customer development and I thought I'd post a little about my experiences with the "$5 a day" approach to customer testing.

I've been using Facebook Ads for a while now to sell a free service I've worked on (and must get around to updating). This project was always intended as an experiment of sorts to gauge customer interaction and demand but one of the most interesting results came not from the project but from the advertising itself. Namely, how to get the most out of my advertising dollar. We ended up with a per-dollar click-through-rate improvement of  over 200% and we haven't yet started optimizing our ads themselves.