The random musings of a software developer

Olive-Butter Spread

I bemoaned the lack of availability of OliveIt – an olive oil and butter mixed spread. Decided to try my hand and whip up my own rendition. It’s essentially half olive oil and half butter and very easy to make.

Soften two sticks of butter in a mixing bowl. Measure one cup of olive oil into the bowl. With a hand mixer, whip the butter into the olive oil until smooth and uniform. Pour the mixture into containers, such as spread tubs. Put the tubs into the fridge to set overnight. Next day, spread and enjoy!

That’s a great way to get olive oil into your diet. The mixture remains soft in the tubs and is very spreadable. A little goes a long way and it tastes heavenly!

No comments

Orange-Chocolate Muffins With Almonds

Indeed a sumptuous muffin, half orange and half chocolate, that certainly will charm any guest.

2 cups all purpose flour
½ cup sugar
3 teaspoons baking powder
½ teaspoon salt
½ cup toasted, chopped blanched almonds
2 eggs, beaten
¾ cup orange juice
1/3 cup butter or margarine, melted
2 ounces semi-sweet chocolate, melted
Grated rind of 1 large orange

Preheat oven to 400°. Brush twelve 2½" muffin cups with melted butter or coat with vegetable spray.

In a mixing bowl combine the flour, sugar, baking powder and salt. Stir in the almonds, leaving ¼ cup to sprinkle over tops of muffins. Combine the eggs, orange juice and butter. Stir into the dry ingredients until just well mixed. Remove half the batter to a second bowl. To one-half the batter add the melted chocolate, mixing rapidly until smooth. To the other half of the batter add the grated orange rind, mixing well. Holding the muffin tin slightly tipped, spoon in the orange batter on one side of each muffin cup. Fill the other side with chocolate batter. By lightly touching the batter you can keep each under control — and they certainly do not have to be perfect. Sprinkle tops with remaining almonds. Bake muffins 20 minutes.

To toast almonds, spread the nuts in a cake tin and place them in a 300° oven. Toast about 15 minutes, stirring occasionally. Watch carefully to avoid burning.

From Mary Gubser’s “Quick Breads, Soups, and Stews“, Publ. Council Oak, ISBN 0-933031-33-5

No comments

Ada Lovelace Day 2013

This year I’m choosing to honour Adele Goldberg. Her team developed Smalltalk-80 which is the precursor to all modern Object Oriented Languages, and in particular inspired the syntax for Objective-C. I acquired Digitalk Smalltalk/V for Mac OS back in 1989 and tried to understand how it all worked. I marvelled at the simplicity and uniformity of the language constructs in Smalltalk: everything is an object, even integers, and you make objects do things by sending them messages. One thing which stuck in my mind was that you could make changes to the system objects and the environment would morph to the changes you made. The illustration given was painting yourself in a corner with the changes but in Smalltalk, the paint dried instantly! Fortunately you could save virtual machine snapshots and go back to a previous version. Smalltalk lives on as Squeak – do check that out!

No comments

Grand Marnier Orange Nut Bread

The aromas of orange and Grand Marnier will float through the kitchen as this lovely bread bakes. Serve it plain or with a soft, creamy Brie at room temperature.

2¼ cups all purpose flour
3 teaspoons baking powder
1/2 teaspoon salt
½ cup butter or margarine
1 cup sugar
2 large eggs
Grated rind of 2 large oranges
1 cup orange juice
4 tablespoons Grand Marnier or Curaçao liqueur
½ cup chopped pecans
½ cup golden raisins, scalded and dried

Preheat oven to 350°F. Brush a 9x5x3" loaf pan with melted butter or coat with vegetable spray.

Combine the flour, baking powder and salt together in a small bowl, blending together. Set aside. In the large bowl of an electric mixer cream the butter and sugar until smooth and fluffy. Beat in the two eggs and orange rind until well mixed. Combine the orange juice and Grand Marnier. Add the flour mixture to the butter mixture alternately with the orange and Grand Marnier, beginning and ending with the dry ingredients. Scrape the sides of the bowl and continue to beat until the mixture is smooth. Fold in the nuts and raisins. Pour the batter into prepared pan and spread evenly. Bake one hour and test for doneness. Remove from the oven and cool in the pan on a wire rack for 15 minutes. Turn bread out on the rack to finish cooling.

From Mary Gubser’s “Quick Breads, Soups, and Stews“, Publ. Council Oak, ISBN 0-933031-33-5

No comments

NosillaCast CCATP – Should there be Art in STEM?

Allison Sheridan, Ashlyn Anstee, and I got together to record an episode of Chit Chat Across The Pond entitled "Should there be Art in STEM?" Link to the podcast. Excellent discussion! Ashlyn is an enthusiastic and dynamic animator for JibJab and has posted several animations online. Here’s her website. Go listen!!

Queen of Sheba Cake

Dense gateau-style chocolate cake with ground almonds.

Serves 8 to 10


125 grams semisweet chocolate
125 grams unsalted butter
3 eggs-separated
125 grams granulated white sugar
1/2 tsp. vanilla 125 grams ground almonds


50 grams white wheat flour-sifted
100 grams semisweet chocolate
50 grams unsalted butter

  1. Preheat oven to 175°C (350°F).

  2. In a small pan, melt chocolate over low heat. Cool to room temperature.

  3. In a mixing bowl, cream butter and mix in melted, cooled chocolate. Add egg yolks, one by one, and half of the sugar, beating well after each addition. Mix in vanilla. Fold in ground almonds and then flour.

  4. In another bowl, whip egg whites just until they are stiff. Add remaining half of the sugar and beat until egg whites are glossy, about 30 seconds more.

  5. Stir 1/4 of the egg whites into chocolate mixture and then fold in the rest of them. Pour mixture into a 20-cm (8-inch), buttered and floured cake pan.

  6. Bake until cake shrinks slightly from sides of the pan and the top springs back when lightly pressed with a fingertip, about 30 minutes. Cool cake in pan for a few minutes before turning it out onto a cake rack to cool completely. At this point, cake can be stored in an airtight container for a week.

  7. For the glaze, a few hours before serving, melt chocolate with butter over very low heat. Stir gently.

  8. Put cake on a rack and spread warm glaze over its top and sides, working quickly to finish before glaze sets.

To make ground almonds, cover them with water, bring to a boil, drain, and then slip each almond out of its skin by pinching between your thumb and forefinger. In a 175°C (350°F) oven, toast almonds until they are light golden, about 10 minutes. Cool. In a food processor, grind almonds with a few tablespoons of the sugar by turning machine on and off.

Banana-Nut Bread

Just made this tonight. Enjoy!

A perennial favorite when banana ripening outstrips consumption.

Makes 1 loaf (Serves 6 to 8).

1 cup firmly packed brown sugar
½ cup butter
2 eggs
1 ½ cup mashed bananas-very ripe (about 3 to 4)
1 tbl. lemon juice
2 cup sifted white wheat flour
3 tsp. baking powder
½ tsp. salt
1 cup chopped nuts

Preheat oven to 350°F. Butter a large loaf pan. Sift the flour, baking powder and salt together.

Cream the brown sugar together with the butter, then mix in the eggs. Thoroughly mix in the bananas and lemon juice, then mix in the flour mixture as quickly as possible.

Fold in the chopped nuts, then pour into the prepared pan. Bake for 45 minutes to 1 hour, until a toothpick inserted in the center of the loaf comes out clean.

(Cook’s Magazine, courtesy of Mangia, the Mac OS 9 recipe application)

Alfred 2 is in the Mac

I just upgraded to Alfred 2 from the previous version. Seriously – get the Powerpack, you will not be disappointed. I’ve got Alfred 1.x and wrote a couple of nifty things with their extensions, such as mounting a remote Airport Extreme drive, launching various apps, and . While the support site is a little bare right now, their support forum is a hive of buzzing activity.

I’ve ported a number of the previous extension doo-dads I had cadged up using Alfred 2’s workflows. For instance I have a keyword shortcut which launches all my development tools (wrote that up in a previous post). Alfred 2 has a workflow specifically for that called “Launch file group from keyword” (Click on the + button at the bottom of the workflow list, it’s in Templates > Files and Apps. Drag and drop the apps I want to launch and that’s it. Would be nice if there was a + in the app / file list so I can search and select them, but no matter.

The one which was a little tricky was launching an Automator workflow. Turns out that doing a “Launch file group from keyword” did not work – it simply opened the Automator workflow in Automator itself. Figured I needed to run some command line script launcher (note: osascript does not work). So I consulted the man pages using the apropos command, apropos automator in to be exact and up popped the command I needed and it was (drumroll) automator.

Back to Alfred 2, create a “Keyword to Script” workflow, located in Templates > Essentials. Next, make sure that /bin/bash is the language, uncheck all the Escaping checkboxes, and enter

automator "full_path_to_automator_workflow.workflow"

in the Script text field. You want the full path starting at the root, i.e.:


And that’s just it!

I like the way in which Alfred 2 uses its workflows to achieve everything in Alfred 1.x’s extensions, and more, in a uniform representation. And it’s far more versatile, almost icon based programming. You can even pop up Notification Centre alerts!

Do read Federico Viticci’s review on MacStories – it’s good. In fact, read anything Federico writes.

PopClip + Dash = Xcode Love

I’ve written about PopClip and the Dash documentation browser, in particular how I found an issue using the PopClip Dash extension and provided a fix.

Here’s why I love the combination of PopClip with its myriad extensions and Dash while using Xcode. My standard development application launch comprises:

On my iMac, I additionally launch Kaleidoscope for file comparisons.

I always have PopClip running in the background, with the Dash Extension installed. When I select text in Xcode, the familiar PopClip menu comes up and includes the “cat” icon for Dash. Selecting that Dash icon switches over to Dash and looks up the selected text. I find Dash a whole lot more useful, easier to navigate, and quicker compared to Xcode’s Organiser.

The usefulness of Dash comes from clicking on the method declaration (it has a grey background) which copies the entire method text. Switching back to Xcode via command-tab, I do a paste and voilà, I have the method declaration in place. You could also select and copy portions of the text in Dash, if you so desire.

The best part is you’re not restricted to only the documentation which Apple provides. You can populate Dash with a whole slew of documentation, including PHP, Ruby, Python, and even man pages! And you don’t have to be tied in to Xcode – go on, be different and use BBEdit, TextWrangler, or TextMate!

As for PopClip, it’s a pity that I can only have 22 PopClip extensions… Fortunately I don’t need that many!

One more thing… I don’t use the dock to launch applications – I use Alfred instead. The dock only contains currently running applications (thanks Elaine and MacBites!). The nice thing about the Alfred Powerpack (extra cost, not much but worth it!) is that it can launch a set of applications when a short string is typed in its search field. I open Alfred (control-space in my case) and type in dev, press return and my standard suite of development applications launches.

Share and Enjoy!

To Our Beloved Cat Tasha: An Elegy

Tasha - when she came into the family

Tasha entered our lives in August 1997. She was a lithe grey striped tabby we rescued from the Austin Animal Shelter. She joined our other cat Sassy whom we had adopted only three days earlier – we simply had to have two cats. Tasha had a lovely time in Texas and moved along with us to Iowa in 1999, flying in style with TWA.

Both Tasha and Sassy filled our lives with joy as they bonded with us, lived with us, and shared nuzzles and copious cuddles. She and Sassy were the protectors of the domicile, and were very affectionate to all who visited our home.

We noticed that Tasha wasn’t well about a month or so ago, when she started breathing hard. Vet visits ensued, x-rays were taken, and we saw that her lungs were cloudy. Ultrasounds were done, medication given to ease her breathing.

Today, February 10th, 2013, she did not eat nor drink any water, and her breathing was very, very laboured. With much sadness and tears, we made the decision that had to be made. Somehow, she seemed to know. The drive to the vets was the longest 20 minutes of our life. There, we spent time with her, speaking of our love, and allaying any worries she may have. We told her to be strong. We stroked and petted her. We were with her to the very end.

The winds are blowing. It’s cold here, not only outside but within our hearts. We have lost a cherished and beloved member of our family.

Sleepy Tasha

O Tasha,
Nibbler of toes,
Climber of high places,
Concealer extraordinaire,
Opener of Drawers,

You have truly lived a life that’s full,
You have given us much joy,

We will remember you, always,
Peace and rest, dear one.

Powered by WordPress