Pages

Carrot cake

  • 180 g self raising flour
  • 350 g caster sugar
  • 1 tsp baking powder
  • 1 tsp ground cinnamon
  • 3 eggs
  • 220 g grated raw carrot
  • ¼ tsp salt
  • 300 ml sunflower oil
  • for the frosting:
  • 180 g cream cheese
  • 180 g melted butter
  • 220 g icing sugar
  • ½ tsp vanilla essence

Naan Bread

INGREDIENTS:
Recipe makes 6 Naans
2 cups all purpose flour
1 teaspoon active dry yeast
1 teaspoon salt
1 teaspoon sugar
Pinch of baking soda
2 tablespoons oil
21/2 tablespoons yogurt
3/4cup look warm water
1 teaspoon clear butter or ghee
1/4 cup all purpose flour for rolling

APPS DEV. Android vs Iphone

original link for this post

It’s been a while since I last posted. So what have I been up to?

Mobile, Mobile, Mobile

I've been doing mobile game development using our offshore team for both Apple and Google platforms (iPhone / iPod vs. Android) – and this entry is about what I’ve learned during that process.

Android vs. iPhone Gaming, Round 1: Quality and User Experience
In general, game developers have flocked to the iPhone/iPod in big numbers (there are 140K apps in the appstore and my guesis is that 70% of those are games), but not as many to the Android platform. Why not?

My own informal opinion is that to date, games on android have been less polished in all respects – the graphics and animation and gameplay. Historically, part of the reason for this was the horsepower of the phones themselves, though with Motorola’s Droid phone and Google's Nexus One, the physical hardware and OS has started to catch up to the iPhone. But it takes time to develop software, so it may be a while before a large number of android games “catch up" in quality and user experience to the iPhone.

We released two android games, Bay Blackjack, and Bay Connect 3-4-5, earlier this year (they’re live on the android market now - download them if you have an android phone!).

Our goal with these two games was to try to make android games that “looked” as good and played as well as iPhone games. Did we succeed? I think so. On the Motorola Droid phone, which I have in addition to my iPhone, these two games play as well as any iPhone versions.

So on Quality and User Experience, who wins? The iphone still provides a better game play environment, and with the upcoming iPad this gap may widen. However, as software developers eventually upgrade their android games, it’s possible in a year or more that the average android game will be as “good as” the average iPhone game.

Google vs. Apple, Round 2: Monetization and User Acquisition?
How about on the monetization and user acquisition front?

These are pretty important to developers; that's how we decide where to spend our time and money, which is what results in quality games in the end.

On android, these are still big issues: How do you advertise your apps, and how do you make money from your apps? Right now, it’s still just a paid/free application model – but the pre-requisite to making money (whether that money is from paid apps or advertising or virtual good sales) is to get LOTS of users.

Our Blackjack game has gotten more than 10K users in its first month. While that’s not bad, those are very small numbers when it comes to the iphone.

We released Tap Fish on the iphone in March. It has been a big success – one of the top games in March - within a week of launch, we were the #2 free app in the entire iTunes app store (that's right, #2 most downloaded out of 140,000 apps).

In contrast with android, though, you need something like 10K+ downloads per day to reach the top 25 list in the appstore.

Like other developers, since there is no built in monetization for our android games, we have been unwilling to spend a lot of money on distribution. For Tap Fish, we use Tapjoy (a company that I invested in) for both distribution and monetization, and use apple’s paid models to augment this revenue stream. Tapjoy is just releasing their SDK for android so this may spicen things up a bit.

Who wins Round 2? The iPhone eco-system for making money is much further along than android, by a long shot.

Round 3, Android Market vs. Apple iTunes App Store: Development and Deployment
You would think that this is easy win for apple – the iTunes app store has more than a hundred thousand apps already, with billions of downloads.

Not so fast, though. It turns out that development for Android is a lot easier than development for the iphone. With Android you usually write code in java, and there are millions of java developers who can be trained to write android apps pretty quickly.

Apple, on the other hand, uses Objective C, which was a very progressive language when it came out in the 1990’s – Steve Jobs and his buddies at NeXT computer laid the foundations for it long ago. I remember seeing demos of this in 1992 when I was still at MIT.

Back then, Steve Jobs' development language was cool and hip and new. Today it’s pretty arcane – you still have to do lots of memory management, syntax is unlike most other languages, and what goes for visual programming (again it was cool in 1992) seems kind of ancient now. Ever heard of Visual Basic?

Plus, there are only about 20 developers in the whole world who have more than 1 year experience with Objective C (LOL – just kidding about that number – actually we probably have 20 developers in our Pakistan operation alone who now have very good iPhone experience). Still, good C programmers (which Objective C is kinda sorta based on) are hard to find and the number of C/C++ developers has been in decline since about 1997. Since most universities (including MIT) switched to using java almost 10 years ago, good java programmers are not hard to find (though of course, good programmers can be, no matter what language you're using).

Round 3, part-1 for development, the winner is... Android, by a long shot!

How about Deployment and testing?

Android apps are very easy to deploy – you just get apk file and put it onto your device. That’s it. After struggling with apple’s very confusing and dare I say it, BrainDead approach to distribution of apps during development (using things called provisioning profiles and entitlements that even MIT engineers have a really hard time figuring out).

And that’s just for deploying to development/test devices. Don’t get me started on deploying to the App store which requires that Apple go through a review process. I know people whose applications were delayed by a month waiting for apple to review their apps and addressing apple’s multiple rejections.

That said, Apple has come a long way since the bad old days of waiting weeks for your app to be approved. For example, we came out with a new version of our Book Bazaar app - which now includes support for searching for books at local libraries (thanks OCLC) as well as local bookstores. It only took us 1 day (less than 24 hours) to get this update through apple’s review process – thank you Apple!

New apps can take up to 7 days - still a pain, but they're often approved in less than that, so good work apple! Nevertheless, the fact that i'm saying Apple has improved means that Round 3 still squarely goes to: Android!

Of course, if you are a mobile developer and you have any significant amount of sales, the lion’s share of it probably comes from the iPhone, so Google’s advantage in development and deployment may not mean much in terms of the market. The rule of thumb, as always, is: follow the money.

What about other platforms?
We have done a little bit on other mobile platforms - blackberry, palm, nokia, but not much compared to the "big two" mobile platforms.
Last week I attended the GDC (Game Developers Conference) in San Francisco, where the two hottest platforms to develop for were... Facebook and the iPhone.

Of course, Facebook still has many more users today than the iPhone, but it's so ... 2007 (ok, i know i'm going to get into trouble for calling Facebook a "legacy" platform" LOL!!). But that's kind of like saying that AOL had more users than the Internet in 1995. Of course it did, but not for long. When you count the growth in the number of smartphones out there, facebook on mobile may end up being more used than facebook on PC's and Macs soon enough.

It's very rare when you see computing shifting to a completely new hardware platform - it only happens once every 10 or 20 (or maybe even only every 30) years. The last time such a major shift happened was the introduction of PC's and Macs in the eighties. Even the arrival of the Web in the nineties (which was BIG with a capital B) didn't prompt a wholesale shift in physical hardware - it just prompted people to buy more PC's and Macs.

And that's why i'm all about: Mobile, Mobile, Mobile!

Installing the Hero ROM on your HTC Magic

Installing the Hero ROM on your HTC Magic

Version 1.2 - 13 August 2009 - by KarrdeNZ

Disclaimer: I am not responsible if you brick your phone. This is only a guide. These instructions have worked for me, but there is no guarantee that they will for you as well. Follow this guide at your own risk.
Feel free to print off this guide if it makes things easier to follow. Please do not, however, steal this guide and claim it as your own. Updates to this guide will be posted here - http://www.karrderized.com/romguide/ - link, but don't steal. Thanks.
  1. Things you'll need
  2. Back up your settings
  3. Installing the Android SDK
  4. Determine your phone's version
  5. Download the correct recovery ROM for your version
  6. Download the correct Hero ROM for your version
  7. Setting up the fastboot connection
  8. Boot the recovery ROM
  9. Back up your phone with Nandroid
  10. Wipe your phone
  11. Load your new ROM
  12. Boot into your new ROM
  13. Things to note
  14. Acknowledgements
  15. Changelog

1 . Things you'll need

  • A HTC Magic phone (obviously) running Cupcake (1.5) and with a SD card
  • A USB cable for your HTC Magic
  • A PC. These instructions assume you're running a Windows variant, though the same procedures can be performed on a Linux machine. Don't ask me about Macs. If you're running Windows, note whether you have a 32-bit or 64-bit OS, it becomes relevant later on.
  • The Android SDK - current release as of this writing is 1.5 Release 3, available here.
  • Recovery ROM - Which particular one you want to use will depend on your phone's version (I'll cover this later on).
  • A signed Hero ROM to install. Again, this is version dependent.
Got all that? Good.

2. Back up your settings

Now, before we start, back up. I'm of the opinion that you can never have too many backups. Take a copy of everything on your phone's SD card, make sure your contacts etc are synced, any apps you want that you can't easily get back from the Market are backed up, all that stuff.
Another thing you should note are the APN settings for your particular provider. These are in Settings, Wireless Controls, Mobile Networks, Access Point Names. You may have multiple APNs listed - go into each one and note down all the settings. You'll likely need to re-enter these manually once you've installed your new firmware.
Once you're satisfied you've got everything backed up, we can start setting up our environment.

3. Installing the Android SDK

Download the latest release of the Android SDK - here at the time of writing - for your relevant OS. I'll be using Windows from here on in. Extract the .ZIP file to somewhere convenient - I've got mine on my C: drive under C:\android-sdk-windows-1.5_r3. We need the SDK for the tools it provides in the tools subfolder, fastboot in particular, as well as the USB drivers for your phone.

4. Determine your phone's version

As of this writing, there are two distinct versions of the HTC Magic - PVT32A and PVT32B. The primary differences between these two versions is the amount of RAM (288MB on the 32A, 192MB on the 32B) and the radio (Qualcomm MSM7200a for the 32A, Qualcomm MSM7201a for the 32B). Generally, if your phone is HTC branded, it's a 32A, and if it's carrier branded (Google, Vodafone, etc) it's a 32B. Mine's a PVT32B from Vodafone NZ. But let's find out for sure what yours is.
Grab your phone and turn it off. Now, while holding the Back button down, power it back on. Your phone should now boot to a screen with a white background, some lines of text, and some skateboarding androids at the bottom. Welcome to fastboot.
The first few lines on the screen, in green, are what we're looking for. Mine reads as follows:
SAPPHIRE PVT 32B SHIP S-ON G
HBOOT-1.33.0004 (SAP10000)
CPLD-10
RADIO-2.22.19.26I
Apr 9 2009,23:30:40
Yours will likely differ slightly. The first number we're looking for is in that very first line - PVT 32B in my case. Make a note of this. The next item we're looking for is the second line, which indicates your SPL version. Some SPL versions do not allow ROM flashing, notably those of T-Mobile's myTouch3G variant of the HTC Magic. At this writing, HBOOT-1.33.0006 and HBOOT-1.33.0010 are the two known "perfect SPL" versions that do not allow flashing. If you have either of those versions, stop now. There is a complicated procedure you will need to follow first.
Otherwise, for now you can turn your phone back off (by pressing MENU).

5. Download the correct recovery ROM for your version

Head to this thread and download the recovery ROM for your particular phone version, as we determined in step 4. Save it in the tools subdirectory of the Android SDK (in my case, C:\android-sdk-windows-1.5_r3\tools).

6. Download the correct Hero ROM for your version

If you have a 32A, this thread should help you find a signed ROM (I'd suggest Fatality's Hero ROM): here
If you have a 32B like me, try Qteknology's Hero port here - the swap version is the fastest Hero ROM I've found so far. It does however require you to repartition your SD card in order to provide swap space to speed the ROM up - a guide for this is available from the linked forum post.
Note I have only tested the one I linked for the 32B as that's the version I have. Download whichever ROM you need to somewhere handy, and rename it to update.zip. Please note: if you have file extension display turned off (default in XP) then just rename the file to update instead - the .zip extension will already be set. Once you've done this, copy it to the root directory of your phone's SD card. You can do this using the standard USB connection system that the phone provides, or if you prefer using a card reader.

7. Setting up the fastboot connection

Start your phone in fastboot mode as we did in step 4 (hold down Back while turning the phone on). Once the fastboot screen is up on the phone, plug the phone into your computer with the USB cable.
At this stage, my computer asked for drivers for the phone - these are included with the Android SDK, in the usb_driver subdirectory. Users with 32-bit versions of Windows should use the drivers in the x86 subdirectory under that, and 64-bit versions should use those in the amd64 subdirectory. Once the drivers have installed, leave the phone attached to your PC - you're ready to proceed with booting the recovery ROM.

8. Boot the recovery ROM

We're going to use the Android SDK's fastboot utility in combination with fastboot mode on the phone to perform a one-off boot of the recovery ROM so that we can back up the existing setup, wipe the phone and then load the new ROM. At this stage, it would be wise to make sure you've synced contacts and backed up whatever you want to hold onto.
Open a command prompt window on your PC (Start, Run, cmd) and change to the tools subdirectory of where you installed the Android SDK, for example:
cd\android-sdk-windows-1.5_r2\tools
The prompt should change to indicate you're now in that directory. Now we make sure the phone is properly configured to communicate through fastboot. Type the following:
fastboot devices
If you see your device listed, we're about ready to go. Let's boot into the recovery ROM:
fastboot boot recovery-RAv1.2.0G.img
If the recovery ROM you downloaded is named differently, substitute it's name for recovery-RAv1.2.0G.img.
All going well, your phone should kick into the recovery ROM now - you'll come to a pretty green texted menu with the HTC logo in the background. This ROM is being loaded via the fastboot software and is NOT on your phone, just in it's memory. We have yet to make any modifications to your phone at all.

9. Back up your phone with Nandroid

Let's make one more backup to be safe. The recovery ROM we booted into provides us with Nandroid backup and restore, which we can use to backup the firmware and data currently on the phone to the SD card.
On your phone, use the trackball to scroll down to Nandroid v2.2 backup and click. This will start the backup process, and you'll see some yellow text start to appear at the bottom of the phone's screen. Once it's complete, you have a backup.
Use the trackball to select the Reboot system now option and click. It should load back into it's normal firmware. You can now mount the SD card as usual and copy the nandroid directory from the SD card to your computer. This is also a prime opportunity to back up your entire SD card.

10. Wipe your phone

WARNING: This is the absolute LAST point at which you can back out of this procedure. After this, it's all or nothing. Proceed at your own risk.
Boot your phone back into fastboot with USB attached (see step 4) and then load the recovery ROM again:
fastboot boot recovery-RAv1.2.0G.img
Use the trackball to move down to Wipe data/factory reset. This will erase all the data on your phone, ready for you to install the new ROM. Click. Congratulations, you have just wiped your phone! You are now ready to load your new ROM.

11. Load your new ROM

Still in the recovery ROM menu, scroll to Apply sdcard:update.zip. This process extracts the ROM from the update.zip file we placed on your SD card earlier and installs it onto your phone. It may take a little while so be patient. It'll tell you when it's done.

12. Boot into your new ROM

Select the Reboot system now option and click. Your phone will now restart with it's shiny new ROM! First boots can take a while, so bear with it. You'll probably see a new splash screen or two on startup, and eventually you'll get into your phone. You may or may not be prompted with a request about giving an app root access on your first boot - you can safely Always Allow this, as it's writing a swap file to your SD card in an effort to speed things up. You'll also need to go through the setup process on the phone again as if it were new, because for all intents and purposes it is. This includes setting up your Google account syncing, as well as the new Hero functionality such as your Facebook, Flickr and Twitter integration (if you so desire).
And from here on out, it's all up to you! Enjoy your new firmware, make it your own. There's some great new functionality in Hero over the standard Magic firmware.

13. Things to note

This firmware isn't perfect. I'm loving it and see myself using it from here on in, but there are some quirks. These may or may not be fixed with your particular versions of ROM, especially once this guide has aged a little, but I'll try and keep it up to date.
The main thing you'll likely notice (especially if you're using a 32B like me) is the slowness. There's a lot going on with this new ROM so lag is fairly common. The phone will speed up a bit once you've used it some more, so bear with it. Your initial setups and playing around will be slow because of initial caching and your non-typical use of the phone, but this should clear up. Various ROMs have tried for workarounds for this, for example Qteknology's Hero port uses a swap partition on your SD card to help speed things up. CompCache is also a popular method, but my own experience with CompCache hasn't been very successful.
There are also reports of SMS messages sometimes not arriving on the latest Qteknology ROM - I mostly didn't experience this until recently, but it seems to be an occasional issue. The ROM builders are working hard on the issues they come across so fingers crossed for resolution on this one.

14. Acknowledgements

This guide wouldn't exist without the xda-developers forum. The bits and pieces I gathered from thereabouts are what I used to run this procedure on my phone, and hence build this guide. The people there are much more experts at this than I am, so I defer to their wisdom.
I must also give props to Jesse of Radix's Gadget Blog. His instructions were incredibly helpful in getting my head around what exactly to do.
And also to papalazarou, whose forum thread prompted me to write this guide.
- KarrdeNZ

15. Changelog

Version 1.2 - 13 August 2009
  • Added Changelog
  • Updated links and references to ROMs to account for new versions
  • Changed ROM recommendations to Qtek for 32B based on personal experience
  • Removed references to now fixed bugs, added reference to SMS bug on Qtek's ROM
  • Added "perfect SPL" note
Version 1.1 - 29 July 2009
  • Added note about update.zip naming with regard to file extensions
  • Added SD card issue
Version 1.0
  • Initial release

lamb massouka

Moussaka with Roasted Aubergines and Ricotta

This recipe is a Greek classic, but the little hint of Italy I've added in the shape of ricotta cheese makes the very best moussaka topping I've tasted. Also, roasting the aubergines is much less tiresome than standing over a frying pan watching them soak up masses of oil.
 
 
This recipe is taken from How to Cook Book One

Method

First of all you need to prepare the aubergines to get rid of their high water content and concentrate their flavour. To do this, remove the stalks and, leaving the skins on, cut them into approximately 1½ inch (4 cm) chunks. Then place them in a colander and sprinkle them with about 1 level dessertspoon of salt. Now put a plate on top of them and weigh it down with something heavy, then put another plate underneath to catch the juices. Leave them like this for 1 hour. Then, shortly before the end of this time, pre-heat the oven to its highest setting.
When the hour is up, squeeze out any of the excess juice from the aubergines with your hands and dry them as thoroughly as you can in a clean cloth. Next, spread them out on the baking sheet, drizzle 1 tablespoon of the olive oil over them and toss them around to get a good coating. Now pop the baking sheet in the oven and roast the aubergines for 30 minutes or until they are tinged brown at the edges.
Meanwhile, heat the remaining olive oil in your largest frying pan and fry the onions and garlic gently for about 5 minutes. After that, turn the heat up high, add the minced lamb and brown it for a few minutes, turning it and keeping it on the move. Now cook the whole lot, stirring all the time, for 2-3 minutes. Then reduce the heat and, in a small bowl, mix the mint, parsley, cinnamon, tomato purée and red wine.
When they're thoroughly combined, pour them over the meat, season well and cook the whole lot very gently for about 20 minutes, stirring from time to time so it doesn't catch on the base of the pan. Now remove the aubergines from the oven and reduce the temperature to gas mark 4, 350°F (180°C). It's a good idea to leave the oven door open to cool it down a bit.
Next, make the topping by placing the milk, flour, butter, nutmeg and bay leaf in a saucepan. Using a balloon whisk, whisk over a medium heat until everything comes up to simmering point and the sauce becomes smooth and glossy.
Now turn the heat down to its lowest setting and let the sauce cook gently for 5 minutes. Then taste and season, discarding the bay leaf, remove the saucepan from the heat and let it cool a little before whisking in the ricotta and egg. Give it a good whisk to blend everything thoroughly. Finally, combine the roasted aubergines with the meat mixture and transfer it all to the baking dish. Then pour the topping over, sprinkle the surface with the Parmesan and bake on the centre shelf of the oven for 50 minutes, by which time the top will be golden brown.
Let it stand for 10 minutes to settle, then serve with brown rice and a Greek-style salad of cucumber, tomatoes, olives and crumbled Feta cheese dressed with olive oil and fresh lemon juice.
 
 

PIzza Dough

Heidi notes: Peter's recipe says the olive (or vegetable oil) is optional. I use it every time - always olive oil, not vegetable oil. I love the moisture and suppleness it adds to the dough, and it makes your hands soft too.
4 1/2 cups (20.25 ounces) unbleached high-gluten, bread, or all-purpose flour, chilled
1 3/4 (.44 ounce) teaspoons salt
1 teaspoon (.11 ounce) instant yeast
1/4 cup (2 ounces) olive oil (optional)
1 3/4 cups (14 ounces) water, ice cold (40°F)
Semolina flour OR cornmeal for dusting
1. Stir together the flour, salt, and instant yeast in a 4-quart bowl (or in the bowl of an electric mixer). With a large metal spoon, stir in the oil and the cold water until the flour is all absorbed (or mix on low speed with the paddle attachment), If you are mixing by hand, repeatedly dip one of your hands or the metal spoon into cold water and use it, much like a dough hook, to work the dough vigorously into a smooth mass while rotating the bowl in a circular motion with the other hand. Reverse the circular motion a few times to develop the gluten further. Do this for 5 to 7 minutes, or until the dough is smooth and the ingredients are evenly distributed. If you are using an electric mixer, switch to the dough hook and mix on medium speed for 5 to 7 minutes, or as long as it takes to create a smooth, sticky dough. The dough should clear the sides of the bowl but stick to the bottom of the bowl. If the dough is too wet and doesn't come off the sides of the bowl, sprinkle in some more flour just until it clears the sides. If it clears the bottom of the bowl, dribble in a tea- spoon or two of cold water. The finished dough will be springy, elastic, and sticky, not just tacky, and register 50 to 55F.
2. Sprinkle flour on the counter and transfer the dough to the counter. Prepare a sheet pan by lining it with baking parchment and misting the parchment with spray oil (or lightly oil the parchment). Using a metal dough scraper, cut the dough into 6 equal pieces (or larger if you are comfortable shaping large pizzas), You can dip the scraper into the water between cuts to keep the dough from sticking to it, Sprinkle flour over the dough. Make sure your hands are dry and then flour them. Lift each piece and gently round it into a ball. If the dough sticks to your hands, dip your hands into the flour again. Transfer the dough balls to the sheet pan, Mist the dough generously with spray oil and slip the pan into a food-grade plastic bag.
3. Put the pan into the refrigerator overnight to rest the dough, or keep for up to 3 days. (Note: If you want to save some of the dough for future baking, you can store the dough balls in a zippered freezer bag. Dip each dough ball into a bowl that has a few tablespoons of oil in it, rolling the dough in the oil, and then put each ball into a separate bag. You can place the bags into the freezer for up to 3 months. Transfer them to the refrigerator the day before you plan to make pizza.)
4. On the day you plan to make the pizza, remove the desired number of dough balls from the refrigerator 2 hours before making the pizza. Before letting the dough rest at room temperature for 2 hours, dust the counter with flour, and then mist the counter with spray oil. Place the dough balls on top of the floured counter and sprinkle them with flour; dust your hands with flour. Gently press the dough into flat disks about 1/2 inch thick and 5 inches in diameter. Sprinkle the dough with flour, mist it again with spray oil, and cover the dough loosely with plastic wrap or a food-grade plastic bag. Now let rest for 2 hours.
5. At least 45 minutes before making the pizza, place a baking stone either on the floor of the oven (for gas ovens), or on a rack in the lower third of the oven. Heat the oven as hot as possible, up to 800F (most home ovens will go only to 500 to 550F, but some will go higher). If you do not have a baking stone, you can use the back of a sheet pan, but do not preheat the pan.
6. Generously dust a peel or the back of a sheet pan with semolina flour or cornmeal. Make the pizzas one at a time. Dip your hands, including the backs of your hands and knuckles, in flour and lift I piece of dough by getting under it with a pastry scraper. Very gently lay the dough across your fists and carefully stretch it by bouncing the dough in a circular motion on your hands, carefully giving it a little stretch with each bounce. If it begins to stick to your hands, lay it down on the floured counter and reflour your hands, then continue shaping it. Once the dough has expanded outward, move to a full toss as shown on page 208. If you have trouble tossing the dough, or if the dough keeps springing back, let it rest for 5 to 20 minutes so the gluten can relax, and try again. You can also resort to using a rolling pin, though this isn't as effective as the toss method.
7. When the dough is stretched out to your satisfaction (about 9 to 12 inches in diameter for a 6-ounce piece of dough), lay it on the peel or pan, making sure there is enough semolina flour or cornmeal to allow it to slide. Lightly top it with sauce and then with your other top- pings, remembering that the best pizzas are topped with a less-is-more philosophy. The American "kitchen sink" approach is counterproductive, as it makes the crust more difficult to bake. A few, usually no more than 3 or 4 toppings, including sauce and cheese is sufficient.
8. Slide the topped pizza onto the stone (or bake directly on the sheet pan) and close the door. Wait 2 minutes, then take a peek. If it needs to be rotated 180 degrees for even baking, do so. The pizza should take about 5 to 8 minutes to bake. If the top gets done before the bottom, you will need to move the stone to a lower self before the next round. if the bottom crisps before the cheese caramelizes, then you will need to raise the stone for subsequent bakes.
9. Remove the pizza from the oven and transfer to a cutting board. Wait 3 to 5 minutes before slicing and serving, to allow the cheese to set slightly.
Makes six 6-ounce pizza crusts.
from The Bread Baker's Apprentice by Peter Reinhart (Ten Speed Press) - reprinted with permission