Grant McWilliams

Food reviews are always subjective so should be taken with a grain of salt but while reminiscing about Paris today I checked the Yelp reviews of one of my favorite bistros in the 15th arrondissement. The reason I liked it is because they had not one but two excellent duck dishes on the menu. The first was Magret de Canard in an orange honey sauce and roasted potatoes. The second being duck pieces shaped in a cylinder over sweet potatoes. Both were wonderful. Anyone that knows duck will agree that you can't cook it to medium or it will best be used as a football. The best Magret is served pink (really red) all the way through and it's the best thing ever. If you look to the photo on the right of the very Magret de Canard that I speak of you'll notice the the meat is very pink ringed by the wonderful duck fat cap. THIS is how it should be cooked. I apologize for the photo but I took this when I didn't know anything about taking food photos. I also took a friend to this restaurant who said she couldn't stand duck so she ordered linguine. I gave her one bite of my Magret and she exclaimed "That's not duck, that's a steak". Au contraire, it's better than a steak....Which brings me to a Yelp review of said bistro where an Irish couple gave it one star. <bolding is mine>



"..Irish Tourist Here... This is a place to be definitely avoided if you wish to get value for money!!!! .. Asked for Duck and Steak to be cooked well done. Both orders were cooked close to rare. Spuds were coldish. When asking for a glass of water we got landed a 2 ltr bottle of water on the table and 2 glasses.. When dishes were sent back. Duck was re cooked in juices of the steak so duck tasted like steak. Also we were rudely told we are big eaters sending food back!!!. When questioning why our food was not cooked correctly, standing beside the kitchen I seen why its horrible and messy!! Plus service was extremely rude. I refused to pay and asked for a reduction in the bill due to the rudeness and lack of respect to paying tourists. I was told that's the way we do food over here. Sorry... Now please pay your bill... So if you would like some nice food and manners go to Place Cambronne. Or a lovely side street pizza shop.."

 

What's to be said about this? I've bolded quite a lot because there's a lot wrong here. First of all I won't make any cracks about Irish cuisine because anything I'd say could also be said of American cuisine and I'm American. I also don't think it needs to be said so I'll just say this, the French are really good at some things that the folks living in the Mayonnaise belt (former British colonies) just don't understand. So to start they asked for both their Duck and Steak to be cooked well done. You probably couldn't eat a duck well done without a chain saw and I can only imagine the French chef in the kitchen not even comprehending that someone has CHOSEN to make their food inedible so he cooked it the best he could and sent it out. They also asked for what sounds like tap water. If you ask for water in France you'll get a choice of still bottled water or sparkling (with gas) bottled water. I'm not sure what they ended up with but it was in fact a bottle of water. The secret phrase in France is "une carafe d'eau s'il vous plaît!" which will get you a carafe of chilled tap water. Whenever I ask for my carafe I get a surprised look from the waiter followed by a look of respect, like I was just let into the back room of a secret clubhouse. 

 

The last point I'd like to make is that these folks believed they had some sort of buying power because they were tourists with money. They very clearly don't understand the French. You could walk into a French bank with a million dollars in cash and they'd want references before they'd let you open an account. Money talks in America but only whispers in France. 

 

So here's a couple of thoughts and lessons to take away.

 

  • Don't go to another country to which you know nothing of their culture and tell their chefs how to cook their dishes. Especially don't go to France and tell French chefs how to cook French food. If you like your food having the flavor and texture of a football you will probably have to go back home to get it.
  • Don't assume that people in France will bow down to your almighty dollar and want to serve you anymore than if you walked into someone else's house with money in your wallet.
  • Treat France like you're visiting a friend with an exquisite house and you'll be fine. This means you will be treated with politeness and respect as long as you keep your feet off the coffee table.

 

I actually experienced this very same situation in this very same restaurant. An American family sat down at a table, spoke perfect American English to the French staff and expected them to understand everything they said (even though French, not English is the language of the land) and when they didn't bring what the American family had ordered they man became enraged and demanded they take it back. His exact words to his wife were "They had BETTER make us what we ordered!". I felt ashamed and the manager treated them so much better than they deserved. Had it been me I would have thrown them out.

 

So the moral of the story is that we should exert at least a little bit of effort to understand the culture and customs of the country that we're in so we don't make total asses of ourselves and in addition we may very well enjoy our stay more. Huh, there's a thought.

Add a comment

Usually I can look at a recipe and have a pretty good idea whether it's worth the trouble or not. Sometimes I make a recipe that doesn't seem like a good idea just in case I'm wrong. On occasion I have been wrong.

One of my foodie friends on Google+ posted a recipe for Brown Butter Pumpkin cake with Cinnamon Buttercream Frosting and roasted marshmallow filling. My immediate thought was that there is a lot of adjectives in the name followed by "I bet that's way too rich". Sometimes I make recipes just because I like getting new ideas. This time was a mixture of reasons but partly because it was pretty.

I'd planned on making Pumpkin pots de Creme for Thanksgiving dessert which are a favorite but none of the stores had Munchkin pumpkins so I made this cake instead.

The instructions go something like this - brown a bunch of butter as if you were making a browned butter sage sauce. Then make a pumpkin cake with it spiced with cinnamon, ginger and allspice. Then roast marshmallows under the broiler, combine with marshmallow fluff, more sugar and more butter. Then make the Cinnamon Swiss Meringue Buttercream comprising of lots more butter, more sugar, egg whites, cinnamon and vanilla of course. In total this recipe uses 7.5 sticks of butter (almost two lbs), 3.5 cups of sugar, 16 marshmallows and half a pound of marshmallow fluff. What's amazing is the final product although over the top isn't as crazy as the ingredients sound.

Conclusion: I think if I adapted this cake into a two layer (one layer split or two full layers) with just a thin layer of buttercream frosting it would be more practical. You can beat the name and how wonderful it looks though.

Add a comment

Note: updated for XCP 1.5b/1.6 and Xenserver 6.x.

Install Type

  • Non-interactive
  • Network boot
  • Commandline
  • Paravirtualized

Prerequisites

  • XCP/Xenserver
  • Access to Internet
  • Working DHCP server
  • Working DNS name resolution

Introduction

This tutorial was written in the spirit of my CentOS 6 virtual machine (64 bit) installation on Xen. In those tutorials I created a disk, downloaded a kernel, kickstart file plus a xen config file which installed CentOS using the kickstart file. This has proven very popular since you can't install a paravirtualized domain using an install disk. This has been a very nice installation howto because you don't have to download any install CD/DVDs and you could create VMs using nothing more than a commandline login. It's also very nice because it can be mirrored locally if you're doing a bunch of them just by rsyncing a CentOS mirror locally then downloading my files and editing them.

 

Add a comment

Note: Updated for XCP 1.5b/1.6

Install Type

  • Non-interactive
  • Network boot
  • Commandline
  • Paravirtualized

Prerequisites

  • XCP/Xenserver
  • Access to Internet
  • Working DHCP server
  • Working DNS name resolution

Introduction

This tutorial was written in the spirit of my CentOS 6 virtual machine (32 bit) installation on Xen howto which was based on the CentOS 5 version of the same. In those tutorials I created a disk, downloaded a kernel, kickstart file plus a xen config file which installed CentOS using the kickstart file. This has proven very popular since you can't install a paravirtualized domain using an install disk. This has been a very nice installation howto because you don't have to download any install CD/DVDs and you could create VMs using nothing more than a commandline login. It's also very nice because it can be mirrored locally if you're doing a bunch of them just by rsyncing a CentOS mirror locally then downloading my files and editing them.

I've recently migrated a lot of my XEN systems to Xen Cloud Platform and it's a very different animal indeed. However, I still needed a system of creating CentOS Virtual Machines in that same manner. I didn't want to download a CentOS install DVD or need a graphical login to install the OS thus this tutorial was born.

It uses the very same CentOS 6 kickstart file from my site as the Xen tutorial. It also uses the very same CentOS 6 repositories on the Internet so in a lot aspects it IS the same tutorial crafted for XCP but will be a bit shorter.

 More after the jump.

Add a comment

Note: Updated to work with XCP 1.5b/1.6

Install Type

  • Interactive
  • Network boot
  • Commandline
  • Paravirtualized

Prerequisites

  • XCP/Xenserver
  • Access to Internet
  • Working DHCP server
  • Working DNS name resolution

Introduction

This tutorial was written in the spirit of my CentOS 6 VM (64 bit) automated installation on XCP  howto. In that tutorial I do an automated network installation of CentOS 6. This has proven very popular since you can't install a paravirtualized domain using a physical install media. This has been a very nice installation howto because you don't have to download any install CD/DVDs and you could create VMs using nothing more than a commandline login. It's also very nice because it can be mirrored locally if you're doing a bunch of them just by rsyncing a CentOS mirror locally then downloading my files and editing them.

There became a need to do the same thing using OpenSuse thus this tutorial.  

Add a comment

Install Type

  • Semi-automated
  • Network boot
  • Commandline
  • Paravirtualized

Introduction

This tutorial was written in the spirit of my CentOS 6 VM (64 bit) automated installation on XCP  howto. In that tutorial I do an automated network installation of CentOS 6. This has proven very popular since you can't install a paravirtualized domain using a physical install media. This has been a very nice installation howto because you don't have to download any install CD/DVDs and you could create VMs using nothing more than a commandline login. It's also very nice because it can be mirrored locally if you're doing a bunch of them just by rsyncing a CentOS mirror locally then downloading my files and editing them.

There became a need to do the same thing using OpenSuse thus this tutorial.  

Add a comment

Note: This is not quite functional. Ubuntu is asking a few questions during the install and then ultimately failing. I would recommend using my other Ubuntu 12.04 tutorial using a preseed file to auto install.

Note: Updated to work with XCP 1.5b/1.6

Thanks goes out to Alastair Brunton for troubleshooting this tutorial for me.

Install Type

  • Non-interactive
  • Network boot
  • Commandline
  • Paravirtualized

Prerequisites

  • XCP/Xenserver
  • Access to Internet
  • Working DHCP server
  • Working DNS name resolution
 

Introduction

This tutorial was written in the spirit of my CentOS 6 VM (64 bit) automated installation on XCP howto. In this tutorial I create a disk, download a kernel, kickstart file and install Ubuntu using the kickstart file. This has proven very popular since you can't install a paravirtualized domain using an install disk. This has been a very nice installation howto because you don't have to download any install CD/DVDs and you could create VMs using nothing more than a commandline login. It's also very nice because it can be mirrored locally if you're doing a bunch of them just by rsyncing a Ubuntu mirror locally then downloading my files and editing them.

This tutorial isn't "debian pure" since I chose to use a kickstart file instead of a preseed file. I've created preseed files for doing automated installations of Ubuntu before but in this case I wanted this tutorial to be as close to the CentOS one as possible making it easier for me to maintain thus the kickstart file.

 

Add a comment

Note: Updated to work with XCP 1.5b/1.6

Install Type

  • Non-interactive
  • Network boot
  • Commandline
  • Paravirtualized

Prerequisites

  • XCP/Xenserver
  • Access to Internet
  • Working DHCP server
  • Working DNS name resolution
 

Introduction

In this tutorial I create a disk, download a kernel, preseed file and install Ubuntu using the preseed file. This has proven very popular since you can't install a paravirtualized domain using an install disk. This has been a very nice installation howto because you don't have to download any install CD/DVDs and you could create VMs using nothing more than a commandline login. It's also very nice because it can be mirrored locally if you're doing a bunch of them just by rsyncing an Ubuntu mirror locally then downloading my files and editing them.

 

Add a comment

Note: Updated to work with XCP 1.5b/1.6

Install Type

  • Non-interactive
  • Network boot
  • Commandline
  • Paravirtualized

Prerequisites

  • XCP/Xenserver
  • Access to Internet
  • Working DHCP server
  • Working DNS name resolution
 

Introduction

In this tutorial I create a disk, download a kernel, preseed file and install Ubuntu using the preseed file. This has proven very popular since you can't install a paravirtualized domain using an install disk. This has been a very nice installation howto because you don't have to download any install CD/DVDs and you could create VMs using nothing more than a commandline login. It's also very nice because it can be mirrored locally if you're doing a bunch of them just by rsyncing a Ubuntu mirror locally then downloading my files and editing them.

 

Add a comment

Note: updated for XCP 1.5b/1.6 and Xenserver 6.x

Install Type

  • Non-interactive
  • Network boot
  • Commandline
  • Paravirtualized

Prerequisites

  • XCP/Xenserver
  • Access to Internet
  • Working DHCP server
  • Working DNS name resolution

Introduction

This tutorial was originally written for CentOS and has been adapted for Fedora 20. 


 Note: This tutorial is designed so you can copy and paste the text inside the boxes. I don't actually type any of this in and neither should you.

 

1. Getting the network info

This line gets the Network UUID for xenbr0. If you're using a different bridge you will want to insert it here. Get a list of XCP networks with xe network-list. This network is connected to the outside interface. This tutorial requires there to be a DHCP server on this network answering requests and providing network access to the Internet.

NETUUID=$(xe network-list bridge=xenbr0 --minimal)

2. Creating the VM and setting parameters

Here we create the VM from the RHEL6 template, create a network interface and add it to our network from step one. Additional settings are for configuring the install repository and specifying the kickstart file from my site. The last setting turns off VNC so we can watch the install via a text console (very important in my environment).  Even if you can't see all the text below just highlight and paste. The text is there even if it's not visible.

TMPLUUID=$(xe template-list | grep -B1 'name-label.*Red Hat.* 6.*32-bit' | awk -F: '/uuid/{print $2}'| tr -d " ")
VMUUID=$(xe vm-install new-name-label="Fedora20" template=${TMPLUUID})
xe vif-create vm-uuid=$VMUUID network-uuid=$NETUUID mac=random device=0
xe vm-param-set uuid=$VMUUID other-config:install-repository=http://mirror.symnds.com/distributions/fedora/releases/20/Fedora/i386/os/
xe vm-param-set uuid=$VMUUID PV-args="ks=http://grantmcwilliams.com/files/kickstart-minimal-fedora20-i386.cfg ksdevice=eth0"
xe vm-param-set uuid=${VMUUID} other-config:disable_pv_vnc=1

3. Starting the VM and watching the install

The VM installs without any interaction from the user at this point. It is however, nice to watch it using xenconsole. Once it's done installing it will shutdown.

If you're using XCP 1.0/1.1

xe vm-start uuid=$VMUUID
DOMID=$(xe vm-list uuid=${VMUUID} params=dom-id --minimal)
/usr/lib/xen/bin/xenconsole ${DOMID}

 

If you're using XCP 1.5b/1.6 or Xenserver 6.x

xe vm-start uuid=$VMUUID
xe console uuid=$VMUUID

 

4. Starting the VM and configuring settings

We need to boot the VM up again and using xenconsole log in as root to configure the network and reset the root users password.

If you're using XCP 1.0/1.1

xe vm-start uuid=$VMUUID
DOMID=$(xe vm-list uuid=${VMUUID} params=dom-id --minimal)
/usr/lib/xen/bin/xenconsole ${DOMID}

If you're using XCP 1.5b/1.6 or Xenserver 6.x

xe vm-start uuid=$VMUUID
xe console uuid=$VMUUID

Now that yourFedora VM is running you can login. The password was automatically set by the kickstart file.

  • Username: root
  • Password: password

Reset the root users password and change the network settings to static IP using system-config-network. If you want to keep the IP assignment dynamic note the ip address.

5. Shutting down the VM and re-enabling VNC

If you're going to use XVP or some other method of connecting to the VMs direct VNC connection you'll need to enable it.

xe vm-shutdown uuid=$VMUUID
xe vm-param-remove uuid=${VMUUID} param-name=other-config param-key=disable_pv_vnc
xe vm-start uuid=$VMUUID

 

6. Add RPMfusion repository

I almost always install RPMfusion. It is very stable and doesn't replace standard packages.

yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm

 

7. Export our VM for safe keeping

Before you start modifying the base Fedora image you should back it up.

xe vm-export uuid=$VMUUID filename=Fedora20-base.xva

  

Be aware that you may not have enough space on the Control Domain's disk to export it. A good solution (and shorter than explaining how to add disks to the control domain) is to mount an nfs volume and export it there.

mount nfsserver:/share /media/share
xe vm-export uuid=$VMUUID filename=/media/share/Fedora20-base.xva

 

This would mount the NFS share on nfsserver to /media/share. The exported disk would be saved on the NFS share.

 

Notes: Since it's more likely that you will want to do a Fedora desktop install than for the other Operating Systems I've written tutorials for I've put together a list of packages for your custom kickstart file (extracted from the Fedora-20-comps.xml file.)

 

  • admin-tools
  • authoring-and-publishing
  • base
  • base-x
  • books
  • cloud-infrastructure
  • clustering
  • design-suite
  • development-libs
  • development-tools
  • dial-up
  • directory-server
  • dns-server
  • dogtag
  • eclipse
  • editors
  • education
  • electronic-lab
  • engineering-and-scientific
  • fedora-packager
  • font-design
  • fonts
  • ftp-server
  • games
  • gnome-desktop
  • gnome-software-development
  • graphical-internet
  • graphics
  • haskell
  • input-methods
  • java
  • java-development
  • kde-desktop
  • kde-software-development
  • legacy-fonts
  • legacy-network-server
  • legacy-software-development
  • libreoffice-development
  • lxde-desktop
  • mail-server
  • medical
  • meego-netbook
  • milkymist
  • mingw32
  • mysql
  • network-server
  • news-server
  • ocaml
  • office
  • perl
  • printing
  • robotics-suite
  • ruby
  • server-cfg
  • smb-server
  • sound-and-video
  • sql-server
  • sugar-desktop
  • system-tools
  • text-internet
  • virtualization
  • virtualization-hypervisor
  • web-development
  • web-server
  • window-managers
  • xfce-desktop
  • xfce-software-development
  • x-software-development

 

To insert any of these package groups into your own custom kickstart file precede the group name with an @ and insert it in the Package section.

# Packages
%packages --excludedocs
@ base
man
man-pages
sendmail
yum-presto
%end

Then to use your kickstart file save it to a webserver somewhere. Follow the installation instructions but refer to your kickstart file (ks=<URL> in Step 2. 

xe vm-param-set uuid=$VMUUID PV-args="ks=http://grantmcwilliams.com/files/kickstart-minimal-fedora20-i386.cfg ksdevice=eth0"

 

Add a comment