Preserving olives

After picking a substantial amount of olives on Saturday 27th May, and using a water bath swapped daily from Sunday 28th, it’s time to start the final brine. All were single sliced on the Sunday morning and water curing started Sunday afternoon.

Based on the mediterranean style cracked olive style from  The University of California Division of Agriculture and Natural Resources publication 8267 via I prepared

  1. 3 jars of green olives that had been water cured for 16 days at room temperature (~ 17 – 19 degrees). These smelt like preserved olives, and were no longer bitter. In smaller metric units, 870mL of cool water to 105g to 110mL of white-wine vinegar was used as the brining solution, and olives were packed with lemon slices.
  2. A further jar of green olives that had been water cured outside ( ~ 5 – 15 degrees).
  3. A further two jars of black olives that had been water cured outside, no lemon.

Allegedly these are ready in 4 days, or weekend of 17th June, and will keep in the fridge for up to a year.

Based on the kalamata-style olive recipe, using dark-red olives that had been water cured outside, I prepared a further 10 or so jars of black olives in 2L of metric equivalent brining solution of 790mL cool water, 95g salt and 210mL of red-wine vinegar. These returned to the shed given current temperature outside. These are expected to be ready in a month, or 13 July, and will keep in the cool for a year if the jars remain airtight.

Jars were immersed for 20 seconds in a boiling water bath for a crude sterilization prior.


Slackbot on Raspberry Pi

As per Benjie.Me and Neopixels on Raspberry and also JGarff

import re
import time
import json
from slackclient import SlackClient
import time
from neopixel import *

# LED strip configuration:
LED_COUNT = 8 # Number of LED pixels.
LED_PIN = 18 # GPIO pin connected to the pixels (must support PWM!).
LED_FREQ_HZ = 800000 # LED signal frequency in hertz (usually 800khz)
LED_DMA = 5 # DMA channel to use for generating signal (try 5)
LED_BRIGHTNESS = 20 # Set to 0 for darkest and 255 for brightest
LED_INVERT = False # True to invert the signal (when using NPN transistor level shift)

def theaterChase(strip, color, wait_ms=50, iterations=2):
 """Movie theater light style chaser animation."""
 for j in range(iterations):
 for q in range(3):
 for i in range(0, strip.numPixels(), 3):
 strip.setPixelColor(i+q, color)
 for i in range(0, strip.numPixels(), 3):
 strip.setPixelColor(i+q, 0)

# Create NeoPixel object with appropriate configuration.
# Intialize the library (must be called once before other functions).

# Slack integration
slack_client = SlackClient(YOUR_API_KEY_HERE)

# Fetch your Bot's User ID
user_list = slack_client.api_call("users.list")
for user in user_list.get('members'):
 if user.get('name') == "labs-pi":
 slack_user_id = user.get('id')

# Start connection
if slack_client.rtm_connect():
 print "Connected!"

 while True:
 for message in slack_client.rtm_read():
 if 'text' in message and message['text'].startswith("<@%s>" % slack_ user_id):

 print "Message received: %s" % json.dumps(message, indent=2)

 message_text = message['text'].\
 split("<@%s>" % slack_user_id)[1].\

 if re.match(r'.*light.*on.*', message_text, re.IGNORECASE):
 theaterChase(strip, Color(127,127,127))
 text="Lights are now on",

 if re.match(r'.*light.*off.*', message_text, re.IGNORECASE):
 theaterChase(strip, Color(0,0,0))
 text="Lights are now off",

Posted in IT