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


I haven't made a post here for a while so I thought I'd make an update on my latest creation - 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.

Saturday, 29 August 2009

Inefficiently hard-working Japanese

You'll see a lot of inefficient (but very thoroughly done) things when you visit Japan. Sometimes I find it funny, more often than not I find it frustrating but I'm pretty-much always intrigued by it. I honestly hate inefficiency in the work place and particularly in the public sector but even so, its sometimes difficult to separate inefficient practices and the famously high level of customer service you find here. Once in a while though something absurd happens and makes me remember all the little things that have frustrated you before. Flicking back through my things, here's a few things to look out for if you're in Japan or planning a visit.

Thursday, 27 August 2009

Is Adobe holding back Flashplayer features for strategic business reasons?

Acrobat Connect Pro

I originally posted this via the Adobe Bug site and tried to contact Adobe  in May 2009. I got no response but this is still quite relevant.

Being arguably the most requested feature on Adobe's own bug tracking site and already present in an internal fork of Flashplayer, Adobe has so-far dodged all questions regarding this. I'm now mid-development on an alternative browser plugin to make up for these short comings. (More on that in weeks to come.)

Wednesday, 26 August 2009

The war is over. I give up.

Those that know me know that when it comes to tech, I'm quite often on the pulse but occasionally VERY slow on the uptake.

MP3 player in your car? I'll have that ready for you in 1998 when the Rio (anyone remember those?) first came out. I'm still wondering if I should buy that iPod though...

Enter August 2009. About a decade after the world started using the term blog, I find myself starting my own. I kind of consider it an admission of defeat! I stood firm for 10 years, holding strongly to my belief that no sane person would publish their life to the world and expect anyone to bother reading it. I did my best to fight valiantly but I have lost the war. :-)

My only solace is that I was at least partially right - no-one wants to read a blog about a person's everyday life.  I intend to use this space to blog about programming, technology, entrepreneurship, life in Japan, etc. I'll keep what I had for lunch under wraps for now.

Anyway, now I've got one of these, does it mean I get to eat my lunch with the cool kids or with the nerds?