Holiday

If you’ve been wondering where I’ve got to over the past few weeks, rest assured I’ve not given it all up, but I’m taking 6 weeks out to travel round the west coast of the USA with my family in an RV (a motorhome). If you need any more detail than that (really?), head over to bigtrip.voyce.com.

Fanboy, moi?

Fanboy? Moi...?

Of course, being an oft-accused Apple fanboy, I took the opportunity to stop at the Cupertino mothership on the way through.

See you back here in September!

Posted in Uncategorized | Leave a comment

Minilight renderer in F#

Cornell Box in the evening

Cornell Box in the evening

I’m a sucker for eye-candy, and the other day I came across the beautifully lit renders produced by Minilight. It’s a nice, minimal implementation of a global illumination renderer that’s been ported to a wide variety of different languages from C to ActionScript. So of course, I couldn’t resist trying to implement it in F#.
Read More »

Posted in .NET, F#, Graphics, Software Development | Tagged , , , | 3 Comments

London Underground UI Fail

I mentioned this on Twitter the other day, but I was so incensed I just had to scribble out a blog post too. It’s a classic case of replacing a traditional (in this case paper-based) “interface” with an electronic one, and in the process failing to translate the fundamental functionality that made the original system useful.

How can you screw-up creating an electronic version of an existing sign?
Read More »

Posted in Rant, Usability | Tagged , , , | 1 Comment

.NET 4.0 Type Equivalence causes BadImageFormatException

I recently discovered a nasty backward compatibility problem with the new type equivalence feature in .NET 4.0. Luckily it’s relatively difficult to hit it if you’re in a pure-C# environment, but if you happen to generate any assemblies directly using IL, you should watch out. Read on for all the gory details.
Read More »

Posted in .NET, COM, Debugging, WinDbg, Windows | Tagged , , , , , , | 6 Comments

Creating an iPad flip-clock with Core Animation

flipclock_oneAs part of the sliding puzzle game I’m developing for the iPhone and iPad (well, I can’t survive on the profits from BattleFingers forever), I looked for a way to represent a numeric score and time display in an interesting way. One of the nicer visual effects you could use for this is the “flip-card clock” style, where each number consists of a top and bottom part, and the top part flips down to reveal the next number. It’s been used in a few other places including the home screen in the HTC Diamond device, and its physical, realistic style fits well with the iPad, so I set about creating a version for the iPhone and iPad using the built-in Core Animation library. Read on for more details.
Read More »

Posted in Graphics, Mac, iPhone | Tagged , , , | 9 Comments

Calling MSBuild tasks with F#

The other day I was trying to understand some strange behaviour in msbuild with regard to how it resolves referenced assemblies. I thought I’d try directly invoking the tasks that are used during the build, specifically ResolveAssemblyReference, so that I could experiment with them in F# interactive. It turned out to be pretty straightforward.
Read More »

Posted in .NET, F#, Software Development, Visual Studio | Tagged , , | 2 Comments

Modifying the VC runtime to get better heap allocation stack traces

Today I was trying to track down some – how can I put this politely – “unusual” memory usage in some unmanaged code running inside Excel. I broke out WinDbg and tried the usual suspects to get an idea of how memory was being used. Unfortunately, the way that msvcr80.dll is built stopped me from getting decent stack traces for the allocations, so I decided to try and rebuild it with a fix to remedy the situation.
Read More »

Posted in Debugging, Software Development, WinDbg, Windows | Tagged , , , | Leave a comment

iPad – The rise of the naturalistic user interface

It was fascinating to see Apple unveiling its new iPad hardware recently, and one of the things that caught my eye were the interfaces of the various apps that were demonstrated. They look different from apps on other platforms, and even from the equivalent apps on the iPhone. It seems to me as if there’s been a change to a more naturalistic style of user interfaces. Why is this, and what is it about the iPad that makes it suited to this kind of UI?
Read More »

Posted in Graphics, Usability, iPhone | Tagged , , , | 3 Comments

Too busy to blog…!?

Yes I know, shocking isn’t it? Too busy doing work that pays the bills to blog about random things I find interesting or amusing.

So what’s been keeping me away from WordPress?

  • Spending too much time in WinDbg tracking down .NET and COM memory issues.
  • Wanting to have a good look at Visual Studio 2010 and .NET 4.0 (though not as much as I’d like, yet)
  • Playing lots of Bayonetta, and some Heavy Rain.
  • Doing lots of internal demos of the WPF\F# GUI-building toolset we’ve been working on. Should be interesting, specially now Luca’s coming on board.
  • Experimenting with iPad development

Hopefully I’ll get the chance to write something about all of this soon.

Posted in Uncategorized | Leave a comment

Where’s my window?

On Windows, if you regularly change screen resolution or size, perhaps by accessing a machine remotely, you might find some of your application windows are no longer visible; they’re positioned outside of the visible display area. If you can’t see the window, it can be a little difficult to use the application. How can you get that window back?
Read More »

Posted in Windows | Tagged , , , , , , | 2 Comments