Gatekeeping your hobbies

0 minutes read

Caesar Salad

2 minutes read

salad

Years ago there was this iPad app called “The Best Ceasar”, some bloke thought it was a good idea to make one whole app just about one recipe… he was right. The app is long gone but here is the gist of the recipe as far as I remember it.

Dressing

Ingredients

  1. Anchovies
  2. Garlic
  3. Worcestershire Sauce
  4. Red Wine Vinegar
  5. Olive Oil
  6. Parmesan Cheese
  7. Salt
  8. Pepper

Preparation

  1. Smash the anchovies in a bowl into a fine paste.
  2. Press in 3 cloves of garlic.
  3. Add a dash of olive oil (depending on how oily your anchovies are).
  4. Add a table spoon of Worcestershire sauce.
  5. Add a table spoon of red wine vinegar.
  6. Add salt and pepper to taste.
  7. Mix it all together.
  8. Add in parmesan to obtain a thick-ish dressing.

Croutons

Ingredients

  1. Bread
  2. Olive Oil
  3. Garlic

Preparation

My current go-to recipe is to:

  1. Press garlic into a bowl of olive oil.
  2. Baste bread slices with the garlic oil.
  3. Put the slices in an oven until crispy.
  4. Cut the toasted bread into croutons.

Chicken

Ingredients

  1. Chicken Breast
  2. Salt
  3. Pepper
  4. Olive Oil

Preparation

If the chicken breast is thicker than about 15mm, cut it in half (to make it thinner).

  1. Pre-heat the oven to 200ºC (or 180 with fan on).
  2. Salt and pepper the chicken.
  3. Put some olive oil in a pan and heat it at high temperature.
  4. Sear the chicken on all sides until golden on the outside.
  5. Put the chicken in the oven, cook until the inner temperature is a bit under 75ºC.
  6. Dice the chicken.

Serving

Wash and dry (as much as you can) a couple of heads of romaine lettuce. Add the dressing and toss it properly. Mix in the chicken and croutons, toss it again, sprinkle with more grated parmesan.

How to Get the Local IP Address of an Apple Watch

One minute read

The Apple Watch does not display its local IP address in the settings for some reason. Here is one way to get it, if you have a second Mac on the network.

  1. Open terminal on the mac, run python -m SimpleHTTPServer.
  2. Get your Mac’s local IP address (option+click on the network icon in the toolbar).
  3. Send yourself an iMessage with text http://YOUR_MACS_IP:8000.
  4. Turn WiFi off on your iPhone. This is important because the Apple Watch can use your phone’s WiFi.
  5. Open Messages on your watch, find the message, tap on the link.

In the terminal on your Mac you will see something like 192.168.0.21 - - [12/Oct/2021 12:00:00] "GET / HTTP/1.1" 200 -.

And there you have your Watch’s IP address.

Carrot Spice Muffins

One minute read

I’ve been trying baking lately but making a large cake badly and then eating it isn’t much fun. Here is a recipe for a great muffin instead:

Ingredients

I’m using espresso cups for measurement, these doses are for four small muffins. Multiply as necessary.

ingredients

  1. One and half cup of plain wheat flour
  2. One cup of brown sugar
  3. One cup of grated carrots
  4. About 25g of unsalted butter, softened at room temperature
  5. A spoonful of apple sauce
  6. One teaspoon of cake spices—this one in particular is a mix of dried orange, cassia, ginger, nutmeg and caraway from M&S
  7. One large egg (separate yolk from white)
  8. One teaspoon of baking powder

Preparation

Start by mixing the dry ingredients (flour, sugar, spices and baking powder) together.

Add butter, apple sauce, and egg yolk. Mix thoroughly together until you have a consistent batter.

Whip up the egg whites into snow.

batter

Progressively add the snow into the batter, carefully mixing them together.

Pour the mix into small muffin forms.

poured

Cooking

Preheat the oven to 180°C. Bake for 20 minutes at 180ºC (with convection on).

muffins

Abusing the SwiftUI Switch Statement

One minute read

My now preferred way of handling complex if/else statements inside a SwiftUI view:

fileprivate struct ReminderTime: View {
  let date: Date
  let reminder: Reminder
  var body: some View {
    switch true {
    case reminder.dueDate == nil:
      Text("Reminder.Time.Nil")
    case Calendar.current.compare(reminder.dueDate!, to: date, toGranularity: .day) == .orderedAscending:
      Text(reminder.isCompleted ? "Reminder.Time.Done" :  "Reminder.Time.Overdue")
    case reminder.isAllDay && Calendar.current.isDate(date, inSameDayAs: reminder.dueDate!):
      Text("Reminder.Time.Today")
    case reminder.isAllDay:
      Text(reminder.dueDate!, style: .date)
    case !reminder.isCompleted && date > reminder.dueDate!:
      HStack {
        Image(systemName: "exclamationmark.triangle")
        Text(reminder.dueDate!, style: .time)
      }
    default:
      Text(reminder.dueDate!, style: .time)
    }
  }
}

At least until the if let construct will work.