A short (and round) history of the button

Early MacOS OK and Cancel buttons

Early MacOS OK and Cancel buttons

The push button. It’s truly the blunt instrument of UI design. While most other controls provide some indication of the type of operation they’re performing – sliders are adjusting a value, a switch is moving between two states – buttons just mean “do something”. What? The only way to tell is to press it and see. But this shouldn’t be the case.
Read More »

Posted in Graphics, Mac, Usability, Windows | Tagged , , , , | Leave a comment

An iOS Lava Lamp using OpenGL ES shaders

screenshot

Screenshot of the finished lava lamp effect

Catchy title, eh? This little experiment came about as I’ve been working on an iOS app where I decided to use an embedded OpenGL view, via GLKit, for a bit more flexibility than a plain-old UIView. This found me falling head-first down a rabbit-hole of OpenGL ES shaders. I ended up putting together a little demo that emulates a lava lamp using a nifty bit of GLSL code.
Read More »

Posted in C++, iOS, iPhone, Mac, Software Development | Leave a comment

Examining PDB files with DBH

Wow, it’s been a ridiculously long time since I’ve blogged. I think it’s time I put something up just to break the curse, and this seemed like a good, and hopefully useful, place to start. Time to polish some of these dusty drafts into published gems.

Ever been in that situation where you (or someone else) finds that Visual Studio just won’t set a breakpoint in some source code that you’re sure should be being used? You’ll see the hollow breakpoint icon and something like ‘The breakpoint will not currently be hit. No symbols have been loaded for this document’.
Read More »

Posted in Debugging, Software Development, Visual Studio, WinDbg | Tagged , , , , , | 1 Response

Beginning F#: Records

In the second of an unknown number of parts in my series of Beginning F# posts, I’ll be talking about record types. They’re a useful and powerful F# feature that you’ll probably find yourself using very widely. I’ll take a look at what they are, how they’re used and how they integrate with the rest of the language.
Read More »

Posted in F#, Software Development | Tagged , , , , , | 2 Responses

.NET DLLs Loaded Twice

If, like me, you’re still squeezing yourself into 32-bit Windows processes, you’re probably, also like me, constantly keeping an eye on the virtual address space usage of your application. If you happen to have used something like vmmap to take a peek at your memory contents, maybe you’ve noticed something strange with some .NET assemblies: they’re loaded twice! What’s going on…?
Read More »

Posted in .NET, Debugging, Windows | Tagged , , , | 4 Responses

30 years ago at CES…

candvg_logoThe other day while I was looking through some of my ancient copies of Computer and Video Games magazine (“the first fun computer magazine!”) I discovered some coverage of the 1982 Consumer Electronics Show. It’s such a contrast to today’s shiny, immaculately produced, PR-fest that I couldn’t help but scan it in for everyone to see.
Read More »

Posted in Gaming, Graphics | Tagged , , | Leave a comment

Tax Avoidance 2.0

dislikeWarning: This is a bit off-topic for my blog, but I had to write it and get it off my chest.

In these times of financial woe, people love to complain about all the big, nasty, faceless companies avoiding paying tax. They inevitably moan about it on Facebook, Google and Twitter (and sometimes even do something about it in the real, physical, world). But what about those companies themselves? The Web 2.0 behemoths are now some of the largest companies in the world, and they’ve decided – just like the evil old companies – that they don’t like paying all that tax. Don’t be evil… and don’t pay any tax if you can help it. But how do they do it?
Read More »

Posted in Finance, Rant | Tagged , | 3 Responses

Looking back at 2011

Well, we’re a few days into 2012 and no armageddon yet, so it’s probably safe to take a quick glance back over our shoulder at some of the technical stuff that’s flashed past in the preceding 12 months.
Read More »

Posted in F#, iOS, Software Development, WPF | Tagged , , , , , , | Leave a comment

Drawing animated shapes and text in Core Animation layers

Star and text

Star and text

The other day I was overcome by the desire to create an animated start-burst, price-tag type graphic with iOS. Time to break out some Core Graphics and Core Animation code. On the way to getting it going, I came across some interesting gotchas, which I thought it’d be useful to talk about here.
Read More »

Posted in iOS, iPhone, Mac, Software Development | Tagged , , , , , , , | 1 Response

Creating a physics-based OpenGL iOS app

puppet_grabWith the success of iOS games like Angry Birds and its flocks of imitators, there are lots of people looking at creating physics-based games, so I decided to try and create a simple demo using OpenGL ES and the Bullet physics engine.
Read More »

Posted in C++, Graphics, iOS, iPhone, Software Development | Tagged , , , , , , | 12 Responses
  • Follow me on Twitter Follow me on Twitter @voyce

  • Check out Wordz my new fast-paced make-a-word game for iOS.
  • Categories

  • Archives