MachDice is an OpenGL based flexible dice roller. Not only can you do standard 6 sided (d6) dice, you can do anywhere from 2 to 100 sided dice and up to 100 dice at a time in nearly any combination of sides.
One of the more interesting things about MachDice, the way that it expands on what's been done before, is the way that it allows you to easily mix different dice to create nearly any combination. While MachDice is not without bugs, it is a very good dice roller as long as you work in its bounds.
You can enter any combination of dice using standard die notation -- where 6d6+10d20 would be 6 6 sided dice and 10d20 would be 10 20 sided dice. While only 4, 6, 8, 10, 12 and 20 sided dice are graphically represented - others are shown by a 20 sided die with question marks on all sides - the total will still be accurately calculated based on what dice you have set up. To roll the dice you have the option of shaking the device or hitting the total button at the bottom of the screen.
I mentioned bugs earlier -- there are a few. It's possible to enter more than 100 dice and be allowed to roll -- but the totals only add up the first 100 dice and only 100 dice are shown. In addition, a little graphical issue when there are lots of dice on the screen, some dice can overlap each other.
Here's a video from the developer that shows how the app works.
This is a great first version and a good program if you are looking for a dice roller. The developer is working on some great improvements as well (check their web site for details).